FormalConjecturesUtil/Linters/NamespaceLinter.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

1 declarations, 0 contain sorry, 0 declared as axioms

The Namespace Linter

The namespaceLinter is a linter to aid with formatting contributions to the Formal Conjectures repository by ensuring that all declarations are placed within a namespace.

Imports (1)
Imported by 2 files
  1. def NamespaceLinter.namespaceLinter The namespace linter checks that every declaration is inside a namespace line 47 source

    Source documentation

    The namespace linter checks that every declaration is inside a namespace.

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

    Statement uses: Lean.Elab.Command.Linter

    Proof uses: Lean.Elab.Command.Linter.mk, Lean.withSetOptionIn, Lean.Syntax, Bind.bind, Lean.Elab.Command.CommandElabM, Lean.Linter.LinterOptions, Unit, Lean.Linter.getLinterOptions, ite, Eq, Bool, Lean.Linter.getLinterValue, NamespaceLinter.linter.style.namespace, Bool.true, Array, Mathlib.Linter.getNamesFrom, Option.getD, String.Pos.Raw, Lean.Syntax.getPos?, Bool.false and 31 more

    23 instances, coercions and auxiliary constants left out.

    def namespaceLinter : Linter where run := withSetOptionIn fun stx ↦ do
    …