TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60001 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (145ms).
 | – Problem 2 was processed with processor SubtermCriterion (1ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4iUR (3985ms).
 |    | – Problem 5 was processed with processor ForwardNarrowing (6ms).
 |    |    | – Problem 6 was processed with processor ForwardNarrowing (3ms).
 |    |    |    | – Problem 7 was processed with processor ForwardNarrowing (7ms).
 |    |    |    |    | – Problem 8 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    |    | – Problem 9 was processed with processor ForwardNarrowing (0ms).
 |    |    |    |    |    |    | – Problem 10 was processed with processor ForwardNarrowing (5ms).
 |    |    |    |    |    |    |    | – Problem 11 was processed with processor ForwardNarrowing (14ms).
 |    |    |    |    |    |    |    |    | – Problem 12 was processed with processor ForwardNarrowing (10ms).
 |    |    |    |    |    |    |    |    |    | – Problem 13 was processed with processor ForwardNarrowing (14ms).
 |    |    |    |    |    |    |    |    |    |    | – Problem 14 was processed with processor ForwardNarrowing (8ms).
 |    |    |    |    |    |    |    |    |    |    |    | – Problem 15 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 16 was processed with processor ForwardNarrowing (11ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 17 was processed with processor ForwardNarrowing (10ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 18 was processed with processor ForwardNarrowing (12ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 19 was processed with processor ForwardNarrowing (10ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 20 was processed with processor ForwardNarrowing (11ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 21 was processed with processor ForwardNarrowing (11ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 22 was processed with processor ForwardNarrowing (12ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 23 was processed with processor ForwardNarrowing (8ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 24 was processed with processor ForwardNarrowing (9ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 25 was processed with processor ForwardNarrowing (11ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 26 was processed with processor ForwardNarrowing (12ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 27 was processed with processor ForwardNarrowing (11ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 28 was processed with processor ForwardNarrowing (11ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 29 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 30 was processed with processor ForwardNarrowing (9ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 31 was processed with processor ForwardNarrowing (44ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 32 was processed with processor ForwardNarrowing (8ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 33 was processed with processor ForwardNarrowing (10ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 34 was processed with processor ForwardNarrowing (7ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 35 was processed with processor ForwardNarrowing (9ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 36 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 37 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 38 was processed with processor ForwardNarrowing (7ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 39 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 40 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 41 was processed with processor ForwardNarrowing (7ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 42 was processed with processor ForwardNarrowing (7ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 43 was processed with processor ForwardNarrowing (45ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 44 was processed with processor ForwardNarrowing (7ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 45 was processed with processor ForwardNarrowing (5ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 46 was processed with processor ForwardNarrowing (7ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 47 was processed with processor ForwardNarrowing (5ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 48 was processed with processor ForwardNarrowing (45ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 49 was processed with processor ForwardNarrowing (5ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 50 was processed with processor ForwardNarrowing (5ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 51 was processed with processor ForwardNarrowing (5ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 52 was processed with processor ForwardNarrowing (4ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 53 was processed with processor ForwardNarrowing (4ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 54 remains open; application of the following processors failed [ForwardNarrowing (5ms), ForwardNarrowing (3ms), ForwardNarrowing (4ms), ForwardNarrowing (3ms), ForwardNarrowing (4ms), ForwardNarrowing (4ms), ForwardNarrowing (4ms), ForwardNarrowing (3ms), ForwardNarrowing (5ms), ForwardNarrowing (4ms), ForwardNarrowing (4ms), ForwardNarrowing (4ms), ForwardNarrowing (4ms), ForwardNarrowing (3ms), ForwardNarrowing (4ms), ForwardNarrowing (5ms), ForwardNarrowing (4ms), ForwardNarrowing (3ms), ForwardNarrowing (3ms), ForwardNarrowing (4ms), ForwardNarrowing (4ms), ForwardNarrowing (4ms), ForwardNarrowing (4ms), ForwardNarrowing (4ms), ForwardNarrowing (4ms), ForwardNarrowing (3ms), ForwardNarrowing (4ms), ForwardNarrowing (3ms), ForwardNarrowing (3ms), ForwardNarrowing (3ms)].
 | – Problem 4 remains open; application of the following processors failed [SubtermCriterion (0ms), DependencyGraph (5ms), PolynomialLinearRange4iUR (919ms), DependencyGraph (5ms), PolynomialLinearRange4iUR (862ms), DependencyGraph (5ms), PolynomialLinearRange8NegiUR (8397ms), DependencyGraph (5ms), ReductionPairSAT (1480ms), DependencyGraph (49ms), SizeChangePrinciple (494ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (32ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (3ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (36ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (40ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (38ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (39ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (40ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (41ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (2ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (1ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), ForwardNarrowing (0ms), BackwardInstantiation (2ms), ForwardInstantiation (2ms), Propagation (1ms), ForwardNarrowing (1ms), BackwardInstantiation (2ms), ForwardInstantiation (1ms), Propagation (1ms)].

The following open problems remain:



Open Dependency Pair Problem 4

Dependency Pairs

plus#(id(x), s(y)) → plus#(x, if(gt(s(y), y), y, s(y)))plus#(s(x), s(y)) → plus#(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))
plus#(s(x), x) → plus#(if(gt(x, x), id(x), id(x)), s(x))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero




Open Dependency Pair Problem 5

Dependency Pairs

times#(x, plus(y, 1)) → times#(x, plus(y, times(1, 0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

plus#(s(x), x) → id#(x)plus#(id(x), s(y)) → plus#(x, if(gt(s(y), y), y, s(y)))
plus#(id(x), s(y)) → gt#(s(y), y)times#(x, plus(y, 1)) → times#(1, 0)
plus#(s(x), s(y)) → gt#(x, y)plus#(s(x), s(y)) → if#(gt(x, y), x, y)
plus#(s(x), x) → plus#(if(gt(x, x), id(x), id(x)), s(x))plus#(s(x), x) → gt#(x, x)
plus#(id(x), s(y)) → if#(gt(s(y), y), y, s(y))plus#(s(x), s(y)) → id#(x)
plus#(s(x), x) → if#(gt(x, x), id(x), id(x))times#(x, plus(y, 1)) → plus#(times(x, plus(y, times(1, 0))), x)
plus#(s(x), s(y)) → plus#(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))plus#(s(x), s(y)) → if#(not(gt(x, y)), id(x), id(y))
gt#(s(x), s(y)) → gt#(x, y)times#(x, plus(y, 1)) → times#(x, plus(y, times(1, 0)))
not#(x) → if#(x, false, true)plus#(s(x), s(y)) → id#(y)
plus#(s(x), s(y)) → not#(gt(x, y))times#(x, plus(y, 1)) → plus#(y, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


The following SCCs where found

times#(x, plus(y, 1)) → times#(1, 0)times#(x, plus(y, 1)) → times#(x, plus(y, times(1, 0)))

plus#(id(x), s(y)) → plus#(x, if(gt(s(y), y), y, s(y)))plus#(s(x), s(y)) → plus#(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))
plus#(s(x), x) → plus#(if(gt(x, x), id(x), id(x)), s(x))

gt#(s(x), s(y)) → gt#(x, y)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

gt#(s(x), s(y)) → gt#(x, y)

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

gt#(s(x), s(y)) → gt#(x, y)

Problem 3: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

times#(x, plus(y, 1)) → times#(1, 0)times#(x, plus(y, 1)) → times#(x, plus(y, times(1, 0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


Polynomial Interpretation

Improved Usable rules

times(x, 0) → 0times(x, 1) → x
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)plus(zero, y) → y
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

times#(x, plus(y, 1)) → times#(1, 0)

Problem 5: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(y, 1)) → times#(x, plus(y, times(1, 0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(y, 1)) → times#(x, plus(y, times(1, 0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(y, 0)) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0)))) 
times#(x, times(1, 0)) 
Thus, the rule times#(x, plus(y, 1)) → times#(x, plus(y, times(1, 0))) is replaced by the following rules:
times#(x, plus(y, 1)) → times#(x, plus(y, 0))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Problem 6: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(y, 1)) → times#(x, plus(y, 0))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(y, 1)) → times#(x, plus(y, 0)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, 0) 
times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0))) 
Thus, the rule times#(x, plus(y, 1)) → times#(x, plus(y, 0)) is replaced by the following rules:
times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))times#(x, plus(zero, 1)) → times#(x, 0)

Problem 7: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(zero, 1)) → times#(x, 0)times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) 
times#(x, plus(if(gt(0, 0), 0, id(0)), s(0))) 
Thus, the rule times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0))) is replaced by the following rules:
times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))

Problem 8: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))times#(x, plus(zero, 1)) → times#(x, 0)
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) is replaced by the following rules:
times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))

Problem 9: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(zero, 1)) → times#(x, 0)times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(zero, 1)) → times#(x, 0) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
Thus, the rule times#(x, plus(zero, 1)) → times#(x, 0) is deleted.

Problem 10: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))
times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0))) is replaced by the following rules:
times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))

Problem 11: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))

Problem 12: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0))) 
times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))

Problem 13: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0))) 
times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))

Problem 14: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0))) 
times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0))) 
times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(0))) 
times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))

Problem 15: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0))) 
times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0))) 
times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))

Problem 16: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0))) 
times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), times(1, 0)), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))

Problem 17: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))

Problem 18: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0))) 
times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(times(1, 0))))

Problem 19: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0))) 
times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Problem 20: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))

Problem 21: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))

Problem 22: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))

Problem 23: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(zero, 1)) → times#(x, times(1, 0))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))

Problem 24: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(zero, 1)) → times#(x, times(1, 0))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: id, not, plus, 1, 0, s, times, if, true, false, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0))) 
times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))

Problem 25: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(0), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(zero, 1)) → times#(x, times(1, 0))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0))) 
times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))

Problem 26: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(zero, 1)) → times#(x, times(1, 0))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0))) 
times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0))) 
times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))

Problem 27: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(zero, 1)) → times#(x, times(1, 0))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(times(1, 0))))

Problem 28: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(zero, 1)) → times#(x, times(1, 0))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0))) 
times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))

Problem 29: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(zero, 1)) → times#(x, times(1, 0))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0))) is deleted.

Problem 30: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0))) 
times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0))) 
times#(x, plus(if(gt(0, 0), 0, id(times(1, 0))), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(times(1, 0))), s(0)))

Problem 31: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))

Problem 32: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(0))) 
times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))

Problem 33: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(0))) 
times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0)))) 
times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))

Problem 34: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(0)), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0))) 
times#(x, plus(if(gt(0, 0), 0, id(0)), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(0)), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))

Problem 35: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0))) 
times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))

Problem 36: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, 0), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))

Problem 37: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))

Problem 38: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))

Problem 39: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))

Problem 40: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))

Problem 41: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0)))) 
times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0))) 
times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0)))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))

Problem 42: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0))) 
times#(x, plus(if(gt(0, 0), times(1, 0), id(0)), s(0))) 
times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(0)), s(0)))

Problem 43: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0))) 
times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(0)))

Problem 44: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0))) 
times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(0))) 
times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(0)), s(0))) 
times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), times(1, 0)), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))

Problem 45: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))

Problem 46: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(times(1, 0)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(times(1, 0)))) 
times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(times(1, 0)))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))

Problem 47: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))

Problem 48: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) 
times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(0)))

Problem 49: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, times(1, 0)), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))

Problem 50: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), id(0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0))) 
times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), times(1, 0), 0), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0)))

Problem 51: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(times(1, 0)), times(1, 0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), times(1, 0)), s(times(1, 0))))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(times(1, 0)), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))

Problem 52: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), id(0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), 0, id(times(1, 0))), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), id(times(1, 0))), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), id(0)), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), times(1, 0), 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))

Problem 53: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), times(1, 0)), 0, 0), s(0)))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), id(0), 0), s(times(1, 0))))
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(times(1, 0), 0), times(1, 0), times(1, 0)), s(0)))times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, times(1, 0)), id(0), id(0)), s(0)))

Rewrite Rules

times(x, plus(y, 1)) → plus(times(x, plus(y, times(1, 0))), x)times(x, 1) → x
times(x, 0) → 0plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))id(x) → x
if(true, x, y) → xif(false, x, y) → y
not(x) → if(x, false, true)gt(s(x), zero) → true
gt(zero, y) → falsegt(s(x), s(y)) → gt(x, y)

Original Signature

Termination of terms over the following signature is verified: not, id, plus, 1, 0, s, times, if, false, true, gt, zero

Strategy


The right-hand side of the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
times#(x, plus(if(gt(0, 0), 0, 0), s(0))) 
Thus, the rule times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), times(1, 0), 0), s(0))) is replaced by the following rules:
times#(x, plus(s(times(1, 0)), 1)) → times#(x, plus(if(gt(0, 0), 0, 0), s(0)))