Finite sets in Option α #
In this file we define
Option.toFinset: construct an empty or singletonFinset αfrom anOption α;Finset.insertNone: givens : Finset α, lift it to a finset onOption αusingOption.someand then insertOption.none;Finset.eraseNone: givens : Finset (Option α), returnst : Finset αsuch thatx ∈ t ↔ some x ∈ s.
Then we prove some basic lemmas about these definitions.
Tags #
finset, option
Given a finset on α, lift it to being a finset on Option α
using Option.some and then insert Option.none.
Equations
- Finset.insertNone = OrderEmbedding.ofMapLEIff (fun (s : Finset α) => Finset.cons none (Finset.map Function.Embedding.some s) ⋯) ⋯
Instances For
@[simp]
@[simp]
Given s : Finset (Option α), eraseNone s : Finset α is the set of x : α such that
some x ∈ s.
Equations
- Finset.eraseNone = (Finset.mapEmbedding (Equiv.optionIsSomeEquiv α).toEmbedding).toOrderHom.comp { toFun := Finset.subtype fun (x : Option α) => x.isSome = true, monotone' := ⋯ }
Instances For
@[simp]
@[simp]
@[simp]
theorem
Finset.eraseNone_union
{α : Type u_1}
[DecidableEq (Option α)]
[DecidableEq α]
(s t : Finset (Option α))
:
@[simp]
theorem
Finset.eraseNone_inter
{α : Type u_1}
[DecidableEq (Option α)]
[DecidableEq α]
(s t : Finset (Option α))
:
@[simp]
@[simp]
theorem
Finset.insertNone_eraseNone
{α : Type u_1}
[DecidableEq (Option α)]
(s : Finset (Option α))
:
@[simp]