Join of a list of lists #
This file proves basic properties of List.join
, which concatenates a list of lists. It is defined
in Init.Data.List.Basic
.
See List.length_flatten
for the corresponding statement using List.sum
.
Alias of List.length_flatten'
.
See List.length_flatten
for the corresponding statement using List.sum
.
See List.countP_flatten
for the corresponding statement using List.sum
.
Alias of List.countP_flatten'
.
See List.countP_flatten
for the corresponding statement using List.sum
.
See List.count_flatten
for the corresponding statement using List.sum
.
Alias of List.count_flatten'
.
See List.count_flatten
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
.
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.
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
.
Alias of List.flatten_drop_length_sub_one
.
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ₙ]
.