Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/LengthOfFiniteLists_nosorts_GM)

The rewrite relation of the following TRS is considered.

a__zeros cons(0,zeros) (1)
a__and(tt,X) mark(X) (2)
a__length(nil) 0 (3)
a__length(cons(N,L)) s(a__length(mark(L))) (4)
mark(zeros) a__zeros (5)
mark(and(X1,X2)) a__and(mark(X1),X2) (6)
mark(length(X)) a__length(mark(X)) (7)
mark(cons(X1,X2)) cons(mark(X1),X2) (8)
mark(0) 0 (9)
mark(tt) tt (10)
mark(nil) nil (11)
mark(s(X)) s(mark(X)) (12)
a__zeros zeros (13)
a__and(X1,X2) and(X1,X2) (14)
a__length(X) length(X) (15)

Property / Task

Prove or disprove termination.

Answer / Result

No.

Proof (by AProVE @ termCOMP 2023)

1 Rule Removal

The following rules have been removed.
a__and(tt,X) mark(X) (2)
a__length(nil) 0 (3)
mark(tt) tt (10)
mark(nil) nil (11)
a__length(X) length(X) (15)

1.1 Rule Removal

The following rules have been removed.
mark(length(X)) a__length(mark(X)) (7)
a__zeros zeros (13)
a__and(X1,X2) and(X1,X2) (14)

1.1.1 Rule Removal

The following rules have been removed.
mark(and(X1,X2)) a__and(mark(X1),X2) (6)

1.1.1.1 Rule Removal

The following rules have been removed.
mark(cons(X1,X2)) cons(mark(X1),X2) (8)
mark(0) 0 (9)

1.1.1.1.1 Innermost Lhss Increase

We add the following left hand sides to the innermost strategy.
a__zeros
a__length(cons(x0,x1))
mark(zeros)
mark(s(x0))

1.1.1.1.1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
a__length#(cons(N,L)) a__length#(mark(L)) (16)
a__length#(cons(N,L)) mark#(L) (17)
mark#(zeros) a__zeros# (18)
mark#(s(X)) mark#(X) (19)
It remains to prove infiniteness of the resulting DP problem.

1.1.1.1.1.1.1 Pair and Rule Removal

Some pairs and rules have been removed and it remains to prove infiniteness of the remaing problem. The following pairs have been deleted.
a__length#(cons(N,L)) mark#(L) (17)
mark#(zeros) a__zeros# (18)
mark#(s(X)) mark#(X) (19)
and the following rules have been deleted.

1.1.1.1.1.1.1.1 Pair and Rule Removal

Some pairs and rules have been removed and it remains to prove infiniteness of the remaing problem. The following pairs have been deleted. and the following rules have been deleted.
a__length(cons(N,L)) s(a__length(mark(L))) (4)

1.1.1.1.1.1.1.1.1 Innermost Lhss Removal Processor

We restrict the innermost strategy to the following left hand sides.

a__zeros
mark(zeros)
mark(s(x0))

1.1.1.1.1.1.1.1.1.1 Pair and Rule Removal

Some pairs and rules have been removed and it remains to prove infiniteness of the remaing problem. The following pairs have been deleted. and the following rules have been deleted.
mark(s(X)) s(mark(X)) (12)

1.1.1.1.1.1.1.1.1.1.1 Narrowing Processor

We consider narrowings of the pair below position 1 to get the following set of pairs
a__length#(cons(y0,zeros)) a__length#(a__zeros) (20)

1.1.1.1.1.1.1.1.1.1.1.1 Pair and Rule Removal

Some pairs and rules have been removed and it remains to prove infiniteness of the remaing problem. The following pairs have been deleted. and the following rules have been deleted.
mark(zeros) a__zeros (5)

1.1.1.1.1.1.1.1.1.1.1.1.1 Innermost Lhss Removal Processor

We restrict the innermost strategy to the following left hand sides.

a__zeros

1.1.1.1.1.1.1.1.1.1.1.1.1.1 Rewriting Processor

We rewrite the right hand side of the pair resulting in

1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Pair and Rule Removal

Some pairs and rules have been removed and it remains to prove infiniteness of the remaing problem. The following pairs have been deleted. and the following rules have been deleted.
a__zeros cons(0,zeros) (1)

1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Innermost Lhss Removal Processor

We restrict the innermost strategy to the following left hand sides.

There are no lhss.

1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Instantiation Processor

The pairs are instantiated to the following pairs.
a__length#(cons(0,zeros)) a__length#(cons(0,zeros)) (22)

1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Loop

The following loop proves infiniteness of the DP problem.

t0 = a__length#(cons(0,zeros))
P a__length#(cons(0,zeros))
= t1
where t1 = t0