Module

BasicFactors.lean

Nyll.ValuedFieldTheory.LocalField.Analytic.LogExpSeries.FormalCoreBase.BasicFactors
23 declarations indexed from sourceView source ↗

Basic factors in the formal logarithm product argument

This module packages the three possible nonzero monomial factors and their finite choice spaces.

Declarations

LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactor

The three exponent vectors with nonzero coefficient in X + Y + XY.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
def formalLogOnePlusProductArgumentBasicFactor
    (m : Fin 2 →₀ ℕ) : Prop
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorFinset

The finite set of the left, right, and mixed basic exponent vectors.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
def formalLogOnePlusProductArgumentBasicFactorFinset :
    Finset (Fin 2 →₀ ℕ)
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.mem_formalLogOnePlusProductArgumentBasicFactorFinset

Characterizes m ∈ formalLogOnePlusProductArgumentBasicFactorFinset by the equivalent condition formalLogOnePlusProductArgumentBasicFactor m.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem mem_formalLogOnePlusProductArgumentBasicFactorFinset
    {m : Fin 2 →₀ ℕ} :
    m ∈ formalLogOnePlusProductArgumentBasicFactorFinset ↔
      formalLogOnePlusProductArgumentBasicFactor m
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorFinset_card

Establishes the identity formalLogOnePlusProductArgumentBasicFactorFinset.card = 3.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem formalLogOnePlusProductArgumentBasicFactorFinset_card :
    formalLogOnePlusProductArgumentBasicFactorFinset.card = 3
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorLabel

Labels the left, right, and mixed basic factors by 0, 1, and 2. Non-basic inputs receive the mixed label; all uses that recover a factor from its label therefore carry a basic-factor hypothesis.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
def formalLogOnePlusProductArgumentBasicFactorLabel
    (m : Fin 2 →₀ ℕ) : Fin 3
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorLabel_left

Establishes the identity formalLogOnePlusProductArgumentBasicFactorLabel (Finsupp.single (0 : Fin 2) 1) = 0.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem formalLogOnePlusProductArgumentBasicFactorLabel_left :
    formalLogOnePlusProductArgumentBasicFactorLabel
        (Finsupp.single (0 : Fin 2) 1) = 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorLabel_right

Establishes the identity formalLogOnePlusProductArgumentBasicFactorLabel (Finsupp.single (1 : Fin 2) 1) = 1.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem formalLogOnePlusProductArgumentBasicFactorLabel_right :
    formalLogOnePlusProductArgumentBasicFactorLabel
        (Finsupp.single (1 : Fin 2) 1) = 1
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorLabel_mixed

Establishes the identity formalLogOnePlusProductArgumentBasicFactorLabel (Finsupp.single (0 : Fin 2) 1 + Finsupp.single (1 : Fin 2) 1) = 2.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem formalLogOnePlusProductArgumentBasicFactorLabel_mixed :
    formalLogOnePlusProductArgumentBasicFactorLabel
        (Finsupp.single (0 : Fin 2) 1 +
          Finsupp.single (1 : Fin 2) 1) = 2
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorLabel_eq_zero

Characterizes formalLogOnePlusProductArgumentBasicFactorLabel m = (0 : Fin 3) by the equivalent condition m = Finsupp.single (0 : Fin 2) 1.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem formalLogOnePlusProductArgumentBasicFactorLabel_eq_zero
    {m : Fin 2 →₀ ℕ} :
    formalLogOnePlusProductArgumentBasicFactorLabel m = (0 : Fin 3) ↔
      m = Finsupp.single (0 : Fin 2) 1
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorLabel_eq_one

Characterizes formalLogOnePlusProductArgumentBasicFactorLabel m = (1 : Fin 3) by the equivalent condition m = Finsupp.single (1 : Fin 2) 1.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem formalLogOnePlusProductArgumentBasicFactorLabel_eq_one
    {m : Fin 2 →₀ ℕ} :
    formalLogOnePlusProductArgumentBasicFactorLabel m = (1 : Fin 3) ↔
      m = Finsupp.single (1 : Fin 2) 1
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorProductChoices

Finitely supported sequences of q basic factors.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
def formalLogOnePlusProductArgumentBasicFactorProductChoices
    (q : ℕ) : Finset (ℕ →₀ (Fin 2 →₀ ℕ))
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.mem_formalLogOnePlusProductArgumentBasicFactorProductChoices

Characterizes l ∈ formalLogOnePlusProductArgumentBasicFactorProductChoices q by the equivalent condition l.support ⊆ Finset.range q ∧ ∀ i ∈ Finset.range q, formalLogOnePlusProductArgumentBasicFactor (l i).

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem mem_formalLogOnePlusProductArgumentBasicFactorProductChoices
    {q : ℕ} {l : ℕ →₀ (Fin 2 →₀ ℕ)} :
    l ∈ formalLogOnePlusProductArgumentBasicFactorProductChoices q ↔
      l.support ⊆ Finset.range q ∧
        ∀ i ∈ Finset.range q,
          formalLogOnePlusProductArgumentBasicFactor (l i)
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorProductChoices_card

Establishes the identity (formalLogOnePlusProductArgumentBasicFactorProductChoices q).card = 3 ^ q.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem formalLogOnePlusProductArgumentBasicFactorProductChoices_card
    (q : ℕ) :
    (formalLogOnePlusProductArgumentBasicFactorProductChoices q).card =
      3 ^ q
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorChoices

Sequences of q basic factors whose exponent-vector sum is e.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
def formalLogOnePlusProductArgumentBasicFactorChoices
    (q : ℕ) (e : Fin 2 →₀ ℕ) :
    Finset (ℕ →₀ (Fin 2 →₀ ℕ))
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.mem_formalLogOnePlusProductArgumentBasicFactorChoices

Characterizes l ∈ formalLogOnePlusProductArgumentBasicFactorChoices q e by the equivalent condition l ∈ Finset.finsuppAntidiag (Finset.range q) e ∧ ∀ i ∈ Finset.range q, formalLogOnePlusProductArgumentBasicFactor (l i).

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem mem_formalLogOnePlusProductArgumentBasicFactorChoices
    {q : ℕ} {e : Fin 2 →₀ ℕ} {l : ℕ →₀ (Fin 2 →₀ ℕ)} :
    l ∈ formalLogOnePlusProductArgumentBasicFactorChoices q e ↔
      l ∈ Finset.finsuppAntidiag (Finset.range q) e ∧
        ∀ i ∈ Finset.range q,
          formalLogOnePlusProductArgumentBasicFactor (l i)
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorChoices_card_le_three_pow

Proves the bound (formalLogOnePlusProductArgumentBasicFactorChoices q e).card ≤ 3 ^ q.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem formalLogOnePlusProductArgumentBasicFactorChoices_card_le_three_pow
    (q : ℕ) (e : Fin 2 →₀ ℕ) :
    (formalLogOnePlusProductArgumentBasicFactorChoices q e).card ≤ 3 ^ q
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentLeftChoiceCount

The number of left factors among the first q entries of l.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
def formalLogOnePlusProductArgumentLeftChoiceCount
    (q : ℕ) (l : ℕ →₀ (Fin 2 →₀ ℕ)) : ℕ
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentRightChoiceCount

The number of right factors among the first q entries of l.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
def formalLogOnePlusProductArgumentRightChoiceCount
    (q : ℕ) (l : ℕ →₀ (Fin 2 →₀ ℕ)) : ℕ
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentMixedChoiceCount

The number of mixed factors among the first q entries of l.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
def formalLogOnePlusProductArgumentMixedChoiceCount
    (q : ℕ) (l : ℕ →₀ (Fin 2 →₀ ℕ)) : ℕ
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgumentBasicFactorLabelCount

The number of entries among the first q positions with label j.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
def formalLogOnePlusProductArgumentBasicFactorLabelCount
    (q : ℕ) (l : ℕ →₀ (Fin 2 →₀ ℕ)) (j : Fin 3) : ℕ
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgument_leftChoiceCount_eq_labelCount_zero

Establishes the identity formalLogOnePlusProductArgumentLeftChoiceCount q l = formalLogOnePlusProductArgumentBasicFactorLabelCount q l 0.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem formalLogOnePlusProductArgument_leftChoiceCount_eq_labelCount_zero
    (q : ℕ) (l : ℕ →₀ (Fin 2 →₀ ℕ)) :
    formalLogOnePlusProductArgumentLeftChoiceCount q l =
      formalLogOnePlusProductArgumentBasicFactorLabelCount q l 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgument_rightChoiceCount_eq_labelCount_one

Establishes the identity formalLogOnePlusProductArgumentRightChoiceCount q l = formalLogOnePlusProductArgumentBasicFactorLabelCount q l 1.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem formalLogOnePlusProductArgument_rightChoiceCount_eq_labelCount_one
    (q : ℕ) (l : ℕ →₀ (Fin 2 →₀ ℕ)) :
    formalLogOnePlusProductArgumentRightChoiceCount q l =
      formalLogOnePlusProductArgumentBasicFactorLabelCount q l 1
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.formalLogOnePlusProductArgument_mixedChoiceCount_eq_labelCount_two

Establishes the identity formalLogOnePlusProductArgumentMixedChoiceCount q l = formalLogOnePlusProductArgumentBasicFactorLabelCount q l 2.

Source context 4 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
attribute [local instance] Classical.propDecidable
namespace LocalFieldTheory.DiscreteValuationField
namespace MultiplicativeIntegerValuation
theorem formalLogOnePlusProductArgument_mixedChoiceCount_eq_labelCount_two
    {q : ℕ} {l : ℕ →₀ (Fin 2 →₀ ℕ)}
    (hbasic : ∀ i ∈ Finset.range q,
      formalLogOnePlusProductArgumentBasicFactor (l i)) :
    formalLogOnePlusProductArgumentMixedChoiceCount q l =
      formalLogOnePlusProductArgumentBasicFactorLabelCount q l 2