File: Mathlib/RingTheory/Coprime/Lemmas.lean

full_name: Int.isCoprime_iff_gcd_eq_one
code: theorem Int.isCoprime_iff_gcd_eq_one {m n : ℤ} : IsCoprime m n ↔ Int.gcd m n = 1 
goal: IsCoprime m n ↔ m.gcd n = 1

full_name: Nat.isCoprime_iff_coprime
code: theorem Nat.isCoprime_iff_coprime {m n : ℕ} : IsCoprime (m : ℤ) n ↔ Nat.Coprime m n 
goal: IsCoprime ↑m ↑n ↔ m.Coprime n

full_name: Nat.Coprime.cast
code: theorem Nat.Coprime.cast {R : Type*} [CommRing R] {a b : ℕ} (h : Nat.Coprime a b) :
    IsCoprime (a : R) (b : R) 
goal: IsCoprime ↑a ↑b

full_name: ne_zero_or_ne_zero_of_nat_coprime
code: theorem ne_zero_or_ne_zero_of_nat_coprime {A : Type u} [CommRing A] [Nontrivial A] {a b : ℕ}
    (h : Nat.Coprime a b) : (a : A) ≠ 0 ∨ (b : A) ≠ 0 
goal: ↑a ≠ 0 ∨ ↑b ≠ 0

full_name: IsCoprime.prod_left
code: theorem IsCoprime.prod_left : (∀ i ∈ t, IsCoprime (s i) x) → IsCoprime (∏ i ∈ t, s i) x 
goal: (∀ i ∈ t, IsCoprime (s i) x) → IsCoprime (∏ i ∈ t, s i) x

full_name: IsCoprime.prod_right
code: theorem IsCoprime.prod_right : (∀ i ∈ t, IsCoprime x (s i)) → IsCoprime x (∏ i ∈ t, s i) 
goal: (∀ i ∈ t, IsCoprime x (s i)) → IsCoprime x (∏ i ∈ t, s i)

full_name: IsCoprime.prod_left_iff
code: theorem IsCoprime.prod_left_iff : IsCoprime (∏ i ∈ t, s i) x ↔ ∀ i ∈ t, IsCoprime (s i) x 
goal: IsCoprime (∏ i ∈ t, s i) x ↔ ∀ i ∈ t, IsCoprime (s i) x

full_name: IsCoprime.prod_right_iff
code: theorem IsCoprime.prod_right_iff : IsCoprime x (∏ i ∈ t, s i) ↔ ∀ i ∈ t, IsCoprime x (s i) 
goal: IsCoprime x (∏ i ∈ t, s i) ↔ ∀ i ∈ t, IsCoprime x (s i)

full_name: IsCoprime.of_prod_left
code: theorem IsCoprime.of_prod_left (H1 : IsCoprime (∏ i ∈ t, s i) x) (i : I) (hit : i ∈ t) :
    IsCoprime (s i) x 
goal: IsCoprime (s i) x

full_name: IsCoprime.of_prod_right
code: theorem IsCoprime.of_prod_right (H1 : IsCoprime x (∏ i ∈ t, s i)) (i : I) (hit : i ∈ t) :
    IsCoprime x (s i) 
goal: IsCoprime x (s i)

full_name: Finset.prod_dvd_of_coprime
code: theorem Finset.prod_dvd_of_coprime :
    (t : Set I).Pairwise (IsCoprime on s) → (∀ i ∈ t, s i ∣ z) → (∏ x ∈ t, s x) ∣ z 
goal: (↑t).Pairwise (IsCoprime on s) → (∀ i ∈ t, s i ∣ z) → ∏ x ∈ t, s x ∣ z

full_name: Fintype.prod_dvd_of_coprime
code: theorem Fintype.prod_dvd_of_coprime [Fintype I] (Hs : Pairwise (IsCoprime on s))
    (Hs1 : ∀ i, s i ∣ z) : (∏ x, s x) ∣ z 
goal: ∏ x : I, s x ∣ z

full_name: exists_sum_eq_one_iff_pairwise_coprime
code: theorem exists_sum_eq_one_iff_pairwise_coprime [DecidableEq I] (h : t.Nonempty) :
    (∃ μ : I → R, (∑ i ∈ t, μ i * ∏ j ∈ t \ {i}, s j) = 1) ↔
      Pairwise (IsCoprime on fun i : t ↦ s i) 
goal: (∃ μ, ∑ i ∈ t, μ i * ∏ j ∈ t \ {i}, s j = 1) ↔ Pairwise (IsCoprime on fun i => s ↑i)

full_name: exists_sum_eq_one_iff_pairwise_coprime'
code: theorem exists_sum_eq_one_iff_pairwise_coprime' [Fintype I] [Nonempty I] [DecidableEq I] :
    (∃ μ : I → R, (∑ i : I, μ i * ∏ j ∈ {i}ᶜ, s j) = 1) ↔ Pairwise (IsCoprime on s) 
goal: (∃ μ, ∑ i : I, μ i * ∏ j ∈ {i}ᶜ, s j = 1) ↔ Pairwise (IsCoprime on s)

full_name: pairwise_coprime_iff_coprime_prod
code: theorem pairwise_coprime_iff_coprime_prod [DecidableEq I] :
    Pairwise (IsCoprime on fun i : t ↦ s i) ↔ ∀ i ∈ t, IsCoprime (s i) (∏ j ∈ t \ {i}, s j) 
goal: Pairwise (IsCoprime on fun i => s ↑i) ↔ ∀ i ∈ t, IsCoprime (s i) (∏ j ∈ t \ {i}, s j)

full_name: IsCoprime.pow_left
code: theorem IsCoprime.pow_left (H : IsCoprime x y) : IsCoprime (x ^ m) y 
goal: IsCoprime (x ^ m) y

full_name: IsCoprime.pow_right
code: theorem IsCoprime.pow_right (H : IsCoprime x y) : IsCoprime x (y ^ n) 
goal: IsCoprime x (y ^ n)

full_name: IsCoprime.pow
code: theorem IsCoprime.pow (H : IsCoprime x y) : IsCoprime (x ^ m) (y ^ n) 
goal: IsCoprime (x ^ m) (y ^ n)

full_name: IsCoprime.pow_left_iff
code: theorem IsCoprime.pow_left_iff (hm : 0 < m) : IsCoprime (x ^ m) y ↔ IsCoprime x y 
goal: IsCoprime (x ^ m) y ↔ IsCoprime x y

full_name: IsCoprime.pow_right_iff
code: theorem IsCoprime.pow_right_iff (hm : 0 < m) : IsCoprime x (y ^ m) ↔ IsCoprime x y 
goal: IsCoprime x (y ^ m) ↔ IsCoprime x y

full_name: IsCoprime.pow_iff
code: theorem IsCoprime.pow_iff (hm : 0 < m) (hn : 0 < n) : IsCoprime (x ^ m) (y ^ n) ↔ IsCoprime x y 
goal: IsCoprime (x ^ m) (y ^ n) ↔ IsCoprime x y

full_name: IsRelPrime.prod_left
code: theorem IsRelPrime.prod_left : (∀ i ∈ t, IsRelPrime (s i) x) → IsRelPrime (∏ i ∈ t, s i) x 
goal: (∀ i ∈ t, IsRelPrime (s i) x) → IsRelPrime (∏ i ∈ t, s i) x

full_name: IsRelPrime.prod_right
code: theorem IsRelPrime.prod_right : (∀ i ∈ t, IsRelPrime x (s i)) → IsRelPrime x (∏ i ∈ t, s i) 
goal: (∀ i ∈ t, IsRelPrime x (s i)) → IsRelPrime x (∏ i ∈ t, s i)

full_name: IsRelPrime.prod_left_iff
code: theorem IsRelPrime.prod_left_iff : IsRelPrime (∏ i ∈ t, s i) x ↔ ∀ i ∈ t, IsRelPrime (s i) x 
goal: IsRelPrime (∏ i ∈ t, s i) x ↔ ∀ i ∈ t, IsRelPrime (s i) x

full_name: IsRelPrime.prod_right_iff
code: theorem IsRelPrime.prod_right_iff : IsRelPrime x (∏ i ∈ t, s i) ↔ ∀ i ∈ t, IsRelPrime x (s i) 
goal: IsRelPrime x (∏ i ∈ t, s i) ↔ ∀ i ∈ t, IsRelPrime x (s i)

full_name: IsRelPrime.of_prod_left
code: theorem IsRelPrime.of_prod_left (H1 : IsRelPrime (∏ i ∈ t, s i) x) (i : I) (hit : i ∈ t) :
    IsRelPrime (s i) x 
goal: IsRelPrime (s i) x

full_name: IsRelPrime.of_prod_right
code: theorem IsRelPrime.of_prod_right (H1 : IsRelPrime x (∏ i ∈ t, s i)) (i : I) (hit : i ∈ t) :
    IsRelPrime x (s i) 
goal: IsRelPrime x (s i)

full_name: Finset.prod_dvd_of_isRelPrime
code: theorem Finset.prod_dvd_of_isRelPrime :
    (t : Set I).Pairwise (IsRelPrime on s) → (∀ i ∈ t, s i ∣ z) → (∏ x ∈ t, s x) ∣ z 
goal: (↑t).Pairwise (IsRelPrime on s) → (∀ i ∈ t, s i ∣ z) → ∏ x ∈ t, s x ∣ z

full_name: Fintype.prod_dvd_of_isRelPrime
code: theorem Fintype.prod_dvd_of_isRelPrime [Fintype I] (Hs : Pairwise (IsRelPrime on s))
    (Hs1 : ∀ i, s i ∣ z) : (∏ x, s x) ∣ z 
goal: ∏ x : I, s x ∣ z

full_name: pairwise_isRelPrime_iff_isRelPrime_prod
code: theorem pairwise_isRelPrime_iff_isRelPrime_prod [DecidableEq I] :
    Pairwise (IsRelPrime on fun i : t ↦ s i) ↔ ∀ i ∈ t, IsRelPrime (s i) (∏ j ∈ t \ {i}, s j) 
goal: Pairwise (IsRelPrime on fun i => s ↑i) ↔ ∀ i ∈ t, IsRelPrime (s i) (∏ j ∈ t \ {i}, s j)

full_name: IsRelPrime.pow_left
code: theorem pow_left (H : IsRelPrime x y) : IsRelPrime (x ^ m) y 
goal: IsRelPrime (x ^ m) y

full_name: IsRelPrime.pow_right
code: theorem pow_right (H : IsRelPrime x y) : IsRelPrime x (y ^ n) 
goal: IsRelPrime x (y ^ n)

full_name: IsRelPrime.pow
code: theorem pow (H : IsRelPrime x y) : IsRelPrime (x ^ m) (y ^ n) 
goal: IsRelPrime (x ^ m) (y ^ n)

full_name: IsRelPrime.pow_left_iff
code: theorem pow_left_iff (hm : 0 < m) : IsRelPrime (x ^ m) y ↔ IsRelPrime x y 
goal: IsRelPrime (x ^ m) y ↔ IsRelPrime x y

full_name: IsRelPrime.pow_right_iff
code: theorem pow_right_iff (hm : 0 < m) : IsRelPrime x (y ^ m) ↔ IsRelPrime x y 
goal: IsRelPrime x (y ^ m) ↔ IsRelPrime x y

full_name: IsRelPrime.pow_iff
code: theorem pow_iff (hm : 0 < m) (hn : 0 < n) :
    IsRelPrime (x ^ m) (y ^ n) ↔ IsRelPrime x y 
goal: IsRelPrime (x ^ m) (y ^ n) ↔ IsRelPrime x y