Join of a list of lists #
This file proves basic properties of List.flatten, which concatenates a list of lists. It is
defined in Init.Prelude.
Taking only the first i+1 elements in a list, and then dropping the first i ones, one is
left with a list of length 1 made of the i-th element of the original list.
We can rebracket x ++ (l₁ ++ x) ++ (l₂ ++ x) ++ ... ++ (lₙ ++ x) to
(x ++ l₁) ++ (x ++ l₂) ++ ... ++ (x ++ lₙ) ++ x where L = [l₁, l₂, ..., lₙ].
See also head_flatten_eq_head_head, which switches around the proof obligations.
See also head_head_eq_head_flatten, which switches around the proof obligations.
See also getLast_flatten_eq_getLast_getLast, which switches around the proof obligations.
Alias of List.getLast_getLast_eq_getLast_flatten.
See also getLast_flatten_eq_getLast_getLast, which switches around the proof obligations.
See also getLast_getLast_eq_getLast_flatten, which switches around the proof obligations.
Alias of List.getLast_flatten_eq_getLast_getLast.
See also getLast_getLast_eq_getLast_flatten, which switches around the proof obligations.