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.Data.List.Basic.
Alias of List.length_flatten'.
See List.length_flatten for the corresponding statement using List.sum.
Alias of List.countP_flatten'.
See List.countP_flatten for the corresponding statement using List.sum.
Alias of List.count_flatten'.
See List.count_flatten for the corresponding statement using List.sum.
Alias of List.length_flatMap'.
See List.length_flatMap for the corresponding statement using List.sum.
See List.countP_flatMap for the corresponding statement using List.sum.
Alias of List.countP_flatMap'.
See List.countP_flatMap for the corresponding statement using List.sum.
See List.count_flatMap for the corresponding statement using List.sum.
Alias of List.count_flatMap'.
See List.count_flatMap for the corresponding statement using List.sum.
In a join, taking the first elements up to an index which is the sum of the lengths of the
first i sublists, is the same as taking the join of the first i sublists.
See List.take_sum_flatten for the corresponding statement using List.sum.
Alias of List.take_sum_flatten'.
In a join, taking the first elements up to an index which is the sum of the lengths of the
first i sublists, is the same as taking the join of the first i sublists.
See List.take_sum_flatten for the corresponding statement using List.sum.
In a join, dropping all the elements up to an index which is the sum of the lengths of the
first i sublists, is the same as taking the join after dropping the first i sublists.
See List.drop_sum_flatten for the corresponding statement using List.sum.
Alias of List.drop_sum_flatten'.
In a join, dropping all the elements up to an index which is the sum of the lengths of the
first i sublists, is the same as taking the join after dropping the first i sublists.
See List.drop_sum_flatten for the corresponding statement using List.sum.
In a flatten of sublists, taking the slice between the indices A and B - 1 gives back the
original sublist of index i if A is the sum of the lengths of sublists of index < i, and
B is the sum of the lengths of sublists of index ≤ i.
See List.drop_take_succ_flatten_eq_getElem for the corresponding statement using List.sum.
Alias of List.drop_take_succ_flatten_eq_getElem'.
In a flatten of sublists, taking the slice between the indices A and B - 1 gives back the
original sublist of index i if A is the sum of the lengths of sublists of index < i, and
B is the sum of the lengths of sublists of index ≤ i.
See List.drop_take_succ_flatten_eq_getElem for the corresponding statement using List.sum.
We can rebracket x ++ (l₁ ++ x) ++ (l₂ ++ x) ++ ... ++ (lₙ ++ x) to
(x ++ l₁) ++ (x ++ l₂) ++ ... ++ (x ++ lₙ) ++ x where L = [l₁, l₂, ..., lₙ].
Alias of List.append_flatten_map_append.
We can rebracket x ++ (l₁ ++ x) ++ (l₂ ++ x) ++ ... ++ (lₙ ++ x) to
(x ++ l₁) ++ (x ++ l₂) ++ ... ++ (x ++ lₙ) ++ x where L = [l₁, l₂, ..., lₙ].