Skip to content

Commit

Permalink
feat: add Subalgebra.finite_(bot|sup) (#12025)
Browse files Browse the repository at this point in the history
... and deprecated `Subalgebra.finiteDimensional_(bot|sup)`
  • Loading branch information
acmepjz committed Apr 11, 2024
1 parent 30582ae commit aa0ec8a
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 7 deletions.
2 changes: 1 addition & 1 deletion Mathlib/FieldTheory/Adjoin.lean
Expand Up @@ -1194,7 +1194,7 @@ theorem exists_lt_finrank_of_infinite_dimensional
(halg : Algebra.IsAlgebraic F E) (hnfd : ¬ FiniteDimensional F E) (n : ℕ) :
∃ L : IntermediateField F E, FiniteDimensional F L ∧ n < finrank F L := by
induction' n with n ih
· exact ⟨⊥, Subalgebra.finiteDimensional_bot, finrank_pos⟩
· exact ⟨⊥, Subalgebra.finite_bot, finrank_pos⟩
obtain ⟨L, fin, hn⟩ := ih
obtain ⟨x, hx⟩ : ∃ x : E, x ∉ L := by
contrapose! hnfd
Expand Down
6 changes: 3 additions & 3 deletions Mathlib/LinearAlgebra/FiniteDimensional.lean
Expand Up @@ -1143,9 +1143,9 @@ instance FiniteDimensional.finiteDimensional_subalgebra [FiniteDimensional F E]
FiniteDimensional.of_subalgebra_toSubmodule inferInstance
#align finite_dimensional.finite_dimensional_subalgebra FiniteDimensional.finiteDimensional_subalgebra

instance Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebra F E) := by
nontriviality E
exact .of_rank_eq_one Subalgebra.rank_bot
@[deprecated Subalgebra.finite_bot] -- 2024-04-11
theorem Subalgebra.finiteDimensional_bot : FiniteDimensional F (⊥ : Subalgebra F E) :=
Subalgebra.finite_bot
#align subalgebra.finite_dimensional_bot Subalgebra.finiteDimensional_bot

theorem Subalgebra.eq_bot_of_rank_le_one {S : Subalgebra F E} (h : Module.rank F S ≤ 1) :
Expand Down
3 changes: 3 additions & 0 deletions Mathlib/RingTheory/Finiteness.lean
Expand Up @@ -890,3 +890,6 @@ theorem of_comp_finite {f : A →ₐ[R] B} {g : B →ₐ[R] C} (h : (g.comp f).F
end Finite

end AlgHom

instance Subalgebra.finite_bot {F E : Type*} [CommSemiring F] [Semiring E] [Algebra F E] :
Module.Finite F (⊥ : Subalgebra F E) := Module.Finite.range (Algebra.linearMap F E)
11 changes: 8 additions & 3 deletions Mathlib/RingTheory/TensorProduct/Basic.lean
Expand Up @@ -1154,11 +1154,16 @@ theorem endTensorEndAlgHom_apply (f : End A M) (g : End R N) :

end Module

theorem Subalgebra.finite_sup {K L : Type*} [CommRing K] [CommRing L] [Algebra K L]
(E1 E2 : Subalgebra K L) [Module.Finite K E1] [Module.Finite K E2] :
Module.Finite K ↥(E1 ⊔ E2) := by
rw [← E1.range_val, ← E2.range_val, ← Algebra.TensorProduct.productMap_range]
exact Module.Finite.range (Algebra.TensorProduct.productMap E1.val E2.val).toLinearMap

@[deprecated Subalgebra.finite_sup] -- 2024-04-11
theorem Subalgebra.finiteDimensional_sup {K L : Type*} [Field K] [CommRing L] [Algebra K L]
(E1 E2 : Subalgebra K L) [FiniteDimensional K E1] [FiniteDimensional K E2] :
FiniteDimensional K (E1 ⊔ E2 : Subalgebra K L) := by
rw [← E1.range_val, ← E2.range_val, ← Algebra.TensorProduct.productMap_range]
exact (Algebra.TensorProduct.productMap E1.val E2.val).toLinearMap.finiteDimensional_range
FiniteDimensional K (E1 ⊔ E2 : Subalgebra K L) := Subalgebra.finite_sup E1 E2
#align subalgebra.finite_dimensional_sup Subalgebra.finiteDimensional_sup

namespace TensorProduct.Algebra
Expand Down

0 comments on commit aa0ec8a

Please sign in to comment.