@@ -503,22 +503,18 @@ theorem Finite.cast_ncard_eq (hs : s.Finite) : s.ncard = s.encard := by
503
503
504
504
lemma ncard_le_encard (s : Set α) : s.ncard ≤ s.encard := ENat.coe_toNat_le_self _
505
505
506
- theorem Nat.card_coe_set_eq (s : Set α) : Nat.card s = s.ncard := by
507
- obtain (h | h) := s.finite_or_infinite
508
- · have := h.fintype
509
- rw [ncard, h.encard_eq_coe_toFinset_card, Nat.card_eq_fintype_card,
510
- toFinite_toFinset, toFinset_card, ENat.toNat_coe]
511
- have := infinite_coe_iff.2 h
512
- rw [ncard, h.encard_eq, Nat.card_eq_zero_of_infinite, ENat.toNat_top]
506
+ @[simp] theorem _root_.Nat.card_coe_set_eq (s : Set α) : Nat.card s = s.ncard := rfl
507
+
508
+ @[deprecated (since := "2025-07-05")] alias Nat.card_coe_set_eq := _root_.Nat.card_coe_set_eq
513
509
514
510
theorem ncard_eq_toFinset_card (s : Set α) (hs : s.Finite := by toFinite_tac) :
515
511
s.ncard = hs.toFinset.card := by
516
- rw [← Nat.card_coe_set_eq, @Nat.card_eq_fintype_card _ hs.fintype,
512
+ rw [← _root_. Nat.card_coe_set_eq, @Nat.card_eq_fintype_card _ hs.fintype,
517
513
@Finite.card_toFinset _ _ hs.fintype hs]
518
514
519
515
theorem ncard_eq_toFinset_card' (s : Set α) [Fintype s] :
520
516
s.ncard = s.toFinset.card := by
521
- simp [← Nat.card_coe_set_eq, Nat.card_eq_fintype_card]
517
+ simp [← _root_. Nat.card_coe_set_eq, Nat.card_eq_fintype_card]
522
518
523
519
lemma cast_ncard {s : Set α} (hs : s.Finite) :
524
520
(s.ncard : Cardinal) = Cardinal.mk s := @Nat.cast_card _ hs
@@ -529,7 +525,7 @@ theorem encard_le_coe_iff_finite_ncard_le {k : ℕ} : s.encard ≤ k ↔ s.Finit
529
525
fun h ↦ ⟨s.ncard, by rw [hfin.cast_ncard_eq], h⟩⟩
530
526
531
527
theorem Infinite.ncard (hs : s.Infinite) : s.ncard = 0 := by
532
- rw [← Nat.card_coe_set_eq, @Nat.card_eq_zero_of_infinite _ hs.to_subtype]
528
+ rw [← _root_. Nat.card_coe_set_eq, @Nat.card_eq_zero_of_infinite _ hs.to_subtype]
533
529
534
530
@[gcongr]
535
531
theorem ncard_le_ncard (hst : s ⊆ t) (ht : t.Finite := by toFinite_tac) :
@@ -543,15 +539,12 @@ theorem ncard_mono [Finite α] : @Monotone (Set α) _ _ _ ncard := fun _ _ ↦ n
543
539
s.ncard = 0 ↔ s = ∅ := by
544
540
rw [← Nat.cast_inj (R := ℕ∞), hs.cast_ncard_eq, Nat.cast_zero, encard_eq_zero]
545
541
546
- @[simp, norm_cast] theorem ncard_coe_Finset (s : Finset α) : (s : Set α).ncard = s.card := by
542
+ @[simp, norm_cast] theorem ncard_coe_finset (s : Finset α) : (s : Set α).ncard = s.card := by
547
543
rw [ncard_eq_toFinset_card _, Finset.finite_toSet_toFinset]
548
544
549
- theorem ncard_univ (α : Type *) : (univ : Set α).ncard = Nat.card α := by
550
- rcases finite_or_infinite α with h | h
551
- · have hft := Fintype.ofFinite α
552
- rw [ncard_eq_toFinset_card, Finite.toFinset_univ, Finset.card_univ, Nat.card_eq_fintype_card]
553
- rw [Nat.card_eq_zero_of_infinite, Infinite.ncard]
554
- exact infinite_univ
545
+ @[deprecated (since := "2025-07-05")] alias ncard_coe_Finset := ncard_coe_finset
546
+
547
+ @[simp] theorem ncard_univ (α : Type *) : (univ : Set α).ncard = Nat.card α := Nat.card_univ
555
548
556
549
@[simp] theorem ncard_empty (α : Type *) : (∅ : Set α).ncard = 0 := by
557
550
rw [ncard_eq_zero]
@@ -771,7 +764,7 @@ theorem ncard_congr {t : Set β} (f : ∀ a ∈ s, β) (h₁ : ∀ a ha, f a ha
771
764
obtain ⟨a, ha, rfl⟩ := h₃ y hy
772
765
simp only [Subtype.exists]
773
766
exact ⟨_, ha, rfl⟩
774
- simp_rw [← Nat.card_coe_set_eq]
767
+ simp_rw [← _root_. Nat.card_coe_set_eq]
775
768
exact Nat.card_congr (Equiv.ofBijective f' hbij)
776
769
777
770
theorem ncard_le_ncard_of_injOn {t : Set β} (f : α → β) (hf : ∀ a ∈ s, f a ∈ t) (f_inj : InjOn f s)
@@ -834,9 +827,8 @@ theorem inj_on_of_surj_on_of_ncard_le {t : Set β} (f : ∀ a ∈ s, β) (hf :
834
827
(by { rwa [← ncard_eq_toFinset_card', ← ncard_eq_toFinset_card'] }) a₁
835
828
(by simpa) a₂ (by simpa) (by simpa)
836
829
837
- @[simp] theorem ncard_coe {α : Type *} (s : Set α) :
838
- Set.ncard (Set.univ : Set (Set.Elem s)) = s.ncard :=
839
- Set.ncard_congr (fun a ha ↦ ↑a) (fun a ha ↦ a.prop) (by simp) (by simp)
830
+ theorem ncard_coe {α : Type *} (s : Set α) :
831
+ Set.ncard (Set.univ : Set (Set.Elem s)) = s.ncard := by simp
840
832
841
833
@[simp] lemma ncard_graphOn (s : Set α) (f : α → β) : (s.graphOn f).ncard = s.ncard := by
842
834
rw [← ncard_image_of_injOn fst_injOn_graph, image_fst_graphOn]
@@ -942,9 +934,7 @@ theorem eq_univ_iff_ncard [Finite α] (s : Set α) :
942
934
943
935
lemma even_ncard_compl_iff [Finite α] (heven : Even (Nat.card α)) (s : Set α) :
944
936
Even sᶜ.ncard ↔ Even s.ncard := by
945
- simp [compl_eq_univ_diff, ncard_diff (subset_univ _ : s ⊆ Set.univ),
946
- Nat.even_sub (ncard_le_ncard (subset_univ _ : s ⊆ Set.univ)),
947
- (ncard_univ _).symm ▸ heven]
937
+ rwa [iff_comm, ← Nat.even_add, ncard_add_ncard_compl]
948
938
949
939
lemma odd_ncard_compl_iff [Finite α] (heven : Even (Nat.card α)) (s : Set α) :
950
940
Odd sᶜ.ncard ↔ Odd s.ncard := by
0 commit comments