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)))