Lemmas about Euclidean domains #
Main statements #
gcd_eq_gcd_ab: states Bézout's lemma for Euclidean domains.
@[instance 100]
theorem EuclideanDomain.val_dvd_le {R : Type u} [EuclideanDomain R] (a b : R) :
b ∣ a → a ≠ 0 → ¬EuclideanDomain.r a b
@[simp]
@[simp]
theorem EuclideanDomain.eq_div_of_mul_eq_left {R : Type u} [EuclideanDomain R] {a b c : R} (hb : b ≠ 0) (h : a * b = c) :
theorem EuclideanDomain.eq_div_of_mul_eq_right {R : Type u} [EuclideanDomain R] {a b c : R} (ha : a ≠ 0) (h : a * b = c) :
theorem EuclideanDomain.mul_div_assoc {R : Type u} [EuclideanDomain R] (x : R) {y z : R} (h : z ∣ y) :
theorem EuclideanDomain.mul_div_cancel' {R : Type u} [EuclideanDomain R] {a b : R} (hb : b ≠ 0) (hab : b ∣ a) :
theorem EuclideanDomain.dvd_div_of_mul_dvd {R : Type u} [EuclideanDomain R] {a b c : R} (h : a * b ∣ c) :
@[simp]
theorem EuclideanDomain.gcd_eq_zero_iff {R : Type u} [EuclideanDomain R] [DecidableEq R] {a b : R} :
@[simp]
@[simp]
@[simp]
theorem EuclideanDomain.xgcdAux_fst {R : Type u} [EuclideanDomain R] [DecidableEq R] (x y s t s' t' : R) :
theorem EuclideanDomain.xgcdAux_P {R : Type u} [EuclideanDomain R] [DecidableEq R] (a b : R) {r r' s t s' t' : R} (p : EuclideanDomain.P✝ a b (r, s, t)) (p' : EuclideanDomain.P✝ a b (r', s', t')) :
EuclideanDomain.P✝ a b (xgcdAux r s t r' s' t')
An explicit version of Bézout's lemma for Euclidean domains.
@[instance 70]
theorem EuclideanDomain.lcm_dvd {R : Type u} [EuclideanDomain R] [DecidableEq R] {x y z : R} (hxz : x ∣ z) (hyz : y ∣ z) :
@[simp]
@[simp]
@[simp]
@[simp]
theorem EuclideanDomain.lcm_eq_zero_iff {R : Type u} [EuclideanDomain R] [DecidableEq R] {x y : R} :
@[simp]
@[reducible, inline]
abbrev RingEquiv.euclideanDomain {R : Type u_1} {S : Type u_2} [EuclideanDomain R] [CommRing S] (e : S ≃+* R) :
If S is a nontrivial commutative ring isomorphic to a Euclidean domain
R then it is also a Euclidean domain.
Equations
- One or more equations did not get rendered due to their size.