Documentation

Mathlib.Lean.Meta.RefinedDiscrTree.Initialize

Constructing a RefinedDiscrTree #

RefinedDiscrTree is lazy, so to add an entry, we need to compute the first Key and a LazyEntry. These are computed by initializeLazyEntry.

We provide RefinedDiscrTree.insert for directly performing this insert.

For initializing a RefinedDiscrTree using all imported constants, we provide createImportedDiscrTree, which loops through all imported constants, and does this with a parallel computation.

There is also createModuleDiscrTree which does the same but with the constants from the current file.

Directly insert a Key, LazyEntry pair into a RefinedDiscrTree.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    Structure for quickly initializing a lazy discrimination tree with a large number of elements using concurrent functions for generating entries.

    This preliminary structure is converted to a RefinedDiscrTree via toRefinedDiscrTree.

    Instances For

      Convert a PreDiscrTree to a RefinedDiscrTree.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Merge two PreDiscrTrees.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Return true if declName is automatically generated, or otherwise unsuitable as a lemma suggestion.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Lean.Meta.RefinedDiscrTree.createImportedDiscrTree {α : Type} (ngen : NameGenerator) (env : Environment) (act : NameConstantInfoMetaM (List (α × List (Key × LazyEntry)))) (constantsPerTask capacityPerTask : Nat) :

            Create a RefinedDiscrTree consisting of all entries generated by act from imported constants; addConstToPreDiscrTree calls this helper. This uses parallel computation.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              A discriminator tree for the current module's declarations only.

              Note: We use different discrimination trees for imported and current module declarations since imported declarations are typically much more numerous but not changed while the current module is edited.

              Instances For

                Create a RefinedDiscrTree for current module declarations, consisting of all entries generated by act from constants in the current file. This is called by addConstToPreDiscrTree.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  Create a reference for a RefinedDiscrTree for current module declarations.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For