Loogle!
Result
Found 308 declarations mentioning IsCoprime. Of these, only the first 200 are shown.
- IsCoprime π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] (x y : R) : Prop - instSymmIsCoprime π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] : Std.Symm IsCoprime - IsCoprime.symm π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y : R} (H : IsCoprime x y) : IsCoprime y x - isCoprime_comm π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y : R} : IsCoprime x y β IsCoprime y x - isCoprime_self π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x : R} : IsCoprime x x β IsUnit x - IsCoprime.isRelPrime π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {a b : R} (h : IsCoprime a b) : IsRelPrime a b - isCoprime_one_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x : R} : IsCoprime 1 x - isCoprime_one_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x : R} : IsCoprime x 1 - Nat.isCoprime_iff π Mathlib.RingTheory.Coprime.Basic
{m n : β} : IsCoprime m n β m = 1 β¨ n = 1 - isCoprime_zero_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x : R} : IsCoprime 0 x β IsUnit x - isCoprime_zero_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x : R} : IsCoprime x 0 β IsUnit x - IsCoprime.of_mul_left_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (H : IsCoprime (x * y) z) : IsCoprime x z - IsCoprime.of_mul_left_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (H : IsCoprime (x * y) z) : IsCoprime y z - IsCoprime.of_mul_right_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (H : IsCoprime x (y * z)) : IsCoprime x y - IsCoprime.of_mul_right_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (H : IsCoprime x (y * z)) : IsCoprime x z - IsCoprime.of_isCoprime_of_dvd_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (h : IsCoprime y z) (hdvd : x β£ y) : IsCoprime x z - IsCoprime.of_isCoprime_of_dvd_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (h : IsCoprime z y) (hdvd : x β£ y) : IsCoprime z x - not_isCoprime_zero_zero π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] [Nontrivial R] : Β¬IsCoprime 0 0 - IsCoprime.isUnit_of_dvd π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y : R} (H : IsCoprime x y) (d : x β£ y) : IsUnit x - IsCoprime.intCast π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} [CommRing R] {a b : β€} (h : IsCoprime a b) : IsCoprime βa βb - IsCoprime.mul_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (H1 : IsCoprime x z) (H2 : IsCoprime y z) : IsCoprime (x * y) z - IsCoprime.mul_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (H1 : IsCoprime x y) (H2 : IsCoprime x z) : IsCoprime x (y * z) - IsCoprime.isUnit_of_associated π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y : R} (hβ : IsCoprime x y) (hβ : Associated x y) : IsUnit x β§ IsUnit y - IsCoprime.neg_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : IsCoprime x y) : IsCoprime (-x) y - IsCoprime.neg_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : IsCoprime x y) : IsCoprime x (-y) - IsCoprime.mul_left_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} : IsCoprime (x * y) z β IsCoprime x z β§ IsCoprime y z - IsCoprime.mul_right_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} : IsCoprime x (y * z) β IsCoprime x y β§ IsCoprime x z - IsCoprime.neg_left_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] (x y : R) : IsCoprime (-x) y β IsCoprime x y - IsCoprime.neg_right_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] (x y : R) : IsCoprime x (-y) β IsCoprime x y - isCoprime_mul_unit_left_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} [CommSemiring R] {x : R} (hu : IsUnit x) (y z : R) : IsCoprime (x * y) z β IsCoprime y z - isCoprime_mul_unit_left_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} [CommSemiring R] {x : R} (hu : IsUnit x) (y z : R) : IsCoprime y (x * z) β IsCoprime y z - isCoprime_mul_unit_right_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} [CommSemiring R] {x : R} (hu : IsUnit x) (y z : R) : IsCoprime (y * x) z β IsCoprime y z - isCoprime_mul_unit_right_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} [CommSemiring R] {x : R} (hu : IsUnit x) (y z : R) : IsCoprime y (z * x) β IsCoprime y z - PNat.isCoprime_iff π Mathlib.RingTheory.Coprime.Basic
{m n : β+} : IsCoprime βm βn β m = 1 β¨ n = 1 - IsCoprime.ne_zero_or_ne_zero π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y : R} [Nontrivial R] (h : IsCoprime x y) : x β 0 β¨ y β 0 - IsCoprime.of_add_mul_left_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (h : IsCoprime (x + y * z) y) : IsCoprime x y - IsCoprime.of_add_mul_left_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (h : IsCoprime x (y + x * z)) : IsCoprime x y - IsCoprime.of_add_mul_right_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (h : IsCoprime (x + z * y) y) : IsCoprime x y - IsCoprime.of_add_mul_right_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (h : IsCoprime x (y + z * x)) : IsCoprime x y - IsCoprime.of_mul_add_left_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (h : IsCoprime (y * z + x) y) : IsCoprime x y - IsCoprime.of_mul_add_left_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (h : IsCoprime x (x * z + y)) : IsCoprime x y - IsCoprime.of_mul_add_right_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (h : IsCoprime (z * y + x) y) : IsCoprime x y - IsCoprime.of_mul_add_right_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (h : IsCoprime x (z * x + y)) : IsCoprime x y - Odd.isCoprime_two π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x : R} (h : Odd x) : IsCoprime x 2 - IsCoprime.mono π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z w : R} (hβ : x β£ y) (hβ : z β£ w) (h : IsCoprime y w) : IsCoprime x z - Semifield.isCoprime_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} [Semifield R] {m n : R} : IsCoprime m n β m β 0 β¨ n β 0 - IsCoprime.isUnit_of_dvd' π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {a b x : R} (h : IsCoprime a b) (ha : x β£ a) (hb : x β£ b) : IsUnit x - IsCoprime.add_mul_left_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : IsCoprime x y) (z : R) : IsCoprime (x + y * z) y - IsCoprime.add_mul_left_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : IsCoprime x y) (z : R) : IsCoprime x (y + x * z) - IsCoprime.add_mul_right_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : IsCoprime x y) (z : R) : IsCoprime (x + z * y) y - IsCoprime.add_mul_right_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : IsCoprime x y) (z : R) : IsCoprime x (y + z * x) - IsCoprime.mul_add_left_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : IsCoprime x y) (z : R) : IsCoprime (y * z + x) y - IsCoprime.mul_add_left_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : IsCoprime x y) (z : R) : IsCoprime x (x * z + y) - IsCoprime.mul_add_right_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : IsCoprime x y) (z : R) : IsCoprime (z * y + x) y - IsCoprime.mul_add_right_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : IsCoprime x y) (z : R) : IsCoprime x (z * x + y) - isCoprime_mul_unit_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} [CommSemiring R] {x : R} (hu : IsUnit x) (y z : R) : IsCoprime (x * y) (x * z) β IsCoprime y z - isCoprime_mul_unit_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} [CommSemiring R] {x : R} (hu : IsUnit x) (y z : R) : IsCoprime (y * x) (z * x) β IsCoprime y z - IsCoprime.add_mul_left_left_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime (x + y * z) y β IsCoprime x y - IsCoprime.add_mul_left_right_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime x (y + x * z) β IsCoprime x y - IsCoprime.add_mul_right_left_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime (x + z * y) y β IsCoprime x y - IsCoprime.add_mul_right_right_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime x (y + z * x) β IsCoprime x y - IsCoprime.mul_add_left_left_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime (y * z + x) y β IsCoprime x y - IsCoprime.mul_add_left_right_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime x (x * z + y) β IsCoprime x y - IsCoprime.mul_add_right_left_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime (z * y + x) y β IsCoprime x y - IsCoprime.mul_add_right_right_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime x (z * x + y) β IsCoprime x y - IsCoprime.neg_neg π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : IsCoprime x y) : IsCoprime (-x) (-y) - IsCoprime.neg_neg_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] (x y : R) : IsCoprime (-x) (-y) β IsCoprime x y - IsCoprime.dvd_of_dvd_mul_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (H1 : IsCoprime x y) (H2 : x β£ y * z) : x β£ z - IsCoprime.dvd_of_dvd_mul_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (H1 : IsCoprime x z) (H2 : x β£ y * z) : x β£ y - IsCoprime.mul_sub_left_left_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime (y * z - x) y β IsCoprime x y - IsCoprime.mul_sub_left_right_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime x (x * z - y) β IsCoprime x y - IsCoprime.mul_sub_right_left_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime (z * y - x) y β IsCoprime x y - IsCoprime.mul_sub_right_right_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime x (z * x - y) β IsCoprime x y - IsCoprime.sub_mul_left_left_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime (x - y * z) y β IsCoprime x y - IsCoprime.sub_mul_left_right_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime x (y - x * z) β IsCoprime x y - IsCoprime.sub_mul_right_left_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime (x - z * y) y β IsCoprime x y - IsCoprime.sub_mul_right_right_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y z : R} : IsCoprime x (y - z * x) β IsCoprime x y - IsCoprime.dvd_mul_left_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (H : IsCoprime x y) : x β£ y * z β x β£ z - IsCoprime.dvd_mul_right_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (H : IsCoprime x z) : x β£ y * z β x β£ y - IsCoprime.add_one_left_of_dvd π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : y β£ x) : IsCoprime (x + 1) y - IsCoprime.add_one_right_of_dvd π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : x β£ y) : IsCoprime x (y + 1) - IsCoprime.abs_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] [LinearOrder R] [AddLeftMono R] {x y : R} (h : IsCoprime x y) : IsCoprime |x| y - IsCoprime.abs_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] [LinearOrder R] [AddLeftMono R] {x y : R} (h : IsCoprime x y) : IsCoprime x |y| - IsCoprime.abs_left_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] [LinearOrder R] [AddLeftMono R] (x y : R) : IsCoprime |x| y β IsCoprime x y - IsCoprime.abs_right_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] [LinearOrder R] [AddLeftMono R] (x y : R) : IsCoprime x |y| β IsCoprime x y - IsCoprime.sub_one_left_of_dvd π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : y β£ x) : IsCoprime (x - 1) y - IsCoprime.sub_one_right_of_dvd π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x y : R} (h : x β£ y) : IsCoprime x (y - 1) - isCoprime_mul_units_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} [CommSemiring R] {u v : R} (hu : IsUnit u) (hv : IsUnit v) (y z : R) : IsCoprime (u * y) (v * z) β IsCoprime y z - isCoprime_mul_units_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} [CommSemiring R] {u v : R} (hu : IsUnit u) (hv : IsUnit v) (y z : R) : IsCoprime (y * u) (z * v) β IsCoprime y z - IsCoprime.mul_dvd π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y z : R} (H : IsCoprime x y) (H1 : x β£ z) (H2 : y β£ z) : x * y β£ z - IsCoprime.abs_abs π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] [LinearOrder R] [AddLeftMono R] {x y : R} (h : IsCoprime x y) : IsCoprime |x| |y| - IsCoprime.abs_abs_iff π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] [LinearOrder R] [AddLeftMono R] (x y : R) : IsCoprime |x| |y| β IsCoprime x y - IsCoprime.map π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] {x y : R} (H : IsCoprime x y) {S : Type v} [CommSemiring S] (f : R β+* S) : IsCoprime (f x) (f y) - IsCoprime.sq_add_sq_ne_zero π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] {a b : R} (h : IsCoprime a b) : a ^ 2 + b ^ 2 β 0 - IsCoprime.ne_zero π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommSemiring R] [Nontrivial R] {p : Fin 2 β R} (h : IsCoprime (p 0) (p 1)) : p β 0 - IsCoprime.add_one_sub_one_of_two_dvd π Mathlib.RingTheory.Coprime.Basic
{R : Type u} [CommRing R] {x : R} (h : 2 β£ x) : IsCoprime (x + 1) (x - 1) - isCoprime_group_smul_left π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} {G : Type u_2} [CommSemiring R] [Group G] [MulAction G R] [SMulCommClass G R R] [IsScalarTower G R R] (x : G) (y z : R) : IsCoprime (x β’ y) z β IsCoprime y z - isCoprime_group_smul_right π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} {G : Type u_2} [CommSemiring R] [Group G] [MulAction G R] [SMulCommClass G R R] [IsScalarTower G R R] (x : G) (y z : R) : IsCoprime y (x β’ z) β IsCoprime y z - isCoprime_group_smul π Mathlib.RingTheory.Coprime.Basic
{R : Type u_1} {G : Type u_2} [CommSemiring R] [Group G] [MulAction G R] [SMulCommClass G R R] [IsScalarTower G R R] (x : G) (y z : R) : IsCoprime (x β’ y) (x β’ z) β IsCoprime y z - instDecidableRelIntIsCoprime π Mathlib.RingTheory.Coprime.Lemmas
: DecidableRel IsCoprime - Rat.isCoprime_num_den π Mathlib.RingTheory.Coprime.Lemmas
(x : β) : IsCoprime x.num βx.den - Int.isCoprime_gcdA π Mathlib.RingTheory.Coprime.Lemmas
{x y : β€} (h : IsCoprime x y) : IsCoprime (x.gcdA y) y - Int.isCoprime_gcdB π Mathlib.RingTheory.Coprime.Lemmas
{x y : β€} (h : IsCoprime x y) : IsCoprime (x.gcdB y) x - IsCoprime.natCoprime π Mathlib.RingTheory.Coprime.Lemmas
{m n : β} : IsCoprime βm βn β m.Coprime n - Nat.Coprime.isCoprime π Mathlib.RingTheory.Coprime.Lemmas
{m n : β} : m.Coprime n β IsCoprime βm βn - Nat.isCoprime_iff_coprime π Mathlib.RingTheory.Coprime.Lemmas
{m n : β} : IsCoprime βm βn β m.Coprime n - Int.isCoprime_iff_gcd_eq_one π Mathlib.RingTheory.Coprime.Lemmas
{m n : β€} : IsCoprime m n β m.gcd n = 1 - IsCoprime.pow_left π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} [CommSemiring R] {x y : R} {m : β} (H : IsCoprime x y) : IsCoprime (x ^ m) y - IsCoprime.pow_right π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} [CommSemiring R] {x y : R} {n : β} (H : IsCoprime x y) : IsCoprime x (y ^ n) - Nat.Coprime.cast π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u_1} [CommRing R] {a b : β} (h : a.Coprime b) : IsCoprime βa βb - IsCoprime.of_prod_left π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} {I : Type v} [CommSemiring R] {x : R} {s : I β R} {t : Finset I} (H1 : IsCoprime (β i β t, s i) x) (i : I) (hit : i β t) : IsCoprime (s i) x - IsCoprime.of_prod_right π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} {I : Type v} [CommSemiring R] {x : R} {s : I β R} {t : Finset I} (H1 : IsCoprime x (β i β t, s i)) (i : I) (hit : i β t) : IsCoprime x (s i) - IsCoprime.prod_left π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} {I : Type v} [CommSemiring R] {x : R} {s : I β R} {t : Finset I} (h : β i β t, IsCoprime (s i) x) : IsCoprime (β i β t, s i) x - IsCoprime.prod_right π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} {I : Type v} [CommSemiring R] {x : R} {s : I β R} {t : Finset I} : (β i β t, IsCoprime x (s i)) β IsCoprime x (β i β t, s i) - IsCoprime.pow_left_iff π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} [CommSemiring R] {x y : R} {m : β} (hm : 0 < m) : IsCoprime (x ^ m) y β IsCoprime x y - IsCoprime.pow_right_iff π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} [CommSemiring R] {x y : R} {m : β} (hm : 0 < m) : IsCoprime x (y ^ m) β IsCoprime x y - IsCoprime.prod_left_iff π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} {I : Type v} [CommSemiring R] {x : R} {s : I β R} {t : Finset I} : IsCoprime (β i β t, s i) x β β i β t, IsCoprime (s i) x - IsCoprime.prod_right_iff π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} {I : Type v} [CommSemiring R] {x : R} {s : I β R} {t : Finset I} : IsCoprime x (β i β t, s i) β β i β t, IsCoprime x (s i) - IsCoprime.pow π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} [CommSemiring R] {x y : R} {m n : β} (H : IsCoprime x y) : IsCoprime (x ^ m) (y ^ n) - Fintype.prod_dvd_of_coprime π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} {I : Type v} [CommSemiring R] {z : R} {s : I β R} [Fintype I] (Hs : Pairwise (Function.onFun IsCoprime s)) (Hs1 : β (i : I), s i β£ z) : β x, s x β£ z - IsCoprime.pow_iff π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} [CommSemiring R] {x y : R} {m n : β} (hm : 0 < m) (hn : 0 < n) : IsCoprime (x ^ m) (y ^ n) β IsCoprime x y - Finset.prod_dvd_of_coprime π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} {I : Type v} [CommSemiring R] {z : R} {s : I β R} {t : Finset I} (Hs : (βt).Pairwise (Function.onFun IsCoprime s)) (Hs1 : β i β t, s i β£ z) : β x β t, s x β£ z - exists_sum_eq_one_iff_pairwise_coprime' π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} {I : Type v} [CommSemiring R] {s : I β R} [Fintype I] [Nonempty I] [DecidableEq I] : (β ΞΌ, β i, ΞΌ i * β j β {i}αΆ, s j = 1) β Pairwise (Function.onFun IsCoprime s) - pairwise_coprime_iff_coprime_prod π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} {I : Type v} [CommSemiring R] {s : I β R} {t : Finset I} [DecidableEq I] : Pairwise (Function.onFun IsCoprime fun i => s βi) β β i β t, IsCoprime (s i) (β j β t \ {i}, s j) - exists_sum_eq_one_iff_pairwise_coprime π Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} {I : Type v} [CommSemiring R] {s : I β R} {t : Finset I} [DecidableEq I] (h : t.Nonempty) : (β ΞΌ, β i β t, ΞΌ i * β j β t \ {i}, s j = 1) β Pairwise (Function.onFun IsCoprime fun i => s βi) - Ideal.isCoprime_of_isMaximal π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} [I.IsMaximal] [J.IsMaximal] (ne : I β J) : IsCoprime I J - Ideal.isCoprime_span_singleton_iff π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] (x y : R) : IsCoprime (Ideal.span {x}) (Ideal.span {y}) β IsCoprime x y - IsCoprime.codisjoint π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} (h : IsCoprime I J) : Codisjoint I J - Ideal.isCoprime_iff_codisjoint π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} : IsCoprime I J β Codisjoint I J - Ideal.IsPrime.notMem_of_isCoprime_of_mem π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I : Ideal R} [I.IsPrime] {x y : R} (h : IsCoprime x y) (hx : x β I) : y β I - Ideal.iInf_span_singleton π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {ΞΉ : Type u_2} [Fintype ΞΉ] {I : ΞΉ β R} (hI : β (i j : ΞΉ), i β j β IsCoprime (I i) (I j)) : β¨ i, Ideal.span {I i} = Ideal.span {β i, I i} - Ideal.sup_eq_top_iff_isCoprime π Mathlib.RingTheory.Ideal.Operations
{R : Type u_2} [CommSemiring R] (x y : R) : Ideal.span {x} β Ideal.span {y} = β€ β IsCoprime x y - IsCoprime.sup_eq π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} (h : IsCoprime I J) : I β J = β€ - Ideal.isCoprime_iff_sup_eq π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} : IsCoprime I J β I β J = β€ - IsCoprime.add_eq π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} (h : IsCoprime I J) : I + J = 1 - Ideal.isCoprime_iff_add π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} : IsCoprime I J β I + J = 1 - Ideal.inf_eq_mul_of_isCoprime π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} (coprime : IsCoprime I J) : I β J = I * J - Ideal.mul_eq_inf_of_isCoprime π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} (coprime : IsCoprime I J) : I * J = I β J - Ideal.coprime_of_no_prime_ge π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} (h : β (P : Ideal R), I β€ P β J β€ P β Β¬P.IsPrime) : IsCoprime I J - Ideal.finset_inf_span_singleton π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {ΞΉ : Type u_2} (s : Finset ΞΉ) (I : ΞΉ β R) (hI : (βs).Pairwise (Function.onFun IsCoprime I)) : (s.inf fun i => Ideal.span {I i}) = Ideal.span {β i β s, I i} - IsCoprime.exists π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} (h : IsCoprime I J) : β i β I, β j β J, i + j = 1 - Ideal.isCoprime_iff_exists π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} : IsCoprime I J β β i β I, β j β J, i + j = 1 - Ideal.isCoprime_biInf π Mathlib.RingTheory.Ideal.Operations
{R : Type u} {ΞΉ : Type u_1} [CommSemiring R] {I : Ideal R} {J : ΞΉ β Ideal R} {s : Finset ΞΉ} (hf : β j β s, IsCoprime I (J j)) : IsCoprime I (β¨ j β s, J j) - Ideal.prod_eq_iInf_of_pairwise_isCoprime π Mathlib.RingTheory.Ideal.Operations
{R : Type u} {ΞΉ : Type u_1} [CommSemiring R] {s : Finset ΞΉ} {J : ΞΉ β Ideal R} (hp : (βs).Pairwise (Function.onFun IsCoprime J)) : β i β s, J i = β¨ i β s, J i - Ideal.isCoprime_tfae π Mathlib.RingTheory.Ideal.Operations
{R : Type u} [CommSemiring R] {I J : Ideal R} : [IsCoprime I J, Codisjoint I J, I + J = 1, β i β I, β j β J, i + j = 1, I β J = β€].TFAE - dvd_or_isCoprime π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] [IsBezout R] (x y : R) (h : Irreducible x) : x β£ y β¨ IsCoprime x y - Irreducible.isCoprime_or_dvd π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] [IsBezout R] {p : R} (hp : Irreducible p) (i : R) : IsCoprime p i β¨ p β£ i - Irreducible.coprime_iff_not_dvd π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] [IsBezout R] {p n : R} (hp : Irreducible p) : IsCoprime p n β Β¬p β£ n - Irreducible.dvd_iff_not_isCoprime π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] [IsBezout R] {p n : R} (hp : Irreducible p) : p β£ n β Β¬IsCoprime p n - gcd_isUnit_iff π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] [IsBezout R] [IsDomain R] [GCDMonoid R] (x y : R) : IsUnit (gcd x y) β IsCoprime x y - Prime.coprime_iff_not_dvd π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] [IsBezout R] [IsDomain R] {p n : R} (hp : Prime p) : IsCoprime p n β Β¬p β£ n - IsRelPrime.isCoprime π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] {x y : R} [Submodule.IsPrincipal (Ideal.span {x, y})] (h : IsRelPrime x y) : IsCoprime x y - isRelPrime_iff_isCoprime π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] {x y : R} [Submodule.IsPrincipal (Ideal.span {x, y})] : IsRelPrime x y β IsCoprime x y - Irreducible.coprime_pow_of_not_dvd π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] [IsBezout R] {p a : R} (m : β) (hp : Irreducible p) (h : Β¬p β£ a) : IsCoprime a (p ^ m) - exists_associated_pow_of_mul_eq_pow' π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] [IsBezout R] [IsDomain R] {a b c : R} (hab : IsCoprime a b) {k : β} (h : a * b = c ^ k) : β d, Associated (d ^ k) a - isCoprime_of_prime_dvd π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] {x y : R} (nonzero : Β¬(x = 0 β§ y = 0)) (H : β (z : R), Prime z β z β£ x β Β¬z β£ y) : IsCoprime x y - exists_associated_pow_of_associated_pow_mul π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] [IsBezout R] [IsDomain R] {a b c : R} (hab : IsCoprime a b) {k : β} (h : Associated (c ^ k) (a * b)) : β d, Associated (d ^ k) a - isCoprime_of_irreducible_dvd π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] [IsDomain R] [IsPrincipalIdealRing R] {x y : R} (nonzero : Β¬(x = 0 β§ y = 0)) (H : β (z : R), Irreducible z β z β£ x β Β¬z β£ y) : IsCoprime x y - isCoprime_of_dvd π Mathlib.RingTheory.PrincipalIdealDomain
{R : Type u} [CommRing R] [IsBezout R] (x y : R) (nonzero : Β¬(x = 0 β§ y = 0)) (H : β z β nonunits R, z β 0 β z β£ x β Β¬z β£ y) : IsCoprime x y - Polynomial.disjoint_ker_aeval_of_isCoprime π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} {M : Type w} [CommRing R] [AddCommGroup M] [Module R M] (f : M ββ[R] M) {p q : Polynomial R} (hpq : IsCoprime p q) : Disjoint ((Polynomial.aeval f) p).ker ((Polynomial.aeval f) q).ker - Polynomial.sup_aeval_range_eq_top_of_isCoprime π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} {M : Type w} [CommRing R] [AddCommGroup M] [Module R M] (f : M ββ[R] M) {p q : Polynomial R} (hpq : IsCoprime p q) : ((Polynomial.aeval f) p).range β ((Polynomial.aeval f) q).range = β€ - Polynomial.sup_ker_aeval_eq_ker_aeval_mul_of_coprime π Mathlib.RingTheory.Polynomial.Basic
{R : Type u} {M : Type w} [CommRing R] [AddCommGroup M] [Module R M] (f : M ββ[R] M) {p q : Polynomial R} (hpq : IsCoprime p q) : ((Polynomial.aeval f) p).ker β ((Polynomial.aeval f) q).ker = ((Polynomial.aeval f) (p * q)).ker - Ideal.exists_forall_sub_mem_ideal π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] {ΞΉ : Type u_3} [Finite ΞΉ] {I : ΞΉ β Ideal R} (hI : Pairwise (Function.onFun IsCoprime I)) (x : ΞΉ β R) : β r, β (i : ΞΉ), r - x i β I i - Ideal.pi_quotient_surjective π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] {ΞΉ : Type u_3} [Finite ΞΉ] {I : ΞΉ β Ideal R} (hf : Pairwise (Function.onFun IsCoprime I)) (x : (i : ΞΉ) β R β§Έ I i) : β r, β (i : ΞΉ), (Ideal.Quotient.mk (I i)) r = x i - Ideal.quotientInfRingEquivPiQuotient π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] {ΞΉ : Type u_3} [Finite ΞΉ] (f : ΞΉ β Ideal R) (hf : Pairwise (Function.onFun IsCoprime f)) : R β§Έ β¨ i, f i β+* ((i : ΞΉ) β R β§Έ f i) - Ideal.quotientInfEquivQuotientProd π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] (I J : Ideal R) (coprime : IsCoprime I J) : R β§Έ I β J β+* (R β§Έ I) Γ R β§Έ J - Ideal.pi_mkQ_surjective π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] {ΞΉ : Type u_3} [Finite ΞΉ] {I : ΞΉ β Ideal R} (hI : Pairwise (Function.onFun IsCoprime I)) : Function.Surjective β(LinearMap.pi fun i => Submodule.mkQ (I i)) - Ideal.quotientMulEquivQuotientProd π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] (I J : Ideal R) (coprime : IsCoprime I J) : R β§Έ I * J β+* (R β§Έ I) Γ R β§Έ J - Ideal.quotientInfToPiQuotient_surj π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] {ΞΉ : Type u_3} [Finite ΞΉ] {I : ΞΉ β Ideal R} (hI : Pairwise (Function.onFun IsCoprime I)) : Function.Surjective β(Ideal.quotientInfToPiQuotient I) - Ideal.quotientInfEquivQuotientProd_fst π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] (I J : Ideal R) (coprime : IsCoprime I J) (x : R β§Έ I β J) : ((I.quotientInfEquivQuotientProd J coprime) x).1 = (Ideal.Quotient.factor β―) x - Ideal.quotientInfEquivQuotientProd_snd π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] (I J : Ideal R) (coprime : IsCoprime I J) (x : R β§Έ I β J) : ((I.quotientInfEquivQuotientProd J coprime) x).2 = (Ideal.Quotient.factor β―) x - Ideal.quotientMulEquivQuotientProd_snd π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] (I J : Ideal R) (coprime : IsCoprime I J) (x : R β§Έ I * J) : ((I.quotientMulEquivQuotientProd J coprime) x).2 = (Ideal.Quotient.factor β―) x - Ideal.quotientMulEquivQuotientProd_fst π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] (I J : Ideal R) (coprime : IsCoprime I J) (x : R β§Έ I * J) : ((I.quotientMulEquivQuotientProd J coprime) x).1 = (Ideal.Quotient.factor β―) x - Ideal.fst_comp_quotientInfEquivQuotientProd π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] (I J : Ideal R) (coprime : IsCoprime I J) : (RingHom.fst (R β§Έ I) (R β§Έ J)).comp β(I.quotientInfEquivQuotientProd J coprime) = Ideal.Quotient.factor β― - Ideal.snd_comp_quotientInfEquivQuotientProd π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] (I J : Ideal R) (coprime : IsCoprime I J) : (RingHom.snd (R β§Έ I) (R β§Έ J)).comp β(I.quotientInfEquivQuotientProd J coprime) = Ideal.Quotient.factor β― - Ideal.snd_comp_quotientMulEquivQuotientProd π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] (I J : Ideal R) (coprime : IsCoprime I J) : (RingHom.snd (R β§Έ I) (R β§Έ J)).comp β(I.quotientMulEquivQuotientProd J coprime) = Ideal.Quotient.factor β― - Ideal.fst_comp_quotientMulEquivQuotientProd π Mathlib.RingTheory.Ideal.Quotient.Operations
{R : Type u_2} [CommRing R] (I J : Ideal R) (coprime : IsCoprime I J) : (RingHom.fst (R β§Έ I) (R β§Έ J)).comp β(I.quotientMulEquivQuotientProd J coprime) = Ideal.Quotient.factor β― - Polynomial.pairwise_coprime_X_sub_C π Mathlib.Algebra.Polynomial.RingDivision
{K : Type u_1} [Field K] {I : Type v} {s : I β K} (H : Function.Injective s) : Pairwise (Function.onFun IsCoprime fun i => Polynomial.X - Polynomial.C (s i)) - Polynomial.aeval_ne_zero_of_isCoprime π Mathlib.Algebra.Polynomial.RingDivision
{S : Type v} {R : Type u_1} [CommSemiring R] [Nontrivial S] [Semiring S] [Algebra R S] {p q : Polynomial R} (h : IsCoprime p q) (s : S) : (Polynomial.aeval s) p β 0 β¨ (Polynomial.aeval s) q β 0 - Polynomial.isCoprime_X_sub_C_of_isUnit_sub π Mathlib.Algebra.Polynomial.RingDivision
{R : Type u_1} [CommRing R] {a b : R} (h : IsUnit (a - b)) : IsCoprime (Polynomial.X - Polynomial.C a) (Polynomial.X - Polynomial.C b) - Polynomial.isCoprime_expand π Mathlib.Algebra.Polynomial.Expand
{R : Type u} [CommSemiring R] {f g : Polynomial R} {p : β} (hp : p β 0) : IsCoprime ((Polynomial.expand R p) f) ((Polynomial.expand R p) g) β IsCoprime f g - EuclideanDomain.gcd_isUnit_iff π Mathlib.RingTheory.EuclideanDomain
{Ξ± : Type u_1} [EuclideanDomain Ξ±] [DecidableEq Ξ±] {x y : Ξ±} : IsUnit (EuclideanDomain.gcd x y) β IsCoprime x y - EuclideanDomain.dvd_or_coprime π Mathlib.RingTheory.EuclideanDomain
{Ξ± : Type u_1} [EuclideanDomain Ξ±] (x y : Ξ±) (h : Irreducible x) : x β£ y β¨ IsCoprime x y - isCoprime_div_gcd_div_gcd π Mathlib.RingTheory.EuclideanDomain
{R : Type u_1} [EuclideanDomain R] [GCDMonoid R] {p q : R} (hq : q β 0) : IsCoprime (p / gcd p q) (q / gcd p q) - isCoprime_div_gcd_div_gcd_of_gcd_ne_zero π Mathlib.RingTheory.EuclideanDomain
{R : Type u_1} [EuclideanDomain R] [GCDMonoid R] {p q : R} (hpq : gcd p q β 0) : IsCoprime (p / gcd p q) (q / gcd p q) - EuclideanDomain.isCoprime_of_dvd π Mathlib.RingTheory.EuclideanDomain
{Ξ± : Type u_1} [EuclideanDomain Ξ±] {x y : Ξ±} (nonzero : Β¬(x = 0 β§ y = 0)) (H : β z β nonunits Ξ±, z β 0 β z β£ x β Β¬z β£ y) : IsCoprime x y - Polynomial.isCoprime_map π Mathlib.Algebra.Polynomial.FieldDivision
{R : Type u} {k : Type y} [Field R] {p q : Polynomial R} [Field k] (f : R β+* k) : IsCoprime (Polynomial.map f p) (Polynomial.map f q) β IsCoprime p q - Polynomial.isCoprime_of_is_root_of_eval_derivative_ne_zero π Mathlib.Algebra.Polynomial.FieldDivision
{K : Type u_1} [Field K] (f : Polynomial K) (a : K) (hf' : Polynomial.eval a (Polynomial.derivative f) β 0) : IsCoprime (Polynomial.X - Polynomial.C a) (f /β (Polynomial.X - Polynomial.C a)) - IsCoprime.scaleRoots π Mathlib.RingTheory.Polynomial.ScaleRoots
{R : Type u_1} [CommSemiring R] (p q : Polynomial R) (r : R) (hr : IsUnit r) (h : IsCoprime p q) : IsCoprime (p.scaleRoots r) (q.scaleRoots r) - Polynomial.isCoprime_scaleRoots π Mathlib.RingTheory.Polynomial.ScaleRoots
{R : Type u_1} [CommSemiring R] (p q : Polynomial R) (r : R) (hr : IsUnit r) (h : IsCoprime p q) : IsCoprime (p.scaleRoots r) (q.scaleRoots r) - MaximalSpectrum.isCoprime_of_ne π Mathlib.RingTheory.Spectrum.Maximal.Basic
{R : Type u_1} [CommSemiring R] {I J : MaximalSpectrum R} (h : I β J) : IsCoprime I.asIdeal J.asIdeal - Submodule.supIndep_torsionBy π Mathlib.Algebra.Module.Torsion.Basic
{R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {ΞΉ : Type u_3} {S : Finset ΞΉ} {q : ΞΉ β R} (hq : (βS).Pairwise (Function.onFun IsCoprime q)) : S.SupIndep fun i => Submodule.torsionBy R M (q i) - Submodule.iSup_torsionBy_eq_torsionBy_prod π Mathlib.Algebra.Module.Torsion.Basic
{R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {ΞΉ : Type u_3} {S : Finset ΞΉ} {q : ΞΉ β R} (hq : (βS).Pairwise (Function.onFun IsCoprime q)) : β¨ i β S, Submodule.torsionBy R M (q i) = Submodule.torsionBy R M (β i β S, q i) - Submodule.torsionBy_isInternal π Mathlib.Algebra.Module.Torsion.Basic
{R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {ΞΉ : Type u_3} [DecidableEq ΞΉ] {S : Finset ΞΉ} {q : ΞΉ β R} (hq : (βS).Pairwise (Function.onFun IsCoprime q)) (hM : Module.IsTorsionBy R M (β i β S, q i)) : DirectSum.IsInternal fun i => Submodule.torsionBy R M (q βi) - exists_eq_pow_of_mul_eq_pow_of_coprime π Mathlib.RingTheory.IntegralDomain
{R : Type u_2} [CommSemiring R] [GCDMonoid R] [Subsingleton RΛ£] {a b c : R} {n : β} (cp : IsCoprime a b) (h : a * b = c ^ n) : β d, a = d ^ n - Finset.exists_eq_pow_of_mul_eq_pow_of_coprime π Mathlib.RingTheory.IntegralDomain
{ΞΉ : Type u_2} {R : Type u_3} [CommSemiring R] [GCDMonoid R] [Subsingleton RΛ£] {n : β} {c : R} {s : Finset ΞΉ} {f : ΞΉ β R} (h : β i β s, β j β s, i β j β IsCoprime (f i) (f j)) (hprod : β i β s, f i = c ^ n) (i : ΞΉ) : i β s β β d, f i = d ^ n - Matrix.SpecialLinearGroup.isCoprime_col π Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
{R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup (Fin 2) R) (j : Fin 2) : IsCoprime (βA 0 j) (βA 1 j) - Matrix.SpecialLinearGroup.isCoprime_row π Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
{R : Type v} [CommRing R] (A : Matrix.SpecialLinearGroup (Fin 2) R) (i : Fin 2) : IsCoprime (βA i 0) (βA i 1) - IsCoprime.exists_SL2_col π Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
{R : Type u_1} [CommRing R] {a b : R} (hab : IsCoprime a b) (j : Fin 2) : β g, βg 0 j = a β§ βg 1 j = b - IsCoprime.exists_SL2_row π Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup
{R : Type u_1} [CommRing R] {a b : R} (hab : IsCoprime a b) (i : Fin 2) : β g, βg i 0 = a β§ βg i 1 = b
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
πReal.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
π"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
π_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
πReal.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
π(?a -> ?b) -> List ?a -> List ?b
πList ?a -> (?a -> ?b) -> List ?bBy main conclusion:
π|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allβandβ) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
π|- _ < _ β tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
β’ (_ : Type _)finds all definitions which provide data whileβ’ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
π Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ β _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 69fae59