Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/MYNAT_nokinds-noand_FR)

The rewrite relation of the following TRS is considered.

U11(tt,V2) U12(isNat(activate(V2))) (1)
U12(tt) tt (2)
U21(tt) tt (3)
U31(tt,V2) U32(isNat(activate(V2))) (4)
U32(tt) tt (5)
U41(tt,N) activate(N) (6)
U51(tt,M,N) U52(isNat(activate(N)),activate(M),activate(N)) (7)
U52(tt,M,N) s(plus(activate(N),activate(M))) (8)
U61(tt) 0 (9)
U71(tt,M,N) U72(isNat(activate(N)),activate(M),activate(N)) (10)
U72(tt,M,N) plus(x(activate(N),activate(M)),activate(N)) (11)
isNat(n__0) tt (12)
isNat(n__plus(V1,V2)) U11(isNat(activate(V1)),activate(V2)) (13)
isNat(n__s(V1)) U21(isNat(activate(V1))) (14)
isNat(n__x(V1,V2)) U31(isNat(activate(V1)),activate(V2)) (15)
plus(N,0) U41(isNat(N),N) (16)
plus(N,s(M)) U51(isNat(M),M,N) (17)
x(N,0) U61(isNat(N)) (18)
x(N,s(M)) U71(isNat(M),M,N) (19)
0 n__0 (20)
plus(X1,X2) n__plus(X1,X2) (21)
s(X) n__s(X) (22)
x(X1,X2) n__x(X1,X2) (23)
activate(n__0) 0 (24)
activate(n__plus(X1,X2)) plus(activate(X1),activate(X2)) (25)
activate(n__s(X)) s(activate(X)) (26)
activate(n__x(X1,X2)) x(activate(X1),activate(X2)) (27)
activate(X) X (28)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
U11#(tt,V2) U12#(isNat(activate(V2))) (29)
U11#(tt,V2) isNat#(activate(V2)) (30)
U11#(tt,V2) activate#(V2) (31)
U31#(tt,V2) U32#(isNat(activate(V2))) (32)
U31#(tt,V2) isNat#(activate(V2)) (33)
U31#(tt,V2) activate#(V2) (34)
U41#(tt,N) activate#(N) (35)
U51#(tt,M,N) U52#(isNat(activate(N)),activate(M),activate(N)) (36)
U51#(tt,M,N) isNat#(activate(N)) (37)
U51#(tt,M,N) activate#(N) (38)
U51#(tt,M,N) activate#(M) (39)
U52#(tt,M,N) s#(plus(activate(N),activate(M))) (40)
U52#(tt,M,N) plus#(activate(N),activate(M)) (41)
U52#(tt,M,N) activate#(N) (42)
U52#(tt,M,N) activate#(M) (43)
U61#(tt) 0# (44)
U71#(tt,M,N) U72#(isNat(activate(N)),activate(M),activate(N)) (45)
U71#(tt,M,N) isNat#(activate(N)) (46)
U71#(tt,M,N) activate#(N) (47)
U71#(tt,M,N) activate#(M) (48)
U72#(tt,M,N) plus#(x(activate(N),activate(M)),activate(N)) (49)
U72#(tt,M,N) x#(activate(N),activate(M)) (50)
U72#(tt,M,N) activate#(N) (51)
U72#(tt,M,N) activate#(M) (52)
isNat#(n__plus(V1,V2)) U11#(isNat(activate(V1)),activate(V2)) (53)
isNat#(n__plus(V1,V2)) isNat#(activate(V1)) (54)
isNat#(n__plus(V1,V2)) activate#(V1) (55)
isNat#(n__plus(V1,V2)) activate#(V2) (56)
isNat#(n__s(V1)) U21#(isNat(activate(V1))) (57)
isNat#(n__s(V1)) isNat#(activate(V1)) (58)
isNat#(n__s(V1)) activate#(V1) (59)
isNat#(n__x(V1,V2)) U31#(isNat(activate(V1)),activate(V2)) (60)
isNat#(n__x(V1,V2)) isNat#(activate(V1)) (61)
isNat#(n__x(V1,V2)) activate#(V1) (62)
isNat#(n__x(V1,V2)) activate#(V2) (63)
plus#(N,0) U41#(isNat(N),N) (64)
plus#(N,0) isNat#(N) (65)
plus#(N,s(M)) U51#(isNat(M),M,N) (66)
plus#(N,s(M)) isNat#(M) (67)
x#(N,0) U61#(isNat(N)) (68)
x#(N,0) isNat#(N) (69)
x#(N,s(M)) U71#(isNat(M),M,N) (70)
x#(N,s(M)) isNat#(M) (71)
activate#(n__0) 0# (72)
activate#(n__plus(X1,X2)) plus#(activate(X1),activate(X2)) (73)
activate#(n__plus(X1,X2)) activate#(X1) (74)
activate#(n__plus(X1,X2)) activate#(X2) (75)
activate#(n__s(X)) s#(activate(X)) (76)
activate#(n__s(X)) activate#(X) (77)
activate#(n__x(X1,X2)) x#(activate(X1),activate(X2)) (78)
activate#(n__x(X1,X2)) activate#(X1) (79)
activate#(n__x(X1,X2)) activate#(X2) (80)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.