Certification Problem

Input (TPDB TRS_Standard/Secret_05_TRS/aprove3)

The rewrite relation of the following TRS is considered.

function(iszero,0,dummy,dummy2) true (1)
function(iszero,s(x),dummy,dummy2) false (2)
function(p,0,dummy,dummy2) 0 (3)
function(p,s(0),dummy,dummy2) 0 (4)
function(p,s(s(x)),dummy,dummy2) s(function(p,s(x),x,x)) (5)
function(plus,dummy,x,y) function(if,function(iszero,x,x,x),x,y) (6)
function(if,true,x,y) y (7)
function(if,false,x,y) function(plus,function(third,x,y,y),function(p,x,x,y),s(y)) (8)
function(third,x,y,z) z (9)

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.
function#(p,s(s(x)),dummy,dummy2) function#(p,s(x),x,x) (10)
function#(plus,dummy,x,y) function#(if,function(iszero,x,x,x),x,y) (11)
function#(plus,dummy,x,y) function#(iszero,x,x,x) (12)
function#(if,false,x,y) function#(plus,function(third,x,y,y),function(p,x,x,y),s(y)) (13)
function#(if,false,x,y) function#(third,x,y,y) (14)
function#(if,false,x,y) function#(p,x,x,y) (15)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 2 components.