Basic properties of sequences (possibly infinite lists) #
This file provides some basic lemmas about possibly infinite lists represented by the
type Stream'.Seq.
The statement of length_le_iff' does not assume that the sequence terminates. For a
simpler statement of the theorem where the sequence is known to terminate see length_le_iff.
The statement of length_le_iff assumes that the sequence terminates. For a
statement of the where the sequence is not known to terminate see length_le_iff'.
The statement of lt_length_iff' does not assume that the sequence terminates. For a
simpler statement of the theorem where the sequence is known to terminate see lt_length_iff.
The statement of length_le_iff assumes that the sequence terminates. For a
statement of the where the sequence is not known to terminate see length_le_iff'.
Coinductive principle for Pairwise that assumes that R is transitive. Compared to
Pairwise.coind, this allows you to prove R hd tl.head instead of tl.All (R hd ·) in step.
Coinductive principle for proving b.length' ≤ a.length' for two sequences a and b.
Convert a Seq1 to a sequence.
Equations
Instances For
Map a function on a Seq1
Equations
Instances For
Flatten a nonempty sequence of nonempty sequences
Equations
Instances For
The return operator for the Seq1 monad,
which produces a singleton sequence.
Equations
Instances For
Equations
The bind operator for the Seq1 monad,
which maps f on each element of s and appends the results together.
(Not all of s may be evaluated, because the first few elements of s
may already produce an infinite result.)