Documentation

DescriptiveComplexity.Counting.Digits.SumSweep

Closure under sums over the tuples of the structure #

DescriptiveComplexity.Digits.Dig.sum: if the digits of a family F of numbers, with parameters w̄ and ū, can be added to a tower, so can the digits of Σū. F(w̄, ū).

The sum is an iterated addition, computed by a sweep (DescriptiveComplexity.Digits.sweep) along the tuples ū in lexicographic order: the row of ū holds the digits of the sum of F up to ū (DescriptiveComplexity.Digits.sumFam), and is the sum, by carry lookahead, of the row before it and of F(w̄, ū) (DescriptiveComplexity.Digits.sumTheta). The answer is the row of the last tuple.

Variables in two blocks #

def DescriptiveComplexity.Digits.u2 {a m : ℕ} :
Fin (a + m) → Fin a ⊕ Fin m

The arguments of a relation about parameters and an index, as the variables of a formula.

Equations
Instances For
    Dependency graph

    The lexicographic order on tuples, as sweep data #

    Dependency graph
    Dependency graph

    The rows: partial sums #

    @[reducible, inline]

    The ordered vocabulary, read in the vocabulary of a sweep over a tower.

    Equations
    Instances For
      Dependency graph

      The row of a tuple: the digits of the family at the least tuple, and otherwise the sum of the row before and of the digits of the family.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Dependency graph

        Closure #

        theorem DescriptiveComplexity.Digits.Dig.sum {K : FirstOrder.Language} {e₀ : StepDef (K.sum FirstOrder.Language.order)} {ℓ a m : ℕ} {F : Fam K (a + m)} (hF : Dig e₀ ℓ F) :
        Dig e₀ ℓ fun (A : Type) (x : K.Structure A) (x_1 : LinearOrder A) (w : Fin a → A) => ∑ᶠ (u : Fin m → A), F A (Fin.append w u)

        Closure under sums over tuples.

        Dependency graph