FormalConjecturesForMathlib/Data/Nat/Full.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1

10 declarations, 0 contain sorry, 0 declared as axioms

Imports (3)
Imported by 1 file
  1. def Nat.Full A natural number $n$ is said to be $k$-full (or $k$-powerful) if for every prime factor $p$ of $n$, the $k$-th power $p^k$ also divides $n$ line 31 source

    Source documentation

    A natural number $n$ is said to be $k$-full (or $k$-powerful) if for every prime factor $p$ of $n$, the $k$-th power $p^k$ also divides $n$.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: Membership.mem, Finset, Nat.primeFactors, Dvd.dvd, HPow.hPow

    7 instances, coercions and auxiliary constants left out.

    def Full (k : ℕ) (n : ℕ) : Prop := ∀ p ∈ n.primeFactors, p^k ∣ n
  2. instance Nat.Full.decide line 33 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Decidable, Nat.Full

    Proof uses: id, inferInstance, Membership.mem, Finset, Nat.primeFactors, Dvd.dvd, HPow.hPow

    9 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

  3. theorem Nat.Full.zero_left Every natural number is $0$-full line 39 source

    Source documentation

    Every natural number is $0$-full.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Nat.Full, OfNat.ofNat

    Proof uses: of_eq_true, Membership.mem, Finset, Nat.primeFactors, Dvd.dvd, HPow.hPow, Eq.trans, True, forall_congr, And, Nat.Prime, Ne, implies_congr, congrFun', congrArg, pow_zero, IsUnit, Eq, Units, eq_self and 2 more

    18 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem Full.zero_left (n : ℕ) : (0 : ℕ).Full n := by
    …

    Mentions: Nat.Full

  4. theorem Nat.Full.one_left Every natural number is $1$-full line 43 source

    Source documentation

    Every natural number is $1$-full.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Nat.Full, OfNat.ofNat

    Proof uses: of_eq_true, Membership.mem, Finset, Nat.primeFactors, Dvd.dvd, HPow.hPow, Eq.trans, True, forall_congr, And, Nat.Prime, Ne, implies_congr_ctx, Not, Eq, congrFun', congrArg, pow_one, eq_true, implies_true

    10 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem Full.one_left (n : ℕ) : (1 : ℕ).Full n := by
    …

    Mentions: Nat.Full

  5. theorem Nat.Full.zero_right $0$ is always $k$-full line 47 source

    Source documentation

    $0$ is always $k$-full.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Nat.Full, OfNat.ofNat

    Proof uses: of_eq_true, Membership.mem, Finset, Nat.primeFactors, Dvd.dvd, HPow.hPow, Eq.trans, True, forall_congr, False, implies_congr, EmptyCollection.emptyCollection, congrFun', congrArg, Nat.primeFactors_zero, implies_true

    17 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem Full.zero_right (k : ℕ) : k.Full 0 := by
    …
  6. theorem Nat.Full.one_right $1$ is always $k$-full line 51 source

    Source documentation

    $1$ is always $k$-full.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Nat.Full, OfNat.ofNat

    Proof uses: of_eq_true, Membership.mem, Finset, Nat.primeFactors, Dvd.dvd, HPow.hPow, Eq.trans, True, forall_congr, False, Or, Eq, implies_congr, EmptyCollection.emptyCollection, congrFun', congrArg, Nat.primeFactors_one, implies_true

    20 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem Full.one_right (k : ℕ) : k.Full 1 := by
    …
  7. abbrev Nat.Powerful A Powerful number is a natural number $n$ where for every prime divisor $p$, $p^2$ divides $n$ line 59 source

    Source documentation

    A Powerful number is a natural number $n$ where for every prime divisor $p$, $p^2$ divides $n$. Powerful numbers are also known as "squareful", "square-full", or "$2$-full".

    L4DEL explanation

    A Powerful number is a natural number $n$ where for every prime divisor $p$, $p^2$ divides $n$. Powerful numbers are also known as "squareful", "square-full", or "$2$-full".

    Sources and attribution: Pinned Lean source (1646ca16afd6)

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: Nat.Full, OfNat.ofNat

    1 instances, coercions and auxiliary constants left out.

    abbrev Powerful : ℕ → Prop := (2).Full

    Mentions: Nat.Full

  8. instance Nat.Powerful.decide line 61 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Decidable, Nat.Powerful

    Proof uses: id, Nat.primeFactors, Membership.mem, Finset, Dvd.dvd, HPow.hPow, OfNat.ofNat

    10 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

  9. theorem Nat.full_of_le_full line 66 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, LE.le, Nat.Full

    Proof uses: Membership.mem, Finset, Nat.primeFactors, Nat.pow_dvd_of_le_of_pow_dvd

    4 instances, coercions and auxiliary constants left out.

  10. theorem Nat.not_full_of_prime_mod_prime_sq If $n \equiv p \pmod{p ^ (k + 1)}$, for a prime $p$ then $n$ is not $(k + 1)$-full line 70 source

    Source documentation

    If $n \equiv p \pmod{p ^ (k + 1)}$, for a prime $p$ then $n$ is not $(k + 1)$-full.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Nat.Prime, Eq, HMod.hMod, HPow.hPow, HAdd.hAdd, OfNat.ofNat, Not, Nat.Full

    Proof uses: Eq.mpr, Membership.mem, Finset, Nat.primeFactors, Dvd.dvd, id, congrArg, Nat.Full.eq_1, Exists, And, Eq.trans, Mathlib.Tactic.Push.not_forall_eq, funext, Exists.intro, congrFun', Ne, True, eq_true, true_and, And.intro and 21 more

    52 instances, coercions and auxiliary constants left out.

    Tactic trace: 15 steps

    Open to load the checked before-and-after goal states.

    theorem not_full_of_prime_mod_prime_sq (n : ℕ) (k : ℕ) {p : ℕ} (hp : p.Prime)
        (h : n % p ^ (k + 1) = p) : ¬ (k + 1).Full n := by
    …

    Mentions: Nat.Full