KILLED proof of input_xP9kURaklA.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) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (6) CpxWeightedTrs (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxTypedWeightedTrs (9) CompletionProof [UPPER BOUND(ID), 0 ms] (10) CpxTypedWeightedCompleteTrs (11) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (12) CpxRNTS (13) CompletionProof [UPPER BOUND(ID), 0 ms] (14) CpxTypedWeightedCompleteTrs (15) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (16) CpxTypedWeightedCompleteTrs (17) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (18) CpxRNTS (19) InliningProof [UPPER BOUND(ID), 145 ms] (20) CpxRNTS (21) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CpxRNTS (23) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (24) CdtProblem (25) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (26) CdtProblem (27) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (28) CdtProblem (29) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (30) CdtProblem (31) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (32) CdtProblem (33) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (34) CdtProblem (35) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (36) CdtProblem (37) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CdtProblem (39) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CdtProblem (41) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CdtProblem (43) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (44) CdtProblem (45) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (46) CdtProblem (47) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 40 ms] (48) CdtProblem (49) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtRewritingProof [BOTH BOUNDS(ID, ID), 3 ms] (72) CdtProblem (73) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtRewritingProof [BOTH BOUNDS(ID, ID), 5 ms] (76) CdtProblem (77) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtRewritingProof [BOTH BOUNDS(ID, ID), 4 ms] (104) CdtProblem (105) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (106) CdtProblem (107) CdtRewritingProof [BOTH BOUNDS(ID, ID), 8 ms] (108) CdtProblem (109) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (114) CdtProblem (115) CdtRewritingProof [BOTH BOUNDS(ID, ID), 33 ms] (116) CdtProblem (117) CdtRewritingProof [BOTH BOUNDS(ID, ID), 10 ms] (118) CdtProblem (119) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtRewritingProof [BOTH BOUNDS(ID, ID), 35 ms] (124) CdtProblem (125) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem ---------------------------------------- (0) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: ack_in(0, n) -> ack_out(s(n)) ack_in(s(m), 0) -> u11(ack_in(m, s(0))) u11(ack_out(n)) -> ack_out(n) ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) u21(ack_out(n), m) -> u22(ack_in(m, n)) u22(ack_out(n)) -> ack_out(n) 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: ack_in(0', n) -> ack_out(s(n)) ack_in(s(m), 0') -> u11(ack_in(m, s(0'))) u11(ack_out(n)) -> ack_out(n) ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) u21(ack_out(n), m) -> u22(ack_in(m, n)) u22(ack_out(n)) -> ack_out(n) 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: ack_in(0, n) -> ack_out(s(n)) ack_in(s(m), 0) -> u11(ack_in(m, s(0))) u11(ack_out(n)) -> ack_out(n) ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) u21(ack_out(n), m) -> u22(ack_in(m, n)) u22(ack_out(n)) -> ack_out(n) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (5) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (6) 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: ack_in(0, n) -> ack_out(s(n)) [1] ack_in(s(m), 0) -> u11(ack_in(m, s(0))) [1] u11(ack_out(n)) -> ack_out(n) [1] ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) [1] u21(ack_out(n), m) -> u22(ack_in(m, n)) [1] u22(ack_out(n)) -> ack_out(n) [1] Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: ack_in(0, n) -> ack_out(s(n)) [1] ack_in(s(m), 0) -> u11(ack_in(m, s(0))) [1] u11(ack_out(n)) -> ack_out(n) [1] ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) [1] u21(ack_out(n), m) -> u22(ack_in(m, n)) [1] u22(ack_out(n)) -> ack_out(n) [1] The TRS has the following type information: ack_in :: 0:s -> 0:s -> ack_out 0 :: 0:s ack_out :: 0:s -> ack_out s :: 0:s -> 0:s u11 :: ack_out -> ack_out u21 :: ack_out -> 0:s -> ack_out u22 :: ack_out -> ack_out Rewrite Strategy: INNERMOST ---------------------------------------- (9) 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: u11(v0) -> null_u11 [0] u21(v0, v1) -> null_u21 [0] u22(v0) -> null_u22 [0] And the following fresh constants: null_u11, null_u21, null_u22 ---------------------------------------- (10) 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: ack_in(0, n) -> ack_out(s(n)) [1] ack_in(s(m), 0) -> u11(ack_in(m, s(0))) [1] u11(ack_out(n)) -> ack_out(n) [1] ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) [1] u21(ack_out(n), m) -> u22(ack_in(m, n)) [1] u22(ack_out(n)) -> ack_out(n) [1] u11(v0) -> null_u11 [0] u21(v0, v1) -> null_u21 [0] u22(v0) -> null_u22 [0] The TRS has the following type information: ack_in :: 0:s -> 0:s -> ack_out:null_u11:null_u21:null_u22 0 :: 0:s ack_out :: 0:s -> ack_out:null_u11:null_u21:null_u22 s :: 0:s -> 0:s u11 :: ack_out:null_u11:null_u21:null_u22 -> ack_out:null_u11:null_u21:null_u22 u21 :: ack_out:null_u11:null_u21:null_u22 -> 0:s -> ack_out:null_u11:null_u21:null_u22 u22 :: ack_out:null_u11:null_u21:null_u22 -> ack_out:null_u11:null_u21:null_u22 null_u11 :: ack_out:null_u11:null_u21:null_u22 null_u21 :: ack_out:null_u11:null_u21:null_u22 null_u22 :: ack_out:null_u11:null_u21:null_u22 Rewrite Strategy: INNERMOST ---------------------------------------- (11) 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 null_u11 => 0 null_u21 => 0 null_u22 => 0 ---------------------------------------- (12) Obligation: Complexity RNTS consisting of the following rules: ack_in(z, z') -{ 1 }-> u21(ack_in(1 + m, n), m) :|: n >= 0, z' = 1 + n, z = 1 + m, m >= 0 ack_in(z, z') -{ 1 }-> u11(ack_in(m, 1 + 0)) :|: z = 1 + m, z' = 0, m >= 0 ack_in(z, z') -{ 1 }-> 1 + (1 + n) :|: n >= 0, z' = n, z = 0 u11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u11(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n u21(z, z') -{ 1 }-> u22(ack_in(m, n)) :|: n >= 0, z' = m, z = 1 + n, m >= 0 u21(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 u22(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u22(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (13) 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: ack_in_2 u11_1 u21_2 u22_1 Due to the following rules being added: u11(v0) -> const [0] u21(v0, v1) -> const [0] u22(v0) -> const [0] And the following fresh constants: const ---------------------------------------- (14) 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: ack_in(0, n) -> ack_out(s(n)) [1] ack_in(s(m), 0) -> u11(ack_in(m, s(0))) [1] u11(ack_out(n)) -> ack_out(n) [1] ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) [1] u21(ack_out(n), m) -> u22(ack_in(m, n)) [1] u22(ack_out(n)) -> ack_out(n) [1] u11(v0) -> const [0] u21(v0, v1) -> const [0] u22(v0) -> const [0] The TRS has the following type information: ack_in :: 0:s -> 0:s -> ack_out:const 0 :: 0:s ack_out :: 0:s -> ack_out:const s :: 0:s -> 0:s u11 :: ack_out:const -> ack_out:const u21 :: ack_out:const -> 0:s -> ack_out:const u22 :: ack_out:const -> ack_out:const const :: ack_out:const Rewrite Strategy: INNERMOST ---------------------------------------- (15) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (16) 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: ack_in(0, n) -> ack_out(s(n)) [1] ack_in(s(0), 0) -> u11(ack_out(s(s(0)))) [2] ack_in(s(s(m')), 0) -> u11(u21(ack_in(s(m'), 0), m')) [2] u11(ack_out(n)) -> ack_out(n) [1] ack_in(s(m), s(0)) -> u21(u11(ack_in(m, s(0))), m) [2] ack_in(s(m), s(s(n'))) -> u21(u21(ack_in(s(m), n'), m), m) [2] u21(ack_out(n), 0) -> u22(ack_out(s(n))) [2] u21(ack_out(0), s(m'')) -> u22(u11(ack_in(m'', s(0)))) [2] u21(ack_out(s(n'')), s(m1)) -> u22(u21(ack_in(s(m1), n''), m1)) [2] u22(ack_out(n)) -> ack_out(n) [1] u11(v0) -> const [0] u21(v0, v1) -> const [0] u22(v0) -> const [0] The TRS has the following type information: ack_in :: 0:s -> 0:s -> ack_out:const 0 :: 0:s ack_out :: 0:s -> ack_out:const s :: 0:s -> 0:s u11 :: ack_out:const -> ack_out:const u21 :: ack_out:const -> 0:s -> ack_out:const u22 :: ack_out:const -> ack_out:const const :: ack_out:const Rewrite Strategy: INNERMOST ---------------------------------------- (17) 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 const => 0 ---------------------------------------- (18) Obligation: Complexity RNTS consisting of the following rules: ack_in(z, z') -{ 2 }-> u21(u21(ack_in(1 + m, n'), m), m) :|: z' = 1 + (1 + n'), n' >= 0, z = 1 + m, m >= 0 ack_in(z, z') -{ 2 }-> u21(u11(ack_in(m, 1 + 0)), m) :|: z' = 1 + 0, z = 1 + m, m >= 0 ack_in(z, z') -{ 2 }-> u11(u21(ack_in(1 + m', 0), m')) :|: z = 1 + (1 + m'), m' >= 0, z' = 0 ack_in(z, z') -{ 2 }-> u11(1 + (1 + (1 + 0))) :|: z = 1 + 0, z' = 0 ack_in(z, z') -{ 1 }-> 1 + (1 + n) :|: n >= 0, z' = n, z = 0 u11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u11(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n u21(z, z') -{ 2 }-> u22(u21(ack_in(1 + m1, n''), m1)) :|: z' = 1 + m1, n'' >= 0, z = 1 + (1 + n''), m1 >= 0 u21(z, z') -{ 2 }-> u22(u11(ack_in(m'', 1 + 0))) :|: m'' >= 0, z = 1 + 0, z' = 1 + m'' u21(z, z') -{ 2 }-> u22(1 + (1 + n)) :|: n >= 0, z = 1 + n, z' = 0 u21(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 u22(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u22(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n ---------------------------------------- (19) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: u11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u11(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n u22(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u22(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: ack_in(z, z') -{ 2 }-> u21(u21(ack_in(1 + m, n'), m), m) :|: z' = 1 + (1 + n'), n' >= 0, z = 1 + m, m >= 0 ack_in(z, z') -{ 2 }-> u21(u11(ack_in(m, 1 + 0)), m) :|: z' = 1 + 0, z = 1 + m, m >= 0 ack_in(z, z') -{ 2 }-> u11(u21(ack_in(1 + m', 0), m')) :|: z = 1 + (1 + m'), m' >= 0, z' = 0 ack_in(z, z') -{ 2 }-> 0 :|: z = 1 + 0, z' = 0, v0 >= 0, 1 + (1 + (1 + 0)) = v0 ack_in(z, z') -{ 3 }-> 1 + n :|: z = 1 + 0, z' = 0, n >= 0, 1 + (1 + (1 + 0)) = 1 + n ack_in(z, z') -{ 1 }-> 1 + (1 + n) :|: n >= 0, z' = n, z = 0 u11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u11(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n u21(z, z') -{ 2 }-> u22(u21(ack_in(1 + m1, n''), m1)) :|: z' = 1 + m1, n'' >= 0, z = 1 + (1 + n''), m1 >= 0 u21(z, z') -{ 2 }-> u22(u11(ack_in(m'', 1 + 0))) :|: m'' >= 0, z = 1 + 0, z' = 1 + m'' u21(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 u21(z, z') -{ 2 }-> 0 :|: n >= 0, z = 1 + n, z' = 0, v0 >= 0, 1 + (1 + n) = v0 u21(z, z') -{ 3 }-> 1 + n' :|: n >= 0, z = 1 + n, z' = 0, n' >= 0, 1 + (1 + n) = 1 + n' u22(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u22(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n ---------------------------------------- (21) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: ack_in(z, z') -{ 2 }-> u21(u21(ack_in(1 + (z - 1), z' - 2), z - 1), z - 1) :|: z' - 2 >= 0, z - 1 >= 0 ack_in(z, z') -{ 2 }-> u21(u11(ack_in(z - 1, 1 + 0)), z - 1) :|: z' = 1 + 0, z - 1 >= 0 ack_in(z, z') -{ 2 }-> u11(u21(ack_in(1 + (z - 2), 0), z - 2)) :|: z - 2 >= 0, z' = 0 ack_in(z, z') -{ 2 }-> 0 :|: z = 1 + 0, z' = 0, v0 >= 0, 1 + (1 + (1 + 0)) = v0 ack_in(z, z') -{ 3 }-> 1 + n :|: z = 1 + 0, z' = 0, n >= 0, 1 + (1 + (1 + 0)) = 1 + n ack_in(z, z') -{ 1 }-> 1 + (1 + z') :|: z' >= 0, z = 0 u11(z) -{ 0 }-> 0 :|: z >= 0 u11(z) -{ 1 }-> 1 + (z - 1) :|: z - 1 >= 0 u21(z, z') -{ 2 }-> u22(u21(ack_in(1 + (z' - 1), z - 2), z' - 1)) :|: z - 2 >= 0, z' - 1 >= 0 u21(z, z') -{ 2 }-> u22(u11(ack_in(z' - 1, 1 + 0))) :|: z' - 1 >= 0, z = 1 + 0 u21(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 u21(z, z') -{ 2 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 1 + (1 + (z - 1)) = v0 u21(z, z') -{ 3 }-> 1 + n' :|: z - 1 >= 0, z' = 0, n' >= 0, 1 + (1 + (z - 1)) = 1 + n' u22(z) -{ 0 }-> 0 :|: z >= 0 u22(z) -{ 1 }-> 1 + (z - 1) :|: z - 1 >= 0 ---------------------------------------- (23) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (24) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(0, z0) -> c ACK_IN(s(z0), 0) -> c1(U11(ack_in(z0, s(0))), ACK_IN(z0, s(0))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U11(ack_out(z0)) -> c3 U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) U22(ack_out(z0)) -> c5 S tuples: ACK_IN(0, z0) -> c ACK_IN(s(z0), 0) -> c1(U11(ack_in(z0, s(0))), ACK_IN(z0, s(0))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U11(ack_out(z0)) -> c3 U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) U22(ack_out(z0)) -> c5 K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U11_1, U21_2, U22_1 Compound Symbols: c, c1_2, c2_2, c3, c4_2, c5 ---------------------------------------- (25) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: U11(ack_out(z0)) -> c3 ACK_IN(0, z0) -> c U22(ack_out(z0)) -> c5 ---------------------------------------- (26) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), 0) -> c1(U11(ack_in(z0, s(0))), ACK_IN(z0, s(0))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) S tuples: ACK_IN(s(z0), 0) -> c1(U11(ack_in(z0, s(0))), ACK_IN(z0, s(0))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_2, c2_2, c4_2 ---------------------------------------- (27) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (28) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) S tuples: ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1 ---------------------------------------- (29) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) by ACK_IN(s(z0), s(0)) -> c2(U21(u11(ack_in(z0, s(0))), z0), ACK_IN(s(z0), 0)) ACK_IN(s(z0), s(s(z1))) -> c2(U21(u21(ack_in(s(z0), z1), z0), z0), ACK_IN(s(z0), s(z1))) ---------------------------------------- (30) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(z0), s(0)) -> c2(U21(u11(ack_in(z0, s(0))), z0), ACK_IN(s(z0), 0)) ACK_IN(s(z0), s(s(z1))) -> c2(U21(u21(ack_in(s(z0), z1), z0), z0), ACK_IN(s(z0), s(z1))) S tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(z0), s(0)) -> c2(U21(u11(ack_in(z0, s(0))), z0), ACK_IN(s(z0), 0)) ACK_IN(s(z0), s(s(z1))) -> c2(U21(u21(ack_in(s(z0), z1), z0), z0), ACK_IN(s(z0), s(z1))) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c4_1, c2_2 ---------------------------------------- (31) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ACK_IN(s(z0), s(0)) -> c2(U21(u11(ack_in(z0, s(0))), z0), ACK_IN(s(z0), 0)) by ACK_IN(s(0), s(0)) -> c2(U21(u11(ack_out(s(s(0)))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ---------------------------------------- (32) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(z0), s(s(z1))) -> c2(U21(u21(ack_in(s(z0), z1), z0), z0), ACK_IN(s(z0), s(z1))) ACK_IN(s(0), s(0)) -> c2(U21(u11(ack_out(s(s(0)))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) S tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(z0), s(s(z1))) -> c2(U21(u21(ack_in(s(z0), z1), z0), z0), ACK_IN(s(z0), s(z1))) ACK_IN(s(0), s(0)) -> c2(U21(u11(ack_out(s(s(0)))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c4_1, c2_2, c2_1 ---------------------------------------- (33) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ACK_IN(s(z0), s(s(z1))) -> c2(U21(u21(ack_in(s(z0), z1), z0), z0), ACK_IN(s(z0), s(z1))) by ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ---------------------------------------- (34) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(0), s(0)) -> c2(U21(u11(ack_out(s(s(0)))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) S tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(0), s(0)) -> c2(U21(u11(ack_out(s(s(0)))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c4_1, c2_2, c2_1 ---------------------------------------- (35) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(0), s(0)) -> c2(U21(u11(ack_out(s(s(0)))), 0), ACK_IN(s(0), 0)) by ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0), ACK_IN(s(0), 0)) ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0), ACK_IN(s(0), 0)) S tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0), ACK_IN(s(0), 0)) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c4_1, c2_2, c2_1 ---------------------------------------- (37) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) by ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) S tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c4_1, c2_1, c2_2 ---------------------------------------- (39) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) by ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) S tuples: U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: U21_2, ACK_IN_2 Compound Symbols: c4_1, c2_1, c2_2, c1_1 ---------------------------------------- (41) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (42) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0)) S tuples: U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0)) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: U21_2, ACK_IN_2 Compound Symbols: c4_1, c2_1, c2_2, c1_1 ---------------------------------------- (43) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) by U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) ---------------------------------------- (44) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) S tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_1, c2_2, c1_1, c4_1 ---------------------------------------- (45) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0)) ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) S tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_1, c2_2, c1_1, c4_1 ---------------------------------------- (47) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) We considered the (Usable) Rules: u11(ack_out(z0)) -> ack_out(z0) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) ack_in(0, z0) -> ack_out(s(z0)) And the Tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = [1] POL(ACK_IN(x_1, x_2)) = [3]x_1 POL(U21(x_1, x_2)) = x_1 POL(ack_in(x_1, x_2)) = 0 POL(ack_out(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c2(x_1)) = x_1 POL(c2(x_1, x_2)) = x_1 + x_2 POL(c4(x_1)) = x_1 POL(s(x_1)) = 0 POL(u11(x_1)) = [2]x_1 POL(u21(x_1, x_2)) = 0 POL(u22(x_1)) = x_1 ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) S tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_1, c2_2, c1_1, c4_1 ---------------------------------------- (49) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) by ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) S tuples: ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (51) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) S tuples: ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (53) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) by ACK_IN(s(s(y0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(y0), s(0))), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(y0), s(0))), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) S tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(y0), s(0))), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (55) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(y0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(y0), s(0))), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(0))) by ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) S tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (57) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) by ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) S tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (59) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) by ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) S tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (61) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) by ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (63) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) by ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (65) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) by ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (67) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) by ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (69) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) by ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (71) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) by ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (73) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) by ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (75) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) by ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (77) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) by ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (79) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (81) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) by U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (83) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) by U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (85) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) by ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (87) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) by ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (89) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) by ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (91) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) by ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (93) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) by ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (95) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) by ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (97) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) by U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (99) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) by U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (101) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) by ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (103) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) by ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (105) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) by ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (107) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) by ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (109) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) by ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (111) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) by ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (113) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) by ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(z0), s(s(s(s(s(y1)))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(y1)))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(z0), s(s(s(s(s(y1)))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(y1)))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(z0), s(s(s(s(s(y1)))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(y1)))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (115) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(z0), s(s(s(s(s(y1)))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(y1)))))) by ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (117) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) by ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (119) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) by ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (121) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) by ACK_IN(s(s(z0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(s(0))))) ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(z0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(s(0))))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(z0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (123) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) by ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(z0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(s(0))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(z0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(s(0))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (125) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) by ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(z0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(s(0))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) S tuples: ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(z0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(s(0))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1