@@ -158,18 +158,6 @@ variables (R) {A S B}
158
158
159
159
open is_scalar_tower
160
160
161
- /-- Given a scalar tower `R`, `S`, `A` of algebras, reinterpret an `S`-subalgebra of `A` an as an
162
- `R`-subalgebra. -/
163
- def subalgebra.restrict_scalars (iSB : subalgebra S A) :
164
- subalgebra R A :=
165
- { one_mem' := iSB.one_mem,
166
- mul_mem' := λ _ _, iSB.mul_mem,
167
- algebra_map_mem' := λ r, begin
168
- rw is_scalar_tower.algebra_map_eq R S,
169
- exact iSB.algebra_map_mem' _,
170
- end ,
171
- .. iSB.to_submodule.restrict_scalars R }
172
-
173
161
namespace alg_hom
174
162
175
163
/-- R ⟶ S induces S-Alg ⥤ R-Alg -/
@@ -221,19 +209,25 @@ section semiring
221
209
variables (R) {S A} [comm_semiring R] [comm_semiring S] [semiring A]
222
210
variables [algebra R S] [algebra S A] [algebra R A] [is_scalar_tower R S A]
223
211
224
- /-- If A/S/R is a tower of algebras then the `res`triction of a S -subalgebra of A is
225
- an R -subalgebra of A . -/
226
- def res (U : subalgebra S A) : subalgebra R A :=
212
+ /-- Given a scalar tower `R`, `S`, `A` of algebras, reinterpret an `S` -subalgebra of `A` an as an
213
+ `R` -subalgebra. -/
214
+ def restrict_scalars (U : subalgebra S A) : subalgebra R A :=
227
215
{ algebra_map_mem' := λ x, by { rw algebra_map_apply R S A, exact U.algebra_map_mem _ },
228
216
.. U }
229
217
230
- @[simp] lemma res_top : res R (⊤ : subalgebra S A) = ⊤ :=
231
- algebra.eq_top_iff.2 $ λ _, show _ ∈ (⊤ : subalgebra S A), from algebra.mem_top
218
+ @[simp] lemma restrict_scalars_top : restrict_scalars R (⊤ : subalgebra S A) = ⊤ :=
219
+ set_like.coe_injective rfl
220
+
221
+ @[simp] lemma restrict_scalars_to_submodule {U : subalgebra S A} :
222
+ (U.restrict_scalars R).to_submodule = U.to_submodule.restrict_scalars R :=
223
+ set_like.coe_injective rfl
232
224
233
- @[simp] lemma mem_res {U : subalgebra S A} {x : A} : x ∈ res R U ↔ x ∈ U := iff.rfl
225
+ @[simp] lemma mem_restrict_scalars {U : subalgebra S A} {x : A} :
226
+ x ∈ restrict_scalars R U ↔ x ∈ U := iff.rfl
234
227
235
- lemma res_inj {U V : subalgebra S A} (H : res R U = res R V) : U = V :=
236
- ext $ λ x, by rw [← mem_res R, H, mem_res]
228
+ lemma restrict_scalars_injective :
229
+ function.injective (restrict_scalars R : subalgebra S A → subalgebra R A) :=
230
+ λ U V H, ext $ λ x, by rw [← mem_restrict_scalars R, H, mem_restrict_scalars]
237
231
238
232
/-- Produces a map from `subalgebra.under`. -/
239
233
def of_under {R A B : Type *} [comm_semiring R] [comm_semiring A] [semiring B]
@@ -254,7 +248,7 @@ variables [comm_semiring R] [comm_semiring S] [comm_semiring A]
254
248
variables [algebra R S] [algebra S A] [algebra R A] [is_scalar_tower R S A]
255
249
256
250
theorem range_under_adjoin (t : set A) :
257
- (to_alg_hom R S A).range.under (algebra.adjoin _ t) = res R (algebra.adjoin S t) :=
251
+ (to_alg_hom R S A).range.under (algebra.adjoin _ t) = (algebra.adjoin S t).restrict_scalars R :=
258
252
subalgebra.ext $ λ z,
259
253
show z ∈ subsemiring.closure (set.range (algebra_map (to_alg_hom R S A).range A) ∪ t : set A) ↔
260
254
z ∈ subsemiring.closure (set.range (algebra_map S A) ∪ t : set A),
0 commit comments