Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/PEANO_complete-noand_Z)

The rewrite relation of the following TRS is considered.

U11(tt,V1,V2) U12(isNatKind(activate(V1)),activate(V1),activate(V2)) (1)
U12(tt,V1,V2) U13(isNatKind(activate(V2)),activate(V1),activate(V2)) (2)
U13(tt,V1,V2) U14(isNatKind(activate(V2)),activate(V1),activate(V2)) (3)
U14(tt,V1,V2) U15(isNat(activate(V1)),activate(V2)) (4)
U15(tt,V2) U16(isNat(activate(V2))) (5)
U16(tt) tt (6)
U21(tt,V1) U22(isNatKind(activate(V1)),activate(V1)) (7)
U22(tt,V1) U23(isNat(activate(V1))) (8)
U23(tt) tt (9)
U31(tt,V2) U32(isNatKind(activate(V2))) (10)
U32(tt) tt (11)
U41(tt) tt (12)
U51(tt,N) U52(isNatKind(activate(N)),activate(N)) (13)
U52(tt,N) activate(N) (14)
U61(tt,M,N) U62(isNatKind(activate(M)),activate(M),activate(N)) (15)
U62(tt,M,N) U63(isNat(activate(N)),activate(M),activate(N)) (16)
U63(tt,M,N) U64(isNatKind(activate(N)),activate(M),activate(N)) (17)
U64(tt,M,N) s(plus(activate(N),activate(M))) (18)
isNat(n__0) tt (19)
isNat(n__plus(V1,V2)) U11(isNatKind(activate(V1)),activate(V1),activate(V2)) (20)
isNat(n__s(V1)) U21(isNatKind(activate(V1)),activate(V1)) (21)
isNatKind(n__0) tt (22)
isNatKind(n__plus(V1,V2)) U31(isNatKind(activate(V1)),activate(V2)) (23)
isNatKind(n__s(V1)) U41(isNatKind(activate(V1))) (24)
plus(N,0) U51(isNat(N),N) (25)
plus(N,s(M)) U61(isNat(M),M,N) (26)
0 n__0 (27)
plus(X1,X2) n__plus(X1,X2) (28)
s(X) n__s(X) (29)
activate(n__0) 0 (30)
activate(n__plus(X1,X2)) plus(X1,X2) (31)
activate(n__s(X)) s(X) (32)
activate(X) X (33)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by NaTT @ termCOMP 2023)

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
U12#(tt,V1,V2) isNatKind#(activate(V2)) (34)
plus#(N,s(M)) U61#(isNat(M),M,N) (35)
U21#(tt,V1) activate#(V1) (36)
U15#(tt,V2) isNat#(activate(V2)) (37)
U22#(tt,V1) activate#(V1) (38)
isNat#(n__s(V1)) isNatKind#(activate(V1)) (39)
activate#(n__s(X)) s#(X) (40)
U63#(tt,M,N) activate#(N) (41)
U63#(tt,M,N) U64#(isNatKind(activate(N)),activate(M),activate(N)) (42)
U14#(tt,V1,V2) isNat#(activate(V1)) (43)
isNat#(n__s(V1)) activate#(V1) (44)
U62#(tt,M,N) activate#(N) (45)
U61#(tt,M,N) activate#(N) (46)
isNat#(n__s(V1)) activate#(V1) (44)
U14#(tt,V1,V2) activate#(V2) (47)
U14#(tt,V1,V2) activate#(V1) (48)
U13#(tt,V1,V2) activate#(V2) (49)
U11#(tt,V1,V2) activate#(V1) (50)
U63#(tt,M,N) isNatKind#(activate(N)) (51)
U51#(tt,N) U52#(isNatKind(activate(N)),activate(N)) (52)
U11#(tt,V1,V2) U12#(isNatKind(activate(V1)),activate(V1),activate(V2)) (53)
U13#(tt,V1,V2) isNatKind#(activate(V2)) (54)
U61#(tt,M,N) U62#(isNatKind(activate(M)),activate(M),activate(N)) (55)
U63#(tt,M,N) activate#(M) (56)
U62#(tt,M,N) activate#(N) (45)
isNatKind#(n__plus(V1,V2)) U31#(isNatKind(activate(V1)),activate(V2)) (57)
U51#(tt,N) activate#(N) (58)
isNatKind#(n__s(V1)) isNatKind#(activate(V1)) (59)
U13#(tt,V1,V2) activate#(V1) (60)
U64#(tt,M,N) s#(plus(activate(N),activate(M))) (61)
isNat#(n__plus(V1,V2)) activate#(V1) (62)
U61#(tt,M,N) activate#(M) (63)
isNat#(n__plus(V1,V2)) isNatKind#(activate(V1)) (64)
U64#(tt,M,N) activate#(N) (65)
isNat#(n__s(V1)) U21#(isNatKind(activate(V1)),activate(V1)) (66)
U61#(tt,M,N) activate#(M) (63)
isNatKind#(n__s(V1)) activate#(V1) (67)
U31#(tt,V2) U32#(isNatKind(activate(V2))) (68)
U64#(tt,M,N) activate#(M) (69)
U13#(tt,V1,V2) activate#(V2) (49)
isNatKind#(n__plus(V1,V2)) isNatKind#(activate(V1)) (70)
U11#(tt,V1,V2) activate#(V1) (50)
U21#(tt,V1) activate#(V1) (36)
U62#(tt,M,N) activate#(M) (71)
U62#(tt,M,N) U63#(isNat(activate(N)),activate(M),activate(N)) (72)
isNat#(n__plus(V1,V2)) activate#(V1) (62)
plus#(N,0) U51#(isNat(N),N) (73)
U51#(tt,N) isNatKind#(activate(N)) (74)
U63#(tt,M,N) activate#(N) (41)
isNatKind#(n__s(V1)) U41#(isNatKind(activate(V1))) (75)
U22#(tt,V1) U23#(isNat(activate(V1))) (76)
U31#(tt,V2) activate#(V2) (77)
U14#(tt,V1,V2) U15#(isNat(activate(V1)),activate(V2)) (78)
U12#(tt,V1,V2) activate#(V2) (79)
plus#(N,s(M)) isNat#(M) (80)
U22#(tt,V1) isNat#(activate(V1)) (81)
U21#(tt,V1) isNatKind#(activate(V1)) (82)
isNat#(n__plus(V1,V2)) U11#(isNatKind(activate(V1)),activate(V1),activate(V2)) (83)
U15#(tt,V2) U16#(isNat(activate(V2))) (84)
U21#(tt,V1) U22#(isNatKind(activate(V1)),activate(V1)) (85)
U11#(tt,V1,V2) isNatKind#(activate(V1)) (86)
activate#(n__plus(X1,X2)) plus#(X1,X2) (87)
U31#(tt,V2) isNatKind#(activate(V2)) (88)
activate#(n__0) 0# (89)
U11#(tt,V1,V2) activate#(V2) (90)
isNat#(n__plus(V1,V2)) activate#(V2) (91)
U61#(tt,M,N) isNatKind#(activate(M)) (92)
U15#(tt,V2) activate#(V2) (93)
plus#(N,0) isNat#(N) (94)
isNatKind#(n__plus(V1,V2)) activate#(V2) (95)
U12#(tt,V1,V2) activate#(V2) (79)
U64#(tt,M,N) plus#(activate(N),activate(M)) (96)
U12#(tt,V1,V2) U13#(isNatKind(activate(V2)),activate(V1),activate(V2)) (97)
U13#(tt,V1,V2) U14#(isNatKind(activate(V2)),activate(V1),activate(V2)) (98)
U51#(tt,N) activate#(N) (58)
isNatKind#(n__plus(V1,V2)) activate#(V1) (99)
U12#(tt,V1,V2) activate#(V1) (100)
U62#(tt,M,N) isNat#(activate(N)) (101)
U52#(tt,N) activate#(N) (102)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.