KILLED proof of input_utl3RXmt8k.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), 0 ms] (6) CdtProblem (7) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (10) TRS for Loop Detection (11) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (12) CpxRelTRS (13) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (14) typed CpxTrs (15) OrderProof [LOWER BOUND(ID), 3 ms] (16) typed CpxTrs (17) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (18) CdtProblem (19) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CdtProblem (21) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CdtProblem (23) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (24) CpxRelTRS (25) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (26) CpxTRS (27) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (28) CpxWeightedTrs (29) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (30) CpxTypedWeightedTrs (31) CompletionProof [UPPER BOUND(ID), 0 ms] (32) CpxTypedWeightedCompleteTrs (33) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (34) CpxTypedWeightedCompleteTrs (35) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (36) CpxRNTS (37) InliningProof [UPPER BOUND(ID), 937 ms] (38) CpxRNTS (39) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CpxRNTS (41) CompletionProof [UPPER BOUND(ID), 0 ms] (42) CpxTypedWeightedCompleteTrs (43) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (44) CpxRNTS (45) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (46) CdtProblem (47) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 1 ms] (90) CdtProblem (91) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (106) CdtProblem (107) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (108) CdtProblem (109) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (114) CdtProblem (115) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 2 ms] (116) CdtProblem (117) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (118) CdtProblem (119) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 13 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) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (136) CdtProblem (137) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (138) CdtProblem (139) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 48 ms] (140) CdtProblem (141) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CdtProblem (143) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 29 ms] (144) CdtProblem (145) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (146) CdtProblem (147) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 118 ms] (148) CdtProblem (149) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (150) CdtProblem (151) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 34 ms] (152) CdtProblem (153) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (154) CdtProblem (155) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 144 ms] (156) CdtProblem (157) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (158) CdtProblem (159) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 135 ms] (160) CdtProblem (161) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (162) CdtProblem (163) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 159 ms] (164) CdtProblem (165) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (166) CdtProblem (167) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 182 ms] (168) CdtProblem (169) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (170) CdtProblem (171) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 190 ms] (172) CdtProblem (173) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (174) CdtProblem (175) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 234 ms] (176) CdtProblem (177) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (178) CdtProblem (179) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 294 ms] (180) CdtProblem (181) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (182) CdtProblem (183) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 284 ms] (184) CdtProblem (185) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (186) CdtProblem (187) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 403 ms] (188) CdtProblem (189) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (190) CdtProblem (191) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 305 ms] (192) CdtProblem (193) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (194) CdtProblem (195) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 394 ms] (196) CdtProblem (197) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (198) CdtProblem (199) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 347 ms] (200) CdtProblem (201) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (202) CdtProblem (203) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 438 ms] (204) CdtProblem (205) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (206) CdtProblem (207) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 399 ms] (208) CdtProblem (209) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (210) CdtProblem (211) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 28 ms] (212) CdtProblem (213) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (214) CdtProblem (215) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (216) CdtProblem (217) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (218) CdtProblem (219) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (220) CdtProblem (221) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 44 ms] (222) CdtProblem (223) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (224) CdtProblem (225) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (226) CdtProblem (227) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 22 ms] (228) CdtProblem (229) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (230) CdtProblem (231) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 62 ms] (232) CdtProblem (233) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (234) CdtProblem (235) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (236) CdtProblem (237) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 76 ms] (238) CdtProblem (239) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (240) CpxWeightedTrs (241) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (242) CpxTypedWeightedTrs (243) CompletionProof [UPPER BOUND(ID), 0 ms] (244) CpxTypedWeightedCompleteTrs (245) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (246) CpxTypedWeightedCompleteTrs (247) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 2 ms] (248) CpxRNTS (249) InliningProof [UPPER BOUND(ID), 423 ms] (250) CpxRNTS (251) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (252) CpxRNTS (253) CompletionProof [UPPER BOUND(ID), 0 ms] (254) CpxTypedWeightedCompleteTrs (255) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (256) CpxRNTS ---------------------------------------- (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__nats -> cons(0, incr(nats)) a__pairs -> cons(0, incr(odds)) a__odds -> a__incr(a__pairs) a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) a__head(cons(X, XS)) -> mark(X) a__tail(cons(X, XS)) -> mark(XS) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(X)) -> a__incr(mark(X)) mark(head(X)) -> a__head(mark(X)) mark(tail(X)) -> a__tail(mark(X)) mark(0) -> 0 mark(s(X)) -> s(mark(X)) mark(nil) -> nil mark(cons(X1, X2)) -> cons(mark(X1), X2) a__nats -> nats a__pairs -> pairs a__odds -> odds a__incr(X) -> incr(X) a__head(X) -> head(X) a__tail(X) -> tail(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__nats -> cons(0', incr(nats)) a__pairs -> cons(0', incr(odds)) a__odds -> a__incr(a__pairs) a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) a__head(cons(X, XS)) -> mark(X) a__tail(cons(X, XS)) -> mark(XS) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(X)) -> a__incr(mark(X)) mark(head(X)) -> a__head(mark(X)) mark(tail(X)) -> a__tail(mark(X)) mark(0') -> 0' mark(s(X)) -> s(mark(X)) mark(nil) -> nil mark(cons(X1, X2)) -> cons(mark(X1), X2) a__nats -> nats a__pairs -> pairs a__odds -> odds a__incr(X) -> incr(X) a__head(X) -> head(X) a__tail(X) -> tail(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__nats -> cons(0, incr(nats)) a__pairs -> cons(0, incr(odds)) a__odds -> a__incr(a__pairs) a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) a__head(cons(X, XS)) -> mark(X) a__tail(cons(X, XS)) -> mark(XS) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(X)) -> a__incr(mark(X)) mark(head(X)) -> a__head(mark(X)) mark(tail(X)) -> a__tail(mark(X)) mark(0) -> 0 mark(s(X)) -> s(mark(X)) mark(nil) -> nil mark(cons(X1, X2)) -> cons(mark(X1), X2) a__nats -> nats a__pairs -> pairs a__odds -> odds a__incr(X) -> incr(X) a__head(X) -> head(X) a__tail(X) -> tail(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__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__NATS -> c A__NATS -> c1 A__PAIRS -> c2 A__PAIRS -> c3 A__ODDS -> c4(A__INCR(a__pairs), A__PAIRS) A__ODDS -> c5 A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__INCR(z0) -> c7 A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__HEAD(z0) -> c9 A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) A__TAIL(z0) -> c11 MARK(nats) -> c12(A__NATS) MARK(pairs) -> c13(A__PAIRS) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(0) -> c18 MARK(s(z0)) -> c19(MARK(z0)) MARK(nil) -> c20 MARK(cons(z0, z1)) -> c21(MARK(z0)) S tuples: A__NATS -> c A__NATS -> c1 A__PAIRS -> c2 A__PAIRS -> c3 A__ODDS -> c4(A__INCR(a__pairs), A__PAIRS) A__ODDS -> c5 A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__INCR(z0) -> c7 A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__HEAD(z0) -> c9 A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) A__TAIL(z0) -> c11 MARK(nats) -> c12(A__NATS) MARK(pairs) -> c13(A__PAIRS) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(0) -> c18 MARK(s(z0)) -> c19(MARK(z0)) MARK(nil) -> c20 MARK(cons(z0, z1)) -> c21(MARK(z0)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__NATS, A__PAIRS, A__ODDS, A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1 Compound Symbols: c, c1, c2, c3, c4_2, c5, c6_1, c7, c8_1, c9, c10_1, c11, c12_1, c13_1, c14_1, c15_2, c16_2, c17_2, c18, c19_1, c20, c21_1 ---------------------------------------- (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__NATS -> c A__NATS -> c1 A__PAIRS -> c2 A__PAIRS -> c3 A__ODDS -> c4(A__INCR(a__pairs), A__PAIRS) A__ODDS -> c5 A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__INCR(z0) -> c7 A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__HEAD(z0) -> c9 A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) A__TAIL(z0) -> c11 MARK(nats) -> c12(A__NATS) MARK(pairs) -> c13(A__PAIRS) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(0) -> c18 MARK(s(z0)) -> c19(MARK(z0)) MARK(nil) -> c20 MARK(cons(z0, z1)) -> c21(MARK(z0)) The (relative) TRS S consists of the following rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Rewrite Strategy: INNERMOST ---------------------------------------- (9) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (10) 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__NATS -> c A__NATS -> c1 A__PAIRS -> c2 A__PAIRS -> c3 A__ODDS -> c4(A__INCR(a__pairs), A__PAIRS) A__ODDS -> c5 A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__INCR(z0) -> c7 A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__HEAD(z0) -> c9 A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) A__TAIL(z0) -> c11 MARK(nats) -> c12(A__NATS) MARK(pairs) -> c13(A__PAIRS) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(0) -> c18 MARK(s(z0)) -> c19(MARK(z0)) MARK(nil) -> c20 MARK(cons(z0, z1)) -> c21(MARK(z0)) The (relative) TRS S consists of the following rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Rewrite Strategy: INNERMOST ---------------------------------------- (11) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (12) 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__NATS -> c A__NATS -> c1 A__PAIRS -> c2 A__PAIRS -> c3 A__ODDS -> c4(A__INCR(a__pairs), A__PAIRS) A__ODDS -> c5 A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__INCR(z0) -> c7 A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__HEAD(z0) -> c9 A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) A__TAIL(z0) -> c11 MARK(nats) -> c12(A__NATS) MARK(pairs) -> c13(A__PAIRS) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(0') -> c18 MARK(s(z0)) -> c19(MARK(z0)) MARK(nil) -> c20 MARK(cons(z0, z1)) -> c21(MARK(z0)) The (relative) TRS S consists of the following rules: a__nats -> cons(0', incr(nats)) a__nats -> nats a__pairs -> cons(0', incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0') -> 0' mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Rewrite Strategy: INNERMOST ---------------------------------------- (13) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (14) Obligation: Innermost TRS: Rules: A__NATS -> c A__NATS -> c1 A__PAIRS -> c2 A__PAIRS -> c3 A__ODDS -> c4(A__INCR(a__pairs), A__PAIRS) A__ODDS -> c5 A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__INCR(z0) -> c7 A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__HEAD(z0) -> c9 A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) A__TAIL(z0) -> c11 MARK(nats) -> c12(A__NATS) MARK(pairs) -> c13(A__PAIRS) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(0') -> c18 MARK(s(z0)) -> c19(MARK(z0)) MARK(nil) -> c20 MARK(cons(z0, z1)) -> c21(MARK(z0)) a__nats -> cons(0', incr(nats)) a__nats -> nats a__pairs -> cons(0', incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0') -> 0' mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Types: A__NATS :: c:c1 c :: c:c1 c1 :: c:c1 A__PAIRS :: c2:c3 c2 :: c2:c3 c3 :: c2:c3 A__ODDS :: c4:c5 c4 :: c6:c7 -> c2:c3 -> c4:c5 A__INCR :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> c6:c7 a__pairs :: cons:nats:pairs:odds:incr:head:tail:0':s:nil c5 :: c4:c5 cons :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil c6 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c6:c7 MARK :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 c7 :: c6:c7 A__HEAD :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> c8:c9 c8 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c8:c9 c9 :: c8:c9 A__TAIL :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> c10:c11 c10 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c10:c11 c11 :: c10:c11 nats :: cons:nats:pairs:odds:incr:head:tail:0':s:nil c12 :: c:c1 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 pairs :: cons:nats:pairs:odds:incr:head:tail:0':s:nil c13 :: c2:c3 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 odds :: cons:nats:pairs:odds:incr:head:tail:0':s:nil c14 :: c4:c5 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 incr :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil c15 :: c6:c7 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 mark :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil head :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil c16 :: c8:c9 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 tail :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil c17 :: c10:c11 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 0' :: cons:nats:pairs:odds:incr:head:tail:0':s:nil c18 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 s :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil c19 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 nil :: cons:nats:pairs:odds:incr:head:tail:0':s:nil c20 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 c21 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 a__nats :: cons:nats:pairs:odds:incr:head:tail:0':s:nil a__odds :: cons:nats:pairs:odds:incr:head:tail:0':s:nil a__incr :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil a__head :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil a__tail :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil hole_c:c11_22 :: c:c1 hole_c2:c32_22 :: c2:c3 hole_c4:c53_22 :: c4:c5 hole_c6:c74_22 :: c6:c7 hole_cons:nats:pairs:odds:incr:head:tail:0':s:nil5_22 :: cons:nats:pairs:odds:incr:head:tail:0':s:nil hole_c12:c13:c14:c15:c16:c17:c18:c19:c20:c216_22 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 hole_c8:c97_22 :: c8:c9 hole_c10:c118_22 :: c10:c11 gen_cons:nats:pairs:odds:incr:head:tail:0':s:nil9_22 :: Nat -> cons:nats:pairs:odds:incr:head:tail:0':s:nil gen_c12:c13:c14:c15:c16:c17:c18:c19:c20:c2110_22 :: Nat -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 ---------------------------------------- (15) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: A__ODDS, A__INCR, MARK, A__HEAD, A__TAIL, mark, a__odds, a__incr, a__head, a__tail They will be analysed ascendingly in the following order: A__ODDS = A__INCR A__ODDS = MARK A__ODDS = A__HEAD A__ODDS = A__TAIL A__INCR = MARK A__INCR = A__HEAD A__INCR = A__TAIL MARK = A__HEAD MARK = A__TAIL mark < MARK A__HEAD = A__TAIL mark = a__odds mark = a__incr mark = a__head mark = a__tail a__odds = a__incr a__odds = a__head a__odds = a__tail a__incr = a__head a__incr = a__tail a__head = a__tail ---------------------------------------- (16) Obligation: Innermost TRS: Rules: A__NATS -> c A__NATS -> c1 A__PAIRS -> c2 A__PAIRS -> c3 A__ODDS -> c4(A__INCR(a__pairs), A__PAIRS) A__ODDS -> c5 A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__INCR(z0) -> c7 A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__HEAD(z0) -> c9 A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) A__TAIL(z0) -> c11 MARK(nats) -> c12(A__NATS) MARK(pairs) -> c13(A__PAIRS) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(0') -> c18 MARK(s(z0)) -> c19(MARK(z0)) MARK(nil) -> c20 MARK(cons(z0, z1)) -> c21(MARK(z0)) a__nats -> cons(0', incr(nats)) a__nats -> nats a__pairs -> cons(0', incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0') -> 0' mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Types: A__NATS :: c:c1 c :: c:c1 c1 :: c:c1 A__PAIRS :: c2:c3 c2 :: c2:c3 c3 :: c2:c3 A__ODDS :: c4:c5 c4 :: c6:c7 -> c2:c3 -> c4:c5 A__INCR :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> c6:c7 a__pairs :: cons:nats:pairs:odds:incr:head:tail:0':s:nil c5 :: c4:c5 cons :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil c6 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c6:c7 MARK :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 c7 :: c6:c7 A__HEAD :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> c8:c9 c8 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c8:c9 c9 :: c8:c9 A__TAIL :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> c10:c11 c10 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c10:c11 c11 :: c10:c11 nats :: cons:nats:pairs:odds:incr:head:tail:0':s:nil c12 :: c:c1 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 pairs :: cons:nats:pairs:odds:incr:head:tail:0':s:nil c13 :: c2:c3 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 odds :: cons:nats:pairs:odds:incr:head:tail:0':s:nil c14 :: c4:c5 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 incr :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil c15 :: c6:c7 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 mark :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil head :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil c16 :: c8:c9 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 tail :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil c17 :: c10:c11 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 0' :: cons:nats:pairs:odds:incr:head:tail:0':s:nil c18 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 s :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil c19 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 nil :: cons:nats:pairs:odds:incr:head:tail:0':s:nil c20 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 c21 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 a__nats :: cons:nats:pairs:odds:incr:head:tail:0':s:nil a__odds :: cons:nats:pairs:odds:incr:head:tail:0':s:nil a__incr :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil a__head :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil a__tail :: cons:nats:pairs:odds:incr:head:tail:0':s:nil -> cons:nats:pairs:odds:incr:head:tail:0':s:nil hole_c:c11_22 :: c:c1 hole_c2:c32_22 :: c2:c3 hole_c4:c53_22 :: c4:c5 hole_c6:c74_22 :: c6:c7 hole_cons:nats:pairs:odds:incr:head:tail:0':s:nil5_22 :: cons:nats:pairs:odds:incr:head:tail:0':s:nil hole_c12:c13:c14:c15:c16:c17:c18:c19:c20:c216_22 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 hole_c8:c97_22 :: c8:c9 hole_c10:c118_22 :: c10:c11 gen_cons:nats:pairs:odds:incr:head:tail:0':s:nil9_22 :: Nat -> cons:nats:pairs:odds:incr:head:tail:0':s:nil gen_c12:c13:c14:c15:c16:c17:c18:c19:c20:c2110_22 :: Nat -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21 Generator Equations: gen_cons:nats:pairs:odds:incr:head:tail:0':s:nil9_22(0) <=> nats gen_cons:nats:pairs:odds:incr:head:tail:0':s:nil9_22(+(x, 1)) <=> cons(gen_cons:nats:pairs:odds:incr:head:tail:0':s:nil9_22(x), nats) gen_c12:c13:c14:c15:c16:c17:c18:c19:c20:c2110_22(0) <=> c12(c) gen_c12:c13:c14:c15:c16:c17:c18:c19:c20:c2110_22(+(x, 1)) <=> c15(c6(c12(c)), gen_c12:c13:c14:c15:c16:c17:c18:c19:c20:c2110_22(x)) The following defined symbols remain to be analysed: a__odds, A__ODDS, A__INCR, MARK, A__HEAD, A__TAIL, mark, a__incr, a__head, a__tail They will be analysed ascendingly in the following order: A__ODDS = A__INCR A__ODDS = MARK A__ODDS = A__HEAD A__ODDS = A__TAIL A__INCR = MARK A__INCR = A__HEAD A__INCR = A__TAIL MARK = A__HEAD MARK = A__TAIL mark < MARK A__HEAD = A__TAIL mark = a__odds mark = a__incr mark = a__head mark = a__tail a__odds = a__incr a__odds = a__head a__odds = a__tail a__incr = a__head a__incr = a__tail a__head = a__tail ---------------------------------------- (17) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (18) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__NATS -> c A__NATS -> c1 A__PAIRS -> c2 A__PAIRS -> c3 A__ODDS -> c4(A__INCR(a__pairs), A__PAIRS) A__ODDS -> c5 A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__INCR(z0) -> c7 A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__HEAD(z0) -> c9 A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) A__TAIL(z0) -> c11 MARK(nats) -> c12(A__NATS) MARK(pairs) -> c13(A__PAIRS) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(0) -> c18 MARK(s(z0)) -> c19(MARK(z0)) MARK(nil) -> c20 MARK(cons(z0, z1)) -> c21(MARK(z0)) S tuples: A__NATS -> c A__NATS -> c1 A__PAIRS -> c2 A__PAIRS -> c3 A__ODDS -> c4(A__INCR(a__pairs), A__PAIRS) A__ODDS -> c5 A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__INCR(z0) -> c7 A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__HEAD(z0) -> c9 A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) A__TAIL(z0) -> c11 MARK(nats) -> c12(A__NATS) MARK(pairs) -> c13(A__PAIRS) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(0) -> c18 MARK(s(z0)) -> c19(MARK(z0)) MARK(nil) -> c20 MARK(cons(z0, z1)) -> c21(MARK(z0)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__NATS, A__PAIRS, A__ODDS, A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1 Compound Symbols: c, c1, c2, c3, c4_2, c5, c6_1, c7, c8_1, c9, c10_1, c11, c12_1, c13_1, c14_1, c15_2, c16_2, c17_2, c18, c19_1, c20, c21_1 ---------------------------------------- (19) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 12 trailing nodes: MARK(nil) -> c20 A__TAIL(z0) -> c11 MARK(pairs) -> c13(A__PAIRS) A__PAIRS -> c3 A__PAIRS -> c2 A__NATS -> c A__ODDS -> c5 MARK(0) -> c18 A__INCR(z0) -> c7 A__HEAD(z0) -> c9 A__NATS -> c1 MARK(nats) -> c12(A__NATS) ---------------------------------------- (20) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__ODDS -> c4(A__INCR(a__pairs), A__PAIRS) A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) S tuples: A__ODDS -> c4(A__INCR(a__pairs), A__PAIRS) A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__ODDS, A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1 Compound Symbols: c4_2, c6_1, c8_1, c10_1, c14_1, c15_2, c16_2, c17_2, c19_1, c21_1 ---------------------------------------- (21) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (22) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c15_2, c16_2, c17_2, c19_1, c21_1, c4_1 ---------------------------------------- (23) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (24) 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__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) The (relative) TRS S consists of the following rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Rewrite Strategy: INNERMOST ---------------------------------------- (25) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (26) 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__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (27) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (28) 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__INCR(cons(z0, z1)) -> c6(MARK(z0)) [1] A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) [1] A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) [1] MARK(odds) -> c14(A__ODDS) [1] MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) [1] MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) [1] MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) [1] MARK(s(z0)) -> c19(MARK(z0)) [1] MARK(cons(z0, z1)) -> c21(MARK(z0)) [1] A__ODDS -> c4(A__INCR(a__pairs)) [1] a__nats -> cons(0, incr(nats)) [0] a__nats -> nats [0] a__pairs -> cons(0, incr(odds)) [0] a__pairs -> pairs [0] a__odds -> a__incr(a__pairs) [0] a__odds -> odds [0] a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) [0] a__incr(z0) -> incr(z0) [0] a__head(cons(z0, z1)) -> mark(z0) [0] a__head(z0) -> head(z0) [0] a__tail(cons(z0, z1)) -> mark(z1) [0] a__tail(z0) -> tail(z0) [0] mark(nats) -> a__nats [0] mark(pairs) -> a__pairs [0] mark(odds) -> a__odds [0] mark(incr(z0)) -> a__incr(mark(z0)) [0] mark(head(z0)) -> a__head(mark(z0)) [0] mark(tail(z0)) -> a__tail(mark(z0)) [0] mark(0) -> 0 [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (29) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (30) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) [1] A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) [1] A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) [1] MARK(odds) -> c14(A__ODDS) [1] MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) [1] MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) [1] MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) [1] MARK(s(z0)) -> c19(MARK(z0)) [1] MARK(cons(z0, z1)) -> c21(MARK(z0)) [1] A__ODDS -> c4(A__INCR(a__pairs)) [1] a__nats -> cons(0, incr(nats)) [0] a__nats -> nats [0] a__pairs -> cons(0, incr(odds)) [0] a__pairs -> pairs [0] a__odds -> a__incr(a__pairs) [0] a__odds -> odds [0] a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) [0] a__incr(z0) -> incr(z0) [0] a__head(cons(z0, z1)) -> mark(z0) [0] a__head(z0) -> head(z0) [0] a__tail(cons(z0, z1)) -> mark(z1) [0] a__tail(z0) -> tail(z0) [0] mark(nats) -> a__nats [0] mark(pairs) -> a__pairs [0] mark(odds) -> a__odds [0] mark(incr(z0)) -> a__incr(mark(z0)) [0] mark(head(z0)) -> a__head(mark(z0)) [0] mark(tail(z0)) -> a__tail(mark(z0)) [0] mark(0) -> 0 [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] The TRS has the following type information: A__INCR :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> c6 cons :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> cons:odds:incr:head:tail:s:0:nats:pairs:nil -> cons:odds:incr:head:tail:s:0:nats:pairs:nil c6 :: c14:c15:c16:c17:c19:c21 -> c6 MARK :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> c14:c15:c16:c17:c19:c21 A__HEAD :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> c8 c8 :: c14:c15:c16:c17:c19:c21 -> c8 A__TAIL :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> c10 c10 :: c14:c15:c16:c17:c19:c21 -> c10 odds :: cons:odds:incr:head:tail:s:0:nats:pairs:nil c14 :: c4 -> c14:c15:c16:c17:c19:c21 A__ODDS :: c4 incr :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> cons:odds:incr:head:tail:s:0:nats:pairs:nil c15 :: c6 -> c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 mark :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> cons:odds:incr:head:tail:s:0:nats:pairs:nil head :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> cons:odds:incr:head:tail:s:0:nats:pairs:nil c16 :: c8 -> c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 tail :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> cons:odds:incr:head:tail:s:0:nats:pairs:nil c17 :: c10 -> c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 s :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> cons:odds:incr:head:tail:s:0:nats:pairs:nil c19 :: c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 c21 :: c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 c4 :: c6 -> c4 a__pairs :: cons:odds:incr:head:tail:s:0:nats:pairs:nil a__nats :: cons:odds:incr:head:tail:s:0:nats:pairs:nil 0 :: cons:odds:incr:head:tail:s:0:nats:pairs:nil nats :: cons:odds:incr:head:tail:s:0:nats:pairs:nil pairs :: cons:odds:incr:head:tail:s:0:nats:pairs:nil a__odds :: cons:odds:incr:head:tail:s:0:nats:pairs:nil a__incr :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> cons:odds:incr:head:tail:s:0:nats:pairs:nil a__head :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> cons:odds:incr:head:tail:s:0:nats:pairs:nil a__tail :: cons:odds:incr:head:tail:s:0:nats:pairs:nil -> cons:odds:incr:head:tail:s:0:nats:pairs:nil nil :: cons:odds:incr:head:tail:s:0:nats:pairs:nil Rewrite Strategy: INNERMOST ---------------------------------------- (31) 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__INCR_1 A__HEAD_1 A__TAIL_1 MARK_1 A__ODDS (c) The following functions are completely defined: a__nats a__pairs a__odds a__incr_1 a__head_1 a__tail_1 mark_1 Due to the following rules being added: a__nats -> null_a__nats [0] a__pairs -> null_a__pairs [0] a__odds -> null_a__odds [0] a__incr(v0) -> null_a__incr [0] a__head(v0) -> null_a__head [0] a__tail(v0) -> null_a__tail [0] mark(v0) -> null_mark [0] And the following fresh constants: null_a__nats, null_a__pairs, null_a__odds, null_a__incr, null_a__head, null_a__tail, null_mark, const, const1, const2, const3, const4 ---------------------------------------- (32) 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__INCR(cons(z0, z1)) -> c6(MARK(z0)) [1] A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) [1] A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) [1] MARK(odds) -> c14(A__ODDS) [1] MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) [1] MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) [1] MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) [1] MARK(s(z0)) -> c19(MARK(z0)) [1] MARK(cons(z0, z1)) -> c21(MARK(z0)) [1] A__ODDS -> c4(A__INCR(a__pairs)) [1] a__nats -> cons(0, incr(nats)) [0] a__nats -> nats [0] a__pairs -> cons(0, incr(odds)) [0] a__pairs -> pairs [0] a__odds -> a__incr(a__pairs) [0] a__odds -> odds [0] a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) [0] a__incr(z0) -> incr(z0) [0] a__head(cons(z0, z1)) -> mark(z0) [0] a__head(z0) -> head(z0) [0] a__tail(cons(z0, z1)) -> mark(z1) [0] a__tail(z0) -> tail(z0) [0] mark(nats) -> a__nats [0] mark(pairs) -> a__pairs [0] mark(odds) -> a__odds [0] mark(incr(z0)) -> a__incr(mark(z0)) [0] mark(head(z0)) -> a__head(mark(z0)) [0] mark(tail(z0)) -> a__tail(mark(z0)) [0] mark(0) -> 0 [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] a__nats -> null_a__nats [0] a__pairs -> null_a__pairs [0] a__odds -> null_a__odds [0] a__incr(v0) -> null_a__incr [0] a__head(v0) -> null_a__head [0] a__tail(v0) -> null_a__tail [0] mark(v0) -> null_mark [0] The TRS has the following type information: A__INCR :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> c6 cons :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c6 :: c14:c15:c16:c17:c19:c21 -> c6 MARK :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> c14:c15:c16:c17:c19:c21 A__HEAD :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> c8 c8 :: c14:c15:c16:c17:c19:c21 -> c8 A__TAIL :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> c10 c10 :: c14:c15:c16:c17:c19:c21 -> c10 odds :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c14 :: c4 -> c14:c15:c16:c17:c19:c21 A__ODDS :: c4 incr :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c15 :: c6 -> c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 mark :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark head :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c16 :: c8 -> c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 tail :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c17 :: c10 -> c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 s :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c19 :: c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 c21 :: c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 c4 :: c6 -> c4 a__pairs :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__nats :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark 0 :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark nats :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark pairs :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__odds :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__incr :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__head :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__tail :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark nil :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__nats :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__pairs :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__odds :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__incr :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__head :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__tail :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_mark :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark const :: c6 const1 :: c14:c15:c16:c17:c19:c21 const2 :: c8 const3 :: c10 const4 :: c4 Rewrite Strategy: INNERMOST ---------------------------------------- (33) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (34) 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__INCR(cons(z0, z1)) -> c6(MARK(z0)) [1] A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) [1] A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) [1] MARK(odds) -> c14(A__ODDS) [1] MARK(incr(nats)) -> c15(A__INCR(a__nats), MARK(nats)) [1] MARK(incr(pairs)) -> c15(A__INCR(a__pairs), MARK(pairs)) [1] MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) [1] MARK(incr(incr(z0'))) -> c15(A__INCR(a__incr(mark(z0'))), MARK(incr(z0'))) [1] MARK(incr(head(z0''))) -> c15(A__INCR(a__head(mark(z0''))), MARK(head(z0''))) [1] MARK(incr(tail(z01))) -> c15(A__INCR(a__tail(mark(z01))), MARK(tail(z01))) [1] MARK(incr(0)) -> c15(A__INCR(0), MARK(0)) [1] MARK(incr(s(z02))) -> c15(A__INCR(s(mark(z02))), MARK(s(z02))) [1] MARK(incr(nil)) -> c15(A__INCR(nil), MARK(nil)) [1] MARK(incr(cons(z03, z1'))) -> c15(A__INCR(cons(mark(z03), z1')), MARK(cons(z03, z1'))) [1] MARK(incr(z0)) -> c15(A__INCR(null_mark), MARK(z0)) [1] MARK(head(nats)) -> c16(A__HEAD(a__nats), MARK(nats)) [1] MARK(head(pairs)) -> c16(A__HEAD(a__pairs), MARK(pairs)) [1] MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) [1] MARK(head(incr(z04))) -> c16(A__HEAD(a__incr(mark(z04))), MARK(incr(z04))) [1] MARK(head(head(z05))) -> c16(A__HEAD(a__head(mark(z05))), MARK(head(z05))) [1] MARK(head(tail(z06))) -> c16(A__HEAD(a__tail(mark(z06))), MARK(tail(z06))) [1] MARK(head(0)) -> c16(A__HEAD(0), MARK(0)) [1] MARK(head(s(z07))) -> c16(A__HEAD(s(mark(z07))), MARK(s(z07))) [1] MARK(head(nil)) -> c16(A__HEAD(nil), MARK(nil)) [1] MARK(head(cons(z08, z1''))) -> c16(A__HEAD(cons(mark(z08), z1'')), MARK(cons(z08, z1''))) [1] MARK(head(z0)) -> c16(A__HEAD(null_mark), MARK(z0)) [1] MARK(tail(nats)) -> c17(A__TAIL(a__nats), MARK(nats)) [1] MARK(tail(pairs)) -> c17(A__TAIL(a__pairs), MARK(pairs)) [1] MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) [1] MARK(tail(incr(z09))) -> c17(A__TAIL(a__incr(mark(z09))), MARK(incr(z09))) [1] MARK(tail(head(z010))) -> c17(A__TAIL(a__head(mark(z010))), MARK(head(z010))) [1] MARK(tail(tail(z011))) -> c17(A__TAIL(a__tail(mark(z011))), MARK(tail(z011))) [1] MARK(tail(0)) -> c17(A__TAIL(0), MARK(0)) [1] MARK(tail(s(z012))) -> c17(A__TAIL(s(mark(z012))), MARK(s(z012))) [1] MARK(tail(nil)) -> c17(A__TAIL(nil), MARK(nil)) [1] MARK(tail(cons(z013, z11))) -> c17(A__TAIL(cons(mark(z013), z11)), MARK(cons(z013, z11))) [1] MARK(tail(z0)) -> c17(A__TAIL(null_mark), MARK(z0)) [1] MARK(s(z0)) -> c19(MARK(z0)) [1] MARK(cons(z0, z1)) -> c21(MARK(z0)) [1] A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) [1] A__ODDS -> c4(A__INCR(pairs)) [1] A__ODDS -> c4(A__INCR(null_a__pairs)) [1] a__nats -> cons(0, incr(nats)) [0] a__nats -> nats [0] a__pairs -> cons(0, incr(odds)) [0] a__pairs -> pairs [0] a__odds -> a__incr(cons(0, incr(odds))) [0] a__odds -> a__incr(pairs) [0] a__odds -> a__incr(null_a__pairs) [0] a__odds -> odds [0] a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) [0] a__incr(z0) -> incr(z0) [0] a__head(cons(z0, z1)) -> mark(z0) [0] a__head(z0) -> head(z0) [0] a__tail(cons(z0, z1)) -> mark(z1) [0] a__tail(z0) -> tail(z0) [0] mark(nats) -> a__nats [0] mark(pairs) -> a__pairs [0] mark(odds) -> a__odds [0] mark(incr(nats)) -> a__incr(a__nats) [0] mark(incr(pairs)) -> a__incr(a__pairs) [0] mark(incr(odds)) -> a__incr(a__odds) [0] mark(incr(incr(z014))) -> a__incr(a__incr(mark(z014))) [0] mark(incr(head(z015))) -> a__incr(a__head(mark(z015))) [0] mark(incr(tail(z016))) -> a__incr(a__tail(mark(z016))) [0] mark(incr(0)) -> a__incr(0) [0] mark(incr(s(z017))) -> a__incr(s(mark(z017))) [0] mark(incr(nil)) -> a__incr(nil) [0] mark(incr(cons(z018, z12))) -> a__incr(cons(mark(z018), z12)) [0] mark(incr(z0)) -> a__incr(null_mark) [0] mark(head(nats)) -> a__head(a__nats) [0] mark(head(pairs)) -> a__head(a__pairs) [0] mark(head(odds)) -> a__head(a__odds) [0] mark(head(incr(z019))) -> a__head(a__incr(mark(z019))) [0] mark(head(head(z020))) -> a__head(a__head(mark(z020))) [0] mark(head(tail(z021))) -> a__head(a__tail(mark(z021))) [0] mark(head(0)) -> a__head(0) [0] mark(head(s(z022))) -> a__head(s(mark(z022))) [0] mark(head(nil)) -> a__head(nil) [0] mark(head(cons(z023, z13))) -> a__head(cons(mark(z023), z13)) [0] mark(head(z0)) -> a__head(null_mark) [0] mark(tail(nats)) -> a__tail(a__nats) [0] mark(tail(pairs)) -> a__tail(a__pairs) [0] mark(tail(odds)) -> a__tail(a__odds) [0] mark(tail(incr(z024))) -> a__tail(a__incr(mark(z024))) [0] mark(tail(head(z025))) -> a__tail(a__head(mark(z025))) [0] mark(tail(tail(z026))) -> a__tail(a__tail(mark(z026))) [0] mark(tail(0)) -> a__tail(0) [0] mark(tail(s(z027))) -> a__tail(s(mark(z027))) [0] mark(tail(nil)) -> a__tail(nil) [0] mark(tail(cons(z028, z14))) -> a__tail(cons(mark(z028), z14)) [0] mark(tail(z0)) -> a__tail(null_mark) [0] mark(0) -> 0 [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] a__nats -> null_a__nats [0] a__pairs -> null_a__pairs [0] a__odds -> null_a__odds [0] a__incr(v0) -> null_a__incr [0] a__head(v0) -> null_a__head [0] a__tail(v0) -> null_a__tail [0] mark(v0) -> null_mark [0] The TRS has the following type information: A__INCR :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> c6 cons :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c6 :: c14:c15:c16:c17:c19:c21 -> c6 MARK :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> c14:c15:c16:c17:c19:c21 A__HEAD :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> c8 c8 :: c14:c15:c16:c17:c19:c21 -> c8 A__TAIL :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> c10 c10 :: c14:c15:c16:c17:c19:c21 -> c10 odds :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c14 :: c4 -> c14:c15:c16:c17:c19:c21 A__ODDS :: c4 incr :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c15 :: c6 -> c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 mark :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark head :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c16 :: c8 -> c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 tail :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c17 :: c10 -> c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 s :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c19 :: c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 c21 :: c14:c15:c16:c17:c19:c21 -> c14:c15:c16:c17:c19:c21 c4 :: c6 -> c4 a__pairs :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__nats :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark 0 :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark nats :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark pairs :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__odds :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__incr :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__head :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__tail :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark nil :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__nats :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__pairs :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__odds :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__incr :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__head :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__tail :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_mark :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark const :: c6 const1 :: c14:c15:c16:c17:c19:c21 const2 :: c8 const3 :: c10 const4 :: c4 Rewrite Strategy: INNERMOST ---------------------------------------- (35) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: odds => 3 0 => 0 nats => 1 pairs => 4 nil => 2 null_a__nats => 0 null_a__pairs => 0 null_a__odds => 0 null_a__incr => 0 null_a__head => 0 null_a__tail => 0 null_mark => 0 const => 0 const1 => 0 const2 => 0 const3 => 0 const4 => 0 ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: A__HEAD(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__INCR(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ODDS -{ 1 }-> 1 + A__INCR(4) :|: A__ODDS -{ 1 }-> 1 + A__INCR(0) :|: A__ODDS -{ 1 }-> 1 + A__INCR(1 + 0 + (1 + 3)) :|: A__TAIL(z) -{ 1 }-> 1 + MARK(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__ODDS :|: z = 3 MARK(z) -{ 1 }-> 1 + A__TAIL(a__tail(mark(z011))) + MARK(1 + z011) :|: z = 1 + (1 + z011), z011 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(a__pairs) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__TAIL(a__odds) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__TAIL(a__nats) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__TAIL(a__incr(mark(z09))) + MARK(1 + z09) :|: z = 1 + (1 + z09), z09 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(a__head(mark(z010))) + MARK(1 + z010) :|: z = 1 + (1 + z010), z010 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__TAIL(0) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__TAIL(1 + mark(z012)) + MARK(1 + z012) :|: z012 >= 0, z = 1 + (1 + z012) MARK(z) -{ 1 }-> 1 + A__TAIL(1 + mark(z013) + z11) + MARK(1 + z013 + z11) :|: z = 1 + (1 + z013 + z11), z11 >= 0, z013 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(a__tail(mark(z01))) + MARK(1 + z01) :|: z = 1 + (1 + z01), z01 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(a__pairs) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__INCR(a__odds) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__INCR(a__nats) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__INCR(a__incr(mark(z0'))) + MARK(1 + z0') :|: z = 1 + (1 + z0'), z0' >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(a__head(mark(z0''))) + MARK(1 + z0'') :|: z = 1 + (1 + z0''), z0'' >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__INCR(0) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__INCR(1 + mark(z02)) + MARK(1 + z02) :|: z = 1 + (1 + z02), z02 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(1 + mark(z03) + z1') + MARK(1 + z03 + z1') :|: z1' >= 0, z03 >= 0, z = 1 + (1 + z03 + z1') MARK(z) -{ 1 }-> 1 + A__HEAD(a__tail(mark(z06))) + MARK(1 + z06) :|: z06 >= 0, z = 1 + (1 + z06) MARK(z) -{ 1 }-> 1 + A__HEAD(a__pairs) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__HEAD(a__odds) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__HEAD(a__nats) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__HEAD(a__incr(mark(z04))) + MARK(1 + z04) :|: z04 >= 0, z = 1 + (1 + z04) MARK(z) -{ 1 }-> 1 + A__HEAD(a__head(mark(z05))) + MARK(1 + z05) :|: z05 >= 0, z = 1 + (1 + z05) MARK(z) -{ 1 }-> 1 + A__HEAD(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z07)) + MARK(1 + z07) :|: z = 1 + (1 + z07), z07 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z08) + z1'') + MARK(1 + z08 + z1'') :|: z08 >= 0, z = 1 + (1 + z08 + z1''), z1'' >= 0 a__head(z) -{ 0 }-> mark(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__head(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__head(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__incr(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__incr(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__incr(z) -{ 0 }-> 1 + (1 + mark(z0)) + (1 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__nats -{ 0 }-> 1 :|: a__nats -{ 0 }-> 0 :|: a__nats -{ 0 }-> 1 + 0 + (1 + 1) :|: a__odds -{ 0 }-> a__incr(4) :|: a__odds -{ 0 }-> a__incr(0) :|: a__odds -{ 0 }-> a__incr(1 + 0 + (1 + 3)) :|: a__odds -{ 0 }-> 3 :|: a__odds -{ 0 }-> 0 :|: a__pairs -{ 0 }-> 4 :|: a__pairs -{ 0 }-> 0 :|: a__pairs -{ 0 }-> 1 + 0 + (1 + 3) :|: a__tail(z) -{ 0 }-> mark(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__tail(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__tail(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 mark(z) -{ 0 }-> a__tail(a__tail(mark(z026))) :|: z = 1 + (1 + z026), z026 >= 0 mark(z) -{ 0 }-> a__tail(a__pairs) :|: z = 1 + 4 mark(z) -{ 0 }-> a__tail(a__odds) :|: z = 1 + 3 mark(z) -{ 0 }-> a__tail(a__nats) :|: z = 1 + 1 mark(z) -{ 0 }-> a__tail(a__incr(mark(z024))) :|: z024 >= 0, z = 1 + (1 + z024) mark(z) -{ 0 }-> a__tail(a__head(mark(z025))) :|: z025 >= 0, z = 1 + (1 + z025) mark(z) -{ 0 }-> a__tail(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__tail(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__tail(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__tail(1 + mark(z027)) :|: z027 >= 0, z = 1 + (1 + z027) mark(z) -{ 0 }-> a__tail(1 + mark(z028) + z14) :|: z = 1 + (1 + z028 + z14), z028 >= 0, z14 >= 0 mark(z) -{ 0 }-> a__pairs :|: z = 4 mark(z) -{ 0 }-> a__odds :|: z = 3 mark(z) -{ 0 }-> a__nats :|: z = 1 mark(z) -{ 0 }-> a__incr(a__tail(mark(z016))) :|: z016 >= 0, z = 1 + (1 + z016) mark(z) -{ 0 }-> a__incr(a__pairs) :|: z = 1 + 4 mark(z) -{ 0 }-> a__incr(a__odds) :|: z = 1 + 3 mark(z) -{ 0 }-> a__incr(a__nats) :|: z = 1 + 1 mark(z) -{ 0 }-> a__incr(a__incr(mark(z014))) :|: z = 1 + (1 + z014), z014 >= 0 mark(z) -{ 0 }-> a__incr(a__head(mark(z015))) :|: z015 >= 0, z = 1 + (1 + z015) mark(z) -{ 0 }-> a__incr(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__incr(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__incr(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__incr(1 + mark(z017)) :|: z = 1 + (1 + z017), z017 >= 0 mark(z) -{ 0 }-> a__incr(1 + mark(z018) + z12) :|: z = 1 + (1 + z018 + z12), z12 >= 0, z018 >= 0 mark(z) -{ 0 }-> a__head(a__tail(mark(z021))) :|: z021 >= 0, z = 1 + (1 + z021) mark(z) -{ 0 }-> a__head(a__pairs) :|: z = 1 + 4 mark(z) -{ 0 }-> a__head(a__odds) :|: z = 1 + 3 mark(z) -{ 0 }-> a__head(a__nats) :|: z = 1 + 1 mark(z) -{ 0 }-> a__head(a__incr(mark(z019))) :|: z019 >= 0, z = 1 + (1 + z019) mark(z) -{ 0 }-> a__head(a__head(mark(z020))) :|: z = 1 + (1 + z020), z020 >= 0 mark(z) -{ 0 }-> a__head(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__head(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__head(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__head(1 + mark(z022)) :|: z022 >= 0, z = 1 + (1 + z022) mark(z) -{ 0 }-> a__head(1 + mark(z023) + z13) :|: z023 >= 0, z = 1 + (1 + z023 + z13), z13 >= 0 mark(z) -{ 0 }-> 2 :|: z = 2 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 ---------------------------------------- (37) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: a__nats -{ 0 }-> 1 + 0 + (1 + 1) :|: a__nats -{ 0 }-> 0 :|: a__nats -{ 0 }-> 1 :|: a__pairs -{ 0 }-> 0 :|: a__pairs -{ 0 }-> 1 + 0 + (1 + 3) :|: a__pairs -{ 0 }-> 4 :|: ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: A__HEAD(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__INCR(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ODDS -{ 1 }-> 1 + A__INCR(4) :|: A__ODDS -{ 1 }-> 1 + A__INCR(0) :|: A__ODDS -{ 1 }-> 1 + A__INCR(1 + 0 + (1 + 3)) :|: A__TAIL(z) -{ 1 }-> 1 + MARK(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__ODDS :|: z = 3 MARK(z) -{ 1 }-> 1 + A__TAIL(a__tail(mark(z011))) + MARK(1 + z011) :|: z = 1 + (1 + z011), z011 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(a__odds) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__TAIL(a__incr(mark(z09))) + MARK(1 + z09) :|: z = 1 + (1 + z09), z09 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(a__head(mark(z010))) + MARK(1 + z010) :|: z = 1 + (1 + z010), z010 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(4) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__TAIL(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__TAIL(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__TAIL(0) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(0) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__TAIL(0) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__TAIL(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__TAIL(1 + mark(z012)) + MARK(1 + z012) :|: z012 >= 0, z = 1 + (1 + z012) MARK(z) -{ 1 }-> 1 + A__TAIL(1 + mark(z013) + z11) + MARK(1 + z013 + z11) :|: z = 1 + (1 + z013 + z11), z11 >= 0, z013 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(1 + 0 + (1 + 3)) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__TAIL(1 + 0 + (1 + 1)) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__INCR(a__tail(mark(z01))) + MARK(1 + z01) :|: z = 1 + (1 + z01), z01 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(a__odds) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__INCR(a__incr(mark(z0'))) + MARK(1 + z0') :|: z = 1 + (1 + z0'), z0' >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(a__head(mark(z0''))) + MARK(1 + z0'') :|: z = 1 + (1 + z0''), z0'' >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(4) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__INCR(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__INCR(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__INCR(0) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(0) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__INCR(0) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__INCR(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__INCR(1 + mark(z02)) + MARK(1 + z02) :|: z = 1 + (1 + z02), z02 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(1 + mark(z03) + z1') + MARK(1 + z03 + z1') :|: z1' >= 0, z03 >= 0, z = 1 + (1 + z03 + z1') MARK(z) -{ 1 }-> 1 + A__INCR(1 + 0 + (1 + 3)) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__INCR(1 + 0 + (1 + 1)) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__HEAD(a__tail(mark(z06))) + MARK(1 + z06) :|: z06 >= 0, z = 1 + (1 + z06) MARK(z) -{ 1 }-> 1 + A__HEAD(a__odds) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__HEAD(a__incr(mark(z04))) + MARK(1 + z04) :|: z04 >= 0, z = 1 + (1 + z04) MARK(z) -{ 1 }-> 1 + A__HEAD(a__head(mark(z05))) + MARK(1 + z05) :|: z05 >= 0, z = 1 + (1 + z05) MARK(z) -{ 1 }-> 1 + A__HEAD(4) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__HEAD(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__HEAD(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z07)) + MARK(1 + z07) :|: z = 1 + (1 + z07), z07 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z08) + z1'') + MARK(1 + z08 + z1'') :|: z08 >= 0, z = 1 + (1 + z08 + z1''), z1'' >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + 0 + (1 + 3)) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + 0 + (1 + 1)) + MARK(1) :|: z = 1 + 1 a__head(z) -{ 0 }-> mark(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__head(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__head(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__incr(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__incr(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__incr(z) -{ 0 }-> 1 + (1 + mark(z0)) + (1 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__nats -{ 0 }-> 1 :|: a__nats -{ 0 }-> 0 :|: a__nats -{ 0 }-> 1 + 0 + (1 + 1) :|: a__odds -{ 0 }-> a__incr(4) :|: a__odds -{ 0 }-> a__incr(0) :|: a__odds -{ 0 }-> a__incr(1 + 0 + (1 + 3)) :|: a__odds -{ 0 }-> 3 :|: a__odds -{ 0 }-> 0 :|: a__pairs -{ 0 }-> 4 :|: a__pairs -{ 0 }-> 0 :|: a__pairs -{ 0 }-> 1 + 0 + (1 + 3) :|: a__tail(z) -{ 0 }-> mark(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__tail(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__tail(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 mark(z) -{ 0 }-> a__tail(a__tail(mark(z026))) :|: z = 1 + (1 + z026), z026 >= 0 mark(z) -{ 0 }-> a__tail(a__odds) :|: z = 1 + 3 mark(z) -{ 0 }-> a__tail(a__incr(mark(z024))) :|: z024 >= 0, z = 1 + (1 + z024) mark(z) -{ 0 }-> a__tail(a__head(mark(z025))) :|: z025 >= 0, z = 1 + (1 + z025) mark(z) -{ 0 }-> a__tail(4) :|: z = 1 + 4 mark(z) -{ 0 }-> a__tail(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__tail(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__tail(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__tail(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__tail(0) :|: z = 1 + 1 mark(z) -{ 0 }-> a__tail(0) :|: z = 1 + 4 mark(z) -{ 0 }-> a__tail(1 + mark(z027)) :|: z027 >= 0, z = 1 + (1 + z027) mark(z) -{ 0 }-> a__tail(1 + mark(z028) + z14) :|: z = 1 + (1 + z028 + z14), z028 >= 0, z14 >= 0 mark(z) -{ 0 }-> a__tail(1 + 0 + (1 + 3)) :|: z = 1 + 4 mark(z) -{ 0 }-> a__tail(1 + 0 + (1 + 1)) :|: z = 1 + 1 mark(z) -{ 0 }-> a__odds :|: z = 3 mark(z) -{ 0 }-> a__incr(a__tail(mark(z016))) :|: z016 >= 0, z = 1 + (1 + z016) mark(z) -{ 0 }-> a__incr(a__odds) :|: z = 1 + 3 mark(z) -{ 0 }-> a__incr(a__incr(mark(z014))) :|: z = 1 + (1 + z014), z014 >= 0 mark(z) -{ 0 }-> a__incr(a__head(mark(z015))) :|: z015 >= 0, z = 1 + (1 + z015) mark(z) -{ 0 }-> a__incr(4) :|: z = 1 + 4 mark(z) -{ 0 }-> a__incr(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__incr(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__incr(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__incr(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__incr(0) :|: z = 1 + 1 mark(z) -{ 0 }-> a__incr(0) :|: z = 1 + 4 mark(z) -{ 0 }-> a__incr(1 + mark(z017)) :|: z = 1 + (1 + z017), z017 >= 0 mark(z) -{ 0 }-> a__incr(1 + mark(z018) + z12) :|: z = 1 + (1 + z018 + z12), z12 >= 0, z018 >= 0 mark(z) -{ 0 }-> a__incr(1 + 0 + (1 + 3)) :|: z = 1 + 4 mark(z) -{ 0 }-> a__incr(1 + 0 + (1 + 1)) :|: z = 1 + 1 mark(z) -{ 0 }-> a__head(a__tail(mark(z021))) :|: z021 >= 0, z = 1 + (1 + z021) mark(z) -{ 0 }-> a__head(a__odds) :|: z = 1 + 3 mark(z) -{ 0 }-> a__head(a__incr(mark(z019))) :|: z019 >= 0, z = 1 + (1 + z019) mark(z) -{ 0 }-> a__head(a__head(mark(z020))) :|: z = 1 + (1 + z020), z020 >= 0 mark(z) -{ 0 }-> a__head(4) :|: z = 1 + 4 mark(z) -{ 0 }-> a__head(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__head(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__head(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__head(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__head(0) :|: z = 1 + 1 mark(z) -{ 0 }-> a__head(0) :|: z = 1 + 4 mark(z) -{ 0 }-> a__head(1 + mark(z022)) :|: z022 >= 0, z = 1 + (1 + z022) mark(z) -{ 0 }-> a__head(1 + mark(z023) + z13) :|: z023 >= 0, z = 1 + (1 + z023 + z13), z13 >= 0 mark(z) -{ 0 }-> a__head(1 + 0 + (1 + 3)) :|: z = 1 + 4 mark(z) -{ 0 }-> a__head(1 + 0 + (1 + 1)) :|: z = 1 + 1 mark(z) -{ 0 }-> 4 :|: z = 4 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 }-> 0 :|: z = 1 mark(z) -{ 0 }-> 0 :|: z = 4 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 + (1 + 3) :|: z = 4 mark(z) -{ 0 }-> 1 + 0 + (1 + 1) :|: z = 1 ---------------------------------------- (39) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: A__HEAD(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__INCR(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ODDS -{ 1 }-> 1 + A__INCR(4) :|: A__ODDS -{ 1 }-> 1 + A__INCR(0) :|: A__ODDS -{ 1 }-> 1 + A__INCR(1 + 0 + (1 + 3)) :|: A__TAIL(z) -{ 1 }-> 1 + MARK(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 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__ODDS :|: z = 3 MARK(z) -{ 1 }-> 1 + A__TAIL(a__tail(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(a__odds) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__TAIL(a__incr(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(a__head(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(4) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__TAIL(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__TAIL(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__TAIL(0) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__TAIL(0) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__TAIL(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__TAIL(0) + MARK(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(1 + mark(z - 2)) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(1 + mark(z013) + z11) + MARK(1 + z013 + z11) :|: z = 1 + (1 + z013 + z11), z11 >= 0, z013 >= 0 MARK(z) -{ 1 }-> 1 + A__TAIL(1 + 0 + (1 + 3)) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__TAIL(1 + 0 + (1 + 1)) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__INCR(a__tail(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(a__odds) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__INCR(a__incr(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(a__head(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(4) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__INCR(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__INCR(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__INCR(0) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__INCR(0) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__INCR(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__INCR(0) + MARK(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(1 + mark(z - 2)) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(1 + mark(z03) + z1') + MARK(1 + z03 + z1') :|: z1' >= 0, z03 >= 0, z = 1 + (1 + z03 + z1') MARK(z) -{ 1 }-> 1 + A__INCR(1 + 0 + (1 + 3)) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__INCR(1 + 0 + (1 + 1)) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__HEAD(a__tail(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(a__odds) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__HEAD(a__incr(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(a__head(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(4) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__HEAD(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__HEAD(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__HEAD(0) + MARK(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z - 2)) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + mark(z08) + z1'') + MARK(1 + z08 + z1'') :|: z08 >= 0, z = 1 + (1 + z08 + z1''), z1'' >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + 0 + (1 + 3)) + MARK(4) :|: z = 1 + 4 MARK(z) -{ 1 }-> 1 + A__HEAD(1 + 0 + (1 + 1)) + MARK(1) :|: z = 1 + 1 a__head(z) -{ 0 }-> mark(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__head(z) -{ 0 }-> 0 :|: z >= 0 a__head(z) -{ 0 }-> 1 + z :|: z >= 0 a__incr(z) -{ 0 }-> 0 :|: z >= 0 a__incr(z) -{ 0 }-> 1 + z :|: z >= 0 a__incr(z) -{ 0 }-> 1 + (1 + mark(z0)) + (1 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__nats -{ 0 }-> 1 :|: a__nats -{ 0 }-> 0 :|: a__nats -{ 0 }-> 1 + 0 + (1 + 1) :|: a__odds -{ 0 }-> a__incr(4) :|: a__odds -{ 0 }-> a__incr(0) :|: a__odds -{ 0 }-> a__incr(1 + 0 + (1 + 3)) :|: a__odds -{ 0 }-> 3 :|: a__odds -{ 0 }-> 0 :|: a__pairs -{ 0 }-> 4 :|: a__pairs -{ 0 }-> 0 :|: a__pairs -{ 0 }-> 1 + 0 + (1 + 3) :|: a__tail(z) -{ 0 }-> mark(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__tail(z) -{ 0 }-> 0 :|: z >= 0 a__tail(z) -{ 0 }-> 1 + z :|: z >= 0 mark(z) -{ 0 }-> a__tail(a__tail(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__tail(a__odds) :|: z = 1 + 3 mark(z) -{ 0 }-> a__tail(a__incr(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__tail(a__head(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__tail(4) :|: z = 1 + 4 mark(z) -{ 0 }-> a__tail(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__tail(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__tail(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__tail(0) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__tail(0) :|: z = 1 + 1 mark(z) -{ 0 }-> a__tail(0) :|: z = 1 + 4 mark(z) -{ 0 }-> a__tail(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__tail(1 + mark(z028) + z14) :|: z = 1 + (1 + z028 + z14), z028 >= 0, z14 >= 0 mark(z) -{ 0 }-> a__tail(1 + 0 + (1 + 3)) :|: z = 1 + 4 mark(z) -{ 0 }-> a__tail(1 + 0 + (1 + 1)) :|: z = 1 + 1 mark(z) -{ 0 }-> a__odds :|: z = 3 mark(z) -{ 0 }-> a__incr(a__tail(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__incr(a__odds) :|: z = 1 + 3 mark(z) -{ 0 }-> a__incr(a__incr(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__incr(a__head(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__incr(4) :|: z = 1 + 4 mark(z) -{ 0 }-> a__incr(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__incr(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__incr(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__incr(0) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__incr(0) :|: z = 1 + 1 mark(z) -{ 0 }-> a__incr(0) :|: z = 1 + 4 mark(z) -{ 0 }-> a__incr(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__incr(1 + mark(z018) + z12) :|: z = 1 + (1 + z018 + z12), z12 >= 0, z018 >= 0 mark(z) -{ 0 }-> a__incr(1 + 0 + (1 + 3)) :|: z = 1 + 4 mark(z) -{ 0 }-> a__incr(1 + 0 + (1 + 1)) :|: z = 1 + 1 mark(z) -{ 0 }-> a__head(a__tail(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__head(a__odds) :|: z = 1 + 3 mark(z) -{ 0 }-> a__head(a__incr(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__head(a__head(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__head(4) :|: z = 1 + 4 mark(z) -{ 0 }-> a__head(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__head(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__head(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__head(0) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__head(0) :|: z = 1 + 1 mark(z) -{ 0 }-> a__head(0) :|: z = 1 + 4 mark(z) -{ 0 }-> a__head(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__head(1 + mark(z023) + z13) :|: z023 >= 0, z = 1 + (1 + z023 + z13), z13 >= 0 mark(z) -{ 0 }-> a__head(1 + 0 + (1 + 3)) :|: z = 1 + 4 mark(z) -{ 0 }-> a__head(1 + 0 + (1 + 1)) :|: z = 1 + 1 mark(z) -{ 0 }-> 4 :|: z = 4 mark(z) -{ 0 }-> 2 :|: z = 2 mark(z) -{ 0 }-> 1 :|: z = 1 mark(z) -{ 0 }-> 0 :|: z = 0 mark(z) -{ 0 }-> 0 :|: z >= 0 mark(z) -{ 0 }-> 0 :|: z = 1 mark(z) -{ 0 }-> 0 :|: z = 4 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 + (1 + 3) :|: z = 4 mark(z) -{ 0 }-> 1 + 0 + (1 + 1) :|: z = 1 ---------------------------------------- (41) 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__nats -> null_a__nats [0] a__pairs -> null_a__pairs [0] a__odds -> null_a__odds [0] a__incr(v0) -> null_a__incr [0] a__head(v0) -> null_a__head [0] a__tail(v0) -> null_a__tail [0] mark(v0) -> null_mark [0] A__INCR(v0) -> null_A__INCR [0] A__HEAD(v0) -> null_A__HEAD [0] A__TAIL(v0) -> null_A__TAIL [0] MARK(v0) -> null_MARK [0] And the following fresh constants: null_a__nats, null_a__pairs, null_a__odds, null_a__incr, null_a__head, null_a__tail, null_mark, null_A__INCR, null_A__HEAD, null_A__TAIL, null_MARK, const ---------------------------------------- (42) 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__INCR(cons(z0, z1)) -> c6(MARK(z0)) [1] A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) [1] A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) [1] MARK(odds) -> c14(A__ODDS) [1] MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) [1] MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) [1] MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) [1] MARK(s(z0)) -> c19(MARK(z0)) [1] MARK(cons(z0, z1)) -> c21(MARK(z0)) [1] A__ODDS -> c4(A__INCR(a__pairs)) [1] a__nats -> cons(0, incr(nats)) [0] a__nats -> nats [0] a__pairs -> cons(0, incr(odds)) [0] a__pairs -> pairs [0] a__odds -> a__incr(a__pairs) [0] a__odds -> odds [0] a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) [0] a__incr(z0) -> incr(z0) [0] a__head(cons(z0, z1)) -> mark(z0) [0] a__head(z0) -> head(z0) [0] a__tail(cons(z0, z1)) -> mark(z1) [0] a__tail(z0) -> tail(z0) [0] mark(nats) -> a__nats [0] mark(pairs) -> a__pairs [0] mark(odds) -> a__odds [0] mark(incr(z0)) -> a__incr(mark(z0)) [0] mark(head(z0)) -> a__head(mark(z0)) [0] mark(tail(z0)) -> a__tail(mark(z0)) [0] mark(0) -> 0 [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] a__nats -> null_a__nats [0] a__pairs -> null_a__pairs [0] a__odds -> null_a__odds [0] a__incr(v0) -> null_a__incr [0] a__head(v0) -> null_a__head [0] a__tail(v0) -> null_a__tail [0] mark(v0) -> null_mark [0] A__INCR(v0) -> null_A__INCR [0] A__HEAD(v0) -> null_A__HEAD [0] A__TAIL(v0) -> null_A__TAIL [0] MARK(v0) -> null_MARK [0] The TRS has the following type information: A__INCR :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> c6:null_A__INCR cons :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c6 :: c14:c15:c16:c17:c19:c21:null_MARK -> c6:null_A__INCR MARK :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> c14:c15:c16:c17:c19:c21:null_MARK A__HEAD :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> c8:null_A__HEAD c8 :: c14:c15:c16:c17:c19:c21:null_MARK -> c8:null_A__HEAD A__TAIL :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> c10:null_A__TAIL c10 :: c14:c15:c16:c17:c19:c21:null_MARK -> c10:null_A__TAIL odds :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c14 :: c4 -> c14:c15:c16:c17:c19:c21:null_MARK A__ODDS :: c4 incr :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c15 :: c6:null_A__INCR -> c14:c15:c16:c17:c19:c21:null_MARK -> c14:c15:c16:c17:c19:c21:null_MARK mark :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark head :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c16 :: c8:null_A__HEAD -> c14:c15:c16:c17:c19:c21:null_MARK -> c14:c15:c16:c17:c19:c21:null_MARK tail :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c17 :: c10:null_A__TAIL -> c14:c15:c16:c17:c19:c21:null_MARK -> c14:c15:c16:c17:c19:c21:null_MARK s :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark c19 :: c14:c15:c16:c17:c19:c21:null_MARK -> c14:c15:c16:c17:c19:c21:null_MARK c21 :: c14:c15:c16:c17:c19:c21:null_MARK -> c14:c15:c16:c17:c19:c21:null_MARK c4 :: c6:null_A__INCR -> c4 a__pairs :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__nats :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark 0 :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark nats :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark pairs :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__odds :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__incr :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__head :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark a__tail :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark -> cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark nil :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__nats :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__pairs :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__odds :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__incr :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__head :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_a__tail :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_mark :: cons:odds:incr:head:tail:s:0:nats:pairs:nil:null_a__nats:null_a__pairs:null_a__odds:null_a__incr:null_a__head:null_a__tail:null_mark null_A__INCR :: c6:null_A__INCR null_A__HEAD :: c8:null_A__HEAD null_A__TAIL :: c10:null_A__TAIL null_MARK :: c14:c15:c16:c17:c19:c21:null_MARK const :: c4 Rewrite Strategy: INNERMOST ---------------------------------------- (43) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: odds => 3 0 => 0 nats => 1 pairs => 4 nil => 2 null_a__nats => 0 null_a__pairs => 0 null_a__odds => 0 null_a__incr => 0 null_a__head => 0 null_a__tail => 0 null_mark => 0 null_A__INCR => 0 null_A__HEAD => 0 null_A__TAIL => 0 null_MARK => 0 const => 0 ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: A__HEAD(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__HEAD(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__INCR(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__INCR(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ODDS -{ 1 }-> 1 + A__INCR(a__pairs) :|: A__TAIL(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__TAIL(z) -{ 1 }-> 1 + MARK(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__ODDS :|: z = 3 MARK(z) -{ 1 }-> 1 + A__TAIL(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__INCR(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__HEAD(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 a__head(z) -{ 0 }-> mark(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__head(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__head(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__incr(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__incr(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__incr(z) -{ 0 }-> 1 + (1 + mark(z0)) + (1 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__nats -{ 0 }-> 1 :|: a__nats -{ 0 }-> 0 :|: a__nats -{ 0 }-> 1 + 0 + (1 + 1) :|: a__odds -{ 0 }-> a__incr(a__pairs) :|: a__odds -{ 0 }-> 3 :|: a__odds -{ 0 }-> 0 :|: a__pairs -{ 0 }-> 4 :|: a__pairs -{ 0 }-> 0 :|: a__pairs -{ 0 }-> 1 + 0 + (1 + 3) :|: a__tail(z) -{ 0 }-> mark(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__tail(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__tail(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 mark(z) -{ 0 }-> a__tail(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__pairs :|: z = 4 mark(z) -{ 0 }-> a__odds :|: z = 3 mark(z) -{ 0 }-> a__nats :|: z = 1 mark(z) -{ 0 }-> a__incr(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__head(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> 2 :|: z = 2 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. ---------------------------------------- (45) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(z0)) -> c15(A__INCR(mark(z0)), MARK(z0)) by MARK(incr(nats)) -> c15(A__INCR(a__nats), MARK(nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs), MARK(pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(0)) -> c15(A__INCR(0), MARK(0)) MARK(incr(s(z0))) -> c15(A__INCR(s(mark(z0))), MARK(s(z0))) MARK(incr(nil)) -> c15(A__INCR(nil), MARK(nil)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(nats)) -> c15(A__INCR(a__nats), MARK(nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs), MARK(pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(0)) -> c15(A__INCR(0), MARK(0)) MARK(incr(s(z0))) -> c15(A__INCR(s(mark(z0))), MARK(s(z0))) MARK(incr(nil)) -> c15(A__INCR(nil), MARK(nil)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(nats)) -> c15(A__INCR(a__nats), MARK(nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs), MARK(pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(0)) -> c15(A__INCR(0), MARK(0)) MARK(incr(s(z0))) -> c15(A__INCR(s(mark(z0))), MARK(s(z0))) MARK(incr(nil)) -> c15(A__INCR(nil), MARK(nil)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c16_2, c17_2, c19_1, c21_1, c4_1, c15_2 ---------------------------------------- (47) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(incr(nil)) -> c15(A__INCR(nil), MARK(nil)) MARK(incr(0)) -> c15(A__INCR(0), MARK(0)) ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(nats)) -> c15(A__INCR(a__nats), MARK(nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs), MARK(pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(s(z0))) -> c15(A__INCR(s(mark(z0))), MARK(s(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(nats)) -> c15(A__INCR(a__nats), MARK(nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs), MARK(pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(s(z0))) -> c15(A__INCR(s(mark(z0))), MARK(s(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c16_2, c17_2, c19_1, c21_1, c4_1, c15_2 ---------------------------------------- (49) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c16_2, c17_2, c19_1, c21_1, c4_1, c15_2, c15_1 ---------------------------------------- (51) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(z0)) -> c16(A__HEAD(mark(z0)), MARK(z0)) by MARK(head(nats)) -> c16(A__HEAD(a__nats), MARK(nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs), MARK(pairs)) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(0)) -> c16(A__HEAD(0), MARK(0)) MARK(head(s(z0))) -> c16(A__HEAD(s(mark(z0))), MARK(s(z0))) MARK(head(nil)) -> c16(A__HEAD(nil), MARK(nil)) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(nats)) -> c16(A__HEAD(a__nats), MARK(nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs), MARK(pairs)) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(0)) -> c16(A__HEAD(0), MARK(0)) MARK(head(s(z0))) -> c16(A__HEAD(s(mark(z0))), MARK(s(z0))) MARK(head(nil)) -> c16(A__HEAD(nil), MARK(nil)) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(nats)) -> c16(A__HEAD(a__nats), MARK(nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs), MARK(pairs)) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(0)) -> c16(A__HEAD(0), MARK(0)) MARK(head(s(z0))) -> c16(A__HEAD(s(mark(z0))), MARK(s(z0))) MARK(head(nil)) -> c16(A__HEAD(nil), MARK(nil)) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c17_2, c19_1, c21_1, c4_1, c15_2, c15_1, c16_2 ---------------------------------------- (53) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(head(0)) -> c16(A__HEAD(0), MARK(0)) MARK(head(nil)) -> c16(A__HEAD(nil), MARK(nil)) ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(nats)) -> c16(A__HEAD(a__nats), MARK(nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs), MARK(pairs)) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(s(z0))) -> c16(A__HEAD(s(mark(z0))), MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(nats)) -> c16(A__HEAD(a__nats), MARK(nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs), MARK(pairs)) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(s(z0))) -> c16(A__HEAD(s(mark(z0))), MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c17_2, c19_1, c21_1, c4_1, c15_2, c15_1, c16_2 ---------------------------------------- (55) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c17_2, c19_1, c21_1, c4_1, c15_2, c15_1, c16_2, c16_1 ---------------------------------------- (57) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(z0)) -> c17(A__TAIL(mark(z0)), MARK(z0)) by MARK(tail(nats)) -> c17(A__TAIL(a__nats), MARK(nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs), MARK(pairs)) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(0)) -> c17(A__TAIL(0), MARK(0)) MARK(tail(s(z0))) -> c17(A__TAIL(s(mark(z0))), MARK(s(z0))) MARK(tail(nil)) -> c17(A__TAIL(nil), MARK(nil)) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(nats)) -> c17(A__TAIL(a__nats), MARK(nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs), MARK(pairs)) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(0)) -> c17(A__TAIL(0), MARK(0)) MARK(tail(s(z0))) -> c17(A__TAIL(s(mark(z0))), MARK(s(z0))) MARK(tail(nil)) -> c17(A__TAIL(nil), MARK(nil)) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(nats)) -> c17(A__TAIL(a__nats), MARK(nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs), MARK(pairs)) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(0)) -> c17(A__TAIL(0), MARK(0)) MARK(tail(s(z0))) -> c17(A__TAIL(s(mark(z0))), MARK(s(z0))) MARK(tail(nil)) -> c17(A__TAIL(nil), MARK(nil)) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c4_1, c15_2, c15_1, c16_2, c16_1, c17_2 ---------------------------------------- (59) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(tail(0)) -> c17(A__TAIL(0), MARK(0)) MARK(tail(nil)) -> c17(A__TAIL(nil), MARK(nil)) ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(nats)) -> c17(A__TAIL(a__nats), MARK(nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs), MARK(pairs)) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(s(z0))) -> c17(A__TAIL(s(mark(z0))), MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(nats)) -> c17(A__TAIL(a__nats), MARK(nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs), MARK(pairs)) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(s(z0))) -> c17(A__TAIL(s(mark(z0))), MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c4_1, c15_2, c15_1, c16_2, c16_1, c17_2 ---------------------------------------- (61) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) A__ODDS -> c4(A__INCR(a__pairs)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c4_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1 ---------------------------------------- (63) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ODDS -> c4(A__INCR(a__pairs)) by A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) A__ODDS -> c4(A__INCR(pairs)) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) A__ODDS -> c4(A__INCR(pairs)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) A__ODDS -> c4(A__INCR(pairs)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (65) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: A__ODDS -> c4(A__INCR(pairs)) ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (67) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(odds)) -> c15(A__INCR(a__odds), MARK(odds)) by MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(A__INCR(odds), MARK(odds)) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(A__INCR(odds), MARK(odds)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(A__INCR(odds), MARK(odds)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (69) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (71) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(incr(z0))) -> c15(A__INCR(a__incr(mark(z0))), MARK(incr(z0))) by MARK(incr(incr(x0))) -> c15(A__INCR(incr(mark(x0))), MARK(incr(x0))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0)), MARK(incr(0))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil)), MARK(incr(nil))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(x0))) -> c15(A__INCR(incr(mark(x0))), MARK(incr(x0))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0)), MARK(incr(0))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil)), MARK(incr(nil))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(x0))) -> c15(A__INCR(incr(mark(x0))), MARK(incr(x0))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0)), MARK(incr(0))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil)), MARK(incr(nil))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (73) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (75) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(head(z0))) -> c15(A__INCR(a__head(mark(z0))), MARK(head(z0))) by MARK(incr(head(x0))) -> c15(A__INCR(head(mark(x0))), MARK(head(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0)), MARK(head(0))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil)), MARK(head(nil))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(x0))) -> c15(A__INCR(head(mark(x0))), MARK(head(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0)), MARK(head(0))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil)), MARK(head(nil))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(x0))) -> c15(A__INCR(head(mark(x0))), MARK(head(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0)), MARK(head(0))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil)), MARK(head(nil))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (77) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (79) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(tail(z0))) -> c15(A__INCR(a__tail(mark(z0))), MARK(tail(z0))) by MARK(incr(tail(x0))) -> c15(A__INCR(tail(mark(x0))), MARK(tail(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0)), MARK(tail(0))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil)), MARK(tail(nil))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(x0))) -> c15(A__INCR(tail(mark(x0))), MARK(tail(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0)), MARK(tail(0))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil)), MARK(tail(nil))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(x0))) -> c15(A__INCR(tail(mark(x0))), MARK(tail(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0)), MARK(tail(0))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil)), MARK(tail(nil))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (81) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(nats)) -> c15(A__INCR(a__nats)) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (83) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(nats)) -> c15(A__INCR(a__nats)) by MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(nats)) -> c15(A__INCR(nats)) ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(nats)) -> c15(A__INCR(nats)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(nats)) -> c15(A__INCR(nats)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (85) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(incr(nats)) -> c15(A__INCR(nats)) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (87) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(pairs)) -> c15(A__INCR(a__pairs)) by MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(incr(pairs)) -> c15(A__INCR(pairs)) ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(incr(pairs)) -> c15(A__INCR(pairs)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(incr(pairs)) -> c15(A__INCR(pairs)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (89) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(incr(pairs)) -> c15(A__INCR(pairs)) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (91) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(odds)) -> c16(A__HEAD(a__odds), MARK(odds)) by MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(A__HEAD(odds), MARK(odds)) ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(A__HEAD(odds), MARK(odds)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(A__HEAD(odds), MARK(odds)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (93) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (95) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(incr(z0))) -> c16(A__HEAD(a__incr(mark(z0))), MARK(incr(z0))) by MARK(head(incr(x0))) -> c16(A__HEAD(incr(mark(x0))), MARK(incr(x0))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0)), MARK(incr(0))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil)), MARK(incr(nil))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(x0))) -> c16(A__HEAD(incr(mark(x0))), MARK(incr(x0))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0)), MARK(incr(0))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil)), MARK(incr(nil))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(x0))) -> c16(A__HEAD(incr(mark(x0))), MARK(incr(x0))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0)), MARK(incr(0))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil)), MARK(incr(nil))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (97) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (99) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(head(z0))) -> c16(A__HEAD(a__head(mark(z0))), MARK(head(z0))) by MARK(head(head(x0))) -> c16(A__HEAD(head(mark(x0))), MARK(head(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0)), MARK(head(0))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil)), MARK(head(nil))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(x0))) -> c16(A__HEAD(head(mark(x0))), MARK(head(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0)), MARK(head(0))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil)), MARK(head(nil))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(x0))) -> c16(A__HEAD(head(mark(x0))), MARK(head(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0)), MARK(head(0))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil)), MARK(head(nil))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (101) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (103) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(tail(z0))) -> c16(A__HEAD(a__tail(mark(z0))), MARK(tail(z0))) by MARK(head(tail(x0))) -> c16(A__HEAD(tail(mark(x0))), MARK(tail(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0)), MARK(tail(0))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil)), MARK(tail(nil))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(x0))) -> c16(A__HEAD(tail(mark(x0))), MARK(tail(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0)), MARK(tail(0))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil)), MARK(tail(nil))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(x0))) -> c16(A__HEAD(tail(mark(x0))), MARK(tail(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0)), MARK(tail(0))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil)), MARK(tail(nil))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (105) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(nats)) -> c16(A__HEAD(a__nats)) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (107) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(nats)) -> c16(A__HEAD(a__nats)) by MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(nats)) -> c16(A__HEAD(nats)) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(nats)) -> c16(A__HEAD(nats)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(nats)) -> c16(A__HEAD(nats)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (109) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(head(nats)) -> c16(A__HEAD(nats)) ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (111) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(pairs)) -> c16(A__HEAD(a__pairs)) by MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(head(pairs)) -> c16(A__HEAD(pairs)) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(head(pairs)) -> c16(A__HEAD(pairs)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(head(pairs)) -> c16(A__HEAD(pairs)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (113) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(head(pairs)) -> c16(A__HEAD(pairs)) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (115) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(odds)) -> c17(A__TAIL(a__odds), MARK(odds)) by MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(A__TAIL(odds), MARK(odds)) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(A__TAIL(odds), MARK(odds)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(A__TAIL(odds), MARK(odds)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (117) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (119) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(incr(z0))) -> c17(A__TAIL(a__incr(mark(z0))), MARK(incr(z0))) by MARK(tail(incr(x0))) -> c17(A__TAIL(incr(mark(x0))), MARK(incr(x0))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0)), MARK(incr(0))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil)), MARK(incr(nil))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(x0))) -> c17(A__TAIL(incr(mark(x0))), MARK(incr(x0))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0)), MARK(incr(0))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil)), MARK(incr(nil))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(x0))) -> c17(A__TAIL(incr(mark(x0))), MARK(incr(x0))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0)), MARK(incr(0))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil)), MARK(incr(nil))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (121) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (123) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(head(z0))) -> c17(A__TAIL(a__head(mark(z0))), MARK(head(z0))) by MARK(tail(head(x0))) -> c17(A__TAIL(head(mark(x0))), MARK(head(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0)), MARK(head(0))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil)), MARK(head(nil))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(x0))) -> c17(A__TAIL(head(mark(x0))), MARK(head(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0)), MARK(head(0))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil)), MARK(head(nil))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(x0))) -> c17(A__TAIL(head(mark(x0))), MARK(head(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0)), MARK(head(0))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil)), MARK(head(nil))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (125) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(tail(z0))) -> c17(A__TAIL(a__tail(mark(z0))), MARK(tail(z0))) by MARK(tail(tail(x0))) -> c17(A__TAIL(tail(mark(x0))), MARK(tail(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0)), MARK(tail(0))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil)), MARK(tail(nil))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(x0))) -> c17(A__TAIL(tail(mark(x0))), MARK(tail(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0)), MARK(tail(0))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil)), MARK(tail(nil))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(x0))) -> c17(A__TAIL(tail(mark(x0))), MARK(tail(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0)), MARK(tail(0))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil)), MARK(tail(nil))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (129) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(nats)) -> c17(A__TAIL(a__nats)) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (131) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(nats)) -> c17(A__TAIL(a__nats)) by MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(nats)) -> c17(A__TAIL(nats)) ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(nats)) -> c17(A__TAIL(nats)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(nats)) -> c17(A__TAIL(nats)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (133) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(tail(nats)) -> c17(A__TAIL(nats)) ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (135) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(pairs)) -> c17(A__TAIL(a__pairs)) by MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(pairs)) -> c17(A__TAIL(pairs)) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(pairs)) -> c17(A__TAIL(pairs)) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(pairs)) -> c17(A__TAIL(pairs)) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (137) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(tail(pairs)) -> c17(A__TAIL(pairs)) ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (139) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(incr(0))) -> c15(A__INCR(a__incr(0))) by MARK(incr(incr(0))) -> c15(A__INCR(incr(0))) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(incr(incr(0))) -> c15(A__INCR(incr(0))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(incr(incr(0))) -> c15(A__INCR(incr(0))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (141) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(incr(incr(0))) -> c15(A__INCR(incr(0))) ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (143) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(incr(nil))) -> c15(A__INCR(a__incr(nil))) by MARK(incr(incr(nil))) -> c15(A__INCR(incr(nil))) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(incr(incr(nil))) -> c15(A__INCR(incr(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(incr(incr(nil))) -> c15(A__INCR(incr(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (145) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(incr(incr(nil))) -> c15(A__INCR(incr(nil))) ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (147) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(head(0))) -> c15(A__INCR(a__head(0))) by MARK(incr(head(0))) -> c15(A__INCR(head(0))) ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(incr(head(0))) -> c15(A__INCR(head(0))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(incr(head(0))) -> c15(A__INCR(head(0))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (149) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(incr(head(0))) -> c15(A__INCR(head(0))) ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (151) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(head(nil))) -> c15(A__INCR(a__head(nil))) by MARK(incr(head(nil))) -> c15(A__INCR(head(nil))) ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(incr(head(nil))) -> c15(A__INCR(head(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(incr(head(nil))) -> c15(A__INCR(head(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (153) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(incr(head(nil))) -> c15(A__INCR(head(nil))) ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (155) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(tail(0))) -> c15(A__INCR(a__tail(0))) by MARK(incr(tail(0))) -> c15(A__INCR(tail(0))) ---------------------------------------- (156) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(incr(tail(0))) -> c15(A__INCR(tail(0))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(incr(tail(0))) -> c15(A__INCR(tail(0))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (157) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(incr(tail(0))) -> c15(A__INCR(tail(0))) ---------------------------------------- (158) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (159) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(tail(nil))) -> c15(A__INCR(a__tail(nil))) by MARK(incr(tail(nil))) -> c15(A__INCR(tail(nil))) ---------------------------------------- (160) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(incr(tail(nil))) -> c15(A__INCR(tail(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(incr(tail(nil))) -> c15(A__INCR(tail(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (161) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(incr(tail(nil))) -> c15(A__INCR(tail(nil))) ---------------------------------------- (162) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (163) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(incr(0))) -> c16(A__HEAD(a__incr(0))) by MARK(head(incr(0))) -> c16(A__HEAD(incr(0))) ---------------------------------------- (164) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(head(incr(0))) -> c16(A__HEAD(incr(0))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(head(incr(0))) -> c16(A__HEAD(incr(0))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (165) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(head(incr(0))) -> c16(A__HEAD(incr(0))) ---------------------------------------- (166) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (167) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(incr(nil))) -> c16(A__HEAD(a__incr(nil))) by MARK(head(incr(nil))) -> c16(A__HEAD(incr(nil))) ---------------------------------------- (168) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(head(incr(nil))) -> c16(A__HEAD(incr(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(head(incr(nil))) -> c16(A__HEAD(incr(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (169) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(head(incr(nil))) -> c16(A__HEAD(incr(nil))) ---------------------------------------- (170) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (171) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(head(0))) -> c16(A__HEAD(a__head(0))) by MARK(head(head(0))) -> c16(A__HEAD(head(0))) ---------------------------------------- (172) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(head(head(0))) -> c16(A__HEAD(head(0))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(head(head(0))) -> c16(A__HEAD(head(0))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (173) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(head(head(0))) -> c16(A__HEAD(head(0))) ---------------------------------------- (174) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (175) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(head(nil))) -> c16(A__HEAD(a__head(nil))) by MARK(head(head(nil))) -> c16(A__HEAD(head(nil))) ---------------------------------------- (176) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(head(head(nil))) -> c16(A__HEAD(head(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(head(head(nil))) -> c16(A__HEAD(head(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (177) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(head(head(nil))) -> c16(A__HEAD(head(nil))) ---------------------------------------- (178) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (179) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(tail(0))) -> c16(A__HEAD(a__tail(0))) by MARK(head(tail(0))) -> c16(A__HEAD(tail(0))) ---------------------------------------- (180) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(head(tail(0))) -> c16(A__HEAD(tail(0))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(head(tail(0))) -> c16(A__HEAD(tail(0))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (181) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(head(tail(0))) -> c16(A__HEAD(tail(0))) ---------------------------------------- (182) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (183) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(tail(nil))) -> c16(A__HEAD(a__tail(nil))) by MARK(head(tail(nil))) -> c16(A__HEAD(tail(nil))) ---------------------------------------- (184) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(head(tail(nil))) -> c16(A__HEAD(tail(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(head(tail(nil))) -> c16(A__HEAD(tail(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (185) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(head(tail(nil))) -> c16(A__HEAD(tail(nil))) ---------------------------------------- (186) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (187) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(incr(0))) -> c17(A__TAIL(a__incr(0))) by MARK(tail(incr(0))) -> c17(A__TAIL(incr(0))) ---------------------------------------- (188) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(incr(0))) -> c17(A__TAIL(incr(0))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(incr(0))) -> c17(A__TAIL(incr(0))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (189) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(tail(incr(0))) -> c17(A__TAIL(incr(0))) ---------------------------------------- (190) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (191) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(incr(nil))) -> c17(A__TAIL(a__incr(nil))) by MARK(tail(incr(nil))) -> c17(A__TAIL(incr(nil))) ---------------------------------------- (192) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(incr(nil))) -> c17(A__TAIL(incr(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(incr(nil))) -> c17(A__TAIL(incr(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (193) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(tail(incr(nil))) -> c17(A__TAIL(incr(nil))) ---------------------------------------- (194) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (195) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(head(0))) -> c17(A__TAIL(a__head(0))) by MARK(tail(head(0))) -> c17(A__TAIL(head(0))) ---------------------------------------- (196) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(head(0))) -> c17(A__TAIL(head(0))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(head(0))) -> c17(A__TAIL(head(0))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (197) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(tail(head(0))) -> c17(A__TAIL(head(0))) ---------------------------------------- (198) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (199) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(head(nil))) -> c17(A__TAIL(a__head(nil))) by MARK(tail(head(nil))) -> c17(A__TAIL(head(nil))) ---------------------------------------- (200) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(head(nil))) -> c17(A__TAIL(head(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(head(nil))) -> c17(A__TAIL(head(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (201) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(tail(head(nil))) -> c17(A__TAIL(head(nil))) ---------------------------------------- (202) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (203) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(tail(0))) -> c17(A__TAIL(a__tail(0))) by MARK(tail(tail(0))) -> c17(A__TAIL(tail(0))) ---------------------------------------- (204) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(tail(0))) -> c17(A__TAIL(tail(0))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(tail(0))) -> c17(A__TAIL(tail(0))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (205) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(tail(tail(0))) -> c17(A__TAIL(tail(0))) ---------------------------------------- (206) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (207) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(tail(tail(nil))) -> c17(A__TAIL(a__tail(nil))) by MARK(tail(tail(nil))) -> c17(A__TAIL(tail(nil))) ---------------------------------------- (208) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(tail(nil))) -> c17(A__TAIL(tail(nil))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) MARK(tail(tail(nil))) -> c17(A__TAIL(tail(nil))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (209) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(tail(tail(nil))) -> c17(A__TAIL(tail(nil))) ---------------------------------------- (210) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) S tuples: A__INCR(cons(z0, z1)) -> c6(MARK(z0)) A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__INCR_1, A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS Compound Symbols: c6_1, c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1 ---------------------------------------- (211) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__INCR(cons(z0, z1)) -> c6(MARK(z0)) by A__INCR(cons(odds, z1)) -> c6(MARK(odds)) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(incr(nats), z1)) -> c6(MARK(incr(nats))) A__INCR(cons(incr(pairs), z1)) -> c6(MARK(incr(pairs))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) ---------------------------------------- (212) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(odds, z1)) -> c6(MARK(odds)) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(incr(nats), z1)) -> c6(MARK(incr(nats))) A__INCR(cons(incr(pairs), z1)) -> c6(MARK(incr(pairs))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) S tuples: A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(odds) -> c14(A__ODDS) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(odds)) -> c16(MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(odds, z1)) -> c6(MARK(odds)) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(incr(nats), z1)) -> c6(MARK(incr(nats))) A__INCR(cons(incr(pairs), z1)) -> c6(MARK(incr(pairs))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__HEAD_1, A__TAIL_1, MARK_1, A__ODDS, A__INCR_1 Compound Symbols: c8_1, c10_1, c14_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c4_1, c6_1 ---------------------------------------- (213) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 10 trailing nodes: A__INCR(cons(odds, z1)) -> c6(MARK(odds)) A__INCR(cons(incr(pairs), z1)) -> c6(MARK(incr(pairs))) MARK(odds) -> c14(A__ODDS) MARK(incr(odds)) -> c15(MARK(odds)) MARK(incr(pairs)) -> c15(A__INCR(cons(0, incr(odds)))) MARK(incr(nats)) -> c15(A__INCR(cons(0, incr(nats)))) A__INCR(cons(incr(nats), z1)) -> c6(MARK(incr(nats))) A__ODDS -> c4(A__INCR(cons(0, incr(odds)))) MARK(head(odds)) -> c16(MARK(odds)) MARK(tail(odds)) -> c17(MARK(odds)) ---------------------------------------- (214) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) S tuples: A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs)), MARK(odds)) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats)), MARK(incr(nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs)), MARK(incr(pairs))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs)), MARK(odds)) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats)), MARK(incr(nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs)), MARK(incr(pairs))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs)), MARK(odds)) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats)), MARK(incr(nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs)), MARK(incr(pairs))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__HEAD_1, A__TAIL_1, MARK_1, A__INCR_1 Compound Symbols: c8_1, c10_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c6_1 ---------------------------------------- (215) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 9 trailing tuple parts ---------------------------------------- (216) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) S tuples: A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__HEAD_1, A__TAIL_1, MARK_1, A__INCR_1 Compound Symbols: c8_1, c10_1, c19_1, c21_1, c15_2, c15_1, c16_2, c16_1, c17_2, c17_1, c6_1 ---------------------------------------- (217) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(incr(cons(z0, z1))) -> c15(A__INCR(cons(mark(z0), z1)), MARK(cons(z0, z1))) by MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(0, x1))) -> c15(A__INCR(cons(0, x1)), MARK(cons(0, x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(nil, x1))) -> c15(A__INCR(cons(nil, x1)), MARK(cons(nil, x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) ---------------------------------------- (218) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(0, x1))) -> c15(A__INCR(cons(0, x1)), MARK(cons(0, x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(nil, x1))) -> c15(A__INCR(cons(nil, x1)), MARK(cons(nil, x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) S tuples: A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(0, x1))) -> c15(A__INCR(cons(0, x1)), MARK(cons(0, x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(nil, x1))) -> c15(A__INCR(cons(nil, x1)), MARK(cons(nil, x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__HEAD_1, A__TAIL_1, MARK_1, A__INCR_1 Compound Symbols: c8_1, c10_1, c19_1, c21_1, c15_1, c16_2, c16_1, c17_2, c17_1, c15_2, c6_1 ---------------------------------------- (219) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (220) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) S tuples: A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__HEAD_1, A__TAIL_1, MARK_1, A__INCR_1 Compound Symbols: c8_1, c10_1, c19_1, c21_1, c15_1, c16_2, c16_1, c17_2, c17_1, c15_2, c6_1 ---------------------------------------- (221) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__HEAD(cons(z0, z1)) -> c8(MARK(z0)) by A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(head(nats), z1)) -> c8(MARK(head(nats))) A__HEAD(cons(head(pairs), z1)) -> c8(MARK(head(pairs))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) ---------------------------------------- (222) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(head(nats), z1)) -> c8(MARK(head(nats))) A__HEAD(cons(head(pairs), z1)) -> c8(MARK(head(pairs))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) S tuples: A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(head(nats), z1)) -> c8(MARK(head(nats))) A__HEAD(cons(head(pairs), z1)) -> c8(MARK(head(pairs))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__TAIL_1, MARK_1, A__INCR_1, A__HEAD_1 Compound Symbols: c10_1, c19_1, c21_1, c15_1, c16_2, c16_1, c17_2, c17_1, c15_2, c6_1, c8_1 ---------------------------------------- (223) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing nodes: A__HEAD(cons(head(nats), z1)) -> c8(MARK(head(nats))) MARK(head(pairs)) -> c16(A__HEAD(cons(0, incr(odds)))) A__INCR(cons(head(nats), z1)) -> c6(MARK(head(nats))) MARK(head(nats)) -> c16(A__HEAD(cons(0, incr(nats)))) A__INCR(cons(head(pairs), z1)) -> c6(MARK(head(pairs))) A__HEAD(cons(head(pairs), z1)) -> c8(MARK(head(pairs))) ---------------------------------------- (224) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) S tuples: A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats)), MARK(head(nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs)), MARK(head(pairs))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats)), MARK(head(nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs)), MARK(head(pairs))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats)), MARK(head(nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs)), MARK(head(pairs))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__TAIL_1, MARK_1, A__INCR_1, A__HEAD_1 Compound Symbols: c10_1, c19_1, c21_1, c15_1, c16_2, c16_1, c17_2, c17_1, c15_2, c6_1, c8_1 ---------------------------------------- (225) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (226) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) S tuples: A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__TAIL_1, MARK_1, A__INCR_1, A__HEAD_1 Compound Symbols: c10_1, c19_1, c21_1, c15_1, c16_2, c16_1, c17_2, c17_1, c15_2, c6_1, c8_1 ---------------------------------------- (227) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(head(cons(z0, z1))) -> c16(A__HEAD(cons(mark(z0), z1)), MARK(cons(z0, z1))) by MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(0, x1))) -> c16(A__HEAD(cons(0, x1)), MARK(cons(0, x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(nil, x1))) -> c16(A__HEAD(cons(nil, x1)), MARK(cons(nil, x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) ---------------------------------------- (228) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(0, x1))) -> c16(A__HEAD(cons(0, x1)), MARK(cons(0, x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(nil, x1))) -> c16(A__HEAD(cons(nil, x1)), MARK(cons(nil, x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) S tuples: A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(0, x1))) -> c16(A__HEAD(cons(0, x1)), MARK(cons(0, x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(nil, x1))) -> c16(A__HEAD(cons(nil, x1)), MARK(cons(nil, x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__TAIL_1, MARK_1, A__INCR_1, A__HEAD_1 Compound Symbols: c10_1, c19_1, c21_1, c15_1, c16_1, c17_2, c17_1, c15_2, c16_2, c6_1, c8_1 ---------------------------------------- (229) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (230) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) MARK(head(cons(0, x1))) -> c16(MARK(cons(0, x1))) MARK(head(cons(nil, x1))) -> c16(MARK(cons(nil, x1))) S tuples: A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) MARK(head(cons(0, x1))) -> c16(MARK(cons(0, x1))) MARK(head(cons(nil, x1))) -> c16(MARK(cons(nil, x1))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: A__TAIL_1, MARK_1, A__INCR_1, A__HEAD_1 Compound Symbols: c10_1, c19_1, c21_1, c15_1, c16_1, c17_2, c17_1, c15_2, c16_2, c6_1, c8_1 ---------------------------------------- (231) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__TAIL(cons(z0, z1)) -> c10(MARK(z1)) by A__TAIL(cons(z0, s(y0))) -> c10(MARK(s(y0))) A__TAIL(cons(z0, cons(y0, y1))) -> c10(MARK(cons(y0, y1))) A__TAIL(cons(z0, incr(s(y0)))) -> c10(MARK(incr(s(y0)))) A__TAIL(cons(z0, head(s(y0)))) -> c10(MARK(head(s(y0)))) A__TAIL(cons(z0, tail(cons(y0, y1)))) -> c10(MARK(tail(cons(y0, y1)))) A__TAIL(cons(z0, tail(s(y0)))) -> c10(MARK(tail(s(y0)))) A__TAIL(cons(z0, incr(incr(odds)))) -> c10(MARK(incr(incr(odds)))) A__TAIL(cons(z0, incr(incr(incr(y0))))) -> c10(MARK(incr(incr(incr(y0))))) A__TAIL(cons(z0, incr(incr(head(y0))))) -> c10(MARK(incr(incr(head(y0))))) A__TAIL(cons(z0, incr(incr(tail(y0))))) -> c10(MARK(incr(incr(tail(y0))))) A__TAIL(cons(z0, incr(incr(s(y0))))) -> c10(MARK(incr(incr(s(y0))))) A__TAIL(cons(z0, incr(incr(cons(y0, y1))))) -> c10(MARK(incr(incr(cons(y0, y1))))) A__TAIL(cons(z0, incr(incr(y0)))) -> c10(MARK(incr(incr(y0)))) A__TAIL(cons(z0, incr(head(odds)))) -> c10(MARK(incr(head(odds)))) A__TAIL(cons(z0, incr(head(incr(y0))))) -> c10(MARK(incr(head(incr(y0))))) A__TAIL(cons(z0, incr(head(head(y0))))) -> c10(MARK(incr(head(head(y0))))) A__TAIL(cons(z0, incr(head(tail(y0))))) -> c10(MARK(incr(head(tail(y0))))) A__TAIL(cons(z0, incr(head(s(y0))))) -> c10(MARK(incr(head(s(y0))))) A__TAIL(cons(z0, incr(head(cons(y0, y1))))) -> c10(MARK(incr(head(cons(y0, y1))))) A__TAIL(cons(z0, incr(head(y0)))) -> c10(MARK(incr(head(y0)))) A__TAIL(cons(z0, incr(tail(nats)))) -> c10(MARK(incr(tail(nats)))) A__TAIL(cons(z0, incr(tail(pairs)))) -> c10(MARK(incr(tail(pairs)))) A__TAIL(cons(z0, incr(tail(odds)))) -> c10(MARK(incr(tail(odds)))) A__TAIL(cons(z0, incr(tail(incr(y0))))) -> c10(MARK(incr(tail(incr(y0))))) A__TAIL(cons(z0, incr(tail(head(y0))))) -> c10(MARK(incr(tail(head(y0))))) A__TAIL(cons(z0, incr(tail(tail(y0))))) -> c10(MARK(incr(tail(tail(y0))))) A__TAIL(cons(z0, incr(tail(s(y0))))) -> c10(MARK(incr(tail(s(y0))))) A__TAIL(cons(z0, incr(tail(cons(y0, y1))))) -> c10(MARK(incr(tail(cons(y0, y1))))) A__TAIL(cons(z0, incr(tail(y0)))) -> c10(MARK(incr(tail(y0)))) A__TAIL(cons(z0, head(incr(odds)))) -> c10(MARK(head(incr(odds)))) A__TAIL(cons(z0, head(incr(incr(y0))))) -> c10(MARK(head(incr(incr(y0))))) A__TAIL(cons(z0, head(incr(head(y0))))) -> c10(MARK(head(incr(head(y0))))) A__TAIL(cons(z0, head(incr(tail(y0))))) -> c10(MARK(head(incr(tail(y0))))) A__TAIL(cons(z0, head(incr(s(y0))))) -> c10(MARK(head(incr(s(y0))))) A__TAIL(cons(z0, head(incr(cons(y0, y1))))) -> c10(MARK(head(incr(cons(y0, y1))))) A__TAIL(cons(z0, head(incr(y0)))) -> c10(MARK(head(incr(y0)))) A__TAIL(cons(z0, head(head(odds)))) -> c10(MARK(head(head(odds)))) A__TAIL(cons(z0, head(head(incr(y0))))) -> c10(MARK(head(head(incr(y0))))) A__TAIL(cons(z0, head(head(head(y0))))) -> c10(MARK(head(head(head(y0))))) A__TAIL(cons(z0, head(head(tail(y0))))) -> c10(MARK(head(head(tail(y0))))) A__TAIL(cons(z0, head(head(s(y0))))) -> c10(MARK(head(head(s(y0))))) A__TAIL(cons(z0, head(head(cons(y0, y1))))) -> c10(MARK(head(head(cons(y0, y1))))) A__TAIL(cons(z0, head(head(y0)))) -> c10(MARK(head(head(y0)))) A__TAIL(cons(z0, head(tail(nats)))) -> c10(MARK(head(tail(nats)))) A__TAIL(cons(z0, head(tail(pairs)))) -> c10(MARK(head(tail(pairs)))) A__TAIL(cons(z0, head(tail(odds)))) -> c10(MARK(head(tail(odds)))) A__TAIL(cons(z0, head(tail(incr(y0))))) -> c10(MARK(head(tail(incr(y0))))) A__TAIL(cons(z0, head(tail(head(y0))))) -> c10(MARK(head(tail(head(y0))))) A__TAIL(cons(z0, head(tail(tail(y0))))) -> c10(MARK(head(tail(tail(y0))))) A__TAIL(cons(z0, head(tail(s(y0))))) -> c10(MARK(head(tail(s(y0))))) A__TAIL(cons(z0, head(tail(cons(y0, y1))))) -> c10(MARK(head(tail(cons(y0, y1))))) A__TAIL(cons(z0, head(tail(y0)))) -> c10(MARK(head(tail(y0)))) A__TAIL(cons(z0, tail(incr(odds)))) -> c10(MARK(tail(incr(odds)))) A__TAIL(cons(z0, tail(incr(incr(y0))))) -> c10(MARK(tail(incr(incr(y0))))) A__TAIL(cons(z0, tail(incr(head(y0))))) -> c10(MARK(tail(incr(head(y0))))) A__TAIL(cons(z0, tail(incr(tail(y0))))) -> c10(MARK(tail(incr(tail(y0))))) A__TAIL(cons(z0, tail(incr(s(y0))))) -> c10(MARK(tail(incr(s(y0))))) A__TAIL(cons(z0, tail(incr(cons(y0, y1))))) -> c10(MARK(tail(incr(cons(y0, y1))))) A__TAIL(cons(z0, tail(incr(y0)))) -> c10(MARK(tail(incr(y0)))) A__TAIL(cons(z0, tail(head(odds)))) -> c10(MARK(tail(head(odds)))) A__TAIL(cons(z0, tail(head(incr(y0))))) -> c10(MARK(tail(head(incr(y0))))) A__TAIL(cons(z0, tail(head(head(y0))))) -> c10(MARK(tail(head(head(y0))))) A__TAIL(cons(z0, tail(head(tail(y0))))) -> c10(MARK(tail(head(tail(y0))))) A__TAIL(cons(z0, tail(head(s(y0))))) -> c10(MARK(tail(head(s(y0))))) A__TAIL(cons(z0, tail(head(cons(y0, y1))))) -> c10(MARK(tail(head(cons(y0, y1))))) A__TAIL(cons(z0, tail(head(y0)))) -> c10(MARK(tail(head(y0)))) A__TAIL(cons(z0, tail(tail(nats)))) -> c10(MARK(tail(tail(nats)))) A__TAIL(cons(z0, tail(tail(pairs)))) -> c10(MARK(tail(tail(pairs)))) A__TAIL(cons(z0, tail(tail(odds)))) -> c10(MARK(tail(tail(odds)))) A__TAIL(cons(z0, tail(tail(incr(y0))))) -> c10(MARK(tail(tail(incr(y0))))) A__TAIL(cons(z0, tail(tail(head(y0))))) -> c10(MARK(tail(tail(head(y0))))) A__TAIL(cons(z0, tail(tail(tail(y0))))) -> c10(MARK(tail(tail(tail(y0))))) A__TAIL(cons(z0, tail(tail(s(y0))))) -> c10(MARK(tail(tail(s(y0))))) A__TAIL(cons(z0, tail(tail(cons(y0, y1))))) -> c10(MARK(tail(tail(cons(y0, y1))))) A__TAIL(cons(z0, tail(tail(y0)))) -> c10(MARK(tail(tail(y0)))) A__TAIL(cons(z0, tail(nats))) -> c10(MARK(tail(nats))) A__TAIL(cons(z0, tail(pairs))) -> c10(MARK(tail(pairs))) A__TAIL(cons(z0, incr(odds))) -> c10(MARK(incr(odds))) A__TAIL(cons(z0, incr(incr(nats)))) -> c10(MARK(incr(incr(nats)))) A__TAIL(cons(z0, incr(incr(pairs)))) -> c10(MARK(incr(incr(pairs)))) A__TAIL(cons(z0, head(odds))) -> c10(MARK(head(odds))) A__TAIL(cons(z0, head(incr(nats)))) -> c10(MARK(head(incr(nats)))) A__TAIL(cons(z0, head(incr(pairs)))) -> c10(MARK(head(incr(pairs)))) A__TAIL(cons(z0, tail(odds))) -> c10(MARK(tail(odds))) A__TAIL(cons(z0, tail(incr(nats)))) -> c10(MARK(tail(incr(nats)))) A__TAIL(cons(z0, tail(incr(pairs)))) -> c10(MARK(tail(incr(pairs)))) A__TAIL(cons(z0, incr(cons(nats, y0)))) -> c10(MARK(incr(cons(nats, y0)))) A__TAIL(cons(z0, incr(cons(pairs, y0)))) -> c10(MARK(incr(cons(pairs, y0)))) A__TAIL(cons(z0, incr(cons(odds, y0)))) -> c10(MARK(incr(cons(odds, y0)))) A__TAIL(cons(z0, incr(cons(incr(y0), y1)))) -> c10(MARK(incr(cons(incr(y0), y1)))) A__TAIL(cons(z0, incr(cons(head(y0), y1)))) -> c10(MARK(incr(cons(head(y0), y1)))) A__TAIL(cons(z0, incr(cons(tail(y0), y1)))) -> c10(MARK(incr(cons(tail(y0), y1)))) A__TAIL(cons(z0, incr(cons(s(y0), y1)))) -> c10(MARK(incr(cons(s(y0), y1)))) A__TAIL(cons(z0, incr(cons(cons(y0, y1), y2)))) -> c10(MARK(incr(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, incr(cons(y0, y1)))) -> c10(MARK(incr(cons(y0, y1)))) A__TAIL(cons(z0, incr(cons(0, y0)))) -> c10(MARK(incr(cons(0, y0)))) A__TAIL(cons(z0, incr(cons(nil, y0)))) -> c10(MARK(incr(cons(nil, y0)))) A__TAIL(cons(z0, incr(head(nats)))) -> c10(MARK(incr(head(nats)))) A__TAIL(cons(z0, incr(head(pairs)))) -> c10(MARK(incr(head(pairs)))) A__TAIL(cons(z0, head(head(nats)))) -> c10(MARK(head(head(nats)))) A__TAIL(cons(z0, head(head(pairs)))) -> c10(MARK(head(head(pairs)))) A__TAIL(cons(z0, tail(head(nats)))) -> c10(MARK(tail(head(nats)))) A__TAIL(cons(z0, tail(head(pairs)))) -> c10(MARK(tail(head(pairs)))) A__TAIL(cons(z0, head(cons(nats, y0)))) -> c10(MARK(head(cons(nats, y0)))) A__TAIL(cons(z0, head(cons(pairs, y0)))) -> c10(MARK(head(cons(pairs, y0)))) A__TAIL(cons(z0, head(cons(odds, y0)))) -> c10(MARK(head(cons(odds, y0)))) A__TAIL(cons(z0, head(cons(incr(y0), y1)))) -> c10(MARK(head(cons(incr(y0), y1)))) A__TAIL(cons(z0, head(cons(head(y0), y1)))) -> c10(MARK(head(cons(head(y0), y1)))) A__TAIL(cons(z0, head(cons(tail(y0), y1)))) -> c10(MARK(head(cons(tail(y0), y1)))) A__TAIL(cons(z0, head(cons(s(y0), y1)))) -> c10(MARK(head(cons(s(y0), y1)))) A__TAIL(cons(z0, head(cons(cons(y0, y1), y2)))) -> c10(MARK(head(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, head(cons(y0, y1)))) -> c10(MARK(head(cons(y0, y1)))) A__TAIL(cons(z0, head(cons(0, y0)))) -> c10(MARK(head(cons(0, y0)))) A__TAIL(cons(z0, head(cons(nil, y0)))) -> c10(MARK(head(cons(nil, y0)))) ---------------------------------------- (232) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) MARK(head(cons(0, x1))) -> c16(MARK(cons(0, x1))) MARK(head(cons(nil, x1))) -> c16(MARK(cons(nil, x1))) A__TAIL(cons(z0, s(y0))) -> c10(MARK(s(y0))) A__TAIL(cons(z0, cons(y0, y1))) -> c10(MARK(cons(y0, y1))) A__TAIL(cons(z0, incr(s(y0)))) -> c10(MARK(incr(s(y0)))) A__TAIL(cons(z0, head(s(y0)))) -> c10(MARK(head(s(y0)))) A__TAIL(cons(z0, tail(cons(y0, y1)))) -> c10(MARK(tail(cons(y0, y1)))) A__TAIL(cons(z0, tail(s(y0)))) -> c10(MARK(tail(s(y0)))) A__TAIL(cons(z0, incr(incr(odds)))) -> c10(MARK(incr(incr(odds)))) A__TAIL(cons(z0, incr(incr(incr(y0))))) -> c10(MARK(incr(incr(incr(y0))))) A__TAIL(cons(z0, incr(incr(head(y0))))) -> c10(MARK(incr(incr(head(y0))))) A__TAIL(cons(z0, incr(incr(tail(y0))))) -> c10(MARK(incr(incr(tail(y0))))) A__TAIL(cons(z0, incr(incr(s(y0))))) -> c10(MARK(incr(incr(s(y0))))) A__TAIL(cons(z0, incr(incr(cons(y0, y1))))) -> c10(MARK(incr(incr(cons(y0, y1))))) A__TAIL(cons(z0, incr(incr(y0)))) -> c10(MARK(incr(incr(y0)))) A__TAIL(cons(z0, incr(head(odds)))) -> c10(MARK(incr(head(odds)))) A__TAIL(cons(z0, incr(head(incr(y0))))) -> c10(MARK(incr(head(incr(y0))))) A__TAIL(cons(z0, incr(head(head(y0))))) -> c10(MARK(incr(head(head(y0))))) A__TAIL(cons(z0, incr(head(tail(y0))))) -> c10(MARK(incr(head(tail(y0))))) A__TAIL(cons(z0, incr(head(s(y0))))) -> c10(MARK(incr(head(s(y0))))) A__TAIL(cons(z0, incr(head(cons(y0, y1))))) -> c10(MARK(incr(head(cons(y0, y1))))) A__TAIL(cons(z0, incr(head(y0)))) -> c10(MARK(incr(head(y0)))) A__TAIL(cons(z0, incr(tail(nats)))) -> c10(MARK(incr(tail(nats)))) A__TAIL(cons(z0, incr(tail(pairs)))) -> c10(MARK(incr(tail(pairs)))) A__TAIL(cons(z0, incr(tail(odds)))) -> c10(MARK(incr(tail(odds)))) A__TAIL(cons(z0, incr(tail(incr(y0))))) -> c10(MARK(incr(tail(incr(y0))))) A__TAIL(cons(z0, incr(tail(head(y0))))) -> c10(MARK(incr(tail(head(y0))))) A__TAIL(cons(z0, incr(tail(tail(y0))))) -> c10(MARK(incr(tail(tail(y0))))) A__TAIL(cons(z0, incr(tail(s(y0))))) -> c10(MARK(incr(tail(s(y0))))) A__TAIL(cons(z0, incr(tail(cons(y0, y1))))) -> c10(MARK(incr(tail(cons(y0, y1))))) A__TAIL(cons(z0, incr(tail(y0)))) -> c10(MARK(incr(tail(y0)))) A__TAIL(cons(z0, head(incr(odds)))) -> c10(MARK(head(incr(odds)))) A__TAIL(cons(z0, head(incr(incr(y0))))) -> c10(MARK(head(incr(incr(y0))))) A__TAIL(cons(z0, head(incr(head(y0))))) -> c10(MARK(head(incr(head(y0))))) A__TAIL(cons(z0, head(incr(tail(y0))))) -> c10(MARK(head(incr(tail(y0))))) A__TAIL(cons(z0, head(incr(s(y0))))) -> c10(MARK(head(incr(s(y0))))) A__TAIL(cons(z0, head(incr(cons(y0, y1))))) -> c10(MARK(head(incr(cons(y0, y1))))) A__TAIL(cons(z0, head(incr(y0)))) -> c10(MARK(head(incr(y0)))) A__TAIL(cons(z0, head(head(odds)))) -> c10(MARK(head(head(odds)))) A__TAIL(cons(z0, head(head(incr(y0))))) -> c10(MARK(head(head(incr(y0))))) A__TAIL(cons(z0, head(head(head(y0))))) -> c10(MARK(head(head(head(y0))))) A__TAIL(cons(z0, head(head(tail(y0))))) -> c10(MARK(head(head(tail(y0))))) A__TAIL(cons(z0, head(head(s(y0))))) -> c10(MARK(head(head(s(y0))))) A__TAIL(cons(z0, head(head(cons(y0, y1))))) -> c10(MARK(head(head(cons(y0, y1))))) A__TAIL(cons(z0, head(head(y0)))) -> c10(MARK(head(head(y0)))) A__TAIL(cons(z0, head(tail(nats)))) -> c10(MARK(head(tail(nats)))) A__TAIL(cons(z0, head(tail(pairs)))) -> c10(MARK(head(tail(pairs)))) A__TAIL(cons(z0, head(tail(odds)))) -> c10(MARK(head(tail(odds)))) A__TAIL(cons(z0, head(tail(incr(y0))))) -> c10(MARK(head(tail(incr(y0))))) A__TAIL(cons(z0, head(tail(head(y0))))) -> c10(MARK(head(tail(head(y0))))) A__TAIL(cons(z0, head(tail(tail(y0))))) -> c10(MARK(head(tail(tail(y0))))) A__TAIL(cons(z0, head(tail(s(y0))))) -> c10(MARK(head(tail(s(y0))))) A__TAIL(cons(z0, head(tail(cons(y0, y1))))) -> c10(MARK(head(tail(cons(y0, y1))))) A__TAIL(cons(z0, head(tail(y0)))) -> c10(MARK(head(tail(y0)))) A__TAIL(cons(z0, tail(incr(odds)))) -> c10(MARK(tail(incr(odds)))) A__TAIL(cons(z0, tail(incr(incr(y0))))) -> c10(MARK(tail(incr(incr(y0))))) A__TAIL(cons(z0, tail(incr(head(y0))))) -> c10(MARK(tail(incr(head(y0))))) A__TAIL(cons(z0, tail(incr(tail(y0))))) -> c10(MARK(tail(incr(tail(y0))))) A__TAIL(cons(z0, tail(incr(s(y0))))) -> c10(MARK(tail(incr(s(y0))))) A__TAIL(cons(z0, tail(incr(cons(y0, y1))))) -> c10(MARK(tail(incr(cons(y0, y1))))) A__TAIL(cons(z0, tail(incr(y0)))) -> c10(MARK(tail(incr(y0)))) A__TAIL(cons(z0, tail(head(odds)))) -> c10(MARK(tail(head(odds)))) A__TAIL(cons(z0, tail(head(incr(y0))))) -> c10(MARK(tail(head(incr(y0))))) A__TAIL(cons(z0, tail(head(head(y0))))) -> c10(MARK(tail(head(head(y0))))) A__TAIL(cons(z0, tail(head(tail(y0))))) -> c10(MARK(tail(head(tail(y0))))) A__TAIL(cons(z0, tail(head(s(y0))))) -> c10(MARK(tail(head(s(y0))))) A__TAIL(cons(z0, tail(head(cons(y0, y1))))) -> c10(MARK(tail(head(cons(y0, y1))))) A__TAIL(cons(z0, tail(head(y0)))) -> c10(MARK(tail(head(y0)))) A__TAIL(cons(z0, tail(tail(nats)))) -> c10(MARK(tail(tail(nats)))) A__TAIL(cons(z0, tail(tail(pairs)))) -> c10(MARK(tail(tail(pairs)))) A__TAIL(cons(z0, tail(tail(odds)))) -> c10(MARK(tail(tail(odds)))) A__TAIL(cons(z0, tail(tail(incr(y0))))) -> c10(MARK(tail(tail(incr(y0))))) A__TAIL(cons(z0, tail(tail(head(y0))))) -> c10(MARK(tail(tail(head(y0))))) A__TAIL(cons(z0, tail(tail(tail(y0))))) -> c10(MARK(tail(tail(tail(y0))))) A__TAIL(cons(z0, tail(tail(s(y0))))) -> c10(MARK(tail(tail(s(y0))))) A__TAIL(cons(z0, tail(tail(cons(y0, y1))))) -> c10(MARK(tail(tail(cons(y0, y1))))) A__TAIL(cons(z0, tail(tail(y0)))) -> c10(MARK(tail(tail(y0)))) A__TAIL(cons(z0, tail(nats))) -> c10(MARK(tail(nats))) A__TAIL(cons(z0, tail(pairs))) -> c10(MARK(tail(pairs))) A__TAIL(cons(z0, incr(odds))) -> c10(MARK(incr(odds))) A__TAIL(cons(z0, incr(incr(nats)))) -> c10(MARK(incr(incr(nats)))) A__TAIL(cons(z0, incr(incr(pairs)))) -> c10(MARK(incr(incr(pairs)))) A__TAIL(cons(z0, head(odds))) -> c10(MARK(head(odds))) A__TAIL(cons(z0, head(incr(nats)))) -> c10(MARK(head(incr(nats)))) A__TAIL(cons(z0, head(incr(pairs)))) -> c10(MARK(head(incr(pairs)))) A__TAIL(cons(z0, tail(odds))) -> c10(MARK(tail(odds))) A__TAIL(cons(z0, tail(incr(nats)))) -> c10(MARK(tail(incr(nats)))) A__TAIL(cons(z0, tail(incr(pairs)))) -> c10(MARK(tail(incr(pairs)))) A__TAIL(cons(z0, incr(cons(nats, y0)))) -> c10(MARK(incr(cons(nats, y0)))) A__TAIL(cons(z0, incr(cons(pairs, y0)))) -> c10(MARK(incr(cons(pairs, y0)))) A__TAIL(cons(z0, incr(cons(odds, y0)))) -> c10(MARK(incr(cons(odds, y0)))) A__TAIL(cons(z0, incr(cons(incr(y0), y1)))) -> c10(MARK(incr(cons(incr(y0), y1)))) A__TAIL(cons(z0, incr(cons(head(y0), y1)))) -> c10(MARK(incr(cons(head(y0), y1)))) A__TAIL(cons(z0, incr(cons(tail(y0), y1)))) -> c10(MARK(incr(cons(tail(y0), y1)))) A__TAIL(cons(z0, incr(cons(s(y0), y1)))) -> c10(MARK(incr(cons(s(y0), y1)))) A__TAIL(cons(z0, incr(cons(cons(y0, y1), y2)))) -> c10(MARK(incr(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, incr(cons(y0, y1)))) -> c10(MARK(incr(cons(y0, y1)))) A__TAIL(cons(z0, incr(cons(0, y0)))) -> c10(MARK(incr(cons(0, y0)))) A__TAIL(cons(z0, incr(cons(nil, y0)))) -> c10(MARK(incr(cons(nil, y0)))) A__TAIL(cons(z0, incr(head(nats)))) -> c10(MARK(incr(head(nats)))) A__TAIL(cons(z0, incr(head(pairs)))) -> c10(MARK(incr(head(pairs)))) A__TAIL(cons(z0, head(head(nats)))) -> c10(MARK(head(head(nats)))) A__TAIL(cons(z0, head(head(pairs)))) -> c10(MARK(head(head(pairs)))) A__TAIL(cons(z0, tail(head(nats)))) -> c10(MARK(tail(head(nats)))) A__TAIL(cons(z0, tail(head(pairs)))) -> c10(MARK(tail(head(pairs)))) A__TAIL(cons(z0, head(cons(nats, y0)))) -> c10(MARK(head(cons(nats, y0)))) A__TAIL(cons(z0, head(cons(pairs, y0)))) -> c10(MARK(head(cons(pairs, y0)))) A__TAIL(cons(z0, head(cons(odds, y0)))) -> c10(MARK(head(cons(odds, y0)))) A__TAIL(cons(z0, head(cons(incr(y0), y1)))) -> c10(MARK(head(cons(incr(y0), y1)))) A__TAIL(cons(z0, head(cons(head(y0), y1)))) -> c10(MARK(head(cons(head(y0), y1)))) A__TAIL(cons(z0, head(cons(tail(y0), y1)))) -> c10(MARK(head(cons(tail(y0), y1)))) A__TAIL(cons(z0, head(cons(s(y0), y1)))) -> c10(MARK(head(cons(s(y0), y1)))) A__TAIL(cons(z0, head(cons(cons(y0, y1), y2)))) -> c10(MARK(head(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, head(cons(y0, y1)))) -> c10(MARK(head(cons(y0, y1)))) A__TAIL(cons(z0, head(cons(0, y0)))) -> c10(MARK(head(cons(0, y0)))) A__TAIL(cons(z0, head(cons(nil, y0)))) -> c10(MARK(head(cons(nil, y0)))) S tuples: MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) MARK(head(cons(0, x1))) -> c16(MARK(cons(0, x1))) MARK(head(cons(nil, x1))) -> c16(MARK(cons(nil, x1))) A__TAIL(cons(z0, s(y0))) -> c10(MARK(s(y0))) A__TAIL(cons(z0, cons(y0, y1))) -> c10(MARK(cons(y0, y1))) A__TAIL(cons(z0, incr(s(y0)))) -> c10(MARK(incr(s(y0)))) A__TAIL(cons(z0, head(s(y0)))) -> c10(MARK(head(s(y0)))) A__TAIL(cons(z0, tail(cons(y0, y1)))) -> c10(MARK(tail(cons(y0, y1)))) A__TAIL(cons(z0, tail(s(y0)))) -> c10(MARK(tail(s(y0)))) A__TAIL(cons(z0, incr(incr(odds)))) -> c10(MARK(incr(incr(odds)))) A__TAIL(cons(z0, incr(incr(incr(y0))))) -> c10(MARK(incr(incr(incr(y0))))) A__TAIL(cons(z0, incr(incr(head(y0))))) -> c10(MARK(incr(incr(head(y0))))) A__TAIL(cons(z0, incr(incr(tail(y0))))) -> c10(MARK(incr(incr(tail(y0))))) A__TAIL(cons(z0, incr(incr(s(y0))))) -> c10(MARK(incr(incr(s(y0))))) A__TAIL(cons(z0, incr(incr(cons(y0, y1))))) -> c10(MARK(incr(incr(cons(y0, y1))))) A__TAIL(cons(z0, incr(incr(y0)))) -> c10(MARK(incr(incr(y0)))) A__TAIL(cons(z0, incr(head(odds)))) -> c10(MARK(incr(head(odds)))) A__TAIL(cons(z0, incr(head(incr(y0))))) -> c10(MARK(incr(head(incr(y0))))) A__TAIL(cons(z0, incr(head(head(y0))))) -> c10(MARK(incr(head(head(y0))))) A__TAIL(cons(z0, incr(head(tail(y0))))) -> c10(MARK(incr(head(tail(y0))))) A__TAIL(cons(z0, incr(head(s(y0))))) -> c10(MARK(incr(head(s(y0))))) A__TAIL(cons(z0, incr(head(cons(y0, y1))))) -> c10(MARK(incr(head(cons(y0, y1))))) A__TAIL(cons(z0, incr(head(y0)))) -> c10(MARK(incr(head(y0)))) A__TAIL(cons(z0, incr(tail(nats)))) -> c10(MARK(incr(tail(nats)))) A__TAIL(cons(z0, incr(tail(pairs)))) -> c10(MARK(incr(tail(pairs)))) A__TAIL(cons(z0, incr(tail(odds)))) -> c10(MARK(incr(tail(odds)))) A__TAIL(cons(z0, incr(tail(incr(y0))))) -> c10(MARK(incr(tail(incr(y0))))) A__TAIL(cons(z0, incr(tail(head(y0))))) -> c10(MARK(incr(tail(head(y0))))) A__TAIL(cons(z0, incr(tail(tail(y0))))) -> c10(MARK(incr(tail(tail(y0))))) A__TAIL(cons(z0, incr(tail(s(y0))))) -> c10(MARK(incr(tail(s(y0))))) A__TAIL(cons(z0, incr(tail(cons(y0, y1))))) -> c10(MARK(incr(tail(cons(y0, y1))))) A__TAIL(cons(z0, incr(tail(y0)))) -> c10(MARK(incr(tail(y0)))) A__TAIL(cons(z0, head(incr(odds)))) -> c10(MARK(head(incr(odds)))) A__TAIL(cons(z0, head(incr(incr(y0))))) -> c10(MARK(head(incr(incr(y0))))) A__TAIL(cons(z0, head(incr(head(y0))))) -> c10(MARK(head(incr(head(y0))))) A__TAIL(cons(z0, head(incr(tail(y0))))) -> c10(MARK(head(incr(tail(y0))))) A__TAIL(cons(z0, head(incr(s(y0))))) -> c10(MARK(head(incr(s(y0))))) A__TAIL(cons(z0, head(incr(cons(y0, y1))))) -> c10(MARK(head(incr(cons(y0, y1))))) A__TAIL(cons(z0, head(incr(y0)))) -> c10(MARK(head(incr(y0)))) A__TAIL(cons(z0, head(head(odds)))) -> c10(MARK(head(head(odds)))) A__TAIL(cons(z0, head(head(incr(y0))))) -> c10(MARK(head(head(incr(y0))))) A__TAIL(cons(z0, head(head(head(y0))))) -> c10(MARK(head(head(head(y0))))) A__TAIL(cons(z0, head(head(tail(y0))))) -> c10(MARK(head(head(tail(y0))))) A__TAIL(cons(z0, head(head(s(y0))))) -> c10(MARK(head(head(s(y0))))) A__TAIL(cons(z0, head(head(cons(y0, y1))))) -> c10(MARK(head(head(cons(y0, y1))))) A__TAIL(cons(z0, head(head(y0)))) -> c10(MARK(head(head(y0)))) A__TAIL(cons(z0, head(tail(nats)))) -> c10(MARK(head(tail(nats)))) A__TAIL(cons(z0, head(tail(pairs)))) -> c10(MARK(head(tail(pairs)))) A__TAIL(cons(z0, head(tail(odds)))) -> c10(MARK(head(tail(odds)))) A__TAIL(cons(z0, head(tail(incr(y0))))) -> c10(MARK(head(tail(incr(y0))))) A__TAIL(cons(z0, head(tail(head(y0))))) -> c10(MARK(head(tail(head(y0))))) A__TAIL(cons(z0, head(tail(tail(y0))))) -> c10(MARK(head(tail(tail(y0))))) A__TAIL(cons(z0, head(tail(s(y0))))) -> c10(MARK(head(tail(s(y0))))) A__TAIL(cons(z0, head(tail(cons(y0, y1))))) -> c10(MARK(head(tail(cons(y0, y1))))) A__TAIL(cons(z0, head(tail(y0)))) -> c10(MARK(head(tail(y0)))) A__TAIL(cons(z0, tail(incr(odds)))) -> c10(MARK(tail(incr(odds)))) A__TAIL(cons(z0, tail(incr(incr(y0))))) -> c10(MARK(tail(incr(incr(y0))))) A__TAIL(cons(z0, tail(incr(head(y0))))) -> c10(MARK(tail(incr(head(y0))))) A__TAIL(cons(z0, tail(incr(tail(y0))))) -> c10(MARK(tail(incr(tail(y0))))) A__TAIL(cons(z0, tail(incr(s(y0))))) -> c10(MARK(tail(incr(s(y0))))) A__TAIL(cons(z0, tail(incr(cons(y0, y1))))) -> c10(MARK(tail(incr(cons(y0, y1))))) A__TAIL(cons(z0, tail(incr(y0)))) -> c10(MARK(tail(incr(y0)))) A__TAIL(cons(z0, tail(head(odds)))) -> c10(MARK(tail(head(odds)))) A__TAIL(cons(z0, tail(head(incr(y0))))) -> c10(MARK(tail(head(incr(y0))))) A__TAIL(cons(z0, tail(head(head(y0))))) -> c10(MARK(tail(head(head(y0))))) A__TAIL(cons(z0, tail(head(tail(y0))))) -> c10(MARK(tail(head(tail(y0))))) A__TAIL(cons(z0, tail(head(s(y0))))) -> c10(MARK(tail(head(s(y0))))) A__TAIL(cons(z0, tail(head(cons(y0, y1))))) -> c10(MARK(tail(head(cons(y0, y1))))) A__TAIL(cons(z0, tail(head(y0)))) -> c10(MARK(tail(head(y0)))) A__TAIL(cons(z0, tail(tail(nats)))) -> c10(MARK(tail(tail(nats)))) A__TAIL(cons(z0, tail(tail(pairs)))) -> c10(MARK(tail(tail(pairs)))) A__TAIL(cons(z0, tail(tail(odds)))) -> c10(MARK(tail(tail(odds)))) A__TAIL(cons(z0, tail(tail(incr(y0))))) -> c10(MARK(tail(tail(incr(y0))))) A__TAIL(cons(z0, tail(tail(head(y0))))) -> c10(MARK(tail(tail(head(y0))))) A__TAIL(cons(z0, tail(tail(tail(y0))))) -> c10(MARK(tail(tail(tail(y0))))) A__TAIL(cons(z0, tail(tail(s(y0))))) -> c10(MARK(tail(tail(s(y0))))) A__TAIL(cons(z0, tail(tail(cons(y0, y1))))) -> c10(MARK(tail(tail(cons(y0, y1))))) A__TAIL(cons(z0, tail(tail(y0)))) -> c10(MARK(tail(tail(y0)))) A__TAIL(cons(z0, tail(nats))) -> c10(MARK(tail(nats))) A__TAIL(cons(z0, tail(pairs))) -> c10(MARK(tail(pairs))) A__TAIL(cons(z0, incr(odds))) -> c10(MARK(incr(odds))) A__TAIL(cons(z0, incr(incr(nats)))) -> c10(MARK(incr(incr(nats)))) A__TAIL(cons(z0, incr(incr(pairs)))) -> c10(MARK(incr(incr(pairs)))) A__TAIL(cons(z0, head(odds))) -> c10(MARK(head(odds))) A__TAIL(cons(z0, head(incr(nats)))) -> c10(MARK(head(incr(nats)))) A__TAIL(cons(z0, head(incr(pairs)))) -> c10(MARK(head(incr(pairs)))) A__TAIL(cons(z0, tail(odds))) -> c10(MARK(tail(odds))) A__TAIL(cons(z0, tail(incr(nats)))) -> c10(MARK(tail(incr(nats)))) A__TAIL(cons(z0, tail(incr(pairs)))) -> c10(MARK(tail(incr(pairs)))) A__TAIL(cons(z0, incr(cons(nats, y0)))) -> c10(MARK(incr(cons(nats, y0)))) A__TAIL(cons(z0, incr(cons(pairs, y0)))) -> c10(MARK(incr(cons(pairs, y0)))) A__TAIL(cons(z0, incr(cons(odds, y0)))) -> c10(MARK(incr(cons(odds, y0)))) A__TAIL(cons(z0, incr(cons(incr(y0), y1)))) -> c10(MARK(incr(cons(incr(y0), y1)))) A__TAIL(cons(z0, incr(cons(head(y0), y1)))) -> c10(MARK(incr(cons(head(y0), y1)))) A__TAIL(cons(z0, incr(cons(tail(y0), y1)))) -> c10(MARK(incr(cons(tail(y0), y1)))) A__TAIL(cons(z0, incr(cons(s(y0), y1)))) -> c10(MARK(incr(cons(s(y0), y1)))) A__TAIL(cons(z0, incr(cons(cons(y0, y1), y2)))) -> c10(MARK(incr(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, incr(cons(y0, y1)))) -> c10(MARK(incr(cons(y0, y1)))) A__TAIL(cons(z0, incr(cons(0, y0)))) -> c10(MARK(incr(cons(0, y0)))) A__TAIL(cons(z0, incr(cons(nil, y0)))) -> c10(MARK(incr(cons(nil, y0)))) A__TAIL(cons(z0, incr(head(nats)))) -> c10(MARK(incr(head(nats)))) A__TAIL(cons(z0, incr(head(pairs)))) -> c10(MARK(incr(head(pairs)))) A__TAIL(cons(z0, head(head(nats)))) -> c10(MARK(head(head(nats)))) A__TAIL(cons(z0, head(head(pairs)))) -> c10(MARK(head(head(pairs)))) A__TAIL(cons(z0, tail(head(nats)))) -> c10(MARK(tail(head(nats)))) A__TAIL(cons(z0, tail(head(pairs)))) -> c10(MARK(tail(head(pairs)))) A__TAIL(cons(z0, head(cons(nats, y0)))) -> c10(MARK(head(cons(nats, y0)))) A__TAIL(cons(z0, head(cons(pairs, y0)))) -> c10(MARK(head(cons(pairs, y0)))) A__TAIL(cons(z0, head(cons(odds, y0)))) -> c10(MARK(head(cons(odds, y0)))) A__TAIL(cons(z0, head(cons(incr(y0), y1)))) -> c10(MARK(head(cons(incr(y0), y1)))) A__TAIL(cons(z0, head(cons(head(y0), y1)))) -> c10(MARK(head(cons(head(y0), y1)))) A__TAIL(cons(z0, head(cons(tail(y0), y1)))) -> c10(MARK(head(cons(tail(y0), y1)))) A__TAIL(cons(z0, head(cons(s(y0), y1)))) -> c10(MARK(head(cons(s(y0), y1)))) A__TAIL(cons(z0, head(cons(cons(y0, y1), y2)))) -> c10(MARK(head(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, head(cons(y0, y1)))) -> c10(MARK(head(cons(y0, y1)))) A__TAIL(cons(z0, head(cons(0, y0)))) -> c10(MARK(head(cons(0, y0)))) A__TAIL(cons(z0, head(cons(nil, y0)))) -> c10(MARK(head(cons(nil, y0)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: MARK_1, A__INCR_1, A__HEAD_1, A__TAIL_1 Compound Symbols: c19_1, c21_1, c15_1, c16_1, c17_2, c17_1, c15_2, c16_2, c6_1, c8_1, c10_1 ---------------------------------------- (233) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: MARK(tail(nats)) -> c17(A__TAIL(cons(0, incr(nats)))) A__TAIL(cons(z0, tail(nats))) -> c10(MARK(tail(nats))) A__HEAD(cons(tail(nats), z1)) -> c8(MARK(tail(nats))) A__INCR(cons(tail(nats), z1)) -> c6(MARK(tail(nats))) ---------------------------------------- (234) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) MARK(head(cons(0, x1))) -> c16(MARK(cons(0, x1))) MARK(head(cons(nil, x1))) -> c16(MARK(cons(nil, x1))) A__TAIL(cons(z0, s(y0))) -> c10(MARK(s(y0))) A__TAIL(cons(z0, cons(y0, y1))) -> c10(MARK(cons(y0, y1))) A__TAIL(cons(z0, incr(s(y0)))) -> c10(MARK(incr(s(y0)))) A__TAIL(cons(z0, head(s(y0)))) -> c10(MARK(head(s(y0)))) A__TAIL(cons(z0, tail(cons(y0, y1)))) -> c10(MARK(tail(cons(y0, y1)))) A__TAIL(cons(z0, tail(s(y0)))) -> c10(MARK(tail(s(y0)))) A__TAIL(cons(z0, incr(incr(odds)))) -> c10(MARK(incr(incr(odds)))) A__TAIL(cons(z0, incr(incr(incr(y0))))) -> c10(MARK(incr(incr(incr(y0))))) A__TAIL(cons(z0, incr(incr(head(y0))))) -> c10(MARK(incr(incr(head(y0))))) A__TAIL(cons(z0, incr(incr(tail(y0))))) -> c10(MARK(incr(incr(tail(y0))))) A__TAIL(cons(z0, incr(incr(s(y0))))) -> c10(MARK(incr(incr(s(y0))))) A__TAIL(cons(z0, incr(incr(cons(y0, y1))))) -> c10(MARK(incr(incr(cons(y0, y1))))) A__TAIL(cons(z0, incr(incr(y0)))) -> c10(MARK(incr(incr(y0)))) A__TAIL(cons(z0, incr(head(odds)))) -> c10(MARK(incr(head(odds)))) A__TAIL(cons(z0, incr(head(incr(y0))))) -> c10(MARK(incr(head(incr(y0))))) A__TAIL(cons(z0, incr(head(head(y0))))) -> c10(MARK(incr(head(head(y0))))) A__TAIL(cons(z0, incr(head(tail(y0))))) -> c10(MARK(incr(head(tail(y0))))) A__TAIL(cons(z0, incr(head(s(y0))))) -> c10(MARK(incr(head(s(y0))))) A__TAIL(cons(z0, incr(head(cons(y0, y1))))) -> c10(MARK(incr(head(cons(y0, y1))))) A__TAIL(cons(z0, incr(head(y0)))) -> c10(MARK(incr(head(y0)))) A__TAIL(cons(z0, incr(tail(nats)))) -> c10(MARK(incr(tail(nats)))) A__TAIL(cons(z0, incr(tail(pairs)))) -> c10(MARK(incr(tail(pairs)))) A__TAIL(cons(z0, incr(tail(odds)))) -> c10(MARK(incr(tail(odds)))) A__TAIL(cons(z0, incr(tail(incr(y0))))) -> c10(MARK(incr(tail(incr(y0))))) A__TAIL(cons(z0, incr(tail(head(y0))))) -> c10(MARK(incr(tail(head(y0))))) A__TAIL(cons(z0, incr(tail(tail(y0))))) -> c10(MARK(incr(tail(tail(y0))))) A__TAIL(cons(z0, incr(tail(s(y0))))) -> c10(MARK(incr(tail(s(y0))))) A__TAIL(cons(z0, incr(tail(cons(y0, y1))))) -> c10(MARK(incr(tail(cons(y0, y1))))) A__TAIL(cons(z0, incr(tail(y0)))) -> c10(MARK(incr(tail(y0)))) A__TAIL(cons(z0, head(incr(odds)))) -> c10(MARK(head(incr(odds)))) A__TAIL(cons(z0, head(incr(incr(y0))))) -> c10(MARK(head(incr(incr(y0))))) A__TAIL(cons(z0, head(incr(head(y0))))) -> c10(MARK(head(incr(head(y0))))) A__TAIL(cons(z0, head(incr(tail(y0))))) -> c10(MARK(head(incr(tail(y0))))) A__TAIL(cons(z0, head(incr(s(y0))))) -> c10(MARK(head(incr(s(y0))))) A__TAIL(cons(z0, head(incr(cons(y0, y1))))) -> c10(MARK(head(incr(cons(y0, y1))))) A__TAIL(cons(z0, head(incr(y0)))) -> c10(MARK(head(incr(y0)))) A__TAIL(cons(z0, head(head(odds)))) -> c10(MARK(head(head(odds)))) A__TAIL(cons(z0, head(head(incr(y0))))) -> c10(MARK(head(head(incr(y0))))) A__TAIL(cons(z0, head(head(head(y0))))) -> c10(MARK(head(head(head(y0))))) A__TAIL(cons(z0, head(head(tail(y0))))) -> c10(MARK(head(head(tail(y0))))) A__TAIL(cons(z0, head(head(s(y0))))) -> c10(MARK(head(head(s(y0))))) A__TAIL(cons(z0, head(head(cons(y0, y1))))) -> c10(MARK(head(head(cons(y0, y1))))) A__TAIL(cons(z0, head(head(y0)))) -> c10(MARK(head(head(y0)))) A__TAIL(cons(z0, head(tail(nats)))) -> c10(MARK(head(tail(nats)))) A__TAIL(cons(z0, head(tail(pairs)))) -> c10(MARK(head(tail(pairs)))) A__TAIL(cons(z0, head(tail(odds)))) -> c10(MARK(head(tail(odds)))) A__TAIL(cons(z0, head(tail(incr(y0))))) -> c10(MARK(head(tail(incr(y0))))) A__TAIL(cons(z0, head(tail(head(y0))))) -> c10(MARK(head(tail(head(y0))))) A__TAIL(cons(z0, head(tail(tail(y0))))) -> c10(MARK(head(tail(tail(y0))))) A__TAIL(cons(z0, head(tail(s(y0))))) -> c10(MARK(head(tail(s(y0))))) A__TAIL(cons(z0, head(tail(cons(y0, y1))))) -> c10(MARK(head(tail(cons(y0, y1))))) A__TAIL(cons(z0, head(tail(y0)))) -> c10(MARK(head(tail(y0)))) A__TAIL(cons(z0, tail(incr(odds)))) -> c10(MARK(tail(incr(odds)))) A__TAIL(cons(z0, tail(incr(incr(y0))))) -> c10(MARK(tail(incr(incr(y0))))) A__TAIL(cons(z0, tail(incr(head(y0))))) -> c10(MARK(tail(incr(head(y0))))) A__TAIL(cons(z0, tail(incr(tail(y0))))) -> c10(MARK(tail(incr(tail(y0))))) A__TAIL(cons(z0, tail(incr(s(y0))))) -> c10(MARK(tail(incr(s(y0))))) A__TAIL(cons(z0, tail(incr(cons(y0, y1))))) -> c10(MARK(tail(incr(cons(y0, y1))))) A__TAIL(cons(z0, tail(incr(y0)))) -> c10(MARK(tail(incr(y0)))) A__TAIL(cons(z0, tail(head(odds)))) -> c10(MARK(tail(head(odds)))) A__TAIL(cons(z0, tail(head(incr(y0))))) -> c10(MARK(tail(head(incr(y0))))) A__TAIL(cons(z0, tail(head(head(y0))))) -> c10(MARK(tail(head(head(y0))))) A__TAIL(cons(z0, tail(head(tail(y0))))) -> c10(MARK(tail(head(tail(y0))))) A__TAIL(cons(z0, tail(head(s(y0))))) -> c10(MARK(tail(head(s(y0))))) A__TAIL(cons(z0, tail(head(cons(y0, y1))))) -> c10(MARK(tail(head(cons(y0, y1))))) A__TAIL(cons(z0, tail(head(y0)))) -> c10(MARK(tail(head(y0)))) A__TAIL(cons(z0, tail(tail(nats)))) -> c10(MARK(tail(tail(nats)))) A__TAIL(cons(z0, tail(tail(pairs)))) -> c10(MARK(tail(tail(pairs)))) A__TAIL(cons(z0, tail(tail(odds)))) -> c10(MARK(tail(tail(odds)))) A__TAIL(cons(z0, tail(tail(incr(y0))))) -> c10(MARK(tail(tail(incr(y0))))) A__TAIL(cons(z0, tail(tail(head(y0))))) -> c10(MARK(tail(tail(head(y0))))) A__TAIL(cons(z0, tail(tail(tail(y0))))) -> c10(MARK(tail(tail(tail(y0))))) A__TAIL(cons(z0, tail(tail(s(y0))))) -> c10(MARK(tail(tail(s(y0))))) A__TAIL(cons(z0, tail(tail(cons(y0, y1))))) -> c10(MARK(tail(tail(cons(y0, y1))))) A__TAIL(cons(z0, tail(tail(y0)))) -> c10(MARK(tail(tail(y0)))) A__TAIL(cons(z0, tail(pairs))) -> c10(MARK(tail(pairs))) A__TAIL(cons(z0, incr(odds))) -> c10(MARK(incr(odds))) A__TAIL(cons(z0, incr(incr(nats)))) -> c10(MARK(incr(incr(nats)))) A__TAIL(cons(z0, incr(incr(pairs)))) -> c10(MARK(incr(incr(pairs)))) A__TAIL(cons(z0, head(odds))) -> c10(MARK(head(odds))) A__TAIL(cons(z0, head(incr(nats)))) -> c10(MARK(head(incr(nats)))) A__TAIL(cons(z0, head(incr(pairs)))) -> c10(MARK(head(incr(pairs)))) A__TAIL(cons(z0, tail(odds))) -> c10(MARK(tail(odds))) A__TAIL(cons(z0, tail(incr(nats)))) -> c10(MARK(tail(incr(nats)))) A__TAIL(cons(z0, tail(incr(pairs)))) -> c10(MARK(tail(incr(pairs)))) A__TAIL(cons(z0, incr(cons(nats, y0)))) -> c10(MARK(incr(cons(nats, y0)))) A__TAIL(cons(z0, incr(cons(pairs, y0)))) -> c10(MARK(incr(cons(pairs, y0)))) A__TAIL(cons(z0, incr(cons(odds, y0)))) -> c10(MARK(incr(cons(odds, y0)))) A__TAIL(cons(z0, incr(cons(incr(y0), y1)))) -> c10(MARK(incr(cons(incr(y0), y1)))) A__TAIL(cons(z0, incr(cons(head(y0), y1)))) -> c10(MARK(incr(cons(head(y0), y1)))) A__TAIL(cons(z0, incr(cons(tail(y0), y1)))) -> c10(MARK(incr(cons(tail(y0), y1)))) A__TAIL(cons(z0, incr(cons(s(y0), y1)))) -> c10(MARK(incr(cons(s(y0), y1)))) A__TAIL(cons(z0, incr(cons(cons(y0, y1), y2)))) -> c10(MARK(incr(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, incr(cons(y0, y1)))) -> c10(MARK(incr(cons(y0, y1)))) A__TAIL(cons(z0, incr(cons(0, y0)))) -> c10(MARK(incr(cons(0, y0)))) A__TAIL(cons(z0, incr(cons(nil, y0)))) -> c10(MARK(incr(cons(nil, y0)))) A__TAIL(cons(z0, incr(head(nats)))) -> c10(MARK(incr(head(nats)))) A__TAIL(cons(z0, incr(head(pairs)))) -> c10(MARK(incr(head(pairs)))) A__TAIL(cons(z0, head(head(nats)))) -> c10(MARK(head(head(nats)))) A__TAIL(cons(z0, head(head(pairs)))) -> c10(MARK(head(head(pairs)))) A__TAIL(cons(z0, tail(head(nats)))) -> c10(MARK(tail(head(nats)))) A__TAIL(cons(z0, tail(head(pairs)))) -> c10(MARK(tail(head(pairs)))) A__TAIL(cons(z0, head(cons(nats, y0)))) -> c10(MARK(head(cons(nats, y0)))) A__TAIL(cons(z0, head(cons(pairs, y0)))) -> c10(MARK(head(cons(pairs, y0)))) A__TAIL(cons(z0, head(cons(odds, y0)))) -> c10(MARK(head(cons(odds, y0)))) A__TAIL(cons(z0, head(cons(incr(y0), y1)))) -> c10(MARK(head(cons(incr(y0), y1)))) A__TAIL(cons(z0, head(cons(head(y0), y1)))) -> c10(MARK(head(cons(head(y0), y1)))) A__TAIL(cons(z0, head(cons(tail(y0), y1)))) -> c10(MARK(head(cons(tail(y0), y1)))) A__TAIL(cons(z0, head(cons(s(y0), y1)))) -> c10(MARK(head(cons(s(y0), y1)))) A__TAIL(cons(z0, head(cons(cons(y0, y1), y2)))) -> c10(MARK(head(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, head(cons(y0, y1)))) -> c10(MARK(head(cons(y0, y1)))) A__TAIL(cons(z0, head(cons(0, y0)))) -> c10(MARK(head(cons(0, y0)))) A__TAIL(cons(z0, head(cons(nil, y0)))) -> c10(MARK(head(cons(nil, y0)))) S tuples: MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats)), MARK(tail(nats))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats)), MARK(tail(nats))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats)), MARK(tail(nats))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) MARK(head(cons(0, x1))) -> c16(MARK(cons(0, x1))) MARK(head(cons(nil, x1))) -> c16(MARK(cons(nil, x1))) A__TAIL(cons(z0, s(y0))) -> c10(MARK(s(y0))) A__TAIL(cons(z0, cons(y0, y1))) -> c10(MARK(cons(y0, y1))) A__TAIL(cons(z0, incr(s(y0)))) -> c10(MARK(incr(s(y0)))) A__TAIL(cons(z0, head(s(y0)))) -> c10(MARK(head(s(y0)))) A__TAIL(cons(z0, tail(cons(y0, y1)))) -> c10(MARK(tail(cons(y0, y1)))) A__TAIL(cons(z0, tail(s(y0)))) -> c10(MARK(tail(s(y0)))) A__TAIL(cons(z0, incr(incr(odds)))) -> c10(MARK(incr(incr(odds)))) A__TAIL(cons(z0, incr(incr(incr(y0))))) -> c10(MARK(incr(incr(incr(y0))))) A__TAIL(cons(z0, incr(incr(head(y0))))) -> c10(MARK(incr(incr(head(y0))))) A__TAIL(cons(z0, incr(incr(tail(y0))))) -> c10(MARK(incr(incr(tail(y0))))) A__TAIL(cons(z0, incr(incr(s(y0))))) -> c10(MARK(incr(incr(s(y0))))) A__TAIL(cons(z0, incr(incr(cons(y0, y1))))) -> c10(MARK(incr(incr(cons(y0, y1))))) A__TAIL(cons(z0, incr(incr(y0)))) -> c10(MARK(incr(incr(y0)))) A__TAIL(cons(z0, incr(head(odds)))) -> c10(MARK(incr(head(odds)))) A__TAIL(cons(z0, incr(head(incr(y0))))) -> c10(MARK(incr(head(incr(y0))))) A__TAIL(cons(z0, incr(head(head(y0))))) -> c10(MARK(incr(head(head(y0))))) A__TAIL(cons(z0, incr(head(tail(y0))))) -> c10(MARK(incr(head(tail(y0))))) A__TAIL(cons(z0, incr(head(s(y0))))) -> c10(MARK(incr(head(s(y0))))) A__TAIL(cons(z0, incr(head(cons(y0, y1))))) -> c10(MARK(incr(head(cons(y0, y1))))) A__TAIL(cons(z0, incr(head(y0)))) -> c10(MARK(incr(head(y0)))) A__TAIL(cons(z0, incr(tail(nats)))) -> c10(MARK(incr(tail(nats)))) A__TAIL(cons(z0, incr(tail(pairs)))) -> c10(MARK(incr(tail(pairs)))) A__TAIL(cons(z0, incr(tail(odds)))) -> c10(MARK(incr(tail(odds)))) A__TAIL(cons(z0, incr(tail(incr(y0))))) -> c10(MARK(incr(tail(incr(y0))))) A__TAIL(cons(z0, incr(tail(head(y0))))) -> c10(MARK(incr(tail(head(y0))))) A__TAIL(cons(z0, incr(tail(tail(y0))))) -> c10(MARK(incr(tail(tail(y0))))) A__TAIL(cons(z0, incr(tail(s(y0))))) -> c10(MARK(incr(tail(s(y0))))) A__TAIL(cons(z0, incr(tail(cons(y0, y1))))) -> c10(MARK(incr(tail(cons(y0, y1))))) A__TAIL(cons(z0, incr(tail(y0)))) -> c10(MARK(incr(tail(y0)))) A__TAIL(cons(z0, head(incr(odds)))) -> c10(MARK(head(incr(odds)))) A__TAIL(cons(z0, head(incr(incr(y0))))) -> c10(MARK(head(incr(incr(y0))))) A__TAIL(cons(z0, head(incr(head(y0))))) -> c10(MARK(head(incr(head(y0))))) A__TAIL(cons(z0, head(incr(tail(y0))))) -> c10(MARK(head(incr(tail(y0))))) A__TAIL(cons(z0, head(incr(s(y0))))) -> c10(MARK(head(incr(s(y0))))) A__TAIL(cons(z0, head(incr(cons(y0, y1))))) -> c10(MARK(head(incr(cons(y0, y1))))) A__TAIL(cons(z0, head(incr(y0)))) -> c10(MARK(head(incr(y0)))) A__TAIL(cons(z0, head(head(odds)))) -> c10(MARK(head(head(odds)))) A__TAIL(cons(z0, head(head(incr(y0))))) -> c10(MARK(head(head(incr(y0))))) A__TAIL(cons(z0, head(head(head(y0))))) -> c10(MARK(head(head(head(y0))))) A__TAIL(cons(z0, head(head(tail(y0))))) -> c10(MARK(head(head(tail(y0))))) A__TAIL(cons(z0, head(head(s(y0))))) -> c10(MARK(head(head(s(y0))))) A__TAIL(cons(z0, head(head(cons(y0, y1))))) -> c10(MARK(head(head(cons(y0, y1))))) A__TAIL(cons(z0, head(head(y0)))) -> c10(MARK(head(head(y0)))) A__TAIL(cons(z0, head(tail(nats)))) -> c10(MARK(head(tail(nats)))) A__TAIL(cons(z0, head(tail(pairs)))) -> c10(MARK(head(tail(pairs)))) A__TAIL(cons(z0, head(tail(odds)))) -> c10(MARK(head(tail(odds)))) A__TAIL(cons(z0, head(tail(incr(y0))))) -> c10(MARK(head(tail(incr(y0))))) A__TAIL(cons(z0, head(tail(head(y0))))) -> c10(MARK(head(tail(head(y0))))) A__TAIL(cons(z0, head(tail(tail(y0))))) -> c10(MARK(head(tail(tail(y0))))) A__TAIL(cons(z0, head(tail(s(y0))))) -> c10(MARK(head(tail(s(y0))))) A__TAIL(cons(z0, head(tail(cons(y0, y1))))) -> c10(MARK(head(tail(cons(y0, y1))))) A__TAIL(cons(z0, head(tail(y0)))) -> c10(MARK(head(tail(y0)))) A__TAIL(cons(z0, tail(incr(odds)))) -> c10(MARK(tail(incr(odds)))) A__TAIL(cons(z0, tail(incr(incr(y0))))) -> c10(MARK(tail(incr(incr(y0))))) A__TAIL(cons(z0, tail(incr(head(y0))))) -> c10(MARK(tail(incr(head(y0))))) A__TAIL(cons(z0, tail(incr(tail(y0))))) -> c10(MARK(tail(incr(tail(y0))))) A__TAIL(cons(z0, tail(incr(s(y0))))) -> c10(MARK(tail(incr(s(y0))))) A__TAIL(cons(z0, tail(incr(cons(y0, y1))))) -> c10(MARK(tail(incr(cons(y0, y1))))) A__TAIL(cons(z0, tail(incr(y0)))) -> c10(MARK(tail(incr(y0)))) A__TAIL(cons(z0, tail(head(odds)))) -> c10(MARK(tail(head(odds)))) A__TAIL(cons(z0, tail(head(incr(y0))))) -> c10(MARK(tail(head(incr(y0))))) A__TAIL(cons(z0, tail(head(head(y0))))) -> c10(MARK(tail(head(head(y0))))) A__TAIL(cons(z0, tail(head(tail(y0))))) -> c10(MARK(tail(head(tail(y0))))) A__TAIL(cons(z0, tail(head(s(y0))))) -> c10(MARK(tail(head(s(y0))))) A__TAIL(cons(z0, tail(head(cons(y0, y1))))) -> c10(MARK(tail(head(cons(y0, y1))))) A__TAIL(cons(z0, tail(head(y0)))) -> c10(MARK(tail(head(y0)))) A__TAIL(cons(z0, tail(tail(nats)))) -> c10(MARK(tail(tail(nats)))) A__TAIL(cons(z0, tail(tail(pairs)))) -> c10(MARK(tail(tail(pairs)))) A__TAIL(cons(z0, tail(tail(odds)))) -> c10(MARK(tail(tail(odds)))) A__TAIL(cons(z0, tail(tail(incr(y0))))) -> c10(MARK(tail(tail(incr(y0))))) A__TAIL(cons(z0, tail(tail(head(y0))))) -> c10(MARK(tail(tail(head(y0))))) A__TAIL(cons(z0, tail(tail(tail(y0))))) -> c10(MARK(tail(tail(tail(y0))))) A__TAIL(cons(z0, tail(tail(s(y0))))) -> c10(MARK(tail(tail(s(y0))))) A__TAIL(cons(z0, tail(tail(cons(y0, y1))))) -> c10(MARK(tail(tail(cons(y0, y1))))) A__TAIL(cons(z0, tail(tail(y0)))) -> c10(MARK(tail(tail(y0)))) A__TAIL(cons(z0, tail(pairs))) -> c10(MARK(tail(pairs))) A__TAIL(cons(z0, incr(odds))) -> c10(MARK(incr(odds))) A__TAIL(cons(z0, incr(incr(nats)))) -> c10(MARK(incr(incr(nats)))) A__TAIL(cons(z0, incr(incr(pairs)))) -> c10(MARK(incr(incr(pairs)))) A__TAIL(cons(z0, head(odds))) -> c10(MARK(head(odds))) A__TAIL(cons(z0, head(incr(nats)))) -> c10(MARK(head(incr(nats)))) A__TAIL(cons(z0, head(incr(pairs)))) -> c10(MARK(head(incr(pairs)))) A__TAIL(cons(z0, tail(odds))) -> c10(MARK(tail(odds))) A__TAIL(cons(z0, tail(incr(nats)))) -> c10(MARK(tail(incr(nats)))) A__TAIL(cons(z0, tail(incr(pairs)))) -> c10(MARK(tail(incr(pairs)))) A__TAIL(cons(z0, incr(cons(nats, y0)))) -> c10(MARK(incr(cons(nats, y0)))) A__TAIL(cons(z0, incr(cons(pairs, y0)))) -> c10(MARK(incr(cons(pairs, y0)))) A__TAIL(cons(z0, incr(cons(odds, y0)))) -> c10(MARK(incr(cons(odds, y0)))) A__TAIL(cons(z0, incr(cons(incr(y0), y1)))) -> c10(MARK(incr(cons(incr(y0), y1)))) A__TAIL(cons(z0, incr(cons(head(y0), y1)))) -> c10(MARK(incr(cons(head(y0), y1)))) A__TAIL(cons(z0, incr(cons(tail(y0), y1)))) -> c10(MARK(incr(cons(tail(y0), y1)))) A__TAIL(cons(z0, incr(cons(s(y0), y1)))) -> c10(MARK(incr(cons(s(y0), y1)))) A__TAIL(cons(z0, incr(cons(cons(y0, y1), y2)))) -> c10(MARK(incr(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, incr(cons(y0, y1)))) -> c10(MARK(incr(cons(y0, y1)))) A__TAIL(cons(z0, incr(cons(0, y0)))) -> c10(MARK(incr(cons(0, y0)))) A__TAIL(cons(z0, incr(cons(nil, y0)))) -> c10(MARK(incr(cons(nil, y0)))) A__TAIL(cons(z0, incr(head(nats)))) -> c10(MARK(incr(head(nats)))) A__TAIL(cons(z0, incr(head(pairs)))) -> c10(MARK(incr(head(pairs)))) A__TAIL(cons(z0, head(head(nats)))) -> c10(MARK(head(head(nats)))) A__TAIL(cons(z0, head(head(pairs)))) -> c10(MARK(head(head(pairs)))) A__TAIL(cons(z0, tail(head(nats)))) -> c10(MARK(tail(head(nats)))) A__TAIL(cons(z0, tail(head(pairs)))) -> c10(MARK(tail(head(pairs)))) A__TAIL(cons(z0, head(cons(nats, y0)))) -> c10(MARK(head(cons(nats, y0)))) A__TAIL(cons(z0, head(cons(pairs, y0)))) -> c10(MARK(head(cons(pairs, y0)))) A__TAIL(cons(z0, head(cons(odds, y0)))) -> c10(MARK(head(cons(odds, y0)))) A__TAIL(cons(z0, head(cons(incr(y0), y1)))) -> c10(MARK(head(cons(incr(y0), y1)))) A__TAIL(cons(z0, head(cons(head(y0), y1)))) -> c10(MARK(head(cons(head(y0), y1)))) A__TAIL(cons(z0, head(cons(tail(y0), y1)))) -> c10(MARK(head(cons(tail(y0), y1)))) A__TAIL(cons(z0, head(cons(s(y0), y1)))) -> c10(MARK(head(cons(s(y0), y1)))) A__TAIL(cons(z0, head(cons(cons(y0, y1), y2)))) -> c10(MARK(head(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, head(cons(y0, y1)))) -> c10(MARK(head(cons(y0, y1)))) A__TAIL(cons(z0, head(cons(0, y0)))) -> c10(MARK(head(cons(0, y0)))) A__TAIL(cons(z0, head(cons(nil, y0)))) -> c10(MARK(head(cons(nil, y0)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: MARK_1, A__INCR_1, A__HEAD_1, A__TAIL_1 Compound Symbols: c19_1, c21_1, c15_1, c16_1, c17_2, c17_1, c15_2, c16_2, c6_1, c8_1, c10_1 ---------------------------------------- (235) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (236) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) MARK(head(cons(0, x1))) -> c16(MARK(cons(0, x1))) MARK(head(cons(nil, x1))) -> c16(MARK(cons(nil, x1))) A__TAIL(cons(z0, s(y0))) -> c10(MARK(s(y0))) A__TAIL(cons(z0, cons(y0, y1))) -> c10(MARK(cons(y0, y1))) A__TAIL(cons(z0, incr(s(y0)))) -> c10(MARK(incr(s(y0)))) A__TAIL(cons(z0, head(s(y0)))) -> c10(MARK(head(s(y0)))) A__TAIL(cons(z0, tail(cons(y0, y1)))) -> c10(MARK(tail(cons(y0, y1)))) A__TAIL(cons(z0, tail(s(y0)))) -> c10(MARK(tail(s(y0)))) A__TAIL(cons(z0, incr(incr(odds)))) -> c10(MARK(incr(incr(odds)))) A__TAIL(cons(z0, incr(incr(incr(y0))))) -> c10(MARK(incr(incr(incr(y0))))) A__TAIL(cons(z0, incr(incr(head(y0))))) -> c10(MARK(incr(incr(head(y0))))) A__TAIL(cons(z0, incr(incr(tail(y0))))) -> c10(MARK(incr(incr(tail(y0))))) A__TAIL(cons(z0, incr(incr(s(y0))))) -> c10(MARK(incr(incr(s(y0))))) A__TAIL(cons(z0, incr(incr(cons(y0, y1))))) -> c10(MARK(incr(incr(cons(y0, y1))))) A__TAIL(cons(z0, incr(incr(y0)))) -> c10(MARK(incr(incr(y0)))) A__TAIL(cons(z0, incr(head(odds)))) -> c10(MARK(incr(head(odds)))) A__TAIL(cons(z0, incr(head(incr(y0))))) -> c10(MARK(incr(head(incr(y0))))) A__TAIL(cons(z0, incr(head(head(y0))))) -> c10(MARK(incr(head(head(y0))))) A__TAIL(cons(z0, incr(head(tail(y0))))) -> c10(MARK(incr(head(tail(y0))))) A__TAIL(cons(z0, incr(head(s(y0))))) -> c10(MARK(incr(head(s(y0))))) A__TAIL(cons(z0, incr(head(cons(y0, y1))))) -> c10(MARK(incr(head(cons(y0, y1))))) A__TAIL(cons(z0, incr(head(y0)))) -> c10(MARK(incr(head(y0)))) A__TAIL(cons(z0, incr(tail(nats)))) -> c10(MARK(incr(tail(nats)))) A__TAIL(cons(z0, incr(tail(pairs)))) -> c10(MARK(incr(tail(pairs)))) A__TAIL(cons(z0, incr(tail(odds)))) -> c10(MARK(incr(tail(odds)))) A__TAIL(cons(z0, incr(tail(incr(y0))))) -> c10(MARK(incr(tail(incr(y0))))) A__TAIL(cons(z0, incr(tail(head(y0))))) -> c10(MARK(incr(tail(head(y0))))) A__TAIL(cons(z0, incr(tail(tail(y0))))) -> c10(MARK(incr(tail(tail(y0))))) A__TAIL(cons(z0, incr(tail(s(y0))))) -> c10(MARK(incr(tail(s(y0))))) A__TAIL(cons(z0, incr(tail(cons(y0, y1))))) -> c10(MARK(incr(tail(cons(y0, y1))))) A__TAIL(cons(z0, incr(tail(y0)))) -> c10(MARK(incr(tail(y0)))) A__TAIL(cons(z0, head(incr(odds)))) -> c10(MARK(head(incr(odds)))) A__TAIL(cons(z0, head(incr(incr(y0))))) -> c10(MARK(head(incr(incr(y0))))) A__TAIL(cons(z0, head(incr(head(y0))))) -> c10(MARK(head(incr(head(y0))))) A__TAIL(cons(z0, head(incr(tail(y0))))) -> c10(MARK(head(incr(tail(y0))))) A__TAIL(cons(z0, head(incr(s(y0))))) -> c10(MARK(head(incr(s(y0))))) A__TAIL(cons(z0, head(incr(cons(y0, y1))))) -> c10(MARK(head(incr(cons(y0, y1))))) A__TAIL(cons(z0, head(incr(y0)))) -> c10(MARK(head(incr(y0)))) A__TAIL(cons(z0, head(head(odds)))) -> c10(MARK(head(head(odds)))) A__TAIL(cons(z0, head(head(incr(y0))))) -> c10(MARK(head(head(incr(y0))))) A__TAIL(cons(z0, head(head(head(y0))))) -> c10(MARK(head(head(head(y0))))) A__TAIL(cons(z0, head(head(tail(y0))))) -> c10(MARK(head(head(tail(y0))))) A__TAIL(cons(z0, head(head(s(y0))))) -> c10(MARK(head(head(s(y0))))) A__TAIL(cons(z0, head(head(cons(y0, y1))))) -> c10(MARK(head(head(cons(y0, y1))))) A__TAIL(cons(z0, head(head(y0)))) -> c10(MARK(head(head(y0)))) A__TAIL(cons(z0, head(tail(nats)))) -> c10(MARK(head(tail(nats)))) A__TAIL(cons(z0, head(tail(pairs)))) -> c10(MARK(head(tail(pairs)))) A__TAIL(cons(z0, head(tail(odds)))) -> c10(MARK(head(tail(odds)))) A__TAIL(cons(z0, head(tail(incr(y0))))) -> c10(MARK(head(tail(incr(y0))))) A__TAIL(cons(z0, head(tail(head(y0))))) -> c10(MARK(head(tail(head(y0))))) A__TAIL(cons(z0, head(tail(tail(y0))))) -> c10(MARK(head(tail(tail(y0))))) A__TAIL(cons(z0, head(tail(s(y0))))) -> c10(MARK(head(tail(s(y0))))) A__TAIL(cons(z0, head(tail(cons(y0, y1))))) -> c10(MARK(head(tail(cons(y0, y1))))) A__TAIL(cons(z0, head(tail(y0)))) -> c10(MARK(head(tail(y0)))) A__TAIL(cons(z0, tail(incr(odds)))) -> c10(MARK(tail(incr(odds)))) A__TAIL(cons(z0, tail(incr(incr(y0))))) -> c10(MARK(tail(incr(incr(y0))))) A__TAIL(cons(z0, tail(incr(head(y0))))) -> c10(MARK(tail(incr(head(y0))))) A__TAIL(cons(z0, tail(incr(tail(y0))))) -> c10(MARK(tail(incr(tail(y0))))) A__TAIL(cons(z0, tail(incr(s(y0))))) -> c10(MARK(tail(incr(s(y0))))) A__TAIL(cons(z0, tail(incr(cons(y0, y1))))) -> c10(MARK(tail(incr(cons(y0, y1))))) A__TAIL(cons(z0, tail(incr(y0)))) -> c10(MARK(tail(incr(y0)))) A__TAIL(cons(z0, tail(head(odds)))) -> c10(MARK(tail(head(odds)))) A__TAIL(cons(z0, tail(head(incr(y0))))) -> c10(MARK(tail(head(incr(y0))))) A__TAIL(cons(z0, tail(head(head(y0))))) -> c10(MARK(tail(head(head(y0))))) A__TAIL(cons(z0, tail(head(tail(y0))))) -> c10(MARK(tail(head(tail(y0))))) A__TAIL(cons(z0, tail(head(s(y0))))) -> c10(MARK(tail(head(s(y0))))) A__TAIL(cons(z0, tail(head(cons(y0, y1))))) -> c10(MARK(tail(head(cons(y0, y1))))) A__TAIL(cons(z0, tail(head(y0)))) -> c10(MARK(tail(head(y0)))) A__TAIL(cons(z0, tail(tail(nats)))) -> c10(MARK(tail(tail(nats)))) A__TAIL(cons(z0, tail(tail(pairs)))) -> c10(MARK(tail(tail(pairs)))) A__TAIL(cons(z0, tail(tail(odds)))) -> c10(MARK(tail(tail(odds)))) A__TAIL(cons(z0, tail(tail(incr(y0))))) -> c10(MARK(tail(tail(incr(y0))))) A__TAIL(cons(z0, tail(tail(head(y0))))) -> c10(MARK(tail(tail(head(y0))))) A__TAIL(cons(z0, tail(tail(tail(y0))))) -> c10(MARK(tail(tail(tail(y0))))) A__TAIL(cons(z0, tail(tail(s(y0))))) -> c10(MARK(tail(tail(s(y0))))) A__TAIL(cons(z0, tail(tail(cons(y0, y1))))) -> c10(MARK(tail(tail(cons(y0, y1))))) A__TAIL(cons(z0, tail(tail(y0)))) -> c10(MARK(tail(tail(y0)))) A__TAIL(cons(z0, tail(pairs))) -> c10(MARK(tail(pairs))) A__TAIL(cons(z0, incr(odds))) -> c10(MARK(incr(odds))) A__TAIL(cons(z0, incr(incr(nats)))) -> c10(MARK(incr(incr(nats)))) A__TAIL(cons(z0, incr(incr(pairs)))) -> c10(MARK(incr(incr(pairs)))) A__TAIL(cons(z0, head(odds))) -> c10(MARK(head(odds))) A__TAIL(cons(z0, head(incr(nats)))) -> c10(MARK(head(incr(nats)))) A__TAIL(cons(z0, head(incr(pairs)))) -> c10(MARK(head(incr(pairs)))) A__TAIL(cons(z0, tail(odds))) -> c10(MARK(tail(odds))) A__TAIL(cons(z0, tail(incr(nats)))) -> c10(MARK(tail(incr(nats)))) A__TAIL(cons(z0, tail(incr(pairs)))) -> c10(MARK(tail(incr(pairs)))) A__TAIL(cons(z0, incr(cons(nats, y0)))) -> c10(MARK(incr(cons(nats, y0)))) A__TAIL(cons(z0, incr(cons(pairs, y0)))) -> c10(MARK(incr(cons(pairs, y0)))) A__TAIL(cons(z0, incr(cons(odds, y0)))) -> c10(MARK(incr(cons(odds, y0)))) A__TAIL(cons(z0, incr(cons(incr(y0), y1)))) -> c10(MARK(incr(cons(incr(y0), y1)))) A__TAIL(cons(z0, incr(cons(head(y0), y1)))) -> c10(MARK(incr(cons(head(y0), y1)))) A__TAIL(cons(z0, incr(cons(tail(y0), y1)))) -> c10(MARK(incr(cons(tail(y0), y1)))) A__TAIL(cons(z0, incr(cons(s(y0), y1)))) -> c10(MARK(incr(cons(s(y0), y1)))) A__TAIL(cons(z0, incr(cons(cons(y0, y1), y2)))) -> c10(MARK(incr(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, incr(cons(y0, y1)))) -> c10(MARK(incr(cons(y0, y1)))) A__TAIL(cons(z0, incr(cons(0, y0)))) -> c10(MARK(incr(cons(0, y0)))) A__TAIL(cons(z0, incr(cons(nil, y0)))) -> c10(MARK(incr(cons(nil, y0)))) A__TAIL(cons(z0, incr(head(nats)))) -> c10(MARK(incr(head(nats)))) A__TAIL(cons(z0, incr(head(pairs)))) -> c10(MARK(incr(head(pairs)))) A__TAIL(cons(z0, head(head(nats)))) -> c10(MARK(head(head(nats)))) A__TAIL(cons(z0, head(head(pairs)))) -> c10(MARK(head(head(pairs)))) A__TAIL(cons(z0, tail(head(nats)))) -> c10(MARK(tail(head(nats)))) A__TAIL(cons(z0, tail(head(pairs)))) -> c10(MARK(tail(head(pairs)))) A__TAIL(cons(z0, head(cons(nats, y0)))) -> c10(MARK(head(cons(nats, y0)))) A__TAIL(cons(z0, head(cons(pairs, y0)))) -> c10(MARK(head(cons(pairs, y0)))) A__TAIL(cons(z0, head(cons(odds, y0)))) -> c10(MARK(head(cons(odds, y0)))) A__TAIL(cons(z0, head(cons(incr(y0), y1)))) -> c10(MARK(head(cons(incr(y0), y1)))) A__TAIL(cons(z0, head(cons(head(y0), y1)))) -> c10(MARK(head(cons(head(y0), y1)))) A__TAIL(cons(z0, head(cons(tail(y0), y1)))) -> c10(MARK(head(cons(tail(y0), y1)))) A__TAIL(cons(z0, head(cons(s(y0), y1)))) -> c10(MARK(head(cons(s(y0), y1)))) A__TAIL(cons(z0, head(cons(cons(y0, y1), y2)))) -> c10(MARK(head(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, head(cons(y0, y1)))) -> c10(MARK(head(cons(y0, y1)))) A__TAIL(cons(z0, head(cons(0, y0)))) -> c10(MARK(head(cons(0, y0)))) A__TAIL(cons(z0, head(cons(nil, y0)))) -> c10(MARK(head(cons(nil, y0)))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats))) S tuples: MARK(s(z0)) -> c19(MARK(z0)) MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) MARK(head(cons(0, x1))) -> c16(MARK(cons(0, x1))) MARK(head(cons(nil, x1))) -> c16(MARK(cons(nil, x1))) A__TAIL(cons(z0, s(y0))) -> c10(MARK(s(y0))) A__TAIL(cons(z0, cons(y0, y1))) -> c10(MARK(cons(y0, y1))) A__TAIL(cons(z0, incr(s(y0)))) -> c10(MARK(incr(s(y0)))) A__TAIL(cons(z0, head(s(y0)))) -> c10(MARK(head(s(y0)))) A__TAIL(cons(z0, tail(cons(y0, y1)))) -> c10(MARK(tail(cons(y0, y1)))) A__TAIL(cons(z0, tail(s(y0)))) -> c10(MARK(tail(s(y0)))) A__TAIL(cons(z0, incr(incr(odds)))) -> c10(MARK(incr(incr(odds)))) A__TAIL(cons(z0, incr(incr(incr(y0))))) -> c10(MARK(incr(incr(incr(y0))))) A__TAIL(cons(z0, incr(incr(head(y0))))) -> c10(MARK(incr(incr(head(y0))))) A__TAIL(cons(z0, incr(incr(tail(y0))))) -> c10(MARK(incr(incr(tail(y0))))) A__TAIL(cons(z0, incr(incr(s(y0))))) -> c10(MARK(incr(incr(s(y0))))) A__TAIL(cons(z0, incr(incr(cons(y0, y1))))) -> c10(MARK(incr(incr(cons(y0, y1))))) A__TAIL(cons(z0, incr(incr(y0)))) -> c10(MARK(incr(incr(y0)))) A__TAIL(cons(z0, incr(head(odds)))) -> c10(MARK(incr(head(odds)))) A__TAIL(cons(z0, incr(head(incr(y0))))) -> c10(MARK(incr(head(incr(y0))))) A__TAIL(cons(z0, incr(head(head(y0))))) -> c10(MARK(incr(head(head(y0))))) A__TAIL(cons(z0, incr(head(tail(y0))))) -> c10(MARK(incr(head(tail(y0))))) A__TAIL(cons(z0, incr(head(s(y0))))) -> c10(MARK(incr(head(s(y0))))) A__TAIL(cons(z0, incr(head(cons(y0, y1))))) -> c10(MARK(incr(head(cons(y0, y1))))) A__TAIL(cons(z0, incr(head(y0)))) -> c10(MARK(incr(head(y0)))) A__TAIL(cons(z0, incr(tail(nats)))) -> c10(MARK(incr(tail(nats)))) A__TAIL(cons(z0, incr(tail(pairs)))) -> c10(MARK(incr(tail(pairs)))) A__TAIL(cons(z0, incr(tail(odds)))) -> c10(MARK(incr(tail(odds)))) A__TAIL(cons(z0, incr(tail(incr(y0))))) -> c10(MARK(incr(tail(incr(y0))))) A__TAIL(cons(z0, incr(tail(head(y0))))) -> c10(MARK(incr(tail(head(y0))))) A__TAIL(cons(z0, incr(tail(tail(y0))))) -> c10(MARK(incr(tail(tail(y0))))) A__TAIL(cons(z0, incr(tail(s(y0))))) -> c10(MARK(incr(tail(s(y0))))) A__TAIL(cons(z0, incr(tail(cons(y0, y1))))) -> c10(MARK(incr(tail(cons(y0, y1))))) A__TAIL(cons(z0, incr(tail(y0)))) -> c10(MARK(incr(tail(y0)))) A__TAIL(cons(z0, head(incr(odds)))) -> c10(MARK(head(incr(odds)))) A__TAIL(cons(z0, head(incr(incr(y0))))) -> c10(MARK(head(incr(incr(y0))))) A__TAIL(cons(z0, head(incr(head(y0))))) -> c10(MARK(head(incr(head(y0))))) A__TAIL(cons(z0, head(incr(tail(y0))))) -> c10(MARK(head(incr(tail(y0))))) A__TAIL(cons(z0, head(incr(s(y0))))) -> c10(MARK(head(incr(s(y0))))) A__TAIL(cons(z0, head(incr(cons(y0, y1))))) -> c10(MARK(head(incr(cons(y0, y1))))) A__TAIL(cons(z0, head(incr(y0)))) -> c10(MARK(head(incr(y0)))) A__TAIL(cons(z0, head(head(odds)))) -> c10(MARK(head(head(odds)))) A__TAIL(cons(z0, head(head(incr(y0))))) -> c10(MARK(head(head(incr(y0))))) A__TAIL(cons(z0, head(head(head(y0))))) -> c10(MARK(head(head(head(y0))))) A__TAIL(cons(z0, head(head(tail(y0))))) -> c10(MARK(head(head(tail(y0))))) A__TAIL(cons(z0, head(head(s(y0))))) -> c10(MARK(head(head(s(y0))))) A__TAIL(cons(z0, head(head(cons(y0, y1))))) -> c10(MARK(head(head(cons(y0, y1))))) A__TAIL(cons(z0, head(head(y0)))) -> c10(MARK(head(head(y0)))) A__TAIL(cons(z0, head(tail(nats)))) -> c10(MARK(head(tail(nats)))) A__TAIL(cons(z0, head(tail(pairs)))) -> c10(MARK(head(tail(pairs)))) A__TAIL(cons(z0, head(tail(odds)))) -> c10(MARK(head(tail(odds)))) A__TAIL(cons(z0, head(tail(incr(y0))))) -> c10(MARK(head(tail(incr(y0))))) A__TAIL(cons(z0, head(tail(head(y0))))) -> c10(MARK(head(tail(head(y0))))) A__TAIL(cons(z0, head(tail(tail(y0))))) -> c10(MARK(head(tail(tail(y0))))) A__TAIL(cons(z0, head(tail(s(y0))))) -> c10(MARK(head(tail(s(y0))))) A__TAIL(cons(z0, head(tail(cons(y0, y1))))) -> c10(MARK(head(tail(cons(y0, y1))))) A__TAIL(cons(z0, head(tail(y0)))) -> c10(MARK(head(tail(y0)))) A__TAIL(cons(z0, tail(incr(odds)))) -> c10(MARK(tail(incr(odds)))) A__TAIL(cons(z0, tail(incr(incr(y0))))) -> c10(MARK(tail(incr(incr(y0))))) A__TAIL(cons(z0, tail(incr(head(y0))))) -> c10(MARK(tail(incr(head(y0))))) A__TAIL(cons(z0, tail(incr(tail(y0))))) -> c10(MARK(tail(incr(tail(y0))))) A__TAIL(cons(z0, tail(incr(s(y0))))) -> c10(MARK(tail(incr(s(y0))))) A__TAIL(cons(z0, tail(incr(cons(y0, y1))))) -> c10(MARK(tail(incr(cons(y0, y1))))) A__TAIL(cons(z0, tail(incr(y0)))) -> c10(MARK(tail(incr(y0)))) A__TAIL(cons(z0, tail(head(odds)))) -> c10(MARK(tail(head(odds)))) A__TAIL(cons(z0, tail(head(incr(y0))))) -> c10(MARK(tail(head(incr(y0))))) A__TAIL(cons(z0, tail(head(head(y0))))) -> c10(MARK(tail(head(head(y0))))) A__TAIL(cons(z0, tail(head(tail(y0))))) -> c10(MARK(tail(head(tail(y0))))) A__TAIL(cons(z0, tail(head(s(y0))))) -> c10(MARK(tail(head(s(y0))))) A__TAIL(cons(z0, tail(head(cons(y0, y1))))) -> c10(MARK(tail(head(cons(y0, y1))))) A__TAIL(cons(z0, tail(head(y0)))) -> c10(MARK(tail(head(y0)))) A__TAIL(cons(z0, tail(tail(nats)))) -> c10(MARK(tail(tail(nats)))) A__TAIL(cons(z0, tail(tail(pairs)))) -> c10(MARK(tail(tail(pairs)))) A__TAIL(cons(z0, tail(tail(odds)))) -> c10(MARK(tail(tail(odds)))) A__TAIL(cons(z0, tail(tail(incr(y0))))) -> c10(MARK(tail(tail(incr(y0))))) A__TAIL(cons(z0, tail(tail(head(y0))))) -> c10(MARK(tail(tail(head(y0))))) A__TAIL(cons(z0, tail(tail(tail(y0))))) -> c10(MARK(tail(tail(tail(y0))))) A__TAIL(cons(z0, tail(tail(s(y0))))) -> c10(MARK(tail(tail(s(y0))))) A__TAIL(cons(z0, tail(tail(cons(y0, y1))))) -> c10(MARK(tail(tail(cons(y0, y1))))) A__TAIL(cons(z0, tail(tail(y0)))) -> c10(MARK(tail(tail(y0)))) A__TAIL(cons(z0, tail(pairs))) -> c10(MARK(tail(pairs))) A__TAIL(cons(z0, incr(odds))) -> c10(MARK(incr(odds))) A__TAIL(cons(z0, incr(incr(nats)))) -> c10(MARK(incr(incr(nats)))) A__TAIL(cons(z0, incr(incr(pairs)))) -> c10(MARK(incr(incr(pairs)))) A__TAIL(cons(z0, head(odds))) -> c10(MARK(head(odds))) A__TAIL(cons(z0, head(incr(nats)))) -> c10(MARK(head(incr(nats)))) A__TAIL(cons(z0, head(incr(pairs)))) -> c10(MARK(head(incr(pairs)))) A__TAIL(cons(z0, tail(odds))) -> c10(MARK(tail(odds))) A__TAIL(cons(z0, tail(incr(nats)))) -> c10(MARK(tail(incr(nats)))) A__TAIL(cons(z0, tail(incr(pairs)))) -> c10(MARK(tail(incr(pairs)))) A__TAIL(cons(z0, incr(cons(nats, y0)))) -> c10(MARK(incr(cons(nats, y0)))) A__TAIL(cons(z0, incr(cons(pairs, y0)))) -> c10(MARK(incr(cons(pairs, y0)))) A__TAIL(cons(z0, incr(cons(odds, y0)))) -> c10(MARK(incr(cons(odds, y0)))) A__TAIL(cons(z0, incr(cons(incr(y0), y1)))) -> c10(MARK(incr(cons(incr(y0), y1)))) A__TAIL(cons(z0, incr(cons(head(y0), y1)))) -> c10(MARK(incr(cons(head(y0), y1)))) A__TAIL(cons(z0, incr(cons(tail(y0), y1)))) -> c10(MARK(incr(cons(tail(y0), y1)))) A__TAIL(cons(z0, incr(cons(s(y0), y1)))) -> c10(MARK(incr(cons(s(y0), y1)))) A__TAIL(cons(z0, incr(cons(cons(y0, y1), y2)))) -> c10(MARK(incr(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, incr(cons(y0, y1)))) -> c10(MARK(incr(cons(y0, y1)))) A__TAIL(cons(z0, incr(cons(0, y0)))) -> c10(MARK(incr(cons(0, y0)))) A__TAIL(cons(z0, incr(cons(nil, y0)))) -> c10(MARK(incr(cons(nil, y0)))) A__TAIL(cons(z0, incr(head(nats)))) -> c10(MARK(incr(head(nats)))) A__TAIL(cons(z0, incr(head(pairs)))) -> c10(MARK(incr(head(pairs)))) A__TAIL(cons(z0, head(head(nats)))) -> c10(MARK(head(head(nats)))) A__TAIL(cons(z0, head(head(pairs)))) -> c10(MARK(head(head(pairs)))) A__TAIL(cons(z0, tail(head(nats)))) -> c10(MARK(tail(head(nats)))) A__TAIL(cons(z0, tail(head(pairs)))) -> c10(MARK(tail(head(pairs)))) A__TAIL(cons(z0, head(cons(nats, y0)))) -> c10(MARK(head(cons(nats, y0)))) A__TAIL(cons(z0, head(cons(pairs, y0)))) -> c10(MARK(head(cons(pairs, y0)))) A__TAIL(cons(z0, head(cons(odds, y0)))) -> c10(MARK(head(cons(odds, y0)))) A__TAIL(cons(z0, head(cons(incr(y0), y1)))) -> c10(MARK(head(cons(incr(y0), y1)))) A__TAIL(cons(z0, head(cons(head(y0), y1)))) -> c10(MARK(head(cons(head(y0), y1)))) A__TAIL(cons(z0, head(cons(tail(y0), y1)))) -> c10(MARK(head(cons(tail(y0), y1)))) A__TAIL(cons(z0, head(cons(s(y0), y1)))) -> c10(MARK(head(cons(s(y0), y1)))) A__TAIL(cons(z0, head(cons(cons(y0, y1), y2)))) -> c10(MARK(head(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, head(cons(y0, y1)))) -> c10(MARK(head(cons(y0, y1)))) A__TAIL(cons(z0, head(cons(0, y0)))) -> c10(MARK(head(cons(0, y0)))) A__TAIL(cons(z0, head(cons(nil, y0)))) -> c10(MARK(head(cons(nil, y0)))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: MARK_1, A__INCR_1, A__HEAD_1, A__TAIL_1 Compound Symbols: c19_1, c21_1, c15_1, c16_1, c17_2, c17_1, c15_2, c16_2, c6_1, c8_1, c10_1 ---------------------------------------- (237) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(s(z0)) -> c19(MARK(z0)) by MARK(s(s(y0))) -> c19(MARK(s(y0))) MARK(s(cons(y0, y1))) -> c19(MARK(cons(y0, y1))) MARK(s(incr(s(y0)))) -> c19(MARK(incr(s(y0)))) MARK(s(head(s(y0)))) -> c19(MARK(head(s(y0)))) MARK(s(tail(cons(y0, y1)))) -> c19(MARK(tail(cons(y0, y1)))) MARK(s(tail(s(y0)))) -> c19(MARK(tail(s(y0)))) MARK(s(incr(incr(odds)))) -> c19(MARK(incr(incr(odds)))) MARK(s(incr(incr(incr(y0))))) -> c19(MARK(incr(incr(incr(y0))))) MARK(s(incr(incr(head(y0))))) -> c19(MARK(incr(incr(head(y0))))) MARK(s(incr(incr(tail(y0))))) -> c19(MARK(incr(incr(tail(y0))))) MARK(s(incr(incr(s(y0))))) -> c19(MARK(incr(incr(s(y0))))) MARK(s(incr(incr(cons(y0, y1))))) -> c19(MARK(incr(incr(cons(y0, y1))))) MARK(s(incr(incr(y0)))) -> c19(MARK(incr(incr(y0)))) MARK(s(incr(head(odds)))) -> c19(MARK(incr(head(odds)))) MARK(s(incr(head(incr(y0))))) -> c19(MARK(incr(head(incr(y0))))) MARK(s(incr(head(head(y0))))) -> c19(MARK(incr(head(head(y0))))) MARK(s(incr(head(tail(y0))))) -> c19(MARK(incr(head(tail(y0))))) MARK(s(incr(head(s(y0))))) -> c19(MARK(incr(head(s(y0))))) MARK(s(incr(head(cons(y0, y1))))) -> c19(MARK(incr(head(cons(y0, y1))))) MARK(s(incr(head(y0)))) -> c19(MARK(incr(head(y0)))) MARK(s(incr(tail(pairs)))) -> c19(MARK(incr(tail(pairs)))) MARK(s(incr(tail(odds)))) -> c19(MARK(incr(tail(odds)))) MARK(s(incr(tail(incr(y0))))) -> c19(MARK(incr(tail(incr(y0))))) MARK(s(incr(tail(head(y0))))) -> c19(MARK(incr(tail(head(y0))))) MARK(s(incr(tail(tail(y0))))) -> c19(MARK(incr(tail(tail(y0))))) MARK(s(incr(tail(s(y0))))) -> c19(MARK(incr(tail(s(y0))))) MARK(s(incr(tail(cons(y0, y1))))) -> c19(MARK(incr(tail(cons(y0, y1))))) MARK(s(incr(tail(y0)))) -> c19(MARK(incr(tail(y0)))) MARK(s(head(incr(odds)))) -> c19(MARK(head(incr(odds)))) MARK(s(head(incr(incr(y0))))) -> c19(MARK(head(incr(incr(y0))))) MARK(s(head(incr(head(y0))))) -> c19(MARK(head(incr(head(y0))))) MARK(s(head(incr(tail(y0))))) -> c19(MARK(head(incr(tail(y0))))) MARK(s(head(incr(s(y0))))) -> c19(MARK(head(incr(s(y0))))) MARK(s(head(incr(cons(y0, y1))))) -> c19(MARK(head(incr(cons(y0, y1))))) MARK(s(head(incr(y0)))) -> c19(MARK(head(incr(y0)))) MARK(s(head(head(odds)))) -> c19(MARK(head(head(odds)))) MARK(s(head(head(incr(y0))))) -> c19(MARK(head(head(incr(y0))))) MARK(s(head(head(head(y0))))) -> c19(MARK(head(head(head(y0))))) MARK(s(head(head(tail(y0))))) -> c19(MARK(head(head(tail(y0))))) MARK(s(head(head(s(y0))))) -> c19(MARK(head(head(s(y0))))) MARK(s(head(head(cons(y0, y1))))) -> c19(MARK(head(head(cons(y0, y1))))) MARK(s(head(head(y0)))) -> c19(MARK(head(head(y0)))) MARK(s(head(tail(pairs)))) -> c19(MARK(head(tail(pairs)))) MARK(s(head(tail(odds)))) -> c19(MARK(head(tail(odds)))) MARK(s(head(tail(incr(y0))))) -> c19(MARK(head(tail(incr(y0))))) MARK(s(head(tail(head(y0))))) -> c19(MARK(head(tail(head(y0))))) MARK(s(head(tail(tail(y0))))) -> c19(MARK(head(tail(tail(y0))))) MARK(s(head(tail(s(y0))))) -> c19(MARK(head(tail(s(y0))))) MARK(s(head(tail(cons(y0, y1))))) -> c19(MARK(head(tail(cons(y0, y1))))) MARK(s(head(tail(y0)))) -> c19(MARK(head(tail(y0)))) MARK(s(tail(incr(odds)))) -> c19(MARK(tail(incr(odds)))) MARK(s(tail(incr(incr(y0))))) -> c19(MARK(tail(incr(incr(y0))))) MARK(s(tail(incr(head(y0))))) -> c19(MARK(tail(incr(head(y0))))) MARK(s(tail(incr(tail(y0))))) -> c19(MARK(tail(incr(tail(y0))))) MARK(s(tail(incr(s(y0))))) -> c19(MARK(tail(incr(s(y0))))) MARK(s(tail(incr(cons(y0, y1))))) -> c19(MARK(tail(incr(cons(y0, y1))))) MARK(s(tail(incr(y0)))) -> c19(MARK(tail(incr(y0)))) MARK(s(tail(head(odds)))) -> c19(MARK(tail(head(odds)))) MARK(s(tail(head(incr(y0))))) -> c19(MARK(tail(head(incr(y0))))) MARK(s(tail(head(head(y0))))) -> c19(MARK(tail(head(head(y0))))) MARK(s(tail(head(tail(y0))))) -> c19(MARK(tail(head(tail(y0))))) MARK(s(tail(head(s(y0))))) -> c19(MARK(tail(head(s(y0))))) MARK(s(tail(head(cons(y0, y1))))) -> c19(MARK(tail(head(cons(y0, y1))))) MARK(s(tail(head(y0)))) -> c19(MARK(tail(head(y0)))) MARK(s(tail(tail(pairs)))) -> c19(MARK(tail(tail(pairs)))) MARK(s(tail(tail(odds)))) -> c19(MARK(tail(tail(odds)))) MARK(s(tail(tail(incr(y0))))) -> c19(MARK(tail(tail(incr(y0))))) MARK(s(tail(tail(head(y0))))) -> c19(MARK(tail(tail(head(y0))))) MARK(s(tail(tail(tail(y0))))) -> c19(MARK(tail(tail(tail(y0))))) MARK(s(tail(tail(s(y0))))) -> c19(MARK(tail(tail(s(y0))))) MARK(s(tail(tail(cons(y0, y1))))) -> c19(MARK(tail(tail(cons(y0, y1))))) MARK(s(tail(tail(y0)))) -> c19(MARK(tail(tail(y0)))) MARK(s(tail(pairs))) -> c19(MARK(tail(pairs))) MARK(s(incr(odds))) -> c19(MARK(incr(odds))) MARK(s(incr(incr(nats)))) -> c19(MARK(incr(incr(nats)))) MARK(s(incr(incr(pairs)))) -> c19(MARK(incr(incr(pairs)))) MARK(s(head(odds))) -> c19(MARK(head(odds))) MARK(s(head(incr(nats)))) -> c19(MARK(head(incr(nats)))) MARK(s(head(incr(pairs)))) -> c19(MARK(head(incr(pairs)))) MARK(s(tail(odds))) -> c19(MARK(tail(odds))) MARK(s(tail(incr(nats)))) -> c19(MARK(tail(incr(nats)))) MARK(s(tail(incr(pairs)))) -> c19(MARK(tail(incr(pairs)))) MARK(s(incr(cons(nats, y0)))) -> c19(MARK(incr(cons(nats, y0)))) MARK(s(incr(cons(pairs, y0)))) -> c19(MARK(incr(cons(pairs, y0)))) MARK(s(incr(cons(odds, y0)))) -> c19(MARK(incr(cons(odds, y0)))) MARK(s(incr(cons(incr(y0), y1)))) -> c19(MARK(incr(cons(incr(y0), y1)))) MARK(s(incr(cons(head(y0), y1)))) -> c19(MARK(incr(cons(head(y0), y1)))) MARK(s(incr(cons(tail(y0), y1)))) -> c19(MARK(incr(cons(tail(y0), y1)))) MARK(s(incr(cons(s(y0), y1)))) -> c19(MARK(incr(cons(s(y0), y1)))) MARK(s(incr(cons(cons(y0, y1), y2)))) -> c19(MARK(incr(cons(cons(y0, y1), y2)))) MARK(s(incr(cons(y0, y1)))) -> c19(MARK(incr(cons(y0, y1)))) MARK(s(incr(cons(0, y0)))) -> c19(MARK(incr(cons(0, y0)))) MARK(s(incr(cons(nil, y0)))) -> c19(MARK(incr(cons(nil, y0)))) MARK(s(incr(head(nats)))) -> c19(MARK(incr(head(nats)))) MARK(s(incr(head(pairs)))) -> c19(MARK(incr(head(pairs)))) MARK(s(head(head(nats)))) -> c19(MARK(head(head(nats)))) MARK(s(head(head(pairs)))) -> c19(MARK(head(head(pairs)))) MARK(s(tail(head(nats)))) -> c19(MARK(tail(head(nats)))) MARK(s(tail(head(pairs)))) -> c19(MARK(tail(head(pairs)))) MARK(s(head(cons(nats, y0)))) -> c19(MARK(head(cons(nats, y0)))) MARK(s(head(cons(pairs, y0)))) -> c19(MARK(head(cons(pairs, y0)))) MARK(s(head(cons(odds, y0)))) -> c19(MARK(head(cons(odds, y0)))) MARK(s(head(cons(incr(y0), y1)))) -> c19(MARK(head(cons(incr(y0), y1)))) MARK(s(head(cons(head(y0), y1)))) -> c19(MARK(head(cons(head(y0), y1)))) MARK(s(head(cons(tail(y0), y1)))) -> c19(MARK(head(cons(tail(y0), y1)))) MARK(s(head(cons(s(y0), y1)))) -> c19(MARK(head(cons(s(y0), y1)))) MARK(s(head(cons(cons(y0, y1), y2)))) -> c19(MARK(head(cons(cons(y0, y1), y2)))) MARK(s(head(cons(y0, y1)))) -> c19(MARK(head(cons(y0, y1)))) MARK(s(head(cons(0, y0)))) -> c19(MARK(head(cons(0, y0)))) MARK(s(head(cons(nil, y0)))) -> c19(MARK(head(cons(nil, y0)))) MARK(s(incr(tail(nats)))) -> c19(MARK(incr(tail(nats)))) MARK(s(head(tail(nats)))) -> c19(MARK(head(tail(nats)))) MARK(s(tail(tail(nats)))) -> c19(MARK(tail(tail(nats)))) ---------------------------------------- (238) Obligation: Complexity Dependency Tuples Problem Rules: a__nats -> cons(0, incr(nats)) a__nats -> nats a__pairs -> cons(0, incr(odds)) a__pairs -> pairs a__odds -> a__incr(a__pairs) a__odds -> odds a__incr(cons(z0, z1)) -> cons(s(mark(z0)), incr(z1)) a__incr(z0) -> incr(z0) a__head(cons(z0, z1)) -> mark(z0) a__head(z0) -> head(z0) a__tail(cons(z0, z1)) -> mark(z1) a__tail(z0) -> tail(z0) mark(nats) -> a__nats mark(pairs) -> a__pairs mark(odds) -> a__odds mark(incr(z0)) -> a__incr(mark(z0)) mark(head(z0)) -> a__head(mark(z0)) mark(tail(z0)) -> a__tail(mark(z0)) mark(0) -> 0 mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil mark(cons(z0, z1)) -> cons(mark(z0), z1) Tuples: MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) MARK(head(cons(0, x1))) -> c16(MARK(cons(0, x1))) MARK(head(cons(nil, x1))) -> c16(MARK(cons(nil, x1))) A__TAIL(cons(z0, s(y0))) -> c10(MARK(s(y0))) A__TAIL(cons(z0, cons(y0, y1))) -> c10(MARK(cons(y0, y1))) A__TAIL(cons(z0, incr(s(y0)))) -> c10(MARK(incr(s(y0)))) A__TAIL(cons(z0, head(s(y0)))) -> c10(MARK(head(s(y0)))) A__TAIL(cons(z0, tail(cons(y0, y1)))) -> c10(MARK(tail(cons(y0, y1)))) A__TAIL(cons(z0, tail(s(y0)))) -> c10(MARK(tail(s(y0)))) A__TAIL(cons(z0, incr(incr(odds)))) -> c10(MARK(incr(incr(odds)))) A__TAIL(cons(z0, incr(incr(incr(y0))))) -> c10(MARK(incr(incr(incr(y0))))) A__TAIL(cons(z0, incr(incr(head(y0))))) -> c10(MARK(incr(incr(head(y0))))) A__TAIL(cons(z0, incr(incr(tail(y0))))) -> c10(MARK(incr(incr(tail(y0))))) A__TAIL(cons(z0, incr(incr(s(y0))))) -> c10(MARK(incr(incr(s(y0))))) A__TAIL(cons(z0, incr(incr(cons(y0, y1))))) -> c10(MARK(incr(incr(cons(y0, y1))))) A__TAIL(cons(z0, incr(incr(y0)))) -> c10(MARK(incr(incr(y0)))) A__TAIL(cons(z0, incr(head(odds)))) -> c10(MARK(incr(head(odds)))) A__TAIL(cons(z0, incr(head(incr(y0))))) -> c10(MARK(incr(head(incr(y0))))) A__TAIL(cons(z0, incr(head(head(y0))))) -> c10(MARK(incr(head(head(y0))))) A__TAIL(cons(z0, incr(head(tail(y0))))) -> c10(MARK(incr(head(tail(y0))))) A__TAIL(cons(z0, incr(head(s(y0))))) -> c10(MARK(incr(head(s(y0))))) A__TAIL(cons(z0, incr(head(cons(y0, y1))))) -> c10(MARK(incr(head(cons(y0, y1))))) A__TAIL(cons(z0, incr(head(y0)))) -> c10(MARK(incr(head(y0)))) A__TAIL(cons(z0, incr(tail(nats)))) -> c10(MARK(incr(tail(nats)))) A__TAIL(cons(z0, incr(tail(pairs)))) -> c10(MARK(incr(tail(pairs)))) A__TAIL(cons(z0, incr(tail(odds)))) -> c10(MARK(incr(tail(odds)))) A__TAIL(cons(z0, incr(tail(incr(y0))))) -> c10(MARK(incr(tail(incr(y0))))) A__TAIL(cons(z0, incr(tail(head(y0))))) -> c10(MARK(incr(tail(head(y0))))) A__TAIL(cons(z0, incr(tail(tail(y0))))) -> c10(MARK(incr(tail(tail(y0))))) A__TAIL(cons(z0, incr(tail(s(y0))))) -> c10(MARK(incr(tail(s(y0))))) A__TAIL(cons(z0, incr(tail(cons(y0, y1))))) -> c10(MARK(incr(tail(cons(y0, y1))))) A__TAIL(cons(z0, incr(tail(y0)))) -> c10(MARK(incr(tail(y0)))) A__TAIL(cons(z0, head(incr(odds)))) -> c10(MARK(head(incr(odds)))) A__TAIL(cons(z0, head(incr(incr(y0))))) -> c10(MARK(head(incr(incr(y0))))) A__TAIL(cons(z0, head(incr(head(y0))))) -> c10(MARK(head(incr(head(y0))))) A__TAIL(cons(z0, head(incr(tail(y0))))) -> c10(MARK(head(incr(tail(y0))))) A__TAIL(cons(z0, head(incr(s(y0))))) -> c10(MARK(head(incr(s(y0))))) A__TAIL(cons(z0, head(incr(cons(y0, y1))))) -> c10(MARK(head(incr(cons(y0, y1))))) A__TAIL(cons(z0, head(incr(y0)))) -> c10(MARK(head(incr(y0)))) A__TAIL(cons(z0, head(head(odds)))) -> c10(MARK(head(head(odds)))) A__TAIL(cons(z0, head(head(incr(y0))))) -> c10(MARK(head(head(incr(y0))))) A__TAIL(cons(z0, head(head(head(y0))))) -> c10(MARK(head(head(head(y0))))) A__TAIL(cons(z0, head(head(tail(y0))))) -> c10(MARK(head(head(tail(y0))))) A__TAIL(cons(z0, head(head(s(y0))))) -> c10(MARK(head(head(s(y0))))) A__TAIL(cons(z0, head(head(cons(y0, y1))))) -> c10(MARK(head(head(cons(y0, y1))))) A__TAIL(cons(z0, head(head(y0)))) -> c10(MARK(head(head(y0)))) A__TAIL(cons(z0, head(tail(nats)))) -> c10(MARK(head(tail(nats)))) A__TAIL(cons(z0, head(tail(pairs)))) -> c10(MARK(head(tail(pairs)))) A__TAIL(cons(z0, head(tail(odds)))) -> c10(MARK(head(tail(odds)))) A__TAIL(cons(z0, head(tail(incr(y0))))) -> c10(MARK(head(tail(incr(y0))))) A__TAIL(cons(z0, head(tail(head(y0))))) -> c10(MARK(head(tail(head(y0))))) A__TAIL(cons(z0, head(tail(tail(y0))))) -> c10(MARK(head(tail(tail(y0))))) A__TAIL(cons(z0, head(tail(s(y0))))) -> c10(MARK(head(tail(s(y0))))) A__TAIL(cons(z0, head(tail(cons(y0, y1))))) -> c10(MARK(head(tail(cons(y0, y1))))) A__TAIL(cons(z0, head(tail(y0)))) -> c10(MARK(head(tail(y0)))) A__TAIL(cons(z0, tail(incr(odds)))) -> c10(MARK(tail(incr(odds)))) A__TAIL(cons(z0, tail(incr(incr(y0))))) -> c10(MARK(tail(incr(incr(y0))))) A__TAIL(cons(z0, tail(incr(head(y0))))) -> c10(MARK(tail(incr(head(y0))))) A__TAIL(cons(z0, tail(incr(tail(y0))))) -> c10(MARK(tail(incr(tail(y0))))) A__TAIL(cons(z0, tail(incr(s(y0))))) -> c10(MARK(tail(incr(s(y0))))) A__TAIL(cons(z0, tail(incr(cons(y0, y1))))) -> c10(MARK(tail(incr(cons(y0, y1))))) A__TAIL(cons(z0, tail(incr(y0)))) -> c10(MARK(tail(incr(y0)))) A__TAIL(cons(z0, tail(head(odds)))) -> c10(MARK(tail(head(odds)))) A__TAIL(cons(z0, tail(head(incr(y0))))) -> c10(MARK(tail(head(incr(y0))))) A__TAIL(cons(z0, tail(head(head(y0))))) -> c10(MARK(tail(head(head(y0))))) A__TAIL(cons(z0, tail(head(tail(y0))))) -> c10(MARK(tail(head(tail(y0))))) A__TAIL(cons(z0, tail(head(s(y0))))) -> c10(MARK(tail(head(s(y0))))) A__TAIL(cons(z0, tail(head(cons(y0, y1))))) -> c10(MARK(tail(head(cons(y0, y1))))) A__TAIL(cons(z0, tail(head(y0)))) -> c10(MARK(tail(head(y0)))) A__TAIL(cons(z0, tail(tail(nats)))) -> c10(MARK(tail(tail(nats)))) A__TAIL(cons(z0, tail(tail(pairs)))) -> c10(MARK(tail(tail(pairs)))) A__TAIL(cons(z0, tail(tail(odds)))) -> c10(MARK(tail(tail(odds)))) A__TAIL(cons(z0, tail(tail(incr(y0))))) -> c10(MARK(tail(tail(incr(y0))))) A__TAIL(cons(z0, tail(tail(head(y0))))) -> c10(MARK(tail(tail(head(y0))))) A__TAIL(cons(z0, tail(tail(tail(y0))))) -> c10(MARK(tail(tail(tail(y0))))) A__TAIL(cons(z0, tail(tail(s(y0))))) -> c10(MARK(tail(tail(s(y0))))) A__TAIL(cons(z0, tail(tail(cons(y0, y1))))) -> c10(MARK(tail(tail(cons(y0, y1))))) A__TAIL(cons(z0, tail(tail(y0)))) -> c10(MARK(tail(tail(y0)))) A__TAIL(cons(z0, tail(pairs))) -> c10(MARK(tail(pairs))) A__TAIL(cons(z0, incr(odds))) -> c10(MARK(incr(odds))) A__TAIL(cons(z0, incr(incr(nats)))) -> c10(MARK(incr(incr(nats)))) A__TAIL(cons(z0, incr(incr(pairs)))) -> c10(MARK(incr(incr(pairs)))) A__TAIL(cons(z0, head(odds))) -> c10(MARK(head(odds))) A__TAIL(cons(z0, head(incr(nats)))) -> c10(MARK(head(incr(nats)))) A__TAIL(cons(z0, head(incr(pairs)))) -> c10(MARK(head(incr(pairs)))) A__TAIL(cons(z0, tail(odds))) -> c10(MARK(tail(odds))) A__TAIL(cons(z0, tail(incr(nats)))) -> c10(MARK(tail(incr(nats)))) A__TAIL(cons(z0, tail(incr(pairs)))) -> c10(MARK(tail(incr(pairs)))) A__TAIL(cons(z0, incr(cons(nats, y0)))) -> c10(MARK(incr(cons(nats, y0)))) A__TAIL(cons(z0, incr(cons(pairs, y0)))) -> c10(MARK(incr(cons(pairs, y0)))) A__TAIL(cons(z0, incr(cons(odds, y0)))) -> c10(MARK(incr(cons(odds, y0)))) A__TAIL(cons(z0, incr(cons(incr(y0), y1)))) -> c10(MARK(incr(cons(incr(y0), y1)))) A__TAIL(cons(z0, incr(cons(head(y0), y1)))) -> c10(MARK(incr(cons(head(y0), y1)))) A__TAIL(cons(z0, incr(cons(tail(y0), y1)))) -> c10(MARK(incr(cons(tail(y0), y1)))) A__TAIL(cons(z0, incr(cons(s(y0), y1)))) -> c10(MARK(incr(cons(s(y0), y1)))) A__TAIL(cons(z0, incr(cons(cons(y0, y1), y2)))) -> c10(MARK(incr(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, incr(cons(y0, y1)))) -> c10(MARK(incr(cons(y0, y1)))) A__TAIL(cons(z0, incr(cons(0, y0)))) -> c10(MARK(incr(cons(0, y0)))) A__TAIL(cons(z0, incr(cons(nil, y0)))) -> c10(MARK(incr(cons(nil, y0)))) A__TAIL(cons(z0, incr(head(nats)))) -> c10(MARK(incr(head(nats)))) A__TAIL(cons(z0, incr(head(pairs)))) -> c10(MARK(incr(head(pairs)))) A__TAIL(cons(z0, head(head(nats)))) -> c10(MARK(head(head(nats)))) A__TAIL(cons(z0, head(head(pairs)))) -> c10(MARK(head(head(pairs)))) A__TAIL(cons(z0, tail(head(nats)))) -> c10(MARK(tail(head(nats)))) A__TAIL(cons(z0, tail(head(pairs)))) -> c10(MARK(tail(head(pairs)))) A__TAIL(cons(z0, head(cons(nats, y0)))) -> c10(MARK(head(cons(nats, y0)))) A__TAIL(cons(z0, head(cons(pairs, y0)))) -> c10(MARK(head(cons(pairs, y0)))) A__TAIL(cons(z0, head(cons(odds, y0)))) -> c10(MARK(head(cons(odds, y0)))) A__TAIL(cons(z0, head(cons(incr(y0), y1)))) -> c10(MARK(head(cons(incr(y0), y1)))) A__TAIL(cons(z0, head(cons(head(y0), y1)))) -> c10(MARK(head(cons(head(y0), y1)))) A__TAIL(cons(z0, head(cons(tail(y0), y1)))) -> c10(MARK(head(cons(tail(y0), y1)))) A__TAIL(cons(z0, head(cons(s(y0), y1)))) -> c10(MARK(head(cons(s(y0), y1)))) A__TAIL(cons(z0, head(cons(cons(y0, y1), y2)))) -> c10(MARK(head(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, head(cons(y0, y1)))) -> c10(MARK(head(cons(y0, y1)))) A__TAIL(cons(z0, head(cons(0, y0)))) -> c10(MARK(head(cons(0, y0)))) A__TAIL(cons(z0, head(cons(nil, y0)))) -> c10(MARK(head(cons(nil, y0)))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats))) MARK(s(s(y0))) -> c19(MARK(s(y0))) MARK(s(cons(y0, y1))) -> c19(MARK(cons(y0, y1))) MARK(s(incr(s(y0)))) -> c19(MARK(incr(s(y0)))) MARK(s(head(s(y0)))) -> c19(MARK(head(s(y0)))) MARK(s(tail(cons(y0, y1)))) -> c19(MARK(tail(cons(y0, y1)))) MARK(s(tail(s(y0)))) -> c19(MARK(tail(s(y0)))) MARK(s(incr(incr(odds)))) -> c19(MARK(incr(incr(odds)))) MARK(s(incr(incr(incr(y0))))) -> c19(MARK(incr(incr(incr(y0))))) MARK(s(incr(incr(head(y0))))) -> c19(MARK(incr(incr(head(y0))))) MARK(s(incr(incr(tail(y0))))) -> c19(MARK(incr(incr(tail(y0))))) MARK(s(incr(incr(s(y0))))) -> c19(MARK(incr(incr(s(y0))))) MARK(s(incr(incr(cons(y0, y1))))) -> c19(MARK(incr(incr(cons(y0, y1))))) MARK(s(incr(incr(y0)))) -> c19(MARK(incr(incr(y0)))) MARK(s(incr(head(odds)))) -> c19(MARK(incr(head(odds)))) MARK(s(incr(head(incr(y0))))) -> c19(MARK(incr(head(incr(y0))))) MARK(s(incr(head(head(y0))))) -> c19(MARK(incr(head(head(y0))))) MARK(s(incr(head(tail(y0))))) -> c19(MARK(incr(head(tail(y0))))) MARK(s(incr(head(s(y0))))) -> c19(MARK(incr(head(s(y0))))) MARK(s(incr(head(cons(y0, y1))))) -> c19(MARK(incr(head(cons(y0, y1))))) MARK(s(incr(head(y0)))) -> c19(MARK(incr(head(y0)))) MARK(s(incr(tail(pairs)))) -> c19(MARK(incr(tail(pairs)))) MARK(s(incr(tail(odds)))) -> c19(MARK(incr(tail(odds)))) MARK(s(incr(tail(incr(y0))))) -> c19(MARK(incr(tail(incr(y0))))) MARK(s(incr(tail(head(y0))))) -> c19(MARK(incr(tail(head(y0))))) MARK(s(incr(tail(tail(y0))))) -> c19(MARK(incr(tail(tail(y0))))) MARK(s(incr(tail(s(y0))))) -> c19(MARK(incr(tail(s(y0))))) MARK(s(incr(tail(cons(y0, y1))))) -> c19(MARK(incr(tail(cons(y0, y1))))) MARK(s(incr(tail(y0)))) -> c19(MARK(incr(tail(y0)))) MARK(s(head(incr(odds)))) -> c19(MARK(head(incr(odds)))) MARK(s(head(incr(incr(y0))))) -> c19(MARK(head(incr(incr(y0))))) MARK(s(head(incr(head(y0))))) -> c19(MARK(head(incr(head(y0))))) MARK(s(head(incr(tail(y0))))) -> c19(MARK(head(incr(tail(y0))))) MARK(s(head(incr(s(y0))))) -> c19(MARK(head(incr(s(y0))))) MARK(s(head(incr(cons(y0, y1))))) -> c19(MARK(head(incr(cons(y0, y1))))) MARK(s(head(incr(y0)))) -> c19(MARK(head(incr(y0)))) MARK(s(head(head(odds)))) -> c19(MARK(head(head(odds)))) MARK(s(head(head(incr(y0))))) -> c19(MARK(head(head(incr(y0))))) MARK(s(head(head(head(y0))))) -> c19(MARK(head(head(head(y0))))) MARK(s(head(head(tail(y0))))) -> c19(MARK(head(head(tail(y0))))) MARK(s(head(head(s(y0))))) -> c19(MARK(head(head(s(y0))))) MARK(s(head(head(cons(y0, y1))))) -> c19(MARK(head(head(cons(y0, y1))))) MARK(s(head(head(y0)))) -> c19(MARK(head(head(y0)))) MARK(s(head(tail(pairs)))) -> c19(MARK(head(tail(pairs)))) MARK(s(head(tail(odds)))) -> c19(MARK(head(tail(odds)))) MARK(s(head(tail(incr(y0))))) -> c19(MARK(head(tail(incr(y0))))) MARK(s(head(tail(head(y0))))) -> c19(MARK(head(tail(head(y0))))) MARK(s(head(tail(tail(y0))))) -> c19(MARK(head(tail(tail(y0))))) MARK(s(head(tail(s(y0))))) -> c19(MARK(head(tail(s(y0))))) MARK(s(head(tail(cons(y0, y1))))) -> c19(MARK(head(tail(cons(y0, y1))))) MARK(s(head(tail(y0)))) -> c19(MARK(head(tail(y0)))) MARK(s(tail(incr(odds)))) -> c19(MARK(tail(incr(odds)))) MARK(s(tail(incr(incr(y0))))) -> c19(MARK(tail(incr(incr(y0))))) MARK(s(tail(incr(head(y0))))) -> c19(MARK(tail(incr(head(y0))))) MARK(s(tail(incr(tail(y0))))) -> c19(MARK(tail(incr(tail(y0))))) MARK(s(tail(incr(s(y0))))) -> c19(MARK(tail(incr(s(y0))))) MARK(s(tail(incr(cons(y0, y1))))) -> c19(MARK(tail(incr(cons(y0, y1))))) MARK(s(tail(incr(y0)))) -> c19(MARK(tail(incr(y0)))) MARK(s(tail(head(odds)))) -> c19(MARK(tail(head(odds)))) MARK(s(tail(head(incr(y0))))) -> c19(MARK(tail(head(incr(y0))))) MARK(s(tail(head(head(y0))))) -> c19(MARK(tail(head(head(y0))))) MARK(s(tail(head(tail(y0))))) -> c19(MARK(tail(head(tail(y0))))) MARK(s(tail(head(s(y0))))) -> c19(MARK(tail(head(s(y0))))) MARK(s(tail(head(cons(y0, y1))))) -> c19(MARK(tail(head(cons(y0, y1))))) MARK(s(tail(head(y0)))) -> c19(MARK(tail(head(y0)))) MARK(s(tail(tail(pairs)))) -> c19(MARK(tail(tail(pairs)))) MARK(s(tail(tail(odds)))) -> c19(MARK(tail(tail(odds)))) MARK(s(tail(tail(incr(y0))))) -> c19(MARK(tail(tail(incr(y0))))) MARK(s(tail(tail(head(y0))))) -> c19(MARK(tail(tail(head(y0))))) MARK(s(tail(tail(tail(y0))))) -> c19(MARK(tail(tail(tail(y0))))) MARK(s(tail(tail(s(y0))))) -> c19(MARK(tail(tail(s(y0))))) MARK(s(tail(tail(cons(y0, y1))))) -> c19(MARK(tail(tail(cons(y0, y1))))) MARK(s(tail(tail(y0)))) -> c19(MARK(tail(tail(y0)))) MARK(s(tail(pairs))) -> c19(MARK(tail(pairs))) MARK(s(incr(odds))) -> c19(MARK(incr(odds))) MARK(s(incr(incr(nats)))) -> c19(MARK(incr(incr(nats)))) MARK(s(incr(incr(pairs)))) -> c19(MARK(incr(incr(pairs)))) MARK(s(head(odds))) -> c19(MARK(head(odds))) MARK(s(head(incr(nats)))) -> c19(MARK(head(incr(nats)))) MARK(s(head(incr(pairs)))) -> c19(MARK(head(incr(pairs)))) MARK(s(tail(odds))) -> c19(MARK(tail(odds))) MARK(s(tail(incr(nats)))) -> c19(MARK(tail(incr(nats)))) MARK(s(tail(incr(pairs)))) -> c19(MARK(tail(incr(pairs)))) MARK(s(incr(cons(nats, y0)))) -> c19(MARK(incr(cons(nats, y0)))) MARK(s(incr(cons(pairs, y0)))) -> c19(MARK(incr(cons(pairs, y0)))) MARK(s(incr(cons(odds, y0)))) -> c19(MARK(incr(cons(odds, y0)))) MARK(s(incr(cons(incr(y0), y1)))) -> c19(MARK(incr(cons(incr(y0), y1)))) MARK(s(incr(cons(head(y0), y1)))) -> c19(MARK(incr(cons(head(y0), y1)))) MARK(s(incr(cons(tail(y0), y1)))) -> c19(MARK(incr(cons(tail(y0), y1)))) MARK(s(incr(cons(s(y0), y1)))) -> c19(MARK(incr(cons(s(y0), y1)))) MARK(s(incr(cons(cons(y0, y1), y2)))) -> c19(MARK(incr(cons(cons(y0, y1), y2)))) MARK(s(incr(cons(y0, y1)))) -> c19(MARK(incr(cons(y0, y1)))) MARK(s(incr(cons(0, y0)))) -> c19(MARK(incr(cons(0, y0)))) MARK(s(incr(cons(nil, y0)))) -> c19(MARK(incr(cons(nil, y0)))) MARK(s(incr(head(nats)))) -> c19(MARK(incr(head(nats)))) MARK(s(incr(head(pairs)))) -> c19(MARK(incr(head(pairs)))) MARK(s(head(head(nats)))) -> c19(MARK(head(head(nats)))) MARK(s(head(head(pairs)))) -> c19(MARK(head(head(pairs)))) MARK(s(tail(head(nats)))) -> c19(MARK(tail(head(nats)))) MARK(s(tail(head(pairs)))) -> c19(MARK(tail(head(pairs)))) MARK(s(head(cons(nats, y0)))) -> c19(MARK(head(cons(nats, y0)))) MARK(s(head(cons(pairs, y0)))) -> c19(MARK(head(cons(pairs, y0)))) MARK(s(head(cons(odds, y0)))) -> c19(MARK(head(cons(odds, y0)))) MARK(s(head(cons(incr(y0), y1)))) -> c19(MARK(head(cons(incr(y0), y1)))) MARK(s(head(cons(head(y0), y1)))) -> c19(MARK(head(cons(head(y0), y1)))) MARK(s(head(cons(tail(y0), y1)))) -> c19(MARK(head(cons(tail(y0), y1)))) MARK(s(head(cons(s(y0), y1)))) -> c19(MARK(head(cons(s(y0), y1)))) MARK(s(head(cons(cons(y0, y1), y2)))) -> c19(MARK(head(cons(cons(y0, y1), y2)))) MARK(s(head(cons(y0, y1)))) -> c19(MARK(head(cons(y0, y1)))) MARK(s(head(cons(0, y0)))) -> c19(MARK(head(cons(0, y0)))) MARK(s(head(cons(nil, y0)))) -> c19(MARK(head(cons(nil, y0)))) MARK(s(incr(tail(nats)))) -> c19(MARK(incr(tail(nats)))) MARK(s(head(tail(nats)))) -> c19(MARK(head(tail(nats)))) MARK(s(tail(tail(nats)))) -> c19(MARK(tail(tail(nats)))) S tuples: MARK(cons(z0, z1)) -> c21(MARK(z0)) MARK(incr(s(z0))) -> c15(MARK(s(z0))) MARK(head(s(z0))) -> c16(MARK(s(z0))) MARK(tail(cons(z0, z1))) -> c17(A__TAIL(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(tail(s(z0))) -> c17(MARK(s(z0))) MARK(incr(incr(odds))) -> c15(A__INCR(a__incr(a__odds)), MARK(incr(odds))) MARK(incr(incr(incr(z0)))) -> c15(A__INCR(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(incr(incr(head(z0)))) -> c15(A__INCR(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(incr(incr(tail(z0)))) -> c15(A__INCR(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(incr(incr(s(z0)))) -> c15(A__INCR(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(incr(incr(cons(z0, z1)))) -> c15(A__INCR(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(incr(incr(x0))) -> c15(MARK(incr(x0))) MARK(incr(head(odds))) -> c15(A__INCR(a__head(a__odds)), MARK(head(odds))) MARK(incr(head(incr(z0)))) -> c15(A__INCR(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(incr(head(head(z0)))) -> c15(A__INCR(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(incr(head(tail(z0)))) -> c15(A__INCR(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(incr(head(s(z0)))) -> c15(A__INCR(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(incr(head(cons(z0, z1)))) -> c15(A__INCR(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(incr(head(x0))) -> c15(MARK(head(x0))) MARK(incr(tail(pairs))) -> c15(A__INCR(a__tail(a__pairs)), MARK(tail(pairs))) MARK(incr(tail(odds))) -> c15(A__INCR(a__tail(a__odds)), MARK(tail(odds))) MARK(incr(tail(incr(z0)))) -> c15(A__INCR(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(incr(tail(head(z0)))) -> c15(A__INCR(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(incr(tail(tail(z0)))) -> c15(A__INCR(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(incr(tail(s(z0)))) -> c15(A__INCR(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(incr(tail(cons(z0, z1)))) -> c15(A__INCR(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(incr(tail(x0))) -> c15(MARK(tail(x0))) MARK(head(incr(odds))) -> c16(A__HEAD(a__incr(a__odds)), MARK(incr(odds))) MARK(head(incr(incr(z0)))) -> c16(A__HEAD(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(head(incr(head(z0)))) -> c16(A__HEAD(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(head(incr(tail(z0)))) -> c16(A__HEAD(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(head(incr(s(z0)))) -> c16(A__HEAD(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(head(incr(cons(z0, z1)))) -> c16(A__HEAD(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(head(incr(x0))) -> c16(MARK(incr(x0))) MARK(head(head(odds))) -> c16(A__HEAD(a__head(a__odds)), MARK(head(odds))) MARK(head(head(incr(z0)))) -> c16(A__HEAD(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(head(head(head(z0)))) -> c16(A__HEAD(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(head(head(tail(z0)))) -> c16(A__HEAD(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(head(head(s(z0)))) -> c16(A__HEAD(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(head(head(cons(z0, z1)))) -> c16(A__HEAD(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(head(head(x0))) -> c16(MARK(head(x0))) MARK(head(tail(pairs))) -> c16(A__HEAD(a__tail(a__pairs)), MARK(tail(pairs))) MARK(head(tail(odds))) -> c16(A__HEAD(a__tail(a__odds)), MARK(tail(odds))) MARK(head(tail(incr(z0)))) -> c16(A__HEAD(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(head(tail(head(z0)))) -> c16(A__HEAD(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(head(tail(tail(z0)))) -> c16(A__HEAD(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(head(tail(s(z0)))) -> c16(A__HEAD(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(head(tail(cons(z0, z1)))) -> c16(A__HEAD(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(head(tail(x0))) -> c16(MARK(tail(x0))) MARK(tail(incr(odds))) -> c17(A__TAIL(a__incr(a__odds)), MARK(incr(odds))) MARK(tail(incr(incr(z0)))) -> c17(A__TAIL(a__incr(a__incr(mark(z0)))), MARK(incr(incr(z0)))) MARK(tail(incr(head(z0)))) -> c17(A__TAIL(a__incr(a__head(mark(z0)))), MARK(incr(head(z0)))) MARK(tail(incr(tail(z0)))) -> c17(A__TAIL(a__incr(a__tail(mark(z0)))), MARK(incr(tail(z0)))) MARK(tail(incr(s(z0)))) -> c17(A__TAIL(a__incr(s(mark(z0)))), MARK(incr(s(z0)))) MARK(tail(incr(cons(z0, z1)))) -> c17(A__TAIL(a__incr(cons(mark(z0), z1))), MARK(incr(cons(z0, z1)))) MARK(tail(incr(x0))) -> c17(MARK(incr(x0))) MARK(tail(head(odds))) -> c17(A__TAIL(a__head(a__odds)), MARK(head(odds))) MARK(tail(head(incr(z0)))) -> c17(A__TAIL(a__head(a__incr(mark(z0)))), MARK(head(incr(z0)))) MARK(tail(head(head(z0)))) -> c17(A__TAIL(a__head(a__head(mark(z0)))), MARK(head(head(z0)))) MARK(tail(head(tail(z0)))) -> c17(A__TAIL(a__head(a__tail(mark(z0)))), MARK(head(tail(z0)))) MARK(tail(head(s(z0)))) -> c17(A__TAIL(a__head(s(mark(z0)))), MARK(head(s(z0)))) MARK(tail(head(cons(z0, z1)))) -> c17(A__TAIL(a__head(cons(mark(z0), z1))), MARK(head(cons(z0, z1)))) MARK(tail(head(x0))) -> c17(MARK(head(x0))) MARK(tail(tail(pairs))) -> c17(A__TAIL(a__tail(a__pairs)), MARK(tail(pairs))) MARK(tail(tail(odds))) -> c17(A__TAIL(a__tail(a__odds)), MARK(tail(odds))) MARK(tail(tail(incr(z0)))) -> c17(A__TAIL(a__tail(a__incr(mark(z0)))), MARK(tail(incr(z0)))) MARK(tail(tail(head(z0)))) -> c17(A__TAIL(a__tail(a__head(mark(z0)))), MARK(tail(head(z0)))) MARK(tail(tail(tail(z0)))) -> c17(A__TAIL(a__tail(a__tail(mark(z0)))), MARK(tail(tail(z0)))) MARK(tail(tail(s(z0)))) -> c17(A__TAIL(a__tail(s(mark(z0)))), MARK(tail(s(z0)))) MARK(tail(tail(cons(z0, z1)))) -> c17(A__TAIL(a__tail(cons(mark(z0), z1))), MARK(tail(cons(z0, z1)))) MARK(tail(tail(x0))) -> c17(MARK(tail(x0))) MARK(tail(pairs)) -> c17(A__TAIL(cons(0, incr(odds)))) A__INCR(cons(s(y0), z1)) -> c6(MARK(s(y0))) A__INCR(cons(cons(y0, y1), z1)) -> c6(MARK(cons(y0, y1))) A__INCR(cons(incr(cons(y0, y1)), z1)) -> c6(MARK(incr(cons(y0, y1)))) A__INCR(cons(incr(s(y0)), z1)) -> c6(MARK(incr(s(y0)))) A__INCR(cons(head(cons(y0, y1)), z1)) -> c6(MARK(head(cons(y0, y1)))) A__INCR(cons(head(s(y0)), z1)) -> c6(MARK(head(s(y0)))) A__INCR(cons(tail(cons(y0, y1)), z1)) -> c6(MARK(tail(cons(y0, y1)))) A__INCR(cons(tail(s(y0)), z1)) -> c6(MARK(tail(s(y0)))) A__INCR(cons(incr(odds), z1)) -> c6(MARK(incr(odds))) A__INCR(cons(incr(incr(nats)), z1)) -> c6(MARK(incr(incr(nats)))) A__INCR(cons(incr(incr(pairs)), z1)) -> c6(MARK(incr(incr(pairs)))) A__INCR(cons(incr(incr(odds)), z1)) -> c6(MARK(incr(incr(odds)))) A__INCR(cons(incr(incr(incr(y0))), z1)) -> c6(MARK(incr(incr(incr(y0))))) A__INCR(cons(incr(incr(head(y0))), z1)) -> c6(MARK(incr(incr(head(y0))))) A__INCR(cons(incr(incr(tail(y0))), z1)) -> c6(MARK(incr(incr(tail(y0))))) A__INCR(cons(incr(incr(s(y0))), z1)) -> c6(MARK(incr(incr(s(y0))))) A__INCR(cons(incr(incr(cons(y0, y1))), z1)) -> c6(MARK(incr(incr(cons(y0, y1))))) A__INCR(cons(incr(incr(y0)), z1)) -> c6(MARK(incr(incr(y0)))) A__INCR(cons(incr(head(nats)), z1)) -> c6(MARK(incr(head(nats)))) A__INCR(cons(incr(head(pairs)), z1)) -> c6(MARK(incr(head(pairs)))) A__INCR(cons(incr(head(odds)), z1)) -> c6(MARK(incr(head(odds)))) A__INCR(cons(incr(head(incr(y0))), z1)) -> c6(MARK(incr(head(incr(y0))))) A__INCR(cons(incr(head(head(y0))), z1)) -> c6(MARK(incr(head(head(y0))))) A__INCR(cons(incr(head(tail(y0))), z1)) -> c6(MARK(incr(head(tail(y0))))) A__INCR(cons(incr(head(s(y0))), z1)) -> c6(MARK(incr(head(s(y0))))) A__INCR(cons(incr(head(cons(y0, y1))), z1)) -> c6(MARK(incr(head(cons(y0, y1))))) A__INCR(cons(incr(head(y0)), z1)) -> c6(MARK(incr(head(y0)))) A__INCR(cons(incr(tail(nats)), z1)) -> c6(MARK(incr(tail(nats)))) A__INCR(cons(incr(tail(pairs)), z1)) -> c6(MARK(incr(tail(pairs)))) A__INCR(cons(incr(tail(odds)), z1)) -> c6(MARK(incr(tail(odds)))) A__INCR(cons(incr(tail(incr(y0))), z1)) -> c6(MARK(incr(tail(incr(y0))))) A__INCR(cons(incr(tail(head(y0))), z1)) -> c6(MARK(incr(tail(head(y0))))) A__INCR(cons(incr(tail(tail(y0))), z1)) -> c6(MARK(incr(tail(tail(y0))))) A__INCR(cons(incr(tail(s(y0))), z1)) -> c6(MARK(incr(tail(s(y0))))) A__INCR(cons(incr(tail(cons(y0, y1))), z1)) -> c6(MARK(incr(tail(cons(y0, y1))))) A__INCR(cons(incr(tail(y0)), z1)) -> c6(MARK(incr(tail(y0)))) A__INCR(cons(head(odds), z1)) -> c6(MARK(head(odds))) A__INCR(cons(head(incr(nats)), z1)) -> c6(MARK(head(incr(nats)))) A__INCR(cons(head(incr(pairs)), z1)) -> c6(MARK(head(incr(pairs)))) A__INCR(cons(head(incr(odds)), z1)) -> c6(MARK(head(incr(odds)))) A__INCR(cons(head(incr(incr(y0))), z1)) -> c6(MARK(head(incr(incr(y0))))) A__INCR(cons(head(incr(head(y0))), z1)) -> c6(MARK(head(incr(head(y0))))) A__INCR(cons(head(incr(tail(y0))), z1)) -> c6(MARK(head(incr(tail(y0))))) A__INCR(cons(head(incr(s(y0))), z1)) -> c6(MARK(head(incr(s(y0))))) A__INCR(cons(head(incr(cons(y0, y1))), z1)) -> c6(MARK(head(incr(cons(y0, y1))))) A__INCR(cons(head(incr(y0)), z1)) -> c6(MARK(head(incr(y0)))) A__INCR(cons(head(head(nats)), z1)) -> c6(MARK(head(head(nats)))) A__INCR(cons(head(head(pairs)), z1)) -> c6(MARK(head(head(pairs)))) A__INCR(cons(head(head(odds)), z1)) -> c6(MARK(head(head(odds)))) A__INCR(cons(head(head(incr(y0))), z1)) -> c6(MARK(head(head(incr(y0))))) A__INCR(cons(head(head(head(y0))), z1)) -> c6(MARK(head(head(head(y0))))) A__INCR(cons(head(head(tail(y0))), z1)) -> c6(MARK(head(head(tail(y0))))) A__INCR(cons(head(head(s(y0))), z1)) -> c6(MARK(head(head(s(y0))))) A__INCR(cons(head(head(cons(y0, y1))), z1)) -> c6(MARK(head(head(cons(y0, y1))))) A__INCR(cons(head(head(y0)), z1)) -> c6(MARK(head(head(y0)))) A__INCR(cons(head(tail(nats)), z1)) -> c6(MARK(head(tail(nats)))) A__INCR(cons(head(tail(pairs)), z1)) -> c6(MARK(head(tail(pairs)))) A__INCR(cons(head(tail(odds)), z1)) -> c6(MARK(head(tail(odds)))) A__INCR(cons(head(tail(incr(y0))), z1)) -> c6(MARK(head(tail(incr(y0))))) A__INCR(cons(head(tail(head(y0))), z1)) -> c6(MARK(head(tail(head(y0))))) A__INCR(cons(head(tail(tail(y0))), z1)) -> c6(MARK(head(tail(tail(y0))))) A__INCR(cons(head(tail(s(y0))), z1)) -> c6(MARK(head(tail(s(y0))))) A__INCR(cons(head(tail(cons(y0, y1))), z1)) -> c6(MARK(head(tail(cons(y0, y1))))) A__INCR(cons(head(tail(y0)), z1)) -> c6(MARK(head(tail(y0)))) A__INCR(cons(tail(odds), z1)) -> c6(MARK(tail(odds))) A__INCR(cons(tail(incr(nats)), z1)) -> c6(MARK(tail(incr(nats)))) A__INCR(cons(tail(incr(pairs)), z1)) -> c6(MARK(tail(incr(pairs)))) A__INCR(cons(tail(incr(odds)), z1)) -> c6(MARK(tail(incr(odds)))) A__INCR(cons(tail(incr(incr(y0))), z1)) -> c6(MARK(tail(incr(incr(y0))))) A__INCR(cons(tail(incr(head(y0))), z1)) -> c6(MARK(tail(incr(head(y0))))) A__INCR(cons(tail(incr(tail(y0))), z1)) -> c6(MARK(tail(incr(tail(y0))))) A__INCR(cons(tail(incr(s(y0))), z1)) -> c6(MARK(tail(incr(s(y0))))) A__INCR(cons(tail(incr(cons(y0, y1))), z1)) -> c6(MARK(tail(incr(cons(y0, y1))))) A__INCR(cons(tail(incr(y0)), z1)) -> c6(MARK(tail(incr(y0)))) A__INCR(cons(tail(head(nats)), z1)) -> c6(MARK(tail(head(nats)))) A__INCR(cons(tail(head(pairs)), z1)) -> c6(MARK(tail(head(pairs)))) A__INCR(cons(tail(head(odds)), z1)) -> c6(MARK(tail(head(odds)))) A__INCR(cons(tail(head(incr(y0))), z1)) -> c6(MARK(tail(head(incr(y0))))) A__INCR(cons(tail(head(head(y0))), z1)) -> c6(MARK(tail(head(head(y0))))) A__INCR(cons(tail(head(tail(y0))), z1)) -> c6(MARK(tail(head(tail(y0))))) A__INCR(cons(tail(head(s(y0))), z1)) -> c6(MARK(tail(head(s(y0))))) A__INCR(cons(tail(head(cons(y0, y1))), z1)) -> c6(MARK(tail(head(cons(y0, y1))))) A__INCR(cons(tail(head(y0)), z1)) -> c6(MARK(tail(head(y0)))) A__INCR(cons(tail(tail(nats)), z1)) -> c6(MARK(tail(tail(nats)))) A__INCR(cons(tail(tail(pairs)), z1)) -> c6(MARK(tail(tail(pairs)))) A__INCR(cons(tail(tail(odds)), z1)) -> c6(MARK(tail(tail(odds)))) A__INCR(cons(tail(tail(incr(y0))), z1)) -> c6(MARK(tail(tail(incr(y0))))) A__INCR(cons(tail(tail(head(y0))), z1)) -> c6(MARK(tail(tail(head(y0))))) A__INCR(cons(tail(tail(tail(y0))), z1)) -> c6(MARK(tail(tail(tail(y0))))) A__INCR(cons(tail(tail(s(y0))), z1)) -> c6(MARK(tail(tail(s(y0))))) A__INCR(cons(tail(tail(cons(y0, y1))), z1)) -> c6(MARK(tail(tail(cons(y0, y1))))) A__INCR(cons(tail(tail(y0)), z1)) -> c6(MARK(tail(tail(y0)))) A__INCR(cons(tail(pairs), z1)) -> c6(MARK(tail(pairs))) MARK(incr(odds)) -> c15(A__INCR(a__incr(a__pairs))) MARK(incr(incr(nats))) -> c15(A__INCR(a__incr(a__nats))) MARK(incr(incr(pairs))) -> c15(A__INCR(a__incr(a__pairs))) MARK(head(odds)) -> c16(A__HEAD(a__incr(a__pairs))) MARK(head(incr(nats))) -> c16(A__HEAD(a__incr(a__nats))) MARK(head(incr(pairs))) -> c16(A__HEAD(a__incr(a__pairs))) MARK(tail(odds)) -> c17(A__TAIL(a__incr(a__pairs))) MARK(tail(incr(nats))) -> c17(A__TAIL(a__incr(a__nats))) MARK(tail(incr(pairs))) -> c17(A__TAIL(a__incr(a__pairs))) MARK(incr(cons(nats, x1))) -> c15(A__INCR(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(incr(cons(pairs, x1))) -> c15(A__INCR(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(incr(cons(odds, x1))) -> c15(A__INCR(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(incr(cons(incr(z0), x1))) -> c15(A__INCR(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(incr(cons(head(z0), x1))) -> c15(A__INCR(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(incr(cons(tail(z0), x1))) -> c15(A__INCR(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(incr(cons(s(z0), x1))) -> c15(A__INCR(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(incr(cons(cons(z0, z1), x1))) -> c15(A__INCR(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(incr(cons(x0, x1))) -> c15(MARK(cons(x0, x1))) MARK(incr(cons(0, x1))) -> c15(MARK(cons(0, x1))) MARK(incr(cons(nil, x1))) -> c15(MARK(cons(nil, x1))) A__HEAD(cons(s(y0), z1)) -> c8(MARK(s(y0))) A__HEAD(cons(cons(y0, y1), z1)) -> c8(MARK(cons(y0, y1))) A__HEAD(cons(incr(s(y0)), z1)) -> c8(MARK(incr(s(y0)))) A__HEAD(cons(head(cons(y0, y1)), z1)) -> c8(MARK(head(cons(y0, y1)))) A__HEAD(cons(head(s(y0)), z1)) -> c8(MARK(head(s(y0)))) A__HEAD(cons(tail(cons(y0, y1)), z1)) -> c8(MARK(tail(cons(y0, y1)))) A__HEAD(cons(tail(s(y0)), z1)) -> c8(MARK(tail(s(y0)))) A__HEAD(cons(incr(incr(odds)), z1)) -> c8(MARK(incr(incr(odds)))) A__HEAD(cons(incr(incr(incr(y0))), z1)) -> c8(MARK(incr(incr(incr(y0))))) A__HEAD(cons(incr(incr(head(y0))), z1)) -> c8(MARK(incr(incr(head(y0))))) A__HEAD(cons(incr(incr(tail(y0))), z1)) -> c8(MARK(incr(incr(tail(y0))))) A__HEAD(cons(incr(incr(s(y0))), z1)) -> c8(MARK(incr(incr(s(y0))))) A__HEAD(cons(incr(incr(cons(y0, y1))), z1)) -> c8(MARK(incr(incr(cons(y0, y1))))) A__HEAD(cons(incr(incr(y0)), z1)) -> c8(MARK(incr(incr(y0)))) A__HEAD(cons(incr(head(nats)), z1)) -> c8(MARK(incr(head(nats)))) A__HEAD(cons(incr(head(pairs)), z1)) -> c8(MARK(incr(head(pairs)))) A__HEAD(cons(incr(head(odds)), z1)) -> c8(MARK(incr(head(odds)))) A__HEAD(cons(incr(head(incr(y0))), z1)) -> c8(MARK(incr(head(incr(y0))))) A__HEAD(cons(incr(head(head(y0))), z1)) -> c8(MARK(incr(head(head(y0))))) A__HEAD(cons(incr(head(tail(y0))), z1)) -> c8(MARK(incr(head(tail(y0))))) A__HEAD(cons(incr(head(s(y0))), z1)) -> c8(MARK(incr(head(s(y0))))) A__HEAD(cons(incr(head(cons(y0, y1))), z1)) -> c8(MARK(incr(head(cons(y0, y1))))) A__HEAD(cons(incr(head(y0)), z1)) -> c8(MARK(incr(head(y0)))) A__HEAD(cons(incr(tail(nats)), z1)) -> c8(MARK(incr(tail(nats)))) A__HEAD(cons(incr(tail(pairs)), z1)) -> c8(MARK(incr(tail(pairs)))) A__HEAD(cons(incr(tail(odds)), z1)) -> c8(MARK(incr(tail(odds)))) A__HEAD(cons(incr(tail(incr(y0))), z1)) -> c8(MARK(incr(tail(incr(y0))))) A__HEAD(cons(incr(tail(head(y0))), z1)) -> c8(MARK(incr(tail(head(y0))))) A__HEAD(cons(incr(tail(tail(y0))), z1)) -> c8(MARK(incr(tail(tail(y0))))) A__HEAD(cons(incr(tail(s(y0))), z1)) -> c8(MARK(incr(tail(s(y0))))) A__HEAD(cons(incr(tail(cons(y0, y1))), z1)) -> c8(MARK(incr(tail(cons(y0, y1))))) A__HEAD(cons(incr(tail(y0)), z1)) -> c8(MARK(incr(tail(y0)))) A__HEAD(cons(head(incr(odds)), z1)) -> c8(MARK(head(incr(odds)))) A__HEAD(cons(head(incr(incr(y0))), z1)) -> c8(MARK(head(incr(incr(y0))))) A__HEAD(cons(head(incr(head(y0))), z1)) -> c8(MARK(head(incr(head(y0))))) A__HEAD(cons(head(incr(tail(y0))), z1)) -> c8(MARK(head(incr(tail(y0))))) A__HEAD(cons(head(incr(s(y0))), z1)) -> c8(MARK(head(incr(s(y0))))) A__HEAD(cons(head(incr(cons(y0, y1))), z1)) -> c8(MARK(head(incr(cons(y0, y1))))) A__HEAD(cons(head(incr(y0)), z1)) -> c8(MARK(head(incr(y0)))) A__HEAD(cons(head(head(nats)), z1)) -> c8(MARK(head(head(nats)))) A__HEAD(cons(head(head(pairs)), z1)) -> c8(MARK(head(head(pairs)))) A__HEAD(cons(head(head(odds)), z1)) -> c8(MARK(head(head(odds)))) A__HEAD(cons(head(head(incr(y0))), z1)) -> c8(MARK(head(head(incr(y0))))) A__HEAD(cons(head(head(head(y0))), z1)) -> c8(MARK(head(head(head(y0))))) A__HEAD(cons(head(head(tail(y0))), z1)) -> c8(MARK(head(head(tail(y0))))) A__HEAD(cons(head(head(s(y0))), z1)) -> c8(MARK(head(head(s(y0))))) A__HEAD(cons(head(head(cons(y0, y1))), z1)) -> c8(MARK(head(head(cons(y0, y1))))) A__HEAD(cons(head(head(y0)), z1)) -> c8(MARK(head(head(y0)))) A__HEAD(cons(head(tail(nats)), z1)) -> c8(MARK(head(tail(nats)))) A__HEAD(cons(head(tail(pairs)), z1)) -> c8(MARK(head(tail(pairs)))) A__HEAD(cons(head(tail(odds)), z1)) -> c8(MARK(head(tail(odds)))) A__HEAD(cons(head(tail(incr(y0))), z1)) -> c8(MARK(head(tail(incr(y0))))) A__HEAD(cons(head(tail(head(y0))), z1)) -> c8(MARK(head(tail(head(y0))))) A__HEAD(cons(head(tail(tail(y0))), z1)) -> c8(MARK(head(tail(tail(y0))))) A__HEAD(cons(head(tail(s(y0))), z1)) -> c8(MARK(head(tail(s(y0))))) A__HEAD(cons(head(tail(cons(y0, y1))), z1)) -> c8(MARK(head(tail(cons(y0, y1))))) A__HEAD(cons(head(tail(y0)), z1)) -> c8(MARK(head(tail(y0)))) A__HEAD(cons(tail(incr(odds)), z1)) -> c8(MARK(tail(incr(odds)))) A__HEAD(cons(tail(incr(incr(y0))), z1)) -> c8(MARK(tail(incr(incr(y0))))) A__HEAD(cons(tail(incr(head(y0))), z1)) -> c8(MARK(tail(incr(head(y0))))) A__HEAD(cons(tail(incr(tail(y0))), z1)) -> c8(MARK(tail(incr(tail(y0))))) A__HEAD(cons(tail(incr(s(y0))), z1)) -> c8(MARK(tail(incr(s(y0))))) A__HEAD(cons(tail(incr(cons(y0, y1))), z1)) -> c8(MARK(tail(incr(cons(y0, y1))))) A__HEAD(cons(tail(incr(y0)), z1)) -> c8(MARK(tail(incr(y0)))) A__HEAD(cons(tail(head(nats)), z1)) -> c8(MARK(tail(head(nats)))) A__HEAD(cons(tail(head(pairs)), z1)) -> c8(MARK(tail(head(pairs)))) A__HEAD(cons(tail(head(odds)), z1)) -> c8(MARK(tail(head(odds)))) A__HEAD(cons(tail(head(incr(y0))), z1)) -> c8(MARK(tail(head(incr(y0))))) A__HEAD(cons(tail(head(head(y0))), z1)) -> c8(MARK(tail(head(head(y0))))) A__HEAD(cons(tail(head(tail(y0))), z1)) -> c8(MARK(tail(head(tail(y0))))) A__HEAD(cons(tail(head(s(y0))), z1)) -> c8(MARK(tail(head(s(y0))))) A__HEAD(cons(tail(head(cons(y0, y1))), z1)) -> c8(MARK(tail(head(cons(y0, y1))))) A__HEAD(cons(tail(head(y0)), z1)) -> c8(MARK(tail(head(y0)))) A__HEAD(cons(tail(tail(nats)), z1)) -> c8(MARK(tail(tail(nats)))) A__HEAD(cons(tail(tail(pairs)), z1)) -> c8(MARK(tail(tail(pairs)))) A__HEAD(cons(tail(tail(odds)), z1)) -> c8(MARK(tail(tail(odds)))) A__HEAD(cons(tail(tail(incr(y0))), z1)) -> c8(MARK(tail(tail(incr(y0))))) A__HEAD(cons(tail(tail(head(y0))), z1)) -> c8(MARK(tail(tail(head(y0))))) A__HEAD(cons(tail(tail(tail(y0))), z1)) -> c8(MARK(tail(tail(tail(y0))))) A__HEAD(cons(tail(tail(s(y0))), z1)) -> c8(MARK(tail(tail(s(y0))))) A__HEAD(cons(tail(tail(cons(y0, y1))), z1)) -> c8(MARK(tail(tail(cons(y0, y1))))) A__HEAD(cons(tail(tail(y0)), z1)) -> c8(MARK(tail(tail(y0)))) A__HEAD(cons(tail(pairs), z1)) -> c8(MARK(tail(pairs))) A__HEAD(cons(incr(odds), z1)) -> c8(MARK(incr(odds))) A__HEAD(cons(incr(incr(nats)), z1)) -> c8(MARK(incr(incr(nats)))) A__HEAD(cons(incr(incr(pairs)), z1)) -> c8(MARK(incr(incr(pairs)))) A__HEAD(cons(head(odds), z1)) -> c8(MARK(head(odds))) A__HEAD(cons(head(incr(nats)), z1)) -> c8(MARK(head(incr(nats)))) A__HEAD(cons(head(incr(pairs)), z1)) -> c8(MARK(head(incr(pairs)))) A__HEAD(cons(tail(odds), z1)) -> c8(MARK(tail(odds))) A__HEAD(cons(tail(incr(nats)), z1)) -> c8(MARK(tail(incr(nats)))) A__HEAD(cons(tail(incr(pairs)), z1)) -> c8(MARK(tail(incr(pairs)))) A__HEAD(cons(incr(cons(nats, y0)), z1)) -> c8(MARK(incr(cons(nats, y0)))) A__HEAD(cons(incr(cons(pairs, y0)), z1)) -> c8(MARK(incr(cons(pairs, y0)))) A__HEAD(cons(incr(cons(odds, y0)), z1)) -> c8(MARK(incr(cons(odds, y0)))) A__HEAD(cons(incr(cons(incr(y0), y1)), z1)) -> c8(MARK(incr(cons(incr(y0), y1)))) A__HEAD(cons(incr(cons(head(y0), y1)), z1)) -> c8(MARK(incr(cons(head(y0), y1)))) A__HEAD(cons(incr(cons(tail(y0), y1)), z1)) -> c8(MARK(incr(cons(tail(y0), y1)))) A__HEAD(cons(incr(cons(s(y0), y1)), z1)) -> c8(MARK(incr(cons(s(y0), y1)))) A__HEAD(cons(incr(cons(cons(y0, y1), y2)), z1)) -> c8(MARK(incr(cons(cons(y0, y1), y2)))) A__HEAD(cons(incr(cons(y0, y1)), z1)) -> c8(MARK(incr(cons(y0, y1)))) A__HEAD(cons(incr(cons(0, y0)), z1)) -> c8(MARK(incr(cons(0, y0)))) A__HEAD(cons(incr(cons(nil, y0)), z1)) -> c8(MARK(incr(cons(nil, y0)))) MARK(incr(head(nats))) -> c15(A__INCR(a__head(a__nats))) MARK(incr(head(pairs))) -> c15(A__INCR(a__head(a__pairs))) MARK(head(head(nats))) -> c16(A__HEAD(a__head(a__nats))) MARK(head(head(pairs))) -> c16(A__HEAD(a__head(a__pairs))) MARK(tail(head(nats))) -> c17(A__TAIL(a__head(a__nats))) MARK(tail(head(pairs))) -> c17(A__TAIL(a__head(a__pairs))) MARK(head(cons(nats, x1))) -> c16(A__HEAD(cons(a__nats, x1)), MARK(cons(nats, x1))) MARK(head(cons(pairs, x1))) -> c16(A__HEAD(cons(a__pairs, x1)), MARK(cons(pairs, x1))) MARK(head(cons(odds, x1))) -> c16(A__HEAD(cons(a__odds, x1)), MARK(cons(odds, x1))) MARK(head(cons(incr(z0), x1))) -> c16(A__HEAD(cons(a__incr(mark(z0)), x1)), MARK(cons(incr(z0), x1))) MARK(head(cons(head(z0), x1))) -> c16(A__HEAD(cons(a__head(mark(z0)), x1)), MARK(cons(head(z0), x1))) MARK(head(cons(tail(z0), x1))) -> c16(A__HEAD(cons(a__tail(mark(z0)), x1)), MARK(cons(tail(z0), x1))) MARK(head(cons(s(z0), x1))) -> c16(A__HEAD(cons(s(mark(z0)), x1)), MARK(cons(s(z0), x1))) MARK(head(cons(cons(z0, z1), x1))) -> c16(A__HEAD(cons(cons(mark(z0), z1), x1)), MARK(cons(cons(z0, z1), x1))) MARK(head(cons(x0, x1))) -> c16(MARK(cons(x0, x1))) MARK(head(cons(0, x1))) -> c16(MARK(cons(0, x1))) MARK(head(cons(nil, x1))) -> c16(MARK(cons(nil, x1))) A__TAIL(cons(z0, s(y0))) -> c10(MARK(s(y0))) A__TAIL(cons(z0, cons(y0, y1))) -> c10(MARK(cons(y0, y1))) A__TAIL(cons(z0, incr(s(y0)))) -> c10(MARK(incr(s(y0)))) A__TAIL(cons(z0, head(s(y0)))) -> c10(MARK(head(s(y0)))) A__TAIL(cons(z0, tail(cons(y0, y1)))) -> c10(MARK(tail(cons(y0, y1)))) A__TAIL(cons(z0, tail(s(y0)))) -> c10(MARK(tail(s(y0)))) A__TAIL(cons(z0, incr(incr(odds)))) -> c10(MARK(incr(incr(odds)))) A__TAIL(cons(z0, incr(incr(incr(y0))))) -> c10(MARK(incr(incr(incr(y0))))) A__TAIL(cons(z0, incr(incr(head(y0))))) -> c10(MARK(incr(incr(head(y0))))) A__TAIL(cons(z0, incr(incr(tail(y0))))) -> c10(MARK(incr(incr(tail(y0))))) A__TAIL(cons(z0, incr(incr(s(y0))))) -> c10(MARK(incr(incr(s(y0))))) A__TAIL(cons(z0, incr(incr(cons(y0, y1))))) -> c10(MARK(incr(incr(cons(y0, y1))))) A__TAIL(cons(z0, incr(incr(y0)))) -> c10(MARK(incr(incr(y0)))) A__TAIL(cons(z0, incr(head(odds)))) -> c10(MARK(incr(head(odds)))) A__TAIL(cons(z0, incr(head(incr(y0))))) -> c10(MARK(incr(head(incr(y0))))) A__TAIL(cons(z0, incr(head(head(y0))))) -> c10(MARK(incr(head(head(y0))))) A__TAIL(cons(z0, incr(head(tail(y0))))) -> c10(MARK(incr(head(tail(y0))))) A__TAIL(cons(z0, incr(head(s(y0))))) -> c10(MARK(incr(head(s(y0))))) A__TAIL(cons(z0, incr(head(cons(y0, y1))))) -> c10(MARK(incr(head(cons(y0, y1))))) A__TAIL(cons(z0, incr(head(y0)))) -> c10(MARK(incr(head(y0)))) A__TAIL(cons(z0, incr(tail(nats)))) -> c10(MARK(incr(tail(nats)))) A__TAIL(cons(z0, incr(tail(pairs)))) -> c10(MARK(incr(tail(pairs)))) A__TAIL(cons(z0, incr(tail(odds)))) -> c10(MARK(incr(tail(odds)))) A__TAIL(cons(z0, incr(tail(incr(y0))))) -> c10(MARK(incr(tail(incr(y0))))) A__TAIL(cons(z0, incr(tail(head(y0))))) -> c10(MARK(incr(tail(head(y0))))) A__TAIL(cons(z0, incr(tail(tail(y0))))) -> c10(MARK(incr(tail(tail(y0))))) A__TAIL(cons(z0, incr(tail(s(y0))))) -> c10(MARK(incr(tail(s(y0))))) A__TAIL(cons(z0, incr(tail(cons(y0, y1))))) -> c10(MARK(incr(tail(cons(y0, y1))))) A__TAIL(cons(z0, incr(tail(y0)))) -> c10(MARK(incr(tail(y0)))) A__TAIL(cons(z0, head(incr(odds)))) -> c10(MARK(head(incr(odds)))) A__TAIL(cons(z0, head(incr(incr(y0))))) -> c10(MARK(head(incr(incr(y0))))) A__TAIL(cons(z0, head(incr(head(y0))))) -> c10(MARK(head(incr(head(y0))))) A__TAIL(cons(z0, head(incr(tail(y0))))) -> c10(MARK(head(incr(tail(y0))))) A__TAIL(cons(z0, head(incr(s(y0))))) -> c10(MARK(head(incr(s(y0))))) A__TAIL(cons(z0, head(incr(cons(y0, y1))))) -> c10(MARK(head(incr(cons(y0, y1))))) A__TAIL(cons(z0, head(incr(y0)))) -> c10(MARK(head(incr(y0)))) A__TAIL(cons(z0, head(head(odds)))) -> c10(MARK(head(head(odds)))) A__TAIL(cons(z0, head(head(incr(y0))))) -> c10(MARK(head(head(incr(y0))))) A__TAIL(cons(z0, head(head(head(y0))))) -> c10(MARK(head(head(head(y0))))) A__TAIL(cons(z0, head(head(tail(y0))))) -> c10(MARK(head(head(tail(y0))))) A__TAIL(cons(z0, head(head(s(y0))))) -> c10(MARK(head(head(s(y0))))) A__TAIL(cons(z0, head(head(cons(y0, y1))))) -> c10(MARK(head(head(cons(y0, y1))))) A__TAIL(cons(z0, head(head(y0)))) -> c10(MARK(head(head(y0)))) A__TAIL(cons(z0, head(tail(nats)))) -> c10(MARK(head(tail(nats)))) A__TAIL(cons(z0, head(tail(pairs)))) -> c10(MARK(head(tail(pairs)))) A__TAIL(cons(z0, head(tail(odds)))) -> c10(MARK(head(tail(odds)))) A__TAIL(cons(z0, head(tail(incr(y0))))) -> c10(MARK(head(tail(incr(y0))))) A__TAIL(cons(z0, head(tail(head(y0))))) -> c10(MARK(head(tail(head(y0))))) A__TAIL(cons(z0, head(tail(tail(y0))))) -> c10(MARK(head(tail(tail(y0))))) A__TAIL(cons(z0, head(tail(s(y0))))) -> c10(MARK(head(tail(s(y0))))) A__TAIL(cons(z0, head(tail(cons(y0, y1))))) -> c10(MARK(head(tail(cons(y0, y1))))) A__TAIL(cons(z0, head(tail(y0)))) -> c10(MARK(head(tail(y0)))) A__TAIL(cons(z0, tail(incr(odds)))) -> c10(MARK(tail(incr(odds)))) A__TAIL(cons(z0, tail(incr(incr(y0))))) -> c10(MARK(tail(incr(incr(y0))))) A__TAIL(cons(z0, tail(incr(head(y0))))) -> c10(MARK(tail(incr(head(y0))))) A__TAIL(cons(z0, tail(incr(tail(y0))))) -> c10(MARK(tail(incr(tail(y0))))) A__TAIL(cons(z0, tail(incr(s(y0))))) -> c10(MARK(tail(incr(s(y0))))) A__TAIL(cons(z0, tail(incr(cons(y0, y1))))) -> c10(MARK(tail(incr(cons(y0, y1))))) A__TAIL(cons(z0, tail(incr(y0)))) -> c10(MARK(tail(incr(y0)))) A__TAIL(cons(z0, tail(head(odds)))) -> c10(MARK(tail(head(odds)))) A__TAIL(cons(z0, tail(head(incr(y0))))) -> c10(MARK(tail(head(incr(y0))))) A__TAIL(cons(z0, tail(head(head(y0))))) -> c10(MARK(tail(head(head(y0))))) A__TAIL(cons(z0, tail(head(tail(y0))))) -> c10(MARK(tail(head(tail(y0))))) A__TAIL(cons(z0, tail(head(s(y0))))) -> c10(MARK(tail(head(s(y0))))) A__TAIL(cons(z0, tail(head(cons(y0, y1))))) -> c10(MARK(tail(head(cons(y0, y1))))) A__TAIL(cons(z0, tail(head(y0)))) -> c10(MARK(tail(head(y0)))) A__TAIL(cons(z0, tail(tail(nats)))) -> c10(MARK(tail(tail(nats)))) A__TAIL(cons(z0, tail(tail(pairs)))) -> c10(MARK(tail(tail(pairs)))) A__TAIL(cons(z0, tail(tail(odds)))) -> c10(MARK(tail(tail(odds)))) A__TAIL(cons(z0, tail(tail(incr(y0))))) -> c10(MARK(tail(tail(incr(y0))))) A__TAIL(cons(z0, tail(tail(head(y0))))) -> c10(MARK(tail(tail(head(y0))))) A__TAIL(cons(z0, tail(tail(tail(y0))))) -> c10(MARK(tail(tail(tail(y0))))) A__TAIL(cons(z0, tail(tail(s(y0))))) -> c10(MARK(tail(tail(s(y0))))) A__TAIL(cons(z0, tail(tail(cons(y0, y1))))) -> c10(MARK(tail(tail(cons(y0, y1))))) A__TAIL(cons(z0, tail(tail(y0)))) -> c10(MARK(tail(tail(y0)))) A__TAIL(cons(z0, tail(pairs))) -> c10(MARK(tail(pairs))) A__TAIL(cons(z0, incr(odds))) -> c10(MARK(incr(odds))) A__TAIL(cons(z0, incr(incr(nats)))) -> c10(MARK(incr(incr(nats)))) A__TAIL(cons(z0, incr(incr(pairs)))) -> c10(MARK(incr(incr(pairs)))) A__TAIL(cons(z0, head(odds))) -> c10(MARK(head(odds))) A__TAIL(cons(z0, head(incr(nats)))) -> c10(MARK(head(incr(nats)))) A__TAIL(cons(z0, head(incr(pairs)))) -> c10(MARK(head(incr(pairs)))) A__TAIL(cons(z0, tail(odds))) -> c10(MARK(tail(odds))) A__TAIL(cons(z0, tail(incr(nats)))) -> c10(MARK(tail(incr(nats)))) A__TAIL(cons(z0, tail(incr(pairs)))) -> c10(MARK(tail(incr(pairs)))) A__TAIL(cons(z0, incr(cons(nats, y0)))) -> c10(MARK(incr(cons(nats, y0)))) A__TAIL(cons(z0, incr(cons(pairs, y0)))) -> c10(MARK(incr(cons(pairs, y0)))) A__TAIL(cons(z0, incr(cons(odds, y0)))) -> c10(MARK(incr(cons(odds, y0)))) A__TAIL(cons(z0, incr(cons(incr(y0), y1)))) -> c10(MARK(incr(cons(incr(y0), y1)))) A__TAIL(cons(z0, incr(cons(head(y0), y1)))) -> c10(MARK(incr(cons(head(y0), y1)))) A__TAIL(cons(z0, incr(cons(tail(y0), y1)))) -> c10(MARK(incr(cons(tail(y0), y1)))) A__TAIL(cons(z0, incr(cons(s(y0), y1)))) -> c10(MARK(incr(cons(s(y0), y1)))) A__TAIL(cons(z0, incr(cons(cons(y0, y1), y2)))) -> c10(MARK(incr(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, incr(cons(y0, y1)))) -> c10(MARK(incr(cons(y0, y1)))) A__TAIL(cons(z0, incr(cons(0, y0)))) -> c10(MARK(incr(cons(0, y0)))) A__TAIL(cons(z0, incr(cons(nil, y0)))) -> c10(MARK(incr(cons(nil, y0)))) A__TAIL(cons(z0, incr(head(nats)))) -> c10(MARK(incr(head(nats)))) A__TAIL(cons(z0, incr(head(pairs)))) -> c10(MARK(incr(head(pairs)))) A__TAIL(cons(z0, head(head(nats)))) -> c10(MARK(head(head(nats)))) A__TAIL(cons(z0, head(head(pairs)))) -> c10(MARK(head(head(pairs)))) A__TAIL(cons(z0, tail(head(nats)))) -> c10(MARK(tail(head(nats)))) A__TAIL(cons(z0, tail(head(pairs)))) -> c10(MARK(tail(head(pairs)))) A__TAIL(cons(z0, head(cons(nats, y0)))) -> c10(MARK(head(cons(nats, y0)))) A__TAIL(cons(z0, head(cons(pairs, y0)))) -> c10(MARK(head(cons(pairs, y0)))) A__TAIL(cons(z0, head(cons(odds, y0)))) -> c10(MARK(head(cons(odds, y0)))) A__TAIL(cons(z0, head(cons(incr(y0), y1)))) -> c10(MARK(head(cons(incr(y0), y1)))) A__TAIL(cons(z0, head(cons(head(y0), y1)))) -> c10(MARK(head(cons(head(y0), y1)))) A__TAIL(cons(z0, head(cons(tail(y0), y1)))) -> c10(MARK(head(cons(tail(y0), y1)))) A__TAIL(cons(z0, head(cons(s(y0), y1)))) -> c10(MARK(head(cons(s(y0), y1)))) A__TAIL(cons(z0, head(cons(cons(y0, y1), y2)))) -> c10(MARK(head(cons(cons(y0, y1), y2)))) A__TAIL(cons(z0, head(cons(y0, y1)))) -> c10(MARK(head(cons(y0, y1)))) A__TAIL(cons(z0, head(cons(0, y0)))) -> c10(MARK(head(cons(0, y0)))) A__TAIL(cons(z0, head(cons(nil, y0)))) -> c10(MARK(head(cons(nil, y0)))) MARK(incr(tail(nats))) -> c15(A__INCR(a__tail(a__nats))) MARK(head(tail(nats))) -> c16(A__HEAD(a__tail(a__nats))) MARK(tail(tail(nats))) -> c17(A__TAIL(a__tail(a__nats))) MARK(s(s(y0))) -> c19(MARK(s(y0))) MARK(s(cons(y0, y1))) -> c19(MARK(cons(y0, y1))) MARK(s(incr(s(y0)))) -> c19(MARK(incr(s(y0)))) MARK(s(head(s(y0)))) -> c19(MARK(head(s(y0)))) MARK(s(tail(cons(y0, y1)))) -> c19(MARK(tail(cons(y0, y1)))) MARK(s(tail(s(y0)))) -> c19(MARK(tail(s(y0)))) MARK(s(incr(incr(odds)))) -> c19(MARK(incr(incr(odds)))) MARK(s(incr(incr(incr(y0))))) -> c19(MARK(incr(incr(incr(y0))))) MARK(s(incr(incr(head(y0))))) -> c19(MARK(incr(incr(head(y0))))) MARK(s(incr(incr(tail(y0))))) -> c19(MARK(incr(incr(tail(y0))))) MARK(s(incr(incr(s(y0))))) -> c19(MARK(incr(incr(s(y0))))) MARK(s(incr(incr(cons(y0, y1))))) -> c19(MARK(incr(incr(cons(y0, y1))))) MARK(s(incr(incr(y0)))) -> c19(MARK(incr(incr(y0)))) MARK(s(incr(head(odds)))) -> c19(MARK(incr(head(odds)))) MARK(s(incr(head(incr(y0))))) -> c19(MARK(incr(head(incr(y0))))) MARK(s(incr(head(head(y0))))) -> c19(MARK(incr(head(head(y0))))) MARK(s(incr(head(tail(y0))))) -> c19(MARK(incr(head(tail(y0))))) MARK(s(incr(head(s(y0))))) -> c19(MARK(incr(head(s(y0))))) MARK(s(incr(head(cons(y0, y1))))) -> c19(MARK(incr(head(cons(y0, y1))))) MARK(s(incr(head(y0)))) -> c19(MARK(incr(head(y0)))) MARK(s(incr(tail(pairs)))) -> c19(MARK(incr(tail(pairs)))) MARK(s(incr(tail(odds)))) -> c19(MARK(incr(tail(odds)))) MARK(s(incr(tail(incr(y0))))) -> c19(MARK(incr(tail(incr(y0))))) MARK(s(incr(tail(head(y0))))) -> c19(MARK(incr(tail(head(y0))))) MARK(s(incr(tail(tail(y0))))) -> c19(MARK(incr(tail(tail(y0))))) MARK(s(incr(tail(s(y0))))) -> c19(MARK(incr(tail(s(y0))))) MARK(s(incr(tail(cons(y0, y1))))) -> c19(MARK(incr(tail(cons(y0, y1))))) MARK(s(incr(tail(y0)))) -> c19(MARK(incr(tail(y0)))) MARK(s(head(incr(odds)))) -> c19(MARK(head(incr(odds)))) MARK(s(head(incr(incr(y0))))) -> c19(MARK(head(incr(incr(y0))))) MARK(s(head(incr(head(y0))))) -> c19(MARK(head(incr(head(y0))))) MARK(s(head(incr(tail(y0))))) -> c19(MARK(head(incr(tail(y0))))) MARK(s(head(incr(s(y0))))) -> c19(MARK(head(incr(s(y0))))) MARK(s(head(incr(cons(y0, y1))))) -> c19(MARK(head(incr(cons(y0, y1))))) MARK(s(head(incr(y0)))) -> c19(MARK(head(incr(y0)))) MARK(s(head(head(odds)))) -> c19(MARK(head(head(odds)))) MARK(s(head(head(incr(y0))))) -> c19(MARK(head(head(incr(y0))))) MARK(s(head(head(head(y0))))) -> c19(MARK(head(head(head(y0))))) MARK(s(head(head(tail(y0))))) -> c19(MARK(head(head(tail(y0))))) MARK(s(head(head(s(y0))))) -> c19(MARK(head(head(s(y0))))) MARK(s(head(head(cons(y0, y1))))) -> c19(MARK(head(head(cons(y0, y1))))) MARK(s(head(head(y0)))) -> c19(MARK(head(head(y0)))) MARK(s(head(tail(pairs)))) -> c19(MARK(head(tail(pairs)))) MARK(s(head(tail(odds)))) -> c19(MARK(head(tail(odds)))) MARK(s(head(tail(incr(y0))))) -> c19(MARK(head(tail(incr(y0))))) MARK(s(head(tail(head(y0))))) -> c19(MARK(head(tail(head(y0))))) MARK(s(head(tail(tail(y0))))) -> c19(MARK(head(tail(tail(y0))))) MARK(s(head(tail(s(y0))))) -> c19(MARK(head(tail(s(y0))))) MARK(s(head(tail(cons(y0, y1))))) -> c19(MARK(head(tail(cons(y0, y1))))) MARK(s(head(tail(y0)))) -> c19(MARK(head(tail(y0)))) MARK(s(tail(incr(odds)))) -> c19(MARK(tail(incr(odds)))) MARK(s(tail(incr(incr(y0))))) -> c19(MARK(tail(incr(incr(y0))))) MARK(s(tail(incr(head(y0))))) -> c19(MARK(tail(incr(head(y0))))) MARK(s(tail(incr(tail(y0))))) -> c19(MARK(tail(incr(tail(y0))))) MARK(s(tail(incr(s(y0))))) -> c19(MARK(tail(incr(s(y0))))) MARK(s(tail(incr(cons(y0, y1))))) -> c19(MARK(tail(incr(cons(y0, y1))))) MARK(s(tail(incr(y0)))) -> c19(MARK(tail(incr(y0)))) MARK(s(tail(head(odds)))) -> c19(MARK(tail(head(odds)))) MARK(s(tail(head(incr(y0))))) -> c19(MARK(tail(head(incr(y0))))) MARK(s(tail(head(head(y0))))) -> c19(MARK(tail(head(head(y0))))) MARK(s(tail(head(tail(y0))))) -> c19(MARK(tail(head(tail(y0))))) MARK(s(tail(head(s(y0))))) -> c19(MARK(tail(head(s(y0))))) MARK(s(tail(head(cons(y0, y1))))) -> c19(MARK(tail(head(cons(y0, y1))))) MARK(s(tail(head(y0)))) -> c19(MARK(tail(head(y0)))) MARK(s(tail(tail(pairs)))) -> c19(MARK(tail(tail(pairs)))) MARK(s(tail(tail(odds)))) -> c19(MARK(tail(tail(odds)))) MARK(s(tail(tail(incr(y0))))) -> c19(MARK(tail(tail(incr(y0))))) MARK(s(tail(tail(head(y0))))) -> c19(MARK(tail(tail(head(y0))))) MARK(s(tail(tail(tail(y0))))) -> c19(MARK(tail(tail(tail(y0))))) MARK(s(tail(tail(s(y0))))) -> c19(MARK(tail(tail(s(y0))))) MARK(s(tail(tail(cons(y0, y1))))) -> c19(MARK(tail(tail(cons(y0, y1))))) MARK(s(tail(tail(y0)))) -> c19(MARK(tail(tail(y0)))) MARK(s(tail(pairs))) -> c19(MARK(tail(pairs))) MARK(s(incr(odds))) -> c19(MARK(incr(odds))) MARK(s(incr(incr(nats)))) -> c19(MARK(incr(incr(nats)))) MARK(s(incr(incr(pairs)))) -> c19(MARK(incr(incr(pairs)))) MARK(s(head(odds))) -> c19(MARK(head(odds))) MARK(s(head(incr(nats)))) -> c19(MARK(head(incr(nats)))) MARK(s(head(incr(pairs)))) -> c19(MARK(head(incr(pairs)))) MARK(s(tail(odds))) -> c19(MARK(tail(odds))) MARK(s(tail(incr(nats)))) -> c19(MARK(tail(incr(nats)))) MARK(s(tail(incr(pairs)))) -> c19(MARK(tail(incr(pairs)))) MARK(s(incr(cons(nats, y0)))) -> c19(MARK(incr(cons(nats, y0)))) MARK(s(incr(cons(pairs, y0)))) -> c19(MARK(incr(cons(pairs, y0)))) MARK(s(incr(cons(odds, y0)))) -> c19(MARK(incr(cons(odds, y0)))) MARK(s(incr(cons(incr(y0), y1)))) -> c19(MARK(incr(cons(incr(y0), y1)))) MARK(s(incr(cons(head(y0), y1)))) -> c19(MARK(incr(cons(head(y0), y1)))) MARK(s(incr(cons(tail(y0), y1)))) -> c19(MARK(incr(cons(tail(y0), y1)))) MARK(s(incr(cons(s(y0), y1)))) -> c19(MARK(incr(cons(s(y0), y1)))) MARK(s(incr(cons(cons(y0, y1), y2)))) -> c19(MARK(incr(cons(cons(y0, y1), y2)))) MARK(s(incr(cons(y0, y1)))) -> c19(MARK(incr(cons(y0, y1)))) MARK(s(incr(cons(0, y0)))) -> c19(MARK(incr(cons(0, y0)))) MARK(s(incr(cons(nil, y0)))) -> c19(MARK(incr(cons(nil, y0)))) MARK(s(incr(head(nats)))) -> c19(MARK(incr(head(nats)))) MARK(s(incr(head(pairs)))) -> c19(MARK(incr(head(pairs)))) MARK(s(head(head(nats)))) -> c19(MARK(head(head(nats)))) MARK(s(head(head(pairs)))) -> c19(MARK(head(head(pairs)))) MARK(s(tail(head(nats)))) -> c19(MARK(tail(head(nats)))) MARK(s(tail(head(pairs)))) -> c19(MARK(tail(head(pairs)))) MARK(s(head(cons(nats, y0)))) -> c19(MARK(head(cons(nats, y0)))) MARK(s(head(cons(pairs, y0)))) -> c19(MARK(head(cons(pairs, y0)))) MARK(s(head(cons(odds, y0)))) -> c19(MARK(head(cons(odds, y0)))) MARK(s(head(cons(incr(y0), y1)))) -> c19(MARK(head(cons(incr(y0), y1)))) MARK(s(head(cons(head(y0), y1)))) -> c19(MARK(head(cons(head(y0), y1)))) MARK(s(head(cons(tail(y0), y1)))) -> c19(MARK(head(cons(tail(y0), y1)))) MARK(s(head(cons(s(y0), y1)))) -> c19(MARK(head(cons(s(y0), y1)))) MARK(s(head(cons(cons(y0, y1), y2)))) -> c19(MARK(head(cons(cons(y0, y1), y2)))) MARK(s(head(cons(y0, y1)))) -> c19(MARK(head(cons(y0, y1)))) MARK(s(head(cons(0, y0)))) -> c19(MARK(head(cons(0, y0)))) MARK(s(head(cons(nil, y0)))) -> c19(MARK(head(cons(nil, y0)))) MARK(s(incr(tail(nats)))) -> c19(MARK(incr(tail(nats)))) MARK(s(head(tail(nats)))) -> c19(MARK(head(tail(nats)))) MARK(s(tail(tail(nats)))) -> c19(MARK(tail(tail(nats)))) K tuples:none Defined Rule Symbols: a__nats, a__pairs, a__odds, a__incr_1, a__head_1, a__tail_1, mark_1 Defined Pair Symbols: MARK_1, A__INCR_1, A__HEAD_1, A__TAIL_1 Compound Symbols: c21_1, c15_1, c16_1, c17_2, c17_1, c15_2, c16_2, c6_1, c8_1, c10_1, c19_1 ---------------------------------------- (239) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (240) 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__nats -> cons(0, incr(nats)) [1] a__pairs -> cons(0, incr(odds)) [1] a__odds -> a__incr(a__pairs) [1] a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) [1] a__head(cons(X, XS)) -> mark(X) [1] a__tail(cons(X, XS)) -> mark(XS) [1] mark(nats) -> a__nats [1] mark(pairs) -> a__pairs [1] mark(odds) -> a__odds [1] mark(incr(X)) -> a__incr(mark(X)) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(tail(X)) -> a__tail(mark(X)) [1] mark(0) -> 0 [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] a__nats -> nats [1] a__pairs -> pairs [1] a__odds -> odds [1] a__incr(X) -> incr(X) [1] a__head(X) -> head(X) [1] a__tail(X) -> tail(X) [1] Rewrite Strategy: INNERMOST ---------------------------------------- (241) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (242) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: a__nats -> cons(0, incr(nats)) [1] a__pairs -> cons(0, incr(odds)) [1] a__odds -> a__incr(a__pairs) [1] a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) [1] a__head(cons(X, XS)) -> mark(X) [1] a__tail(cons(X, XS)) -> mark(XS) [1] mark(nats) -> a__nats [1] mark(pairs) -> a__pairs [1] mark(odds) -> a__odds [1] mark(incr(X)) -> a__incr(mark(X)) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(tail(X)) -> a__tail(mark(X)) [1] mark(0) -> 0 [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] a__nats -> nats [1] a__pairs -> pairs [1] a__odds -> odds [1] a__incr(X) -> incr(X) [1] a__head(X) -> head(X) [1] a__tail(X) -> tail(X) [1] The TRS has the following type information: a__nats :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil cons :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil 0 :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil incr :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil nats :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__pairs :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil odds :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__odds :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__incr :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil s :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil mark :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__head :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__tail :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil pairs :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil head :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil tail :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil nil :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil Rewrite Strategy: INNERMOST ---------------------------------------- (243) 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: mark_1 a__pairs a__tail_1 a__odds a__incr_1 a__nats a__head_1 Due to the following rules being added: none And the following fresh constants: none ---------------------------------------- (244) 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__nats -> cons(0, incr(nats)) [1] a__pairs -> cons(0, incr(odds)) [1] a__odds -> a__incr(a__pairs) [1] a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) [1] a__head(cons(X, XS)) -> mark(X) [1] a__tail(cons(X, XS)) -> mark(XS) [1] mark(nats) -> a__nats [1] mark(pairs) -> a__pairs [1] mark(odds) -> a__odds [1] mark(incr(X)) -> a__incr(mark(X)) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(tail(X)) -> a__tail(mark(X)) [1] mark(0) -> 0 [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] a__nats -> nats [1] a__pairs -> pairs [1] a__odds -> odds [1] a__incr(X) -> incr(X) [1] a__head(X) -> head(X) [1] a__tail(X) -> tail(X) [1] The TRS has the following type information: a__nats :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil cons :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil 0 :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil incr :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil nats :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__pairs :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil odds :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__odds :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__incr :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil s :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil mark :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__head :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__tail :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil pairs :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil head :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil tail :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil nil :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil Rewrite Strategy: INNERMOST ---------------------------------------- (245) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (246) 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__nats -> cons(0, incr(nats)) [1] a__pairs -> cons(0, incr(odds)) [1] a__odds -> a__incr(cons(0, incr(odds))) [2] a__odds -> a__incr(pairs) [2] a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) [1] a__head(cons(X, XS)) -> mark(X) [1] a__tail(cons(X, XS)) -> mark(XS) [1] mark(nats) -> a__nats [1] mark(pairs) -> a__pairs [1] mark(odds) -> a__odds [1] mark(incr(nats)) -> a__incr(a__nats) [2] mark(incr(pairs)) -> a__incr(a__pairs) [2] mark(incr(odds)) -> a__incr(a__odds) [2] mark(incr(incr(X'))) -> a__incr(a__incr(mark(X'))) [2] mark(incr(head(X''))) -> a__incr(a__head(mark(X''))) [2] mark(incr(tail(X3))) -> a__incr(a__tail(mark(X3))) [2] mark(incr(0)) -> a__incr(0) [2] mark(incr(s(X4))) -> a__incr(s(mark(X4))) [2] mark(incr(nil)) -> a__incr(nil) [2] mark(incr(cons(X1', X2'))) -> a__incr(cons(mark(X1'), X2')) [2] mark(head(nats)) -> a__head(a__nats) [2] mark(head(pairs)) -> a__head(a__pairs) [2] mark(head(odds)) -> a__head(a__odds) [2] mark(head(incr(X5))) -> a__head(a__incr(mark(X5))) [2] mark(head(head(X6))) -> a__head(a__head(mark(X6))) [2] mark(head(tail(X7))) -> a__head(a__tail(mark(X7))) [2] mark(head(0)) -> a__head(0) [2] mark(head(s(X8))) -> a__head(s(mark(X8))) [2] mark(head(nil)) -> a__head(nil) [2] mark(head(cons(X1'', X2''))) -> a__head(cons(mark(X1''), X2'')) [2] mark(tail(nats)) -> a__tail(a__nats) [2] mark(tail(pairs)) -> a__tail(a__pairs) [2] mark(tail(odds)) -> a__tail(a__odds) [2] mark(tail(incr(X9))) -> a__tail(a__incr(mark(X9))) [2] mark(tail(head(X10))) -> a__tail(a__head(mark(X10))) [2] mark(tail(tail(X11))) -> a__tail(a__tail(mark(X11))) [2] mark(tail(0)) -> a__tail(0) [2] mark(tail(s(X12))) -> a__tail(s(mark(X12))) [2] mark(tail(nil)) -> a__tail(nil) [2] mark(tail(cons(X13, X21))) -> a__tail(cons(mark(X13), X21)) [2] mark(0) -> 0 [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] a__nats -> nats [1] a__pairs -> pairs [1] a__odds -> odds [1] a__incr(X) -> incr(X) [1] a__head(X) -> head(X) [1] a__tail(X) -> tail(X) [1] The TRS has the following type information: a__nats :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil cons :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil 0 :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil incr :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil nats :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__pairs :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil odds :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__odds :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__incr :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil s :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil mark :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__head :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__tail :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil pairs :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil head :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil tail :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil nil :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil Rewrite Strategy: INNERMOST ---------------------------------------- (247) 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 nats => 1 odds => 3 pairs => 4 nil => 2 ---------------------------------------- (248) Obligation: Complexity RNTS consisting of the following rules: a__head(z) -{ 1 }-> mark(X) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__head(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__incr(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__incr(z) -{ 1 }-> 1 + (1 + mark(X)) + (1 + XS) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__nats -{ 1 }-> 1 :|: a__nats -{ 1 }-> 1 + 0 + (1 + 1) :|: a__odds -{ 2 }-> a__incr(4) :|: a__odds -{ 2 }-> a__incr(1 + 0 + (1 + 3)) :|: a__odds -{ 1 }-> 3 :|: a__pairs -{ 1 }-> 4 :|: a__pairs -{ 1 }-> 1 + 0 + (1 + 3) :|: a__tail(z) -{ 1 }-> mark(XS) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__tail(z) -{ 1 }-> 1 + X :|: X >= 0, z = X mark(z) -{ 2 }-> a__tail(a__tail(mark(X11))) :|: X11 >= 0, z = 1 + (1 + X11) mark(z) -{ 2 }-> a__tail(a__pairs) :|: z = 1 + 4 mark(z) -{ 2 }-> a__tail(a__odds) :|: z = 1 + 3 mark(z) -{ 2 }-> a__tail(a__nats) :|: z = 1 + 1 mark(z) -{ 2 }-> a__tail(a__incr(mark(X9))) :|: X9 >= 0, z = 1 + (1 + X9) mark(z) -{ 2 }-> a__tail(a__head(mark(X10))) :|: z = 1 + (1 + X10), X10 >= 0 mark(z) -{ 2 }-> a__tail(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__tail(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__tail(1 + mark(X12)) :|: z = 1 + (1 + X12), X12 >= 0 mark(z) -{ 2 }-> a__tail(1 + mark(X13) + X21) :|: X21 >= 0, X13 >= 0, z = 1 + (1 + X13 + X21) mark(z) -{ 1 }-> a__pairs :|: z = 4 mark(z) -{ 1 }-> a__odds :|: z = 3 mark(z) -{ 1 }-> a__nats :|: z = 1 mark(z) -{ 2 }-> a__incr(a__tail(mark(X3))) :|: z = 1 + (1 + X3), X3 >= 0 mark(z) -{ 2 }-> a__incr(a__pairs) :|: z = 1 + 4 mark(z) -{ 2 }-> a__incr(a__odds) :|: z = 1 + 3 mark(z) -{ 2 }-> a__incr(a__nats) :|: z = 1 + 1 mark(z) -{ 2 }-> a__incr(a__incr(mark(X'))) :|: X' >= 0, z = 1 + (1 + X') mark(z) -{ 2 }-> a__incr(a__head(mark(X''))) :|: z = 1 + (1 + X''), X'' >= 0 mark(z) -{ 2 }-> a__incr(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__incr(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__incr(1 + mark(X4)) :|: z = 1 + (1 + X4), X4 >= 0 mark(z) -{ 2 }-> a__incr(1 + mark(X1') + X2') :|: z = 1 + (1 + X1' + X2'), X2' >= 0, X1' >= 0 mark(z) -{ 2 }-> a__head(a__tail(mark(X7))) :|: X7 >= 0, z = 1 + (1 + X7) mark(z) -{ 2 }-> a__head(a__pairs) :|: z = 1 + 4 mark(z) -{ 2 }-> a__head(a__odds) :|: z = 1 + 3 mark(z) -{ 2 }-> a__head(a__nats) :|: z = 1 + 1 mark(z) -{ 2 }-> a__head(a__incr(mark(X5))) :|: X5 >= 0, z = 1 + (1 + X5) mark(z) -{ 2 }-> a__head(a__head(mark(X6))) :|: X6 >= 0, z = 1 + (1 + X6) mark(z) -{ 2 }-> a__head(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__head(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__head(1 + mark(X8)) :|: X8 >= 0, z = 1 + (1 + X8) mark(z) -{ 2 }-> a__head(1 + mark(X1'') + X2'') :|: X1'' >= 0, z = 1 + (1 + X1'' + X2''), X2'' >= 0 mark(z) -{ 1 }-> 2 :|: z = 2 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 ---------------------------------------- (249) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: a__nats -{ 1 }-> 1 + 0 + (1 + 1) :|: a__nats -{ 1 }-> 1 :|: a__pairs -{ 1 }-> 1 + 0 + (1 + 3) :|: a__pairs -{ 1 }-> 4 :|: ---------------------------------------- (250) Obligation: Complexity RNTS consisting of the following rules: a__head(z) -{ 1 }-> mark(X) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__head(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__incr(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__incr(z) -{ 1 }-> 1 + (1 + mark(X)) + (1 + XS) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__nats -{ 1 }-> 1 :|: a__nats -{ 1 }-> 1 + 0 + (1 + 1) :|: a__odds -{ 2 }-> a__incr(4) :|: a__odds -{ 2 }-> a__incr(1 + 0 + (1 + 3)) :|: a__odds -{ 1 }-> 3 :|: a__pairs -{ 1 }-> 4 :|: a__pairs -{ 1 }-> 1 + 0 + (1 + 3) :|: a__tail(z) -{ 1 }-> mark(XS) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__tail(z) -{ 1 }-> 1 + X :|: X >= 0, z = X mark(z) -{ 2 }-> a__tail(a__tail(mark(X11))) :|: X11 >= 0, z = 1 + (1 + X11) mark(z) -{ 2 }-> a__tail(a__odds) :|: z = 1 + 3 mark(z) -{ 2 }-> a__tail(a__incr(mark(X9))) :|: X9 >= 0, z = 1 + (1 + X9) mark(z) -{ 2 }-> a__tail(a__head(mark(X10))) :|: z = 1 + (1 + X10), X10 >= 0 mark(z) -{ 3 }-> a__tail(4) :|: z = 1 + 4 mark(z) -{ 2 }-> a__tail(2) :|: z = 1 + 2 mark(z) -{ 3 }-> a__tail(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__tail(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__tail(1 + mark(X12)) :|: z = 1 + (1 + X12), X12 >= 0 mark(z) -{ 2 }-> a__tail(1 + mark(X13) + X21) :|: X21 >= 0, X13 >= 0, z = 1 + (1 + X13 + X21) mark(z) -{ 3 }-> a__tail(1 + 0 + (1 + 3)) :|: z = 1 + 4 mark(z) -{ 3 }-> a__tail(1 + 0 + (1 + 1)) :|: z = 1 + 1 mark(z) -{ 1 }-> a__odds :|: z = 3 mark(z) -{ 2 }-> a__incr(a__tail(mark(X3))) :|: z = 1 + (1 + X3), X3 >= 0 mark(z) -{ 2 }-> a__incr(a__odds) :|: z = 1 + 3 mark(z) -{ 2 }-> a__incr(a__incr(mark(X'))) :|: X' >= 0, z = 1 + (1 + X') mark(z) -{ 2 }-> a__incr(a__head(mark(X''))) :|: z = 1 + (1 + X''), X'' >= 0 mark(z) -{ 3 }-> a__incr(4) :|: z = 1 + 4 mark(z) -{ 2 }-> a__incr(2) :|: z = 1 + 2 mark(z) -{ 3 }-> a__incr(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__incr(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__incr(1 + mark(X4)) :|: z = 1 + (1 + X4), X4 >= 0 mark(z) -{ 2 }-> a__incr(1 + mark(X1') + X2') :|: z = 1 + (1 + X1' + X2'), X2' >= 0, X1' >= 0 mark(z) -{ 3 }-> a__incr(1 + 0 + (1 + 3)) :|: z = 1 + 4 mark(z) -{ 3 }-> a__incr(1 + 0 + (1 + 1)) :|: z = 1 + 1 mark(z) -{ 2 }-> a__head(a__tail(mark(X7))) :|: X7 >= 0, z = 1 + (1 + X7) mark(z) -{ 2 }-> a__head(a__odds) :|: z = 1 + 3 mark(z) -{ 2 }-> a__head(a__incr(mark(X5))) :|: X5 >= 0, z = 1 + (1 + X5) mark(z) -{ 2 }-> a__head(a__head(mark(X6))) :|: X6 >= 0, z = 1 + (1 + X6) mark(z) -{ 3 }-> a__head(4) :|: z = 1 + 4 mark(z) -{ 2 }-> a__head(2) :|: z = 1 + 2 mark(z) -{ 3 }-> a__head(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__head(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__head(1 + mark(X8)) :|: X8 >= 0, z = 1 + (1 + X8) mark(z) -{ 2 }-> a__head(1 + mark(X1'') + X2'') :|: X1'' >= 0, z = 1 + (1 + X1'' + X2''), X2'' >= 0 mark(z) -{ 3 }-> a__head(1 + 0 + (1 + 3)) :|: z = 1 + 4 mark(z) -{ 3 }-> a__head(1 + 0 + (1 + 1)) :|: z = 1 + 1 mark(z) -{ 2 }-> 4 :|: z = 4 mark(z) -{ 1 }-> 2 :|: z = 2 mark(z) -{ 2 }-> 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 mark(z) -{ 2 }-> 1 + 0 + (1 + 3) :|: z = 4 mark(z) -{ 2 }-> 1 + 0 + (1 + 1) :|: z = 1 ---------------------------------------- (251) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (252) Obligation: Complexity RNTS consisting of the following rules: a__head(z) -{ 1 }-> mark(X) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__head(z) -{ 1 }-> 1 + z :|: z >= 0 a__incr(z) -{ 1 }-> 1 + z :|: z >= 0 a__incr(z) -{ 1 }-> 1 + (1 + mark(X)) + (1 + XS) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__nats -{ 1 }-> 1 :|: a__nats -{ 1 }-> 1 + 0 + (1 + 1) :|: a__odds -{ 2 }-> a__incr(4) :|: a__odds -{ 2 }-> a__incr(1 + 0 + (1 + 3)) :|: a__odds -{ 1 }-> 3 :|: a__pairs -{ 1 }-> 4 :|: a__pairs -{ 1 }-> 1 + 0 + (1 + 3) :|: a__tail(z) -{ 1 }-> mark(XS) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__tail(z) -{ 1 }-> 1 + z :|: z >= 0 mark(z) -{ 2 }-> a__tail(a__tail(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__tail(a__odds) :|: z = 1 + 3 mark(z) -{ 2 }-> a__tail(a__incr(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__tail(a__head(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 3 }-> a__tail(4) :|: z = 1 + 4 mark(z) -{ 2 }-> a__tail(2) :|: z = 1 + 2 mark(z) -{ 3 }-> a__tail(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__tail(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__tail(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__tail(1 + mark(X13) + X21) :|: X21 >= 0, X13 >= 0, z = 1 + (1 + X13 + X21) mark(z) -{ 3 }-> a__tail(1 + 0 + (1 + 3)) :|: z = 1 + 4 mark(z) -{ 3 }-> a__tail(1 + 0 + (1 + 1)) :|: z = 1 + 1 mark(z) -{ 1 }-> a__odds :|: z = 3 mark(z) -{ 2 }-> a__incr(a__tail(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__incr(a__odds) :|: z = 1 + 3 mark(z) -{ 2 }-> a__incr(a__incr(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__incr(a__head(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 3 }-> a__incr(4) :|: z = 1 + 4 mark(z) -{ 2 }-> a__incr(2) :|: z = 1 + 2 mark(z) -{ 3 }-> a__incr(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__incr(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__incr(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__incr(1 + mark(X1') + X2') :|: z = 1 + (1 + X1' + X2'), X2' >= 0, X1' >= 0 mark(z) -{ 3 }-> a__incr(1 + 0 + (1 + 3)) :|: z = 1 + 4 mark(z) -{ 3 }-> a__incr(1 + 0 + (1 + 1)) :|: z = 1 + 1 mark(z) -{ 2 }-> a__head(a__tail(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__head(a__odds) :|: z = 1 + 3 mark(z) -{ 2 }-> a__head(a__incr(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__head(a__head(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 3 }-> a__head(4) :|: z = 1 + 4 mark(z) -{ 2 }-> a__head(2) :|: z = 1 + 2 mark(z) -{ 3 }-> a__head(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__head(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__head(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__head(1 + mark(X1'') + X2'') :|: X1'' >= 0, z = 1 + (1 + X1'' + X2''), X2'' >= 0 mark(z) -{ 3 }-> a__head(1 + 0 + (1 + 3)) :|: z = 1 + 4 mark(z) -{ 3 }-> a__head(1 + 0 + (1 + 1)) :|: z = 1 + 1 mark(z) -{ 2 }-> 4 :|: z = 4 mark(z) -{ 1 }-> 2 :|: z = 2 mark(z) -{ 2 }-> 1 :|: z = 1 mark(z) -{ 1 }-> 0 :|: z = 0 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 + (1 + 3) :|: z = 4 mark(z) -{ 2 }-> 1 + 0 + (1 + 1) :|: z = 1 ---------------------------------------- (253) 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 ---------------------------------------- (254) 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__nats -> cons(0, incr(nats)) [1] a__pairs -> cons(0, incr(odds)) [1] a__odds -> a__incr(a__pairs) [1] a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) [1] a__head(cons(X, XS)) -> mark(X) [1] a__tail(cons(X, XS)) -> mark(XS) [1] mark(nats) -> a__nats [1] mark(pairs) -> a__pairs [1] mark(odds) -> a__odds [1] mark(incr(X)) -> a__incr(mark(X)) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(tail(X)) -> a__tail(mark(X)) [1] mark(0) -> 0 [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] a__nats -> nats [1] a__pairs -> pairs [1] a__odds -> odds [1] a__incr(X) -> incr(X) [1] a__head(X) -> head(X) [1] a__tail(X) -> tail(X) [1] The TRS has the following type information: a__nats :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil cons :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil 0 :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil incr :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil nats :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__pairs :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil odds :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__odds :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__incr :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil s :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil mark :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__head :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil a__tail :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil pairs :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil head :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil tail :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil -> 0:nats:incr:cons:odds:s:pairs:head:tail:nil nil :: 0:nats:incr:cons:odds:s:pairs:head:tail:nil Rewrite Strategy: INNERMOST ---------------------------------------- (255) 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 nats => 1 odds => 3 pairs => 4 nil => 2 ---------------------------------------- (256) Obligation: Complexity RNTS consisting of the following rules: a__head(z) -{ 1 }-> mark(X) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__head(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__incr(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__incr(z) -{ 1 }-> 1 + (1 + mark(X)) + (1 + XS) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__nats -{ 1 }-> 1 :|: a__nats -{ 1 }-> 1 + 0 + (1 + 1) :|: a__odds -{ 1 }-> a__incr(a__pairs) :|: a__odds -{ 1 }-> 3 :|: a__pairs -{ 1 }-> 4 :|: a__pairs -{ 1 }-> 1 + 0 + (1 + 3) :|: a__tail(z) -{ 1 }-> mark(XS) :|: z = 1 + X + XS, X >= 0, XS >= 0 a__tail(z) -{ 1 }-> 1 + X :|: X >= 0, z = X mark(z) -{ 1 }-> a__tail(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__pairs :|: z = 4 mark(z) -{ 1 }-> a__odds :|: z = 3 mark(z) -{ 1 }-> a__nats :|: z = 1 mark(z) -{ 1 }-> a__incr(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__head(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> 2 :|: z = 2 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.