Finsets and multisets form a graded order #
This file characterises atoms, coatoms and the covering relation in finsets and multisets. It also
proves that they form a ℕ
-graded order.
Main declarations #
Multiset.instGradeMinOrder_nat
: Multisets areℕ
-gradedFinset.instGradeMinOrder_nat
: Finsets areℕ
-graded
Equations
- Multiset.instGradeMinOrder = GradeMinOrder.mk (_ : ∀ (s : Multiset α), IsMin s → IsMin (GradeOrder.grade s))
Finsets form an order-connected suborder of multisets.
Finsets form an order-connected suborder of sets.
Alias of the reverse direction of Finset.val_wcovBy_val
.
Alias of the reverse direction of Finset.val_covBy_val
.
Alias of the reverse direction of Finset.coe_wcovBy_coe
.
Alias of the reverse direction of Finset.coe_covBy_coe
.
@[simp]
theorem
Finset.covBy_cons
{α : Type u_1}
{s : Finset α}
{a : α}
(ha : a ∉ s)
:
s ⋖ Finset.cons a s ha
theorem
CovBy.exists_finset_cons
{α : Type u_1}
{s : Finset α}
{t : Finset α}
(h : s ⋖ t)
:
∃ (a : α) (ha : a ∉ s), Finset.cons a s ha = t
theorem
Finset.covBy_iff_exists_cons
{α : Type u_1}
{s : Finset α}
{t : Finset α}
:
s ⋖ t ↔ ∃ (a : α) (ha : a ∉ s), Finset.cons a s ha = t
@[simp]
@[simp]
theorem
Finset.erase_wcovBy
{α : Type u_1}
[DecidableEq α]
(s : Finset α)
(a : α)
:
Finset.erase s a ⩿ s
@[simp]
theorem
Finset.erase_covBy
{α : Type u_1}
{s : Finset α}
{a : α}
[DecidableEq α]
(ha : a ∈ s)
:
Finset.erase s a ⋖ s
theorem
CovBy.exists_finset_insert
{α : Type u_1}
{s : Finset α}
{t : Finset α}
[DecidableEq α]
(h : s ⋖ t)
:
theorem
CovBy.exists_finset_erase
{α : Type u_1}
{s : Finset α}
{t : Finset α}
[DecidableEq α]
(h : s ⋖ t)
:
∃ a ∈ t, Finset.erase t a = s
theorem
Finset.covBy_iff_exists_insert
{α : Type u_1}
{s : Finset α}
{t : Finset α}
[DecidableEq α]
:
theorem
Finset.covBy_iff_exists_erase
{α : Type u_1}
{s : Finset α}
{t : Finset α}
[DecidableEq α]
:
s ⋖ t ↔ ∃ a ∈ t, Finset.erase t a = s
Finsets are multiset-graded. This is not very meaningful mathematically but rather a handy way
to record that the inclusion Finset α ↪ Multiset α
preserves the covering relation.
Equations
- Finset.instGradeMinOrder_multiset = GradeMinOrder.mk (_ : ∀ (s : Finset α), IsMin s → IsMin (GradeOrder.grade s))
Equations
- Finset.instGradeMinOrder_nat = GradeMinOrder.mk (_ : ∀ (s : Finset α), IsMin s → IsMin (GradeOrder.grade s))