Distributive lattice structure on multisets #
This file defines an instance DistribLattice (Multiset α) using the union and intersection
operators:
Union #
@[instance_reducible]
Equations
- Multiset.instUnion = { union := Multiset.union }
theorem Multiset.union_le_union_right {α : Type u_1} [DecidableEq α] {s t : Multiset α} (h : s ≤ t) (u : Multiset α) :
theorem Multiset.union_le {α : Type u_1} [DecidableEq α] {s t u : Multiset α} (h₁ : s ≤ u) (h₂ : t ≤ u) :
@[simp]
theorem Multiset.map_union {α : Type u_1} {β : Type v} [DecidableEq α] [DecidableEq β] {f : α → β} (finj : Function.Injective f) {s t : Multiset α} :
@[simp]
theorem Multiset.filter_union {α : Type u_1} [DecidableEq α] (p : α → Prop) [DecidablePred p] (s t : Multiset α) :
Intersection #
@[instance_reducible]
Equations
- Multiset.instInter = { inter := Multiset.inter }
theorem Multiset.le_inter {α : Type u_1} [DecidableEq α] {s t u : Multiset α} (h₁ : s ≤ t) (h₂ : s ≤ u) :
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[simp]
@[simp]
theorem Multiset.union_le_union_left {α : Type u_1} [DecidableEq α] {s t : Multiset α} (h : s ≤ t) (u : Multiset α) :
@[simp]
@[instance_reducible]
Equations
- Multiset.instDistribLattice = { toLattice := Multiset.instLattice, le_sup_inf := ⋯ }
@[simp]
theorem Multiset.filter_inter {α : Type u_1} [DecidableEq α] (p : α → Prop) [DecidablePred p] (s t : Multiset α) :
Disjoint multisets #
Alias of the forward direction of Multiset.disjoint_left.
Alias of the forward direction of Multiset.disjoint_right.
theorem Multiset.Nodup.inter_left {α : Type u_1} {s : Multiset α} [DecidableEq α] (t : Multiset α) :
theorem Multiset.Nodup.inter_right {α : Type u_1} {t : Multiset α} [DecidableEq α] (s : Multiset α) :