@@ -227,31 +227,31 @@ lemma is_integral_root' (hg : g.monic) : is_integral R (root g) :=
227
227
/-- `adjoin_root.mod_by_monic_hom` sends the equivalence class of `f` mod `g` to `f %ₘ g`.
228
228
229
229
This is a well-defined right inverse to `adjoin_root.mk`, see `adjoin_root.mk_left_inverse`. -/
230
- def mod_by_monic_hom [nontrivial R] (hg : g.monic) :
230
+ def mod_by_monic_hom (hg : g.monic) :
231
231
adjoin_root g →ₗ[R] R[X] :=
232
- (submodule.liftq _ (polynomial.mod_by_monic_hom hg )
232
+ (submodule.liftq _ (polynomial.mod_by_monic_hom g )
233
233
(λ f (hf : f ∈ (ideal.span {g}).restrict_scalars R),
234
234
(mem_ker_mod_by_monic hg).mpr (ideal.mem_span_singleton.mp hf))).comp $
235
235
(submodule.quotient.restrict_scalars_equiv R (ideal.span {g} : ideal R[X]))
236
236
.symm.to_linear_map
237
237
238
- @[simp] lemma mod_by_monic_hom_mk [nontrivial R] (hg : g.monic) (f : R[X]) :
238
+ @[simp] lemma mod_by_monic_hom_mk (hg : g.monic) (f : R[X]) :
239
239
mod_by_monic_hom hg (mk g f) = f %ₘ g := rfl
240
240
241
- lemma mk_left_inverse [nontrivial R] (hg : g.monic) :
241
+ lemma mk_left_inverse (hg : g.monic) :
242
242
function.left_inverse (mk g) (mod_by_monic_hom hg) :=
243
243
λ f, induction_on g f $ λ f, begin
244
244
rw [mod_by_monic_hom_mk hg, mk_eq_mk, mod_by_monic_eq_sub_mul_div _ hg,
245
245
sub_sub_cancel_left, dvd_neg],
246
246
apply dvd_mul_right
247
247
end
248
248
249
- lemma mk_surjective [nontrivial R] (hg : g.monic) : function.surjective (mk g) :=
249
+ lemma mk_surjective (hg : g.monic) : function.surjective (mk g) :=
250
250
(mk_left_inverse hg).surjective
251
251
252
252
/-- The elements `1, root g, ..., root g ^ (d - 1)` form a basis for `adjoin_root g`,
253
253
where `g` is a monic polynomial of degree `d`. -/
254
- @[simps] def power_basis_aux' [nontrivial R] (hg : g.monic) :
254
+ @[simps] def power_basis_aux' (hg : g.monic) :
255
255
basis (fin g.nat_degree) R (adjoin_root g) :=
256
256
basis.of_equiv_fun
257
257
{ to_fun := λ f i, (mod_by_monic_hom hg f).coeff i,
@@ -265,6 +265,7 @@ basis.of_equiv_fun
265
265
rw [mod_by_monic_eq_sub_mul_div _ hg, sub_sub_cancel],
266
266
exact dvd_mul_right _ _ }),
267
267
right_inv := λ x, funext $ λ i, begin
268
+ nontriviality R,
268
269
simp only [mod_by_monic_hom_mk],
269
270
rw [(mod_by_monic_eq_self_iff hg).mpr, finset_sum_coeff, finset.sum_eq_single i];
270
271
try { simp only [coeff_monomial, eq_self_iff_true, if_true] },
@@ -279,8 +280,7 @@ basis.of_equiv_fun
279
280
280
281
/-- The power basis `1, root g, ..., root g ^ (d - 1)` for `adjoin_root g`,
281
282
where `g` is a monic polynomial of degree `d`. -/
282
- @[simps] def power_basis' [nontrivial R] (hg : g.monic) :
283
- power_basis R (adjoin_root g) :=
283
+ @[simps] def power_basis' (hg : g.monic) : power_basis R (adjoin_root g) :=
284
284
{ gen := root g,
285
285
dim := g.nat_degree,
286
286
basis := power_basis_aux' hg,
0 commit comments