@@ -47,7 +47,7 @@ is_ring_hom, is_semiring_hom, ring_hom, semiring_hom, semiring, comm_semiring, r
47
47
domain, integral_domain, nonzero_comm_semiring, nonzero_comm_ring, units
48
48
-/
49
49
universes u v w
50
- variable {α : Type u}
50
+ variables {α : Type u} {β : Type v} {γ : Type w }
51
51
52
52
set_option default_priority 100 -- see Note [default priority]
53
53
set_option old_structure_cmd true
@@ -219,7 +219,7 @@ lemma coe_add_monoid_hom {α : Type*} {β : Type*} {rα : semiring α} {rβ : se
219
219
220
220
namespace ring_hom
221
221
222
- variables {β : Type v} {γ : Type w} [rα : semiring α] [rβ : semiring β]
222
+ variables [rα : semiring α] [rβ : semiring β]
223
223
224
224
section
225
225
include rα rβ
@@ -326,7 +326,7 @@ end ring_hom
326
326
class comm_semiring (α : Type u) extends semiring α, comm_monoid α
327
327
328
328
section comm_semiring
329
- variables [comm_semiring α] {a b c : α}
329
+ variables [comm_semiring α] [comm_semiring β] {a b c : α}
330
330
331
331
instance comm_semiring_has_dvd : has_dvd α :=
332
332
has_dvd.mk (λ a b, ∃ c, b = a * c)
@@ -407,6 +407,9 @@ dvd.elim h (begin intros d h₁, rw [h₁, mul_assoc], apply dvd_mul_right end)
407
407
theorem dvd_of_mul_left_dvd (h : a * b ∣ c) : b ∣ c :=
408
408
dvd.elim h (λ d ceq, dvd.intro (a * d) (by simp [ceq]))
409
409
410
+ lemma ring_hom.map_dvd (f : α →+* β) {a b : α} : a ∣ b → f a ∣ f b :=
411
+ λ ⟨z, hz⟩, ⟨f z, by rw [hz, f.map_mul]⟩
412
+
410
413
end comm_semiring
411
414
412
415
/- ring -/
0 commit comments