@@ -444,37 +444,31 @@ variables {R A : Type*}
444
444
445
445
open algebra
446
446
447
- section ring
448
-
449
- variables [comm_ring R]
450
-
451
447
/-- If `algebra_map R A` is injective and `A` has no zero divisors,
452
448
`R`-multiples in `A` are zero only if one of the factors is zero.
453
449
454
450
Cannot be an instance because there is no `injective (algebra_map R A)` typeclass.
455
451
-/
456
452
lemma of_algebra_map_injective
457
- [semiring A] [algebra R A] [no_zero_divisors A]
453
+ [comm_semiring R] [ semiring A] [algebra R A] [no_zero_divisors A]
458
454
(h : function.injective (algebra_map R A)) : no_zero_smul_divisors R A :=
459
455
⟨λ c x hcx, (mul_eq_zero.mp ((smul_def c x).symm.trans hcx)).imp_left
460
- ((injective_iff_map_eq_zero (algebra_map R A)).mp h _) ⟩
456
+ (map_eq_zero_iff (algebra_map R A) h).mp ⟩
461
457
462
458
variables (R A)
463
- lemma algebra_map_injective [ring A] [nontrivial A]
459
+ lemma algebra_map_injective [comm_ring R] [ ring A] [nontrivial A]
464
460
[algebra R A] [no_zero_smul_divisors R A] :
465
461
function.injective (algebra_map R A) :=
466
462
suffices function.injective (λ (c : R), c • (1 : A)),
467
463
by { convert this , ext, rw [algebra.smul_def, mul_one] },
468
464
smul_left_injective R one_ne_zero
469
465
470
466
variables {R A}
471
- lemma iff_algebra_map_injective [ring A] [is_domain A] [algebra R A] :
467
+ lemma iff_algebra_map_injective [comm_ring R] [ ring A] [is_domain A] [algebra R A] :
472
468
no_zero_smul_divisors R A ↔ function.injective (algebra_map R A) :=
473
469
⟨@@no_zero_smul_divisors.algebra_map_injective R A _ _ _ _,
474
470
no_zero_smul_divisors.of_algebra_map_injective⟩
475
471
476
- end ring
477
-
478
472
section field
479
473
480
474
variables [field R] [semiring A] [algebra R A]
0 commit comments