Supporting results for pointwise provable equality.
@[reducible]
Compatibility shim: mathlib v4.31 removed the named Finset.toSet that used to back the
Finset → Set coercion (the coercion is now an inline lambda). Re-introduce the name as a
reducible alias for the coercion so existing .toSet call-sites keep elaborating and the
Finset.coe_* simp lemmas continue to fire through it.
Equations
Instances For
The subset Set construction in List.
Equations
- PointwiseComposition.List.subsetSet l s = List.foldr (fun (a : α) (ih : Bool) => decide (s a) && ih) true l
Instances For
The upper construction in List.
Equations
- PointwiseComposition.List.upper [] = 0
- PointwiseComposition.List.upper (n :: ns) = max (n + 1) (PointwiseComposition.List.upper ns)
Instances For
theorem
PointwiseComposition.List.toFinset_map
{α : Type u}
{β : Type v}
[DecidableEq α]
[DecidableEq β]
{f : α → β}
(l : List α)
:
theorem
PointwiseComposition.List.toFinset_mono
{α : Type u}
[DecidableEq α]
{l l' : List α}
(h : l ⊆ l')
:
@[simp]
@[simp]
theorem
PointwiseComposition.List.sup_cons
{α : Type u}
[SemilatticeSup α]
[OrderBot α]
(a : α)
(as : List α)
:
theorem
PointwiseComposition.List.le_sup
{α : Type u}
[SemilatticeSup α]
[OrderBot α]
{a : α}
{l : List α}
:
theorem
PointwiseComposition.List.sup_ofFn
{α : Type u}
[SemilatticeSup α]
[OrderBot α]
{n : ℕ}
(f : Fin n → α)
:
The remove construction in List.
Equations
- PointwiseComposition.List.remove a = List.filter fun (x : α) => decide (x ≠ a)
Instances For
@[simp]
@[simp]
theorem
PointwiseComposition.List.eq_remove_cons
{α : Type u_1}
[DecidableEq α]
{ψ : α}
{l : List α}
:
theorem
PointwiseComposition.List.mem_of_mem_remove
{α : Type u_1}
[DecidableEq α]
{a b : α}
{l : List α}
(h : b ∈ (fun (x : α) => remove x l) a)
:
theorem
PointwiseComposition.List.remove_cons_self
{α : Type u_1}
[DecidableEq α]
(l : List α)
(a : α)
:
@[simp]
theorem
PointwiseComposition.List.remove_subset
{α : Type u_1}
[DecidableEq α]
(a : α)
(l : List α)
:
@[simp]
theorem
PointwiseComposition.List.subset_cons_remove
{α : Type u_1}
[DecidableEq α]
(a : α)
(l : List α)
:
theorem
PointwiseComposition.List.remove_subset_remove
{α : Type u_1}
[DecidableEq α]
(a : α)
{l₁ l₂ : List α}
(h : l₁ ⊆ l₂)
:
theorem
PointwiseComposition.List.remove_cons_subset_cons_remove
{α : Type u_1}
[DecidableEq α]
(a b : α)
(l : List α)
:
theorem
PointwiseComposition.List.remove_map_subset_map_remove
{α : Type u_2}
{β : Type u_1}
[DecidableEq α]
[DecidableEq β]
(f : α → β)
(l : List α)
(a : α)
:
def
PointwiseComposition.List.inductionWithSingleton'
{α : Type u_2}
{motive : List α → Sort u_1}
(hnil : motive [])
(hsingle : (a : α) → motive [a])
(hcons : (a b : α) → (as : List α) → motive (b :: as) → motive (a :: b :: as))
(as : List α)
:
motive as
The induction with singleton' construction in List.
Equations
- PointwiseComposition.List.inductionWithSingleton' hnil hsingle hcons [] = hnil
- PointwiseComposition.List.inductionWithSingleton' hnil hsingle hcons [a] = hsingle a
- PointwiseComposition.List.inductionWithSingleton' hnil hsingle hcons (a :: b :: as) = hcons a b as (PointwiseComposition.List.inductionWithSingleton' hnil hsingle hcons (b :: as))
Instances For
theorem
PointwiseComposition.List.Vector.get_one
{α : Type u_2}
{n : ℕ}
(v : List.Vector α (n + 2))
:
theorem
PointwiseComposition.List.Vector.ofFn_vecCons
{α : Type u_1}
{n : ℕ}
(a : α)
(v : Fin n → α)
:
theorem
PointwiseComposition.List.Vector.cons_get
{α : Type u_1}
{k : ℕ}
(a : α)
(v : List.Vector α k)
:
theorem
PointwiseComposition.List.exists_of_range
{α✝ : Type u_1}
{f : ℕ → α✝}
{n : ℕ}
{a : α✝}
(h : a ∈ List.map f (List.range n))
:
∃ i < n, a = f i