LaPToP Blueprint

Blueprint Summary🔗

Overview
Total entries107completed: 103; deps incomplete: 0; sorries: 1; no proof: 0
Ready now4Entries with an actionable next formalization step.
Fully closed103Local code and prerequisite closure are both complete.
Actionable priorities0Entries ready now and already unlocking downstream work.
Current blockers1Missing external or incomplete Lean declarations.
Missing informal coverage9Entries with Lean code but missing an informal statement or proof block.
Current blockers (1)
Missing informal coverage (9)
Entry index (107)
Definitions44completed: 41; deps incomplete: 0; sorries: 0; no proof: 0
Theorems63completed: 62; deps incomplete: 0; sorries: 1; no proof: 0
Informal-only entries3
Definition Index (44)
Theorem / Proposition / Lemma / Corollary Index (63)
By parent groups (9)
Data structures as they appear in LaPToP: lists/strings, functions as data, and related theories used when specifying programs that manipulate structure. The string and list material is Hehner's Sections 2.2 and 2.3; the formal counterparts are the Lean modules LaPToP.DataStructures.Strings and LaPToP.DataStructures.Lists . (8)
Notational conventions and elementary Boolean / predicate scaffolding used throughout Hehner's A Practical Theory of Programming . The book's Section 1.0 calls this Binary Theory ; its laws (reference §11.3.1) are formalized in the Lean module LaPToP.BasicTheories.Binary . (5)
A small exploratory demo chapter about the Collatz iteration. It is not part of Hehner's book; it exists so the Blueprint graph has an intentionally unfinished node from day one. (1)
Functions with an explicit domain, selective union, predicates and relations, and the quantifiers built on them: Hehner's Chapter 3, the prerequisite for the specifications and refinements of Program Theory. The formal counterparts are the Lean modules LaPToP.FunctionTheory.Functions , LaPToP.FunctionTheory.Quantifiers and LaPToP.FunctionTheory.FinePoints . (8)
Hehner's Chapter 5: the programming notations of "several languages" — control structures, scope, data structures, subprograms — explained as refinement notations or as specifications in the theory of Chapter 4. The while-loop of Section 5.2.0 is formalized in LaPToP.ProgramTheory.WhileLoop the for-loop of Section 5.2.3 in LaPToP.ProgramTheory.ForLoop , and variable declaration and suspension (Section 5.0) in LaPToP.ProgramTheory.Scope , assertions and backtracking (Section 5.4) in LaPToP.ProgramTheory.Assertions . (6)
Hehner's Chapter 7: "the stack, the queue, and the tree ... are presented here as case studies in theory design and implementation", a theory being "a contract between two parties, an implementer and a user". The data theories of Section 7.0 are formalized in LaPToP.TheoryDesign.Stack , SimpleStack , Queue and Tree ; program-stack theory (Section 7.1) in LaPToP.TheoryDesign.ProgramStack . (3)
Basic theories: numbers, bunches, sets, and the calculation style that underpins later program reasoning in LaPToP. The bunch and set material is Hehner's Sections 2.0 and 2.1; the formal counterpart lives in the Lean module LaPToP.BasicTheories.Bunch (axioms and laws) and LaPToP.BasicTheories.Numbers (named bunches, the interval, distribution). The number laws of Section 1.1 (reference §11.3.2) are in LaPToP.BasicTheories.NumberLaws . (15)
Recursive programs, time bounds, and concurrent composition as developed in later chapters of A Practical Theory of Programming . Recursive data definition (Section 6.0) is formalized in LaPToP.RecursiveDefinition.Nat and LaPToP.RecursiveDefinition.DataConstruction , and recursive program definition (Section 6.1) in LaPToP.RecursiveDefinition.Programs . (7)
Programs as predicates on pre- and post-states; refinement as implication; sequential composition, conditionals, and assignment in Hehner's theory. Sections 4.0–4.2 of the book are formalized in the Lean modules LaPToP.ProgramTheory.Specifications , LaPToP.ProgramTheory.Programs and LaPToP.ProgramTheory.Time . (10)
Dependency insights
Statement-used entries65Entries reused in statement dependencies.
Tracked parent groups9Grouped health rollups for parents with more than one child entry.
Most used in statements (65)
Group health (9)
  • Basic theories: numbers, bunches, sets, and the calculation style that underpins later program reasoning in LaPToP. The bunch and set material is Hehner's Sections 2.0 and 2.1; the formal counterpart lives in the Lean module LaPToP.BasicTheories.Bunch (axioms and laws) and LaPToP.BasicTheories.Numbers (named bunches, the interval, distribution). The number laws of Section 1.1 (reference §11.3.2) are in LaPToP.BasicTheories.NumberLaws .basic_theories_core
    Grouped view over entries sharing the same parent.
    total: 22closed: 21local-only: 0ready: 1blocked: 0incomplete Lean: 0unlock score: 410
    Next: calculation_style stage: statementdownstream unlocks: 0
  • Data structures as they appear in LaPToP: lists/strings, functions as data, and related theories used when specifying programs that manipulate structure. The string and list material is Hehner's Sections 2.2 and 2.3; the formal counterparts are the Lean modules LaPToP.DataStructures.Strings and LaPToP.DataStructures.Lists .data_structures_core
    Grouped view over entries sharing the same parent.
    total: 12closed: 11local-only: 0ready: 1blocked: 0incomplete Lean: 0unlock score: 169
    Next: function_as_data stage: statementdownstream unlocks: 0
  • Recursive programs, time bounds, and concurrent composition as developed in later chapters of A Practical Theory of Programming . Recursive data definition (Section 6.0) is formalized in LaPToP.RecursiveDefinition.Nat and LaPToP.RecursiveDefinition.DataConstruction , and recursive program definition (Section 6.1) in LaPToP.RecursiveDefinition.Programs .recursion_concurrency_core
    Grouped view over entries sharing the same parent.
    total: 12closed: 11local-only: 0ready: 1blocked: 0incomplete Lean: 0unlock score: 56
    Next: concurrent_composition stage: statementdownstream unlocks: 0
  • A small exploratory demo chapter about the Collatz iteration. It is not part of Hehner's book; it exists so the Blueprint graph has an intentionally unfinished node from day one.collatz_core
    Grouped view over entries sharing the same parent.
    total: 2closed: 1local-only: 0ready: 1blocked: 0incomplete Lean: 1unlock score: 1
    Next: collatz_conjecture stage: proofdownstream unlocks: 0
  • Programs as predicates on pre- and post-states; refinement as implication; sequential composition, conditionals, and assignment in Hehner's theory. Sections 4.0–4.2 of the book are formalized in the Lean modules LaPToP.ProgramTheory.Specifications , LaPToP.ProgramTheory.Programs and LaPToP.ProgramTheory.Time .program_theory_core
    Grouped view over entries sharing the same parent.
    total: 16closed: 16local-only: 0ready: 0blocked: 0incomplete Lean: 0unlock score: 371
    Next: no ready child currently unlocks downstream work.
  • Functions with an explicit domain, selective union, predicates and relations, and the quantifiers built on them: Hehner's Chapter 3, the prerequisite for the specifications and refinements of Program Theory. The formal counterparts are the Lean modules LaPToP.FunctionTheory.Functions , LaPToP.FunctionTheory.Quantifiers and LaPToP.FunctionTheory.FinePoints .function_theory_core
    Grouped view over entries sharing the same parent.
    total: 16closed: 16local-only: 0ready: 0blocked: 0incomplete Lean: 0unlock score: 252
    Next: no ready child currently unlocks downstream work.
  • Notational conventions and elementary Boolean / predicate scaffolding used throughout Hehner's A Practical Theory of Programming . The book's Section 1.0 calls this Binary Theory ; its laws (reference §11.3.1) are formalized in the Lean module LaPToP.BasicTheories.Binary .prelude_core
    Grouped view over entries sharing the same parent.
    total: 7closed: 7local-only: 0ready: 0blocked: 0incomplete Lean: 0unlock score: 136
    Next: no ready child currently unlocks downstream work.
  • Hehner's Chapter 5: the programming notations of "several languages" — control structures, scope, data structures, subprograms — explained as refinement notations or as specifications in the theory of Chapter 4. The while-loop of Section 5.2.0 is formalized in LaPToP.ProgramTheory.WhileLoop the for-loop of Section 5.2.3 in LaPToP.ProgramTheory.ForLoop , and variable declaration and suspension (Section 5.0) in LaPToP.ProgramTheory.Scope , assertions and backtracking (Section 5.4) in LaPToP.ProgramTheory.Assertions .programming_language_core
    Grouped view over entries sharing the same parent.
    total: 11closed: 11local-only: 0ready: 0blocked: 0incomplete Lean: 0unlock score: 19
    Next: no ready child currently unlocks downstream work.
  • Hehner's Chapter 7: "the stack, the queue, and the tree ... are presented here as case studies in theory design and implementation", a theory being "a contract between two parties, an implementer and a user". The data theories of Section 7.0 are formalized in LaPToP.TheoryDesign.Stack , SimpleStack , Queue and Tree ; program-stack theory (Section 7.1) in LaPToP.TheoryDesign.ProgramStack .theory_design_core
    Grouped view over entries sharing the same parent.
    total: 9closed: 9local-only: 0ready: 0blocked: 0incomplete Lean: 0unlock score: 19
    Next: no ready child currently unlocks downstream work.
Metadata
Owners in use1Distinct owners referenced by the current blueprint entries.
Tags in use55Distinct tags currently attached to blueprint entries.
Owner rollups (1)
  • Eric Hehnerhehner
    entries: 5actionable: 0quick wins: 0linked PRs: 0
Tag rollups (55)
  • tag: famous
    entries: 1actionable: 1quick wins: 0linked PRs: 0
  • tag: incomplete
    entries: 1actionable: 1quick wins: 0linked PRs: 0
  • tag: playful
    entries: 1actionable: 1quick wins: 0linked PRs: 0
  • tag: programs
    entries: 18actionable: 0quick wins: 0linked PRs: 0
  • tag: basic
    entries: 15actionable: 0quick wins: 0linked PRs: 0
  • tag: bunch
    entries: 10actionable: 0quick wins: 0linked PRs: 0
  • tag: data
    entries: 10actionable: 0quick wins: 0linked PRs: 0
  • tag: hehner-2.0
    entries: 10actionable: 0quick wins: 0linked PRs: 0
  • tag: function
    entries: 8actionable: 0quick wins: 0linked PRs: 0
  • tag: recursion
    entries: 7actionable: 0quick wins: 0linked PRs: 0
  • Show all 45 more tags
    • tag: hehner-2.2
      entries: 5actionable: 0quick wins: 0linked PRs: 0
    • tag: loops
      entries: 5actionable: 0quick wins: 0linked PRs: 0
    • tag: prelude
      entries: 5actionable: 0quick wins: 0linked PRs: 0
    • tag: quantifier
      entries: 5actionable: 0quick wins: 0linked PRs: 0
    • tag: strings
      entries: 5actionable: 0quick wins: 0linked PRs: 0
    • tag: binary
      entries: 4actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-11.3.1
      entries: 4actionable: 0quick wins: 0linked PRs: 0
    • tag: lists
      entries: 4actionable: 0quick wins: 0linked PRs: 0
    • tag: refinement
      entries: 4actionable: 0quick wins: 0linked PRs: 0
    • tag: time
      entries: 4actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-11.3.2
      entries: 3actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-11.3.8
      entries: 3actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-5.2.3
      entries: 3actionable: 0quick wins: 0linked PRs: 0
    • tag: nat
      entries: 3actionable: 0quick wins: 0linked PRs: 0
    • tag: number
      entries: 3actionable: 0quick wins: 0linked PRs: 0
    • tag: stacks
      entries: 3actionable: 0quick wins: 0linked PRs: 0
    • tag: theory design
      entries: 3actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-2.3
      entries: 2actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-3.1
      entries: 2actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-4.0
      entries: 2actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-4.0.1
      entries: 2actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-5.2.0
      entries: 2actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-6.0.0
      entries: 2actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-6.0.2
      entries: 2actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-7.0.1
      entries: 2actionable: 0quick wins: 0linked PRs: 0
    • tag: laws
      entries: 2actionable: 0quick wins: 0linked PRs: 0
    • tag: arithmetic
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: backtracking
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: boolean
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: development
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-2.1
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-3.0
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-3.2
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-3.3
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-4.0.2
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-4.1.0
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-4.1.1
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-4.2
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-4.2.2
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-5.4.0
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-6.1
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-6.1.0
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: hehner-7.1.1
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: list
      entries: 1actionable: 0quick wins: 0linked PRs: 0
    • tag: set
      entries: 1actionable: 0quick wins: 0linked PRs: 0
Metadata audit
Missing owner102
Missing effort44
Untagged44
Missing owner (102)
Missing effort (44)
Untagged (44)
Structure and coverage
Informal-only3Statements with no associated Lean code yet.
Ready to formalize4Entries with an actionable next formalization step.
Fully closed103Local code and ancestor closure are both complete.
Heaviest prerequisites (101)
No prerequisites (6)
No dependents (42)
Proof debt hotspots (1)
  • A small exploratory demo chapter about the Collatz iteration. It is not part of Hehner's book; it exists so the Blueprint graph has an intentionally unfinished node from day one.collatz_core
    Grouped proof/code debt derived from the current incomplete-declaration snapshots.
    affected entries: 1incomplete decls: 1missing decls: 0total debt: 1