Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/PEANO_complete-noand_FR)

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

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.