Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 10d3d25

Browse files
committed
chore(set_theory/cardinal): fix name & reorder universes (#10236)
* add `cardinal.lift_injective`, `cardinal.lift_eq_zero`; * reorder universe arguments in `cardinal.lift_nat_cast` to match `cardinal.lift` and `ulift`; * rename `cardinal.nat_eq_lift_eq_iff` to `cardinal.nat_eq_lift_iff`; * add `@[simp]` to `cardinal.lift_eq_zero`, `cardinal.lift_eq_nat_iff`, and `cardinal.nat_eq_lift_iff`.
1 parent 7bdb6b3 commit 10d3d25

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

src/linear_algebra/finite_dimensional.lean

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -411,11 +411,7 @@ end
411411
/-- Pushforwards of finite-dimensional submodules have a smaller finrank. -/
412412
lemma finrank_map_le (f : V →ₗ[K] V₂) (p : submodule K V) [finite_dimensional K p] :
413413
finrank K (p.map f) ≤ finrank K p :=
414-
begin
415-
rw [← cardinal.nat_cast_le.{max v v'}, ← cardinal.lift_nat_cast.{v' v},
416-
← cardinal.lift_nat_cast.{v v'}, finrank_eq_dim K p, finrank_eq_dim K (p.map f)],
417-
exact lift_dim_map_le f p
418-
end
414+
by simpa [← finrank_eq_dim] using lift_dim_map_le f p
419415

420416
variable {K}
421417

src/linear_algebra/matrix/to_lin.lean

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,13 +234,12 @@ linear_map.to_matrix_alg_equiv'_comp f g
234234

235235
lemma matrix.rank_vec_mul_vec {K m n : Type u} [field K] [fintype n] [decidable_eq n]
236236
(w : m → K) (v : n → K) :
237-
rank (vec_mul_vec w v).to_lin' ≤ 1 :=
237+
rank (vec_mul_vec w v).to_lin' ≤ 1 :=
238238
begin
239239
rw [vec_mul_vec_eq, matrix.to_lin'_mul],
240240
refine le_trans (rank_comp_le1 _ _) _,
241-
refine le_trans (rank_le_domain _) _,
242-
rw [dim_fun', ← cardinal.lift_eq_nat_iff.mpr (cardinal.mk_fintype unit), cardinal.mk_unit],
243-
exact le_of_eq (cardinal.lift_one)
241+
refine (rank_le_domain _).trans_eq _,
242+
rw [dim_fun', fintype.card_unit, nat.cast_one]
244243
end
245244

246245
end to_matrix'

src/set_theory/cardinal.lean

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,10 @@ induction_on₂ a b $ λ α β, by { rw ← lift_umax, exact lift_mk_le }
228228
@[simps { fully_applied := ff }] def lift_order_embedding : cardinal.{v} ↪o cardinal.{max v u} :=
229229
order_embedding.of_map_le_iff lift (λ _ _, lift_le)
230230

231+
theorem lift_injective : injective lift.{u v} := lift_order_embedding.injective
232+
231233
@[simp] theorem lift_inj {a b : cardinal} : lift a = lift b ↔ a = b :=
232-
lift_order_embedding.injective.eq_iff
234+
lift_injective.eq_iff
233235

234236
@[simp] theorem lift_lt {a b : cardinal} : lift a < lift b ↔ a < b :=
235237
lift_order_embedding.lt_iff_lt
@@ -243,6 +245,9 @@ lemma mk_eq_zero (α : Type u) [is_empty α] : #α = 0 :=
243245

244246
@[simp] theorem lift_zero : lift 0 = 0 := mk_congr (equiv.equiv_pempty _)
245247

248+
@[simp] theorem lift_eq_zero {a : cardinal.{v}} : lift.{u} a = 0 ↔ a = 0 :=
249+
lift_injective.eq_iff' lift_zero
250+
246251
lemma mk_eq_zero_iff {α : Type u} : #α = 0 ↔ is_empty α :=
247252
⟨λ e, let ⟨h⟩ := quotient.exact e in h.is_empty, @mk_eq_zero α⟩
248253

@@ -761,15 +766,15 @@ by rw [← lift_omega, lift_le]
761766

762767
@[simp] theorem mk_fin (n : ℕ) : #(fin n) = n := by simp
763768

764-
@[simp] theorem lift_nat_cast (n : ℕ) : lift n = n :=
769+
@[simp] theorem lift_nat_cast (n : ℕ) : lift.{u} (n : cardinal.{v}) = n :=
765770
by induction n; simp *
766771

767-
lemma lift_eq_nat_iff {a : cardinal.{u}} {n : ℕ} : lift.{v} a = n ↔ a = n :=
768-
by rw [← lift_nat_cast.{u v} n, lift_inj]
772+
@[simp] lemma lift_eq_nat_iff {a : cardinal.{u}} {n : ℕ} : lift.{v} a = n ↔ a = n :=
773+
lift_injective.eq_iff' (lift_nat_cast n)
769774

770-
lemma nat_eq_lift_eq_iff {n : ℕ} {a : cardinal.{u}} :
775+
@[simp] lemma nat_eq_lift_iff {n : ℕ} {a : cardinal.{u}} :
771776
(n : cardinal) = lift.{v} a ↔ (n : cardinal) = a :=
772-
by rw [← lift_nat_cast.{u v} n, lift_inj]
777+
by rw [← lift_nat_cast.{v} n, lift_inj]
773778

774779
theorem lift_mk_fin (n : ℕ) : lift (#(fin n)) = n := by simp
775780

src/set_theory/cardinal_ordinal.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -614,7 +614,7 @@ begin
614614
{ refine lt_of_le_of_lt (mk_subtype_le _) _,
615615
rw [← lift_lt, lift_omega, ← h1', ← lift_omega.{u (max v w)}, lift_lt], exact hα' },
616616
lift #(tᶜ : set β) to ℕ using this with k hk,
617-
simp [nat_eq_lift_eq_iff] at h2, rw [nat_eq_lift_eq_iff.{v (max u w)}] at h2,
617+
simp at h2, rw [nat_eq_lift_iff.{v (max u w)}] at h2,
618618
simp [h2.symm] at h1 ⊢, norm_cast at h1, simp at h1, exact h1
619619
end
620620

0 commit comments

Comments
 (0)