Theorem: Algebra.restrictScalars_adjoin_of_algEquiv
File: Mathlib/RingTheory/Adjoin/Basic.lean

tactic: apply_fun Subalgebra.toSubsemiring using fun K K' h ↦ by rwa [SetLike.ext'_iff] at h ⊢
state_before: R : Type uR
S✝ : Type uS
A : Type uA
B : Type uB
F✝ : Type u_1
E✝ : Type u_2
K : Type u_3
inst✝¹⁷ : CommSemiring E✝
inst✝¹⁶ : Semiring K
inst✝¹⁵ : SMul F✝ E✝
inst✝¹⁴ : Algebra E✝ K
inst✝¹³ : CommSemiring F✝
inst✝¹² : Algebra F✝ K
inst✝¹¹ : IsScalarTower F✝ E✝ K
L✝ : Subalgebra F✝ K
F : Type u_4
E : Type u_5
L : Type u_6
L' : Type u_7
inst✝¹⁰ : CommSemiring F
inst✝⁹ : CommSemiring L
inst✝⁸ : CommSemiring L'
inst✝⁷ : Semiring E
inst✝⁶ : Algebra F L
inst✝⁵ : Algebra L E
inst✝⁴ : Algebra F L'
inst✝³ : Algebra L' E
inst✝² : Algebra F E
inst✝¹ : IsScalarTower F L E
inst✝ : IsScalarTower F L' E
i : L ≃ₐ[F] L'
hi : ⇑(algebraMap L E) = ⇑(algebraMap L' E) ∘ ⇑i
S : Set E
⊢ Subalgebra.restrictScalars F (adjoin L S) = Subalgebra.restrictScalars F (adjoin L' S)
state_after: R : Type uR
S✝ : Type uS
A : Type uA
B : Type uB
F✝ : Type u_1
E✝ : Type u_2
K : Type u_3
inst✝¹⁷ : CommSemiring E✝
inst✝¹⁶ : Semiring K
inst✝¹⁵ : SMul F✝ E✝
inst✝¹⁴ : Algebra E✝ K
inst✝¹³ : CommSemiring F✝
inst✝¹² : Algebra F✝ K
inst✝¹¹ : IsScalarTower F✝ E✝ K
L✝ : Subalgebra F✝ K
F : Type u_4
E : Type u_5
L : Type u_6
L' : Type u_7
inst✝¹⁰ : CommSemiring F
inst✝⁹ : CommSemiring L
inst✝⁸ : CommSemiring L'
inst✝⁷ : Semiring E
inst✝⁶ : Algebra F L
inst✝⁵ : Algebra L E
inst✝⁴ : Algebra F L'
inst✝³ : Algebra L' E
inst✝² : Algebra F E
inst✝¹ : IsScalarTower F L E
inst✝ : IsScalarTower F L' E
i : L ≃ₐ[F] L'
hi : ⇑(algebraMap L E) = ⇑(algebraMap L' E) ∘ ⇑i
S : Set E
⊢ (Subalgebra.restrictScalars F (adjoin L S)).toSubsemiring = (Subalgebra.restrictScalars F (adjoin L' S)).toSubsemiring

tactic: change Subsemiring.closure _ = Subsemiring.closure _
state_before: R : Type uR
S✝ : Type uS
A : Type uA
B : Type uB
F✝ : Type u_1
E✝ : Type u_2
K : Type u_3
inst✝¹⁷ : CommSemiring E✝
inst✝¹⁶ : Semiring K
inst✝¹⁵ : SMul F✝ E✝
inst✝¹⁴ : Algebra E✝ K
inst✝¹³ : CommSemiring F✝
inst✝¹² : Algebra F✝ K
inst✝¹¹ : IsScalarTower F✝ E✝ K
L✝ : Subalgebra F✝ K
F : Type u_4
E : Type u_5
L : Type u_6
L' : Type u_7
inst✝¹⁰ : CommSemiring F
inst✝⁹ : CommSemiring L
inst✝⁸ : CommSemiring L'
inst✝⁷ : Semiring E
inst✝⁶ : Algebra F L
inst✝⁵ : Algebra L E
inst✝⁴ : Algebra F L'
inst✝³ : Algebra L' E
inst✝² : Algebra F E
inst✝¹ : IsScalarTower F L E
inst✝ : IsScalarTower F L' E
i : L ≃ₐ[F] L'
hi : ⇑(algebraMap L E) = ⇑(algebraMap L' E) ∘ ⇑i
S : Set E
⊢ (Subalgebra.restrictScalars F (adjoin L S)).toSubsemiring = (Subalgebra.restrictScalars F (adjoin L' S)).toSubsemiring
state_after: R : Type uR
S✝ : Type uS
A : Type uA
B : Type uB
F✝ : Type u_1
E✝ : Type u_2
K : Type u_3
inst✝¹⁷ : CommSemiring E✝
inst✝¹⁶ : Semiring K
inst✝¹⁵ : SMul F✝ E✝
inst✝¹⁴ : Algebra E✝ K
inst✝¹³ : CommSemiring F✝
inst✝¹² : Algebra F✝ K
inst✝¹¹ : IsScalarTower F✝ E✝ K
L✝ : Subalgebra F✝ K
F : Type u_4
E : Type u_5
L : Type u_6
L' : Type u_7
inst✝¹⁰ : CommSemiring F
inst✝⁹ : CommSemiring L
inst✝⁸ : CommSemiring L'
inst✝⁷ : Semiring E
inst✝⁶ : Algebra F L
inst✝⁵ : Algebra L E
inst✝⁴ : Algebra F L'
inst✝³ : Algebra L' E
inst✝² : Algebra F E
inst✝¹ : IsScalarTower F L E
inst✝ : IsScalarTower F L' E
i : L ≃ₐ[F] L'
hi : ⇑(algebraMap L E) = ⇑(algebraMap L' E) ∘ ⇑i
S : Set E
⊢ closure (Set.range ⇑(algebraMap L E) ∪ S) = closure (Set.range ⇑(algebraMap L' E) ∪ S)

tactic: erw [hi, Set.range_comp, i.toEquiv.range_eq_univ, Set.image_univ]
state_before: R : Type uR
S✝ : Type uS
A : Type uA
B : Type uB
F✝ : Type u_1
E✝ : Type u_2
K : Type u_3
inst✝¹⁷ : CommSemiring E✝
inst✝¹⁶ : Semiring K
inst✝¹⁵ : SMul F✝ E✝
inst✝¹⁴ : Algebra E✝ K
inst✝¹³ : CommSemiring F✝
inst✝¹² : Algebra F✝ K
inst✝¹¹ : IsScalarTower F✝ E✝ K
L✝ : Subalgebra F✝ K
F : Type u_4
E : Type u_5
L : Type u_6
L' : Type u_7
inst✝¹⁰ : CommSemiring F
inst✝⁹ : CommSemiring L
inst✝⁸ : CommSemiring L'
inst✝⁷ : Semiring E
inst✝⁶ : Algebra F L
inst✝⁵ : Algebra L E
inst✝⁴ : Algebra F L'
inst✝³ : Algebra L' E
inst✝² : Algebra F E
inst✝¹ : IsScalarTower F L E
inst✝ : IsScalarTower F L' E
i : L ≃ₐ[F] L'
hi : ⇑(algebraMap L E) = ⇑(algebraMap L' E) ∘ ⇑i
S : Set E
⊢ closure (Set.range ⇑(algebraMap L E) ∪ S) = closure (Set.range ⇑(algebraMap L' E) ∪ S)
state_after: no goals

tactic: rwa [SetLike.ext'_iff] at h ⊢
state_before: R : Type uR
S✝ : Type uS
A : Type uA
B : Type uB
F✝ : Type u_1
E✝ : Type u_2
K✝ : Type u_3
inst✝¹⁷ : CommSemiring E✝
inst✝¹⁶ : Semiring K✝
inst✝¹⁵ : SMul F✝ E✝
inst✝¹⁴ : Algebra E✝ K✝
inst✝¹³ : CommSemiring F✝
inst✝¹² : Algebra F✝ K✝
inst✝¹¹ : IsScalarTower F✝ E✝ K✝
L✝ : Subalgebra F✝ K✝
F : Type u_4
E : Type u_5
L : Type u_6
L' : Type u_7
inst✝¹⁰ : CommSemiring F
inst✝⁹ : CommSemiring L
inst✝⁸ : CommSemiring L'
inst✝⁷ : Semiring E
inst✝⁶ : Algebra F L
inst✝⁵ : Algebra L E
inst✝⁴ : Algebra F L'
inst✝³ : Algebra L' E
inst✝² : Algebra F E
inst✝¹ : IsScalarTower F L E
inst✝ : IsScalarTower F L' E
i : L ≃ₐ[F] L'
hi : ⇑(algebraMap L E) = ⇑(algebraMap L' E) ∘ ⇑i
S : Set E
K K' : Subalgebra F E
h : K.toSubsemiring = K'.toSubsemiring
⊢ K = K'
state_after: no goals