FormalConjecturesForMathlib/NumberTheory/Primitive.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

12 declarations, 0 contain sorry, 0 declared as axioms

Primitive elements of a set with respect to divisibility

An element n is primitive in a set S ⊆ ℕ if n ∈ S and no proper divisor of n is in S.

This concept appears naturally when studying sequences closed under "divisor inheritance" - if every member n of a sequence has the property that m * n is also in the sequence for coprime m, then the primitive elements generate the entire sequence.

Main definitions

Main results

Imports (1)
Imported by 1 file
  1. def Set.IsPrimitive An element n is primitive in a set S ⊆ ℕ if n ∈ S and no proper divisor of n is in S line 51 source

    Source documentation

    An element n is primitive in a set S ⊆ ℕ if n ∈ S and no proper divisor of n is in S.

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

    Statement uses: Set, Nat

    Proof uses: And, Membership.mem, Disjoint, Finset, Nat.properDivisors

    14 instances, coercions and auxiliary constants left out.

    def IsPrimitive (S : Set ℕ) (n : ℕ) : Prop :=
    …
  2. def Set.primitives The set of primitive elements of S line 55 source

    Source documentation

    The set of primitive elements of S.

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

    Statement uses: Set, Nat

    Proof uses: Set.ofPred, Set.IsPrimitive

    def primitives (S : Set ℕ) : Set ℕ :=
    …
  3. theorem Set.IsPrimitive.mem line 58 source

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

    Statement uses: Set, Nat, Set.IsPrimitive, Membership.mem

    Proof uses: And.left, Disjoint, Finset, Nat.properDivisors

    15 instances, coercions and auxiliary constants left out.

  4. theorem Set.IsPrimitive.disjoint_properDivisors line 60 source

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

    Statement uses: Set, Nat, Set.IsPrimitive, Disjoint, Finset, Nat.properDivisors

    Proof uses: And.right, Membership.mem

    27 instances, coercions and auxiliary constants left out.

  5. theorem Set.IsPrimitive.not_mem_of_properDivisor line 63 source

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

    Statement uses: Set, Nat, Set.IsPrimitive, Membership.mem, Finset, Nat.properDivisors, Not

    Proof uses: Iff.mp, Disjoint, Set.disjoint_left, And.right

    26 instances, coercions and auxiliary constants left out.

  6. theorem Set.IsPrimitive.not_mem_of_dvd_of_lt line 67 source

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

    Statement uses: Set, Nat, Set.IsPrimitive, Dvd.dvd, LT.lt, Not, Membership.mem

    Proof uses: Set.IsPrimitive.not_mem_of_properDivisor, Iff.mpr, Finset, Nat.properDivisors, And, Nat.mem_properDivisors, And.intro

    7 instances, coercions and auxiliary constants left out.

  7. theorem Set.isPrimitive_iff line 71 source

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

    Statement uses: Set, Nat, Iff, Set.IsPrimitive, And, Membership.mem, Finset, Nat.properDivisors, Not

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, Disjoint, forall_congr, implies_congr, Eq.refl, iff_self

    28 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  8. theorem Set.isPrimitive_iff' line 75 source

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

    Statement uses: Set, Nat, LT.lt, OfNat.ofNat, Iff, Set.IsPrimitive, And, Membership.mem, Dvd.dvd, Not

    Proof uses: Eq.mpr, Finset, Nat.properDivisors, id, Eq, congrArg, propext, Set.isPrimitive_iff, Iff.intro, And.intro, Iff.mpr, Nat.mem_properDivisors, And.left, Iff.mp, And.right

    12 instances, coercions and auxiliary constants left out.

    Tactic trace: 7 steps

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

  9. theorem Set.mem_primitives_iff line 82 source

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

    Statement uses: Set, Nat, Iff, Membership.mem, Set.primitives, Set.IsPrimitive

    Proof uses: Iff.rfl

    2 instances, coercions and auxiliary constants left out.

  10. theorem Set.primitives_subset line 85 source

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

    Statement uses: Set, Nat, LE.le, Set.primitives

    Proof uses: Membership.mem, Set.IsPrimitive.mem

    2 instances, coercions and auxiliary constants left out.

  11. theorem Set.one_isPrimitive_iff line 87 source

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

    Statement uses: Set, Nat, Iff, Set.IsPrimitive, OfNat.ofNat, Membership.mem

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, And, Finset, Nat.properDivisors, Not, forall_congr, False, implies_congr, EmptyCollection.emptyCollection, Nat.properDivisors_one, Eq.refl, implies_true, and_true, iff_self

    11 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  12. theorem Set.prime_isPrimitive_iff line 90 source

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

    Statement uses: Set, Nat, Nat.Prime, Iff, Set.IsPrimitive, And, Membership.mem, Not, OfNat.ofNat

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, Finset, Nat.properDivisors, Eq, forall_congr, implies_congr, Singleton.singleton, Nat.Prime.properDivisors, Eq.refl, iff_self

    10 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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