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

Commit cf7377a

Browse files
committed
chore(field_theory/adjoin): move dim/findim lemmas (#5342)
adjoin.lean has some dim/findim lemmas, some of which could be moved to intermediate_field.lean
1 parent 0d7ddf1 commit cf7377a

File tree

2 files changed

+29
-20
lines changed

2 files changed

+29
-20
lines changed

src/field_theory/adjoin.lean

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -342,26 +342,24 @@ adjoin_simple_eq_bot_iff.mpr (coe_int_mem ⊥ n)
342342
section adjoin_dim
343343
open finite_dimensional vector_space
344344

345-
@[simp] lemma dim_intermediate_field_eq_dim_subalgebra :
346-
dim F (adjoin F S).to_subalgebra = dim F (adjoin F S) := rfl
345+
variables {K L : intermediate_field F E}
347346

348-
@[simp] lemma findim_intermediate_field_eq_findim_subalgebra :
349-
findim F (adjoin F S).to_subalgebra = findim F (adjoin F S) := rfl
347+
@[simp] lemma dim_eq_one_iff : dim F K = 1 ↔ K = ⊥ :=
348+
by rw [← to_subalgebra_eq_iff, ← dim_eq_dim_subalgebra,
349+
subalgebra.dim_eq_one_iff, bot_to_subalgebra]
350350

351-
@[simp] lemma to_subalgebra_eq_iff {K L : intermediate_field F E} :
352-
K.to_subalgebra = L.to_subalgebra ↔ K = L :=
353-
by { rw [subalgebra.ext_iff, intermediate_field.ext'_iff, set.ext_iff], refl }
351+
@[simp] lemma findim_eq_one_iff : findim F K = 1 ↔ K = ⊥ :=
352+
by rw [← to_subalgebra_eq_iff, ← findim_eq_findim_subalgebra,
353+
subalgebra.findim_eq_one_iff, bot_to_subalgebra]
354354

355355
lemma dim_adjoin_eq_one_iff : dim F (adjoin F S) = 1 ↔ S ⊆ (⊥ : intermediate_field F E) :=
356-
by rw [←dim_intermediate_field_eq_dim_subalgebra, subalgebra.dim_eq_one_iff,
357-
←bot_to_subalgebra, to_subalgebra_eq_iff, adjoin_eq_bot_iff]
356+
iff.trans dim_eq_one_iff adjoin_eq_bot_iff
358357

359358
lemma dim_adjoin_simple_eq_one_iff : dim F F⟮α⟯ = 1 ↔ α ∈ (⊥ : intermediate_field F E) :=
360-
by { rw [dim_adjoin_eq_one_iff], exact set.singleton_subset_iff }
359+
by { rw dim_adjoin_eq_one_iff, exact set.singleton_subset_iff }
361360

362361
lemma findim_adjoin_eq_one_iff : findim F (adjoin F S) = 1 ↔ S ⊆ (⊥ : intermediate_field F E) :=
363-
by rw [←findim_intermediate_field_eq_findim_subalgebra, subalgebra.findim_eq_one_iff,
364-
←bot_to_subalgebra, to_subalgebra_eq_iff, adjoin_eq_bot_iff]
362+
iff.trans findim_eq_one_iff adjoin_eq_bot_iff
365363

366364
lemma findim_adjoin_simple_eq_one_iff : findim F F⟮α⟯ = 1 ↔ α ∈ (⊥ : intermediate_field F E) :=
367365
by { rw [findim_adjoin_eq_one_iff], exact set.singleton_subset_iff }

src/field_theory/intermediate_field.lean

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -295,24 +295,35 @@ end tower
295295

296296
section finite_dimensional
297297

298-
instance finite_dimensional_left [finite_dimensional K L] (F : intermediate_field K L) :
299-
finite_dimensional K F :=
298+
variables (F E : intermediate_field K L)
299+
300+
instance finite_dimensional_left [finite_dimensional K L] : finite_dimensional K F :=
300301
finite_dimensional.finite_dimensional_submodule F.to_subalgebra.to_submodule
301302

302-
instance finite_dimensional_right [finite_dimensional K L] (F : intermediate_field K L) :
303-
finite_dimensional F L :=
303+
instance finite_dimensional_right [finite_dimensional K L] : finite_dimensional F L :=
304304
right K F L
305305

306-
lemma eq_of_le_of_findim_le [finite_dimensional K L] {F E : intermediate_field K L} (h_le : F ≤ E)
306+
@[simp] lemma dim_eq_dim_subalgebra :
307+
vector_space.dim K F.to_subalgebra = vector_space.dim K F := rfl
308+
309+
@[simp] lemma findim_eq_findim_subalgebra :
310+
findim K F.to_subalgebra = findim K F := rfl
311+
312+
variables {F} {E}
313+
314+
@[simp] lemma to_subalgebra_eq_iff : F.to_subalgebra = E.to_subalgebra ↔ F = E :=
315+
by { rw [subalgebra.ext_iff, intermediate_field.ext'_iff, set.ext_iff], refl }
316+
317+
lemma eq_of_le_of_findim_le [finite_dimensional K L] (h_le : F ≤ E)
307318
(h_findim : findim K E ≤ findim K F) : F = E :=
308319
intermediate_field.ext'_iff.mpr (submodule.ext'_iff.mp (eq_of_le_of_findim_le
309320
(show F.to_subalgebra.to_submodule ≤ E.to_subalgebra.to_submodule, by exact h_le) h_findim))
310321

311-
lemma eq_of_le_of_findim_eq [finite_dimensional K L] {F E : intermediate_field K L} (h_le : F ≤ E)
322+
lemma eq_of_le_of_findim_eq [finite_dimensional K L] (h_le : F ≤ E)
312323
(h_findim : findim K F = findim K E) : F = E :=
313324
eq_of_le_of_findim_le h_le h_findim.ge
314325

315-
lemma eq_of_le_of_findim_le' [finite_dimensional K L] {F E : intermediate_field K L} (h_le : F ≤ E)
326+
lemma eq_of_le_of_findim_le' [finite_dimensional K L] (h_le : F ≤ E)
316327
(h_findim : findim F L ≤ findim E L) : F = E :=
317328
begin
318329
apply eq_of_le_of_findim_le h_le,
@@ -322,7 +333,7 @@ begin
322333
nlinarith,
323334
end
324335

325-
lemma eq_of_le_of_findim_eq' [finite_dimensional K L] {F E : intermediate_field K L} (h_le : F ≤ E)
336+
lemma eq_of_le_of_findim_eq' [finite_dimensional K L] (h_le : F ≤ E)
326337
(h_findim : findim F L = findim E L) : F = E :=
327338
eq_of_le_of_findim_le' h_le h_findim.le
328339

0 commit comments

Comments
 (0)