Certification Problem

Input (TPDB TRS_Standard/Beerendonk_07/20)

The rewrite relation of the following TRS is considered.

cond1(true,x,y) cond2(gr(y,0),x,y) (1)
cond2(true,x,y) cond2(gr(y,0),p(x),p(y)) (2)
cond2(false,x,y) cond1(and(eq(x,y),gr(x,0)),x,y) (3)
gr(0,x) false (4)
gr(s(x),0) true (5)
gr(s(x),s(y)) gr(x,y) (6)
p(0) 0 (7)
p(s(x)) x (8)
eq(0,0) true (9)
eq(s(x),0) false (10)
eq(0,s(x)) false (11)
eq(s(x),s(y)) eq(x,y) (12)
and(true,true) true (13)
and(false,x) false (14)
and(x,false) false (15)

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.
cond1#(true,x,y) cond2#(gr(y,0),x,y) (16)
cond1#(true,x,y) gr#(y,0) (17)
cond2#(true,x,y) cond2#(gr(y,0),p(x),p(y)) (18)
cond2#(true,x,y) gr#(y,0) (19)
cond2#(true,x,y) p#(x) (20)
cond2#(true,x,y) p#(y) (21)
cond2#(false,x,y) cond1#(and(eq(x,y),gr(x,0)),x,y) (22)
cond2#(false,x,y) and#(eq(x,y),gr(x,0)) (23)
cond2#(false,x,y) eq#(x,y) (24)
cond2#(false,x,y) gr#(x,0) (25)
gr#(s(x),s(y)) gr#(x,y) (26)
eq#(s(x),s(y)) eq#(x,y) (27)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 3 components.