File: Mathlib/RingTheory/Localization/NumDen.lean

full_name: IsFractionRing.exists_reduced_fraction
code: theorem exists_reduced_fraction (x : K) :
    ∃ (a : A) (b : nonZeroDivisors A), IsRelPrime a b ∧ mk' K a b = x 
goal: ∃ a b, IsRelPrime a ↑b ∧ IsLocalization.mk' K a b = x

full_name: IsFractionRing.num
code: /-- `f.num x` is the numerator of `x : f.codomain` as a reduced fraction. -/
noncomputable def num (x : K) : A 
goal: A

full_name: IsFractionRing.den
code: /-- `f.den x` is the denominator of `x : f.codomain` as a reduced fraction. -/
noncomputable def den (x : K) : nonZeroDivisors A 
goal: ↥(nonZeroDivisors A)

full_name: IsFractionRing.num_den_reduced
code: theorem num_den_reduced (x : K) : IsRelPrime (num A x) (den A x) 
goal: IsRelPrime (IsFractionRing.num A x) ↑(IsFractionRing.den A x)

full_name: IsFractionRing.mk'_num_den
code: theorem mk'_num_den (x : K) : mk' K (num A x) (den A x) = x 
goal: IsLocalization.mk' K (IsFractionRing.num A x) (IsFractionRing.den A x) = x

full_name: IsFractionRing.mk'_num_den'
code: @[simp]
theorem mk'_num_den' (x : K) : algebraMap A K (num A x) / algebraMap A K (den A x) = x 
goal: (algebraMap A K) (IsFractionRing.num A x) / (algebraMap A K) ↑(IsFractionRing.den A x) = x

full_name: IsFractionRing.num_mul_den_eq_num_iff_eq
code: theorem num_mul_den_eq_num_iff_eq {x y : K} :
    x * algebraMap A K (den A y) = algebraMap A K (num A y) ↔ x = y 
goal: x * (algebraMap A K) ↑(IsFractionRing.den A y) = (algebraMap A K) (IsFractionRing.num A y) ↔ x = y

full_name: IsFractionRing.num_mul_den_eq_num_iff_eq'
code: theorem num_mul_den_eq_num_iff_eq' {x y : K} :
    y * algebraMap A K (den A x) = algebraMap A K (num A x) ↔ x = y 
goal: y * (algebraMap A K) ↑(IsFractionRing.den A x) = (algebraMap A K) (IsFractionRing.num A x) ↔ x = y

full_name: IsFractionRing.num_mul_den_eq_num_mul_den_iff_eq
code: theorem num_mul_den_eq_num_mul_den_iff_eq {x y : K} :
    num A y * den A x = num A x * den A y ↔ x = y 
goal: IsFractionRing.num A y * ↑(IsFractionRing.den A x) = IsFractionRing.num A x * ↑(IsFractionRing.den A y) ↔ x = y

full_name: IsFractionRing.eq_zero_of_num_eq_zero
code: theorem eq_zero_of_num_eq_zero {x : K} (h : num A x = 0) : x = 0 
goal: x = 0

full_name: IsFractionRing.num_zero
code: @[simp]
lemma num_zero : IsFractionRing.num A (0 : K) = 0 
goal: IsFractionRing.num A 0 = 0

full_name: IsFractionRing.num_eq_zero
code: @[simp]
lemma num_eq_zero (x : K) : IsFractionRing.num A x = 0 ↔ x = 0 
goal: IsFractionRing.num A x = 0 ↔ x = 0

full_name: IsFractionRing.isInteger_of_isUnit_den
code: theorem isInteger_of_isUnit_den {x : K} (h : IsUnit (den A x : A)) : IsInteger A x 
goal: IsLocalization.IsInteger A x

full_name: IsFractionRing.isUnit_den_iff
code: theorem isUnit_den_iff (x : K) : IsUnit (den A x : A) ↔ IsLocalization.IsInteger A x 
goal: IsUnit ↑(IsFractionRing.den A x) ↔ IsLocalization.IsInteger A x

full_name: IsFractionRing.isUnit_den_zero
code: theorem isUnit_den_zero : IsUnit (den A (0 : K) : A) 
goal: IsUnit ↑(IsFractionRing.den A 0)

full_name: IsFractionRing.isUnit_den_of_num_eq_zero
code: @[deprecated isUnit_den_zero (since := "2024-07-11")]
theorem isUnit_den_of_num_eq_zero {x : K} (h : num A x = 0) : IsUnit (den A x : A) 
goal: IsUnit ↑(IsFractionRing.den A x)

full_name: IsFractionRing.associated_den_num_inv
code: lemma associated_den_num_inv (x : K) (hx : x ≠ 0) : Associated (den A x : A) (num A x⁻¹) 
goal: Associated (↑(IsFractionRing.den A x)) (IsFractionRing.num A x⁻¹)

full_name: IsFractionRing.associated_num_den_inv
code: lemma associated_num_den_inv (x : K) (hx : x ≠ 0) : Associated (num A x : A) (den A x⁻¹) 
goal: Associated (IsFractionRing.num A x) ↑(IsFractionRing.den A x⁻¹)