Documentation

TauCeti.NumberTheory.Supernatural

Supernatural numbers #

A supernatural number, also called a Steinitz number, is a formal product \prod_p p ^ n_p, where p ranges over the rational primes and every exponent n_p is an extended natural number. This file realizes supernatural numbers as exponent functions and equips them with the arithmetic used for orders and indices of profinite groups.

Multiplication adds exponents, divisibility is pointwise comparison, and gcd and lcm are the lattice infimum and supremum. Positive natural numbers embed by their prime factorizations. The finite supernatural numbers are characterized as those with finite support and no infinite exponent.

Main definitions #

References #

This is the Supernatural milestone of Layer 1, "supernatural order and index", of the human-authored roadmap TauCetiRoadmap/ProfiniteProPGroups/README.md, which asks for divisibility as pointwise ≤, multiplication as pointwise +, the lattice operations, the embedding of ℕ+ by prime factorization, the "is a natural number" predicate and the p-primary and prime-to-p parts, together with an API checklist of the multiplicativity, injectivity, gcd/lcm and finite-support statements proved below. The type itself is pinned in that roadmap's Suggested.lean as Supernatural := Nat.Primes → ℕ∞.

The definitions and terminology follow Ribes--Zalesskii, Profinite Groups, Section 2.3.

A supernatural number is a formal product of rational primes with exponents in \mathbb{N}_∞.

This is a separate type, rather than an abbreviation for a function type, because multiplication of supernatural numbers is pointwise addition of exponents, not the pointwise multiplication a function type carries. As for Mathlib's Matrix, the body of the synonym is exposed, since the operations are pointwise operations of the underlying function type and can only be defined, and their pointwise characterizations only stated, with the synonym transparent. The operations and instances themselves are opaque and are used through the pointwise lemmas below; ofFun is the named constructor building a supernatural number from its exponents.

Equations
Instances For
    theorem TauCeti.Supernatural.ext {m n : Supernatural} (h : ∀ (p : Nat.Primes), m p = n p) :
    m = n

    Two supernatural numbers are equal when all of their prime exponents are equal.

    theorem TauCeti.Supernatural.ext_iff {m n : Supernatural} :
    m = n ↔ ∀ (p : Nat.Primes), m p = n p

    The supernatural number with prescribed exponent at each prime.

    This is the named constructor for downstream definitions such as profiniteOrder, playing the role that Matrix.of plays for Matrix.

    Equations
    Instances For
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations
      @[instance_reducible]
      Equations
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[simp]

      Every exponent of the multiplicative unit is zero.

      @[simp]
      theorem TauCeti.Supernatural.mul_apply (m n : Supernatural) (p : Nat.Primes) :
      (m * n) p = m p + n p
      @[simp]
      theorem TauCeti.Supernatural.pow_apply (m : Supernatural) (n : ℕ) (p : Nat.Primes) :
      (m ^ n) p = n • m p

      Raising to a natural power multiplies every exponent by that power.

      @[simp]
      theorem TauCeti.Supernatural.inf_apply (m n : Supernatural) (p : Nat.Primes) :
      (m ⊓ n) p = min (m p) (n p)
      @[simp]
      theorem TauCeti.Supernatural.sup_apply (m n : Supernatural) (p : Nat.Primes) :
      (m ⊔ n) p = max (m p) (n p)
      @[simp]

      Every exponent of the greatest supernatural number is infinite.

      @[simp]

      Every exponent of the least supernatural number is zero.

      @[simp]
      theorem TauCeti.Supernatural.iSup_apply {ι : Sort u_1} (m : ι → Supernatural) (p : Nat.Primes) :
      (⨆ (i : ι), m i) p = ⨆ (i : ι), m i p

      Suprema of supernatural numbers are computed exponentwise.

      @[simp]
      theorem TauCeti.Supernatural.iInf_apply {ι : Sort u_1} (m : ι → Supernatural) (p : Nat.Primes) :
      (⨅ (i : ι), m i) p = ⨅ (i : ι), m i p

      Infima of supernatural numbers are computed exponentwise.

      @[simp]

      The multiplicative unit is also the least supernatural number.

      @[simp]

      Divisibility of supernatural numbers is comparison of every prime exponent.

      theorem TauCeti.Supernatural.le_iff {m n : Supernatural} :
      m ≤ n ↔ ∀ (p : Nat.Primes), m p ≤ n p

      One supernatural number is at most another exactly when each exponent is at most the corresponding exponent of the other.

      theorem TauCeti.Supernatural.dvd_iff {m n : Supernatural} :
      m ∣ n ↔ ∀ (p : Nat.Primes), m p ≤ n p

      A supernatural number divides another exactly when each exponent is at most the corresponding exponent of the other.

      The exponent of a supernatural number at a given prime.

      Equations
      Instances For

        The supernatural prime power p ^ n; all exponents away from p are zero.

        Equations
        Instances For
          @[simp]

          A prime power determines its exponent: p ^ m = p ^ n forces m = n.

          @[simp]

          A prime power with a sum of exponents is the product of the two prime powers.

          A prime power p ^ m is at most a supernatural number exactly when m is at most its exponent at p.

          @[simp]

          Two prime powers at the same prime compare as their exponents do.

          @[simp]

          Two prime powers at the same prime compare strictly as their exponents do.

          @[instance_reducible]

          A rational prime, regarded as the supernatural number having exponent one at that prime.

          Equations
          @[simp]

          A prime is at most a supernatural number exactly when its exponent there is nonzero.

          This is the simp-normal form of coe_prime_dvd_iff, since dvd_iff_le rewrites divisibility of supernatural numbers to comparison.

          A prime divides a supernatural number exactly when its exponent there is nonzero.

          The p-primary part of a supernatural number.

          Equations
          Instances For
            @[simp]

            The p-primary part of a supernatural number is trivial (equal to ⊥ = 1) exactly when p does not divide it.

            The prime-to-p part of a supernatural number, obtained by deleting its p-exponent.

            Equations
            Instances For

              A supernatural number is the product of its p-primary and prime-to-p parts.

              The embedding of positive natural numbers into supernatural numbers by prime factorization.

              Equations
              Instances For
                @[simp]
                theorem TauCeti.Supernatural.ofNat_apply (n : ℕ+) (p : Nat.Primes) :
                ofNat n p = ↑(padicValNat ↑p ↑n)
                @[simp]

                The prime factorization embedding turns multiplication of positive natural numbers into multiplication of supernatural numbers, that is, into addition of exponents.

                Prime factorization embeds positive natural numbers injectively into supernatural numbers.

                The embedding of positive natural numbers as a multiplicative homomorphism.

                Equations
                Instances For
                  @[simp]

                  Divisibility of positive natural numbers agrees with comparison of their supernatural images.

                  This is the simp-normal form of ofNat_dvd_ofNat_iff, since dvd_iff_le rewrites divisibility of supernatural numbers to comparison.

                  Divisibility of positive natural numbers agrees with divisibility of their supernatural images.

                  @[simp]
                  theorem TauCeti.Supernatural.ofNat_gcd (m n : ℕ+) :
                  ofNat (m.gcd n) = ofNat m ⊓ ofNat n

                  The positive-natural embedding takes gcd to the supernatural gcd.

                  @[simp]
                  theorem TauCeti.Supernatural.ofNat_lcm (m n : ℕ+) :
                  ofNat (m.lcm n) = ofNat m ⊔ ofNat n

                  The positive-natural embedding takes lcm to the supernatural lcm.

                  A supernatural number is natural when it lies in the image of ofNat.

                  Equations
                  Instances For

                    A supernatural number is natural exactly when it is the image under ofNat of a positive natural number. This is IsNatural by definition, and is the form downstream files use, since the body of IsNatural is not exposed.

                    @[simp]

                    Every positive natural number gives a natural supernatural number.

                    The support of a supernatural number is the set of primes having nonzero exponent.

                    Equations
                    Instances For

                      A supernatural number comes from a positive natural number exactly when it has finite support and every exponent is finite.

                      @[simp]

                      A prime power with infinite exponent is not a natural supernatural number.