Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/PEANO_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,N) activate(N) (4)
U41(tt,M,N) U42(isNat(activate(N)),activate(M),activate(N)) (5)
U42(tt,M,N) s(plus(activate(N),activate(M))) (6)
isNat(n__0) tt (7)
isNat(n__plus(V1,V2)) U11(isNat(activate(V1)),activate(V2)) (8)
isNat(n__s(V1)) U21(isNat(activate(V1))) (9)
plus(N,0) U31(isNat(N),N) (10)
plus(N,s(M)) U41(isNat(M),M,N) (11)
0 n__0 (12)
plus(X1,X2) n__plus(X1,X2) (13)
s(X) n__s(X) (14)
activate(n__0) 0 (15)
activate(n__plus(X1,X2)) plus(activate(X1),activate(X2)) (16)
activate(n__s(X)) s(activate(X)) (17)
activate(X) X (18)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by ttt2 @ termCOMP 2023)

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
U11#(tt,V2) activate#(V2) (19)
U11#(tt,V2) isNat#(activate(V2)) (20)
U11#(tt,V2) U12#(isNat(activate(V2))) (21)
U31#(tt,N) activate#(N) (22)
U41#(tt,M,N) activate#(M) (23)
U41#(tt,M,N) activate#(N) (24)
U41#(tt,M,N) isNat#(activate(N)) (25)
U41#(tt,M,N) U42#(isNat(activate(N)),activate(M),activate(N)) (26)
U42#(tt,M,N) activate#(M) (27)
U42#(tt,M,N) activate#(N) (28)
U42#(tt,M,N) plus#(activate(N),activate(M)) (29)
U42#(tt,M,N) s#(plus(activate(N),activate(M))) (30)
isNat#(n__plus(V1,V2)) activate#(V2) (31)
isNat#(n__plus(V1,V2)) activate#(V1) (32)
isNat#(n__plus(V1,V2)) isNat#(activate(V1)) (33)
isNat#(n__plus(V1,V2)) U11#(isNat(activate(V1)),activate(V2)) (34)
isNat#(n__s(V1)) activate#(V1) (35)
isNat#(n__s(V1)) isNat#(activate(V1)) (36)
isNat#(n__s(V1)) U21#(isNat(activate(V1))) (37)
plus#(N,0) isNat#(N) (38)
plus#(N,0) U31#(isNat(N),N) (39)
plus#(N,s(M)) isNat#(M) (40)
plus#(N,s(M)) U41#(isNat(M),M,N) (41)
activate#(n__0) 0# (42)
activate#(n__plus(X1,X2)) activate#(X2) (43)
activate#(n__plus(X1,X2)) activate#(X1) (44)
activate#(n__plus(X1,X2)) plus#(activate(X1),activate(X2)) (45)
activate#(n__s(X)) activate#(X) (46)
activate#(n__s(X)) s#(activate(X)) (47)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.