PFR/ForMathlib/AffineSpaceDim.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, Polynomial Freiman-Ruzsa proof paper, arXiv v2

5 declarations, 0 contain sorry, 0 declared as axioms

Imports (4)
Imported by 2 files
  1. def AffineSpace.finrank The dimension of the affine span over ℤ of a subset of an additive group line 19 source

    Source documentation

    The dimension of the affine span over ℤ of a subset of an additive group.

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

    Statement uses: Ring, AddCommGroup, Module, AddTorsor, Set, Nat

    Proof uses: Submodule.finrank, vectorSpan

    6 instances, coercions and auxiliary constants left out.

    noncomputable def finrank (s : Set P) : ℕ := (vectorSpan k s).finrank
    …
  2. lemma AffineSpace.finrank_vadd_set line 23 source

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

    Statement uses: Ring, AddCommGroup, Module, AddTorsor, Set, Eq, Nat, AffineSpace.finrank, HVAdd.hVAdd

    Proof uses: of_eq_true, Submodule.finrank, vectorSpan, Eq.trans, True, congrFun', congrArg, Submodule, vectorSpan_vadd, eq_self

    22 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  3. lemma AffineSpace.finrank_empty line 27 source

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

    Statement uses: Ring, AddCommGroup, Module, AddTorsor, Nontrivial, Eq, Nat, AffineSpace.finrank, EmptyCollection.emptyCollection, Set, OfNat.ofNat

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, Submodule.finrank, vectorSpan, Bot.bot, Submodule, vectorSpan_empty, finrank_bot, eq_self

    11 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  4. lemma AffineSpace.finrank_le_submoduleFinrank line 31 source

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

    Statement uses: Ring, AddCommGroup, Module, AddTorsor, Set, Submodule, StrongRankCondition, Module.Finite, Subtype, Membership.mem, VSub.vsub, LE.le, Nat, AffineSpace.finrank, Submodule.finrank

    Proof uses: Submodule.finrank_mono, vectorSpan, Eq.mpr, id, Eq, Eq.trans, Submodule.span, forall_congr, implies_congr, Eq.refl, Eq.mp, HSub.hSub, congrArg, vsub_sub_vsub_cancel_right, Submodule.sub_mem

    31 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

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

  5. lemma AffineSpace.finrank_le_moduleFinrank line 37 source

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

    Statement uses: Ring, AddCommGroup, Module, AddTorsor, Set, StrongRankCondition, Module.Finite, LE.le, Nat, AffineSpace.finrank, Module.finrank

    Proof uses: Submodule.finrank_le, vectorSpan

    7 instances, coercions and auxiliary constants left out.