Certification Problem

Input (TPDB TRS_Standard/AG01/#4.30c)

The rewrite relation of the following TRS is considered.

le(0,y) true (1)
le(s(x),0) false (2)
le(s(x),s(y)) le(x,y) (3)
pred(s(x)) x (4)
minus(x,0) x (5)
minus(x,s(y)) pred(minus(x,y)) (6)
gcd(0,y) y (7)
gcd(s(x),0) s(x) (8)
gcd(s(x),s(y)) if_gcd(le(y,x),s(x),s(y)) (9)
if_gcd(true,x,y) gcd(minus(x,y),y) (10)
if_gcd(false,x,y) gcd(minus(y,x),x) (11)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Switch to Innermost Termination

The TRS is overlay and locally confluent:

10

Hence, it suffices to show innermost termination in the following.

1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
le#(s(x),s(y)) le#(x,y) (12)
minus#(x,s(y)) pred#(minus(x,y)) (13)
minus#(x,s(y)) minus#(x,y) (14)
gcd#(s(x),s(y)) if_gcd#(le(y,x),s(x),s(y)) (15)
gcd#(s(x),s(y)) le#(y,x) (16)
if_gcd#(true,x,y) gcd#(minus(x,y),y) (17)
if_gcd#(true,x,y) minus#(x,y) (18)
if_gcd#(false,x,y) gcd#(minus(y,x),x) (19)
if_gcd#(false,x,y) minus#(y,x) (20)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 3 components.