Problem: from(X) -> cons(X) length() -> 0() length() -> s(length1()) length1() -> length() Proof: Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [s](x0) = [0 0 0]x0 [0 0 0] , [1] [length1] = [0] [0], [0] [0] = [0] [0], [1] [length] = [0] [0], [1 0 0] [cons](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [1] [from](x0) = [0 0 0]x0 + [0] [0 0 0] [0] orientation: [1 0 0] [1] [1 0 0] from(X) = [0 0 0]X + [0] >= [0 0 0]X = cons(X) [0 0 0] [0] [0 0 0] [1] [0] length() = [0] >= [0] = 0() [0] [0] [1] [1] length() = [0] >= [0] = s(length1()) [0] [0] [1] [1] length1() = [0] >= [0] = length() [0] [0] problem: length() -> s(length1()) length1() -> length() Unfolding Processor: loop length: 2 terms: length() s(length1()) context: s([]) substitution: Qed