Lean Auto Dependencies

 Lean Auto Dependencies🔗

Inspect auto.demo.statement_target for a statement panel with one automatic edge and one manual edge, auto.demo.proof_target for the same split on a proof panel, and auto.demo.excluded_target for an automatic edge removed by an attribute exclusion. This file also enables set_option verso.blueprint.autoDeps true for the examples that use (lean := "...") and inline Lean code.

Definition1
uses 0
Used by 3
Reverse dependency previews
Preview
Theorem 4
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
L∃∀N

Tagged source declaration used by another declaration's type. Edges to this node are inferred only when a target's statement mentions the Lean declaration.

Lean code for Definition11 definition
Theorem2
uses 0
Used by 3
Reverse dependency previews
Preview
Theorem 5
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
L∃∀N

Tagged source theorem used by another declaration's proof. Edges to this node should appear on proof dependency chips, not statement dependency chips.

Lean code for Theorem21 theorem
  • theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoProofSource :
      True
    theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoProofSource :
      True
Theorem3
uses 0
Used by 3
Reverse dependency previews
Preview
Theorem 4
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
L∃∀N

Manual comparison dependency. This edge is written in the attribute options, so it should stay manual while inferred edges are marked automatic.

Lean code for Theorem31 theorem
  • theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoManualExtra :
      True
    theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoManualExtra :
      True
Theorem4
Statement uses 2
Statement dependency previews
Preview
Definition 1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1L∃∀N

The Lean statement has type autoDemoTypeSource, so automatic dependency inference adds auto.demo.type_source. The attribute also adds auto.demo.manual_extra manually, making the statement dependency panel show both origins side by side.

Lean code for Theorem41 theorem
  • theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoStatementTarget :
      autoDemoTypeSource
    theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoStatementTarget :
      autoDemoTypeSource
Theorem5
uses 0used by 1L∃∀N

The Lean statement is just True, so there is no inferred statement dependency. The proof below uses autoDemoProofSource.

Lean code for Theorem51 theorem
  • theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoProofTarget :
      True
    theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoProofTarget :
      True
Proof for Theorem 5
Proof uses 2
Proof dependency previews
Preview
Theorem 2
Loading preview
Proof dependency preview content is loaded from the rendered-fragment cache.

The Lean proof body references autoDemoProofSource, so automatic dependency inference adds auto.demo.proof_source to the proof dependencies. The attribute also adds auto.demo.manual_extra manually for comparison.

Theorem6
uses 1used by 0L∃∀N

The Lean statement mentions autoDemoTypeSource, but the attribute excludes auto.demo.type_source. Only the manually listed auto.demo.manual_extra dependency remains.

Lean code for Theorem61 theorem
  • theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoExcludedTarget :
      autoDemoTypeSource
    theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoExcludedTarget :
      autoDemoTypeSource
Theorem7
uses 1used by 1L∃∀N

This node points at an existing compiled Lean declaration with (lean := ...). The file option enables automatic dependencies, so the declaration's type and proof body provide statement and proof edges.

Lean code for Theorem71 theorem
  • theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoExternalTargetDecl :
      autoDemoTypeSource
    theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoExternalTargetDecl :
      autoDemoTypeSource
Definition8

This node has an inline Lean block. The file option also enables automatic dependencies for the declarations defined in the block.

Lean code for Definition8theorem autoDemoInlineTargetDecl : autoDemoTypeSource := autoDemoTypeSource All goals completed! 🐙
Theorem9
uses 0used by 0L∃∀N

This node points at a compiled Lean declaration, but locally disables automatic dependency inference.

Lean code for Theorem91 theorem
  • theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoExternalOptOutDecl :
      autoDemoTypeSource
    theorem Verso.VersoBlueprintTests.BlueprintAutoDeps.Preview.autoDemoExternalOptOutDecl :
      autoDemoTypeSource
Theorem10
Statement uses 4
Statement dependency previews
used by 0XL∃∀N

A prose-first node links to the inferred targets with ordinary manual dependencies: Theorem 4, Theorem 5, Theorem 7, and Definition 8.

Contents

  1. Dependency Graph
  2. Blueprint Summary