Skip to content

Commit 3ac8d92

Browse files
SnirBroshiBergschaf
authored andcommitted
feat(Data/Set/Card): Fintype.card s = s.ncard (leanprover-community#38426)
We have `↑(Fintype.card s) = s.encard` but we don't yet have a theorem relating `Fintype.card` and `Set.ncard`. This adds `Fintype.card s = s.ncard` for `Fintype s`, and also `s.ncard = s.encard` for `Finite s`.
1 parent 22736bf commit 3ac8d92

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

Mathlib/Data/Set/Card.lean

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,10 @@ theorem ncard_def (s : Set α) : s.ncard = ENat.toNat s.encard := rfl
589589
theorem Finite.cast_ncard_eq (hs : s.Finite) : s.ncard = s.encard := by
590590
rwa [ncard, ENat.coe_toNat_eq_self, ne_eq, encard_eq_top_iff, Set.Infinite, not_not]
591591

592+
variable (s) in
593+
theorem coe_ncard_eq_encard [Finite s] : s.ncard = s.encard :=
594+
s.toFinite.cast_ncard_eq
595+
592596
lemma ncard_le_encard (s : Set α) : s.ncard ≤ s.encard := ENat.coe_toNat_le_self _
593597

594598
@[simp] theorem _root_.Nat.card_coe_set_eq (s : Set α) : Nat.card s = s.ncard := rfl
@@ -602,6 +606,10 @@ theorem ncard_eq_toFinset_card' (s : Set α) [Fintype s] :
602606
s.ncard = s.toFinset.card := by
603607
simp [← _root_.Nat.card_coe_set_eq, Nat.card_eq_fintype_card]
604608

609+
variable (s) in
610+
theorem fintypeCard_eq_ncard [Fintype s] : Fintype.card s = s.ncard := by
611+
rw [ncard_eq_toFinset_card', toFinset_card]
612+
605613
lemma cast_ncard {s : Set α} (hs : s.Finite) :
606614
(s.ncard : Cardinal) = Cardinal.mk s := @Nat.cast_card _ hs
607615

0 commit comments

Comments
 (0)