Documentation

Architect.Attribute

Config is the type of arguments that can be provided to blueprint.

  • statement : Option String

    The statement of the node in text.

  • hasProof : Option Bool

    By default, only theorems have separate proof parts. This option overrides this behavior.

  • proof : Option String

    The proof of the node in text. Uses proof docstrings if not present.

  • The set of nodes that this node depends on. Infers from the constant if not present.

  • usesRaw : Array String

    Additional raw labels of nodes that this node depends on.

  • proofUses : Array Lean.Name

    The set of nodes that the proof of this node depends on. Infers from the constant's value if not present.

  • proofUsesRaw : Array String

    Additional raw labels of nodes that the proof of this node depends on.

  • notReady : Bool

    The surrounding environment is not ready to be formalized, typically because it requires more blueprint work.

  • discussion : Option Nat

    A GitHub issue number where the surrounding definition or statement is discussed.

  • title : Option String

    The short title of the node in LaTeX.

  • latexEnv : Option String

    The LaTeX environment to use for the node.

  • latexLabel : Option String

    The LaTeX label to use for the node.

  • trace : Bool

    Enable debugging.

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

                              The blueprint attribute tags a constant to add to the blueprint.

                              You may optionally add:

                              • "latex-label": The LaTeX label to use for the node (default: the Lean name).
                              • statement := /-- ... -/: The statement of the node in LaTeX.
                              • hasProof := true: If the node has a proof part (default: true if the node is a theorem).
                              • proof := /-- ... -/: The proof of the node in LaTeX (default: the docstrings in proof tactics).
                              • uses := [a, "b"]: The dependencies of the node, as Lean constants or LaTeX labels (default: inferred from the used constants).
                              • proofUses := [a, "b"]: The dependencies of the proof of the node, as Lean constants or LaTeX labels (default: inferred from the used constants).
                              • title := "Title": The title of the node in LaTeX.
                              • notReady := true: Whether the node is not ready.
                              • discussion := 123: The discussion issue number of the node.
                              • latexEnv := "lemma": The LaTeX environment to use for the node (default: "theorem" or "definition").

                              For more information, see LeanArchitect.

                              Use blueprint? to show the raw data of the added node.

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

                                The blueprint attribute tags a constant to add to the blueprint.

                                You may optionally add:

                                • "latex-label": The LaTeX label to use for the node (default: the Lean name).
                                • statement := /-- ... -/: The statement of the node in LaTeX.
                                • hasProof := true: If the node has a proof part (default: true if the node is a theorem).
                                • proof := /-- ... -/: The proof of the node in LaTeX (default: the docstrings in proof tactics).
                                • uses := [a, "b"]: The dependencies of the node, as Lean constants or LaTeX labels (default: inferred from the used constants).
                                • proofUses := [a, "b"]: The dependencies of the proof of the node, as Lean constants or LaTeX labels (default: inferred from the used constants).
                                • title := "Title": The title of the node in LaTeX.
                                • notReady := true: Whether the node is not ready.
                                • discussion := 123: The discussion issue number of the node.
                                • latexEnv := "lemma": The LaTeX environment to use for the node (default: "theorem" or "definition").

                                For more information, see LeanArchitect.

                                Use blueprint? to show the raw data of the added node.

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

                                  Elaborates the configuration options for blueprint.

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

                                    Whether a node has a proof part.

                                    Equations
                                    Instances For
                                      def Architect.mkStatementPart (_name : Lean.Name) (latexLabel : String) (cfg : Config) (hasProof : Bool) (used : Lean.NameSet) :
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        def Architect.mkProofPart (name : Lean.Name) (latexLabel : String) (cfg : Config) (used : Lean.NameSet) :
                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            partial def Architect.checkCyclicUses {m : TypeType} [Monad m] [Lean.MonadEnv m] [Lean.MonadError m] (newLabel label : String) (visited : Std.HashSet String := ) (path : Array String := #[]) :

                                            Raises an error if newLabel occurs in the (irreflexive transitive) dependencies of label. If ignored, this would create a cycle and then an error during leanblueprint web.

                                            (Note: this check will only raise an error if blueprint.ignoreUnknownConstants is true, which may permit cyclic dependencies.)