⦃x, y, z, ...⦄ notation for kpair
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Multiset.add_map_subset_map_filter_add_atom
{α : Type u_1}
{β : Type u_2}
[DecidableEq α]
(s : Multiset α)
(t : Multiset β)
(f : α → β)
(a : α)
:
After filtering out a, adjoining f a recovers every mapped member.
This is a routine technical property of multiset membership.
Equations
- Multiset.Traversal.cast h t = h ▸ t
Instances For
Instances For
def
Multiset.Traversal.add
{α✝ : Type u_1}
{s₁ s₂ : Multiset α✝}
(t₁ : s₁.Traversal)
(t₂ : s₂.Traversal)
:
Equations
- t₁.add Multiset.Traversal.zero = Multiset.Traversal.cast ⋯ t₁
- t₁.add (Multiset.Traversal.succ a t) = Multiset.Traversal.cast ⋯ (Multiset.Traversal.succ a (t₁.add t))
Instances For
Equations
Instances For
def
Multiset.Traversal.map
{α : Type u_1}
{β : Type u_2}
(f : α → β)
{s : Multiset α}
(t : s.Traversal)
:
(Multiset.map f s).Traversal
Construct a traversal after applying a function to every element.
Equations
Instances For
def
Multiset.Traversal.filter
{α : Type u_1}
(p : α → Prop)
[DecidablePred p]
{s : Multiset α}
(t : s.Traversal)
:
(Multiset.filter p s).Traversal
Construct a traversal of the elements satisfying a decidable predicate.
Equations
- Multiset.Traversal.filter p t = Multiset.Traversal.cast ⋯ (Multiset.Traversal.ofList (List.filter (fun (b : α) => decide (p b)) t.toList))
Instances For
def
Multiset.Traversal.erase
{α : Type u_1}
[DecidableEq α]
(a : α)
{s : Multiset α}
(t : s.Traversal)
:
Construct a traversal after removing one occurrence of an element.
Equations
Instances For
def
Multiset.Traversal.remove
{α : Type u_1}
[DecidableEq α]
{a : α}
{s : Multiset α}
(t : (s + ⦃a⦄).Traversal)
:
Remove the distinguished occurrence from a traversal of an adjoined atom.
Equations
Instances For
def
Multiset.Traversal.getPreimage
{β : Type u_1}
{α : Type u_2}
[DecidableEq β]
{f : α → β}
{s : Multiset α}
(t : s.Traversal)
{b : β}
(h : b ∈ Multiset.map f s)
:
Constructively extract a preimage from a mapped traversal.
Equations
- t.getPreimage h = ⟨↑(List.chooseX (fun (a : α) => f a = b) t.toList ⋯), ⋯⟩
Instances For
@[instance_reducible]
Equations
- Multiset.Traversal.inhabited = { default := Multiset.Traversal.cast ⋯ (Multiset.Traversal.ofList s.toList) }