Certification Problem

Input (TPDB TRS_Standard/CiME_04/lse)

The rewrite relation of the following TRS is considered.

Term_sub(Case(m,xi,n),s) Frozen(m,Sum_sub(xi,s),n,s) (1)
Frozen(m,Sum_constant(Left),n,s) Term_sub(m,s) (2)
Frozen(m,Sum_constant(Right),n,s) Term_sub(n,s) (3)
Frozen(m,Sum_term_var(xi),n,s) Case(Term_sub(m,s),xi,Term_sub(n,s)) (4)
Term_sub(Term_app(m,n),s) Term_app(Term_sub(m,s),Term_sub(n,s)) (5)
Term_sub(Term_pair(m,n),s) Term_pair(Term_sub(m,s),Term_sub(n,s)) (6)
Term_sub(Term_inl(m),s) Term_inl(Term_sub(m,s)) (7)
Term_sub(Term_inr(m),s) Term_inr(Term_sub(m,s)) (8)
Term_sub(Term_var(x),Id) Term_var(x) (9)
Term_sub(Term_var(x),Cons_usual(y,m,s)) m (10)
Term_sub(Term_var(x),Cons_usual(y,m,s)) Term_sub(Term_var(x),s) (11)
Term_sub(Term_var(x),Cons_sum(xi,k,s)) Term_sub(Term_var(x),s) (12)
Term_sub(Term_sub(m,s),t) Term_sub(m,Concat(s,t)) (13)
Sum_sub(xi,Id) Sum_term_var(xi) (14)
Sum_sub(xi,Cons_sum(psi,k,s)) Sum_constant(k) (15)
Sum_sub(xi,Cons_sum(psi,k,s)) Sum_sub(xi,s) (16)
Sum_sub(xi,Cons_usual(y,m,s)) Sum_sub(xi,s) (17)
Concat(Concat(s,t),u) Concat(s,Concat(t,u)) (18)
Concat(Cons_usual(x,m,s),t) Cons_usual(x,Term_sub(m,t),Concat(s,t)) (19)
Concat(Cons_sum(xi,k,s),t) Cons_sum(xi,k,Concat(s,t)) (20)
Concat(Id,s) s (21)

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.
Term_sub#(Term_pair(m,n),s) Term_sub#(m,s) (22)
Term_sub#(Term_var(x),Cons_usual(y,m,s)) Term_sub#(Term_var(x),s) (23)
Concat#(Cons_usual(x,m,s),t) Term_sub#(m,t) (24)
Term_sub#(Term_inl(m),s) Term_sub#(m,s) (25)
Term_sub#(Term_app(m,n),s) Term_sub#(n,s) (26)
Concat#(Concat(s,t),u) Concat#(t,u) (27)
Sum_sub#(xi,Cons_usual(y,m,s)) Sum_sub#(xi,s) (28)
Concat#(Cons_usual(x,m,s),t) Concat#(s,t) (29)
Frozen#(m,Sum_term_var(xi),n,s) Term_sub#(m,s) (30)
Term_sub#(Term_var(x),Cons_sum(xi,k,s)) Term_sub#(Term_var(x),s) (31)
Term_sub#(Term_app(m,n),s) Term_sub#(m,s) (32)
Term_sub#(Term_sub(m,s),t) Concat#(s,t) (33)
Concat#(Concat(s,t),u) Concat#(s,Concat(t,u)) (34)
Term_sub#(Case(m,xi,n),s) Frozen#(m,Sum_sub(xi,s),n,s) (35)
Term_sub#(Term_inr(m),s) Term_sub#(m,s) (36)
Frozen#(m,Sum_term_var(xi),n,s) Term_sub#(n,s) (37)
Frozen#(m,Sum_constant(Right),n,s) Term_sub#(n,s) (38)
Term_sub#(Term_pair(m,n),s) Term_sub#(n,s) (39)
Frozen#(m,Sum_constant(Left),n,s) Term_sub#(m,s) (40)
Concat#(Cons_sum(xi,k,s),t) Concat#(s,t) (41)
Sum_sub#(xi,Cons_sum(psi,k,s)) Sum_sub#(xi,s) (42)
Term_sub#(Term_sub(m,s),t) Term_sub#(m,Concat(s,t)) (43)
Term_sub#(Case(m,xi,n),s) Sum_sub#(xi,s) (44)

1.1 Dependency Graph Processor

The dependency pairs are split into 3 components.