File: Mathlib/RingTheory/Localization/Integer.lean

full_name: IsLocalization.IsInteger
code: /-- Given `a : S`, `S` a localization of `R`, `IsInteger R a` iff `a` is in the image of
the localization map from `R` to `S`. -/
def IsInteger (a : S) : Prop 
goal: Prop

full_name: IsLocalization.isInteger_zero
code: theorem isInteger_zero : IsInteger R (0 : S) 
goal: IsLocalization.IsInteger R 0

full_name: IsLocalization.isInteger_one
code: theorem isInteger_one : IsInteger R (1 : S) 
goal: IsLocalization.IsInteger R 1

full_name: IsLocalization.isInteger_add
code: theorem isInteger_add {a b : S} (ha : IsInteger R a) (hb : IsInteger R b) : IsInteger R (a + b) 
goal: IsLocalization.IsInteger R (a + b)

full_name: IsLocalization.isInteger_mul
code: theorem isInteger_mul {a b : S} (ha : IsInteger R a) (hb : IsInteger R b) : IsInteger R (a * b) 
goal: IsLocalization.IsInteger R (a * b)

full_name: IsLocalization.isInteger_smul
code: theorem isInteger_smul {a : R} {b : S} (hb : IsInteger R b) : IsInteger R (a • b) 
goal: IsLocalization.IsInteger R (a • b)

full_name: IsLocalization.exists_integer_multiple'
code: /-- Each element `a : S` has an `M`-multiple which is an integer.

This version multiplies `a` on the right, matching the argument order in `LocalizationMap.surj`.
-/
theorem exists_integer_multiple' (a : S) : ∃ b : M, IsInteger R (a * algebraMap R S b) 
goal: ∃ b, IsLocalization.IsInteger R (a * (algebraMap R S) ↑b)

full_name: IsLocalization.exists_integer_multiple
code: /-- Each element `a : S` has an `M`-multiple which is an integer.

This version multiplies `a` on the left, matching the argument order in the `SMul` instance.
-/
theorem exists_integer_multiple (a : S) : ∃ b : M, IsInteger R ((b : R) • a) 
goal: ∃ b, IsLocalization.IsInteger R (↑b • a)

full_name: IsLocalization.exist_integer_multiples
code: /-- We can clear the denominators of a `Finset`-indexed family of fractions. -/
theorem exist_integer_multiples {ι : Type*} (s : Finset ι) (f : ι → S) :
    ∃ b : M, ∀ i ∈ s, IsLocalization.IsInteger R ((b : R) • f i) 
goal: ∃ b, ∀ i ∈ s, IsLocalization.IsInteger R (↑b • f i)

full_name: IsLocalization.exist_integer_multiples_of_finite
code: /-- We can clear the denominators of a finite indexed family of fractions. -/
theorem exist_integer_multiples_of_finite {ι : Type*} [Finite ι] (f : ι → S) :
    ∃ b : M, ∀ i, IsLocalization.IsInteger R ((b : R) • f i) 
goal: ∃ b, ∀ (i : ι), IsLocalization.IsInteger R (↑b • f i)

full_name: IsLocalization.exist_integer_multiples_of_finset
code: /-- We can clear the denominators of a finite set of fractions. -/
theorem exist_integer_multiples_of_finset (s : Finset S) :
    ∃ b : M, ∀ a ∈ s, IsInteger R ((b : R) • a) 
goal: ∃ b, ∀ a ∈ s, IsLocalization.IsInteger R (↑b • a)

full_name: IsLocalization.commonDenom
code: /-- A choice of a common multiple of the denominators of a `Finset`-indexed family of fractions. -/
noncomputable def commonDenom {ι : Type*} (s : Finset ι) (f : ι → S) : M 
goal: ↥M

full_name: IsLocalization.integerMultiple
code: /-- The numerator of a fraction after clearing the denominators
of a `Finset`-indexed family of fractions. -/
noncomputable def integerMultiple {ι : Type*} (s : Finset ι) (f : ι → S) (i : s) : R 
goal: R

full_name: IsLocalization.map_integerMultiple
code: @[simp]
theorem map_integerMultiple {ι : Type*} (s : Finset ι) (f : ι → S) (i : s) :
    algebraMap R S (integerMultiple M s f i) = commonDenom M s f • f i 
goal: (algebraMap R S) (IsLocalization.integerMultiple M s f i) = IsLocalization.commonDenom M s f • f ↑i

full_name: IsLocalization.commonDenomOfFinset
code: /-- A choice of a common multiple of the denominators of a finite set of fractions. -/
noncomputable def commonDenomOfFinset (s : Finset S) : M 
goal: ↥M

full_name: IsLocalization.finsetIntegerMultiple
code: /-- The finset of numerators after clearing the denominators of a finite set of fractions. -/
noncomputable def finsetIntegerMultiple [DecidableEq R] (s : Finset S) : Finset R 
goal: Finset R

full_name: IsLocalization.finsetIntegerMultiple_image
code: theorem finsetIntegerMultiple_image [DecidableEq R] (s : Finset S) :
    algebraMap R S '' finsetIntegerMultiple M s = commonDenomOfFinset M s • (s : Set S) 
goal: ⇑(algebraMap R S) '' ↑(IsLocalization.finsetIntegerMultiple M s) = IsLocalization.commonDenomOfFinset M s • ↑s