Exists adic Valued mul sub le
IsDedekindDomain.HeightOneSpectrum.exists_adicValued_mul_sub_le
Plain-language statement
Given a, b ∈ A and v b ≤ v a we can find y in A such that y is close to a / b by the valuation v.
Exact Lean statement
lemma exists_adicValued_mul_sub_le {a b : A} {γ : WithZero (Multiplicative ℤ)} (hγ : γ ≠ 0)
(hle : γ ≤ v.intValuation a)
(hle' : v.intValuation b ≤ v.intValuation a) :
∃ y, v.intValuation (y * a - b) ≤ γFormal artifact
Lean source
lemma exists_adicValued_mul_sub_le {a b : A} {γ : WithZero (Multiplicative ℤ)} (hγ : γ ≠ 0) (hle : γ ≤ v.intValuation a) (hle' : v.intValuation b ≤ v.intValuation a) : ∃ y, v.intValuation (y * a - b) ≤ γ := by -- Find `n` such that `γ = Multiplicative.ofAdd (-(n : ℤ))` have hγ' : γ ≤ 1 := by apply hle.trans apply intValuation_le_one obtain ⟨n, hn⟩ := exists_ofAdd_natCast_of_le_one hγ hγ' rw [← hn, ← WithZero.exp] at hle ⊢ have hnz : a ≠ 0 := ne_zero_of_some_le_intValuation _ hle have hnb : Ideal.span {a} ≠ ⊥ := by rwa [ne_eq, Ideal.span_singleton_eq_bot] -- Rewrite the statements to involve multiplicity rather than valuations rw [intValuation_eq_coe_neg_multiplicity _ hnz, WithZero.exp_le_exp, neg_le_neg_iff, Int.ofNat_le] at hle have hm : emultiplicity v.asIdeal (Ideal.span {a}) ≤ n := le_of_eq_of_le (emultiplicity_eq_of_valuation_eq_ofAdd v <| intValuation_eq_coe_neg_multiplicity v hnz) (ENat.coe_le_coe.mpr hle) have hb : b ∈ v.asIdeal ^ multiplicity v.asIdeal (Ideal.span {a}) := by rwa [← intValuation_le_pow_iff_mem, ← intValuation_eq_coe_neg_multiplicity _ hnz] -- Now make use of -- `v.asIdeal ^ multiplicity v.asIdeal (Ideal.span {a}) = v.asIdeal ^ n ⊔ Ideal.span {a}` -- (this is where we need `IsDedekindDomain A`) rw [← Ideal.irreducible_pow_sup_of_ge hnb (irreducible v) n hm] at hb -- Extract y by writing b as a general term of the sum of the two ideals. obtain ⟨x, hx, z, hz, hxz⟩ := Submodule.mem_sup.mp hb obtain ⟨y, hy⟩ := Ideal.mem_span_singleton'.mp hz use y -- And again prove the result about valuations by turning into one about ideals. rwa [hy, ← hxz, sub_add_cancel_right, intValuation_le_pow_iff_mem, neg_mem_iff]- Project
- Fermat's Last Theorem
- License
- Apache-2.0
- Commit
- 8dd808888295
- Source
- FLT/DedekindDomain/AdicValuation.lean:92-123
Reuse this declaration
Bring the exact result into your workflow
The import identifies the source module. Your project still needs the pinned package dependency shown on this page.
What this badge means
This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.
Continue in this project
Related declarations
Eq finsum quotient out of bij On
AbstractHeckeOperator.eq_finsum_quotient_out_of_bijOn'
Plain-language statement
If a is fixed by V then ∑ᶠ g ∈ s, g • a is independent of the choice s of coset representatives in G for a subset of G ⧸ V
Source project: Fermat's Last Theorem
Person-level attribution pending.
Comm Group no compact automorphisms
CommGroup.no_compact_automorphisms
Plain-language statement
A connected compact Hausdorff abelian topological group does not admit a nontrivial compact group of automorphisms.
Source project: Fermat's Last Theorem
Person-level attribution pending.
Fermat Last Theorem of p ge 5
FermatLastTheorem.of_p_ge_5
Plain-language statement
If Fermat's Last Theorem is true for primes p ≥ 5, then FLT is true.
Source project: Fermat's Last Theorem
Person-level attribution pending.