mk lemmas #
toArray lemmas #
Instances For
Equations
Instances For
toList #
Instances For
Equations
Instances For
empty #
size #
push #
cast #
replicate #
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Instances For
L[i] and L[i]? #
mem #
Decidability of bounded quantifiers #
Equations
- Vector.instDecidableForallForallMemOfDecidablePred = decidable_of_iff (∀ (i : Nat) (h : i < n), p xs[i]) ⋯
any / all #
set #
setIfInBounds #
BEq #
Instances For
isEqv #
back #
map #
map_id_fun' differs from map_id_fun by representing the identity function as a lambda, rather than id.
Use this as induction ass using vector₂_induction on a hypothesis of the form ass : Vector (Vector α n) m.
The hypothesis ass will be replaced with a hypothesis ass : Array (Array α)
along with additional hypotheses h₁ : ass.size = m and h₂ : ∀ xs ∈ ass, xs.size = n.
Appearances of the original ass in the goal will be replaced with
Vector.mk (xss.attach.map (fun ⟨xs, m⟩ => Vector.mk xs ⋯)) ⋯.
Use this as induction ass using vector₃_induction on a hypothesis of the form ass : Vector (Vector (Vector α n) m) k.
The hypothesis ass will be replaced with a hypothesis ass : Array (Array (Array α))
along with additional hypotheses h₁ : ass.size = k, h₂ : ∀ xs ∈ ass, xs.size = m,
and h₃ : ∀ xs ∈ ass, ∀ x ∈ xs, x.size = n.
Appearances of the original ass in the goal will be replaced with
Vector.mk (xss.attach.map (fun ⟨xs, m⟩ => Vector.mk (xs.attach.map (fun ⟨x, m'⟩ => Vector.mk x ⋯)) ⋯)) ⋯.
singleton #
append #
See also eq_push_append_of_mem, which proves a stronger version
in which the initial array must not contain the element.
flatten #
flatMap #
replicate #
Equations
Instances For
Variant of replicate_succ that prepends a at the beginning of the vector.
Equations
Instances For
Equations
Instances For
Equations
Instances For
Instances For
Equations
Instances For
Instances For
Equations
Instances For
Instances For
Equations
Instances For
Instances For
Instances For
Instances For
Instances For
Equations
Instances For
Instances For
Instances For
Instances For
Equations
Instances For
Equations
Instances For
reverse #
Equations
Instances For
extract #
foldlM and foldrM #
foldl / foldr #
We can prove that two folds over the same vector are related (by some arbitrary relation) if we know that the initial elements are related and the folding function, for each element of the vector, preserves the relation.
We can prove that two folds over the same vector are related (by some arbitrary relation) if we know that the initial elements are related and the folding function, for each element of the vector, preserves the relation.
Further results about back and back? #
Equations
Instances For
leftpad and rightpad #
contains #
more lemmas about pop #
Equations
Instances For
Logic #
any / all #
replace #
findRev? and findSomeRev? #
zipWith #
take #
swap #
take #
drop #
Decidable quantifiers. #
Equations
- Vector.instDecidableForallVectorSucc P = decidable_of_iff' (∀ (x : α) (xs : Vector α n), P (xs.push x)) ⋯