What is the concept of Chain Complete?

Viewed 515

I'm reading the book called 'Thinking Functionally with Haskell' by Richard Bird, and encountered the notion of Chain Complete regarding induction over infinite lists. It says:

A property P is called chain complete if whenever xs0, xs1,... is a sequence of partial lists with limit xs, and P(xsn) holds for all n, then P(xs) also holds.

As an example of chain complete property, it says:

All equations e1 = e2, where e1 and e2 are Haskell expressions involving universally quantified free variables, are chain complete.

I'm having trouble to understand how this example fits the property of chain complete here. And it also states inequalities e1 =/= e2 are not necessarily chain complete. How do I understand these properties in terms of this Chain Complete-ness ?

By the way this may not necessarily be a question regarding Haskell, but a question in terms of mathematics.

1 Answers
Related