Lean2Js.Reify
A reifier that emits the certificate along with the AST #
Lean2Js/Denotes.lean has one lemma per syntactic form; this is the metaprogram that walks an author's
def and pastes them together. The AST and the proof are built in the same pass, so a rule can never be
applied to the AST without its lemma being applied to the proof — that is what "the reifier is not
trusted" means in code.
The three rules a refusal closes with #
A refusal that cannot name what to write instead names the rule the term broke, and there are three:
what a value may be, whose vocabulary it reads, and where a call may go. The first two are the first rule
of the subset reference, said of the types and of the names; Lean2Js.Denote pins the wording, so
neither side can move alone.
Lean2Js.Reify.tacticLean2js_split_tested
sourceEquations
- Lean2Js.Reify.tacticLean2js_split_tested = Lean.ParserDescr.node `Lean2Js.Reify.tacticLean2js_split_tested 1024 (Lean.ParserDescr.nonReservedSymbol "lean2js_split_tested" false)
Instances For
Used by
_private.Lean2Js.Reify.0.Lean2Js.Reify.Reified.name
sourceEquations
- Lean2Js.Reify.Reified.name✝ self = self.1
Instances For
Used by
_private.Lean2Js.Reify.0.Lean2Js.Reify.Reified.params
sourceEquations
- Lean2Js.Reify.Reified.params✝ self = self.2
Instances For
Used by
_private.Lean2Js.Reify.0.Lean2Js.Reify.Reified.ret
sourceEquations
- Lean2Js.Reify.Reified.ret✝ self = self.3
Instances For
Used by
_private.Lean2Js.Reify.0.Lean2Js.Reify.Reified.ast
sourceEquations
- Lean2Js.Reify.Reified.ast✝ self = self.4
Instances For
Used by
_private.Lean2Js.Reify.0.Lean2Js.Reify.Reified.proof
sourceEquations
- Lean2Js.Reify.Reified.proof✝ self = self.5
Instances For
Used by
Lean2Js.Reify.reifyDeclStx
sourceThe declaration an author's def reifies to.
Equations
- Lean2Js.Reify.reifyDeclStx = Lean.ParserDescr.node `Lean2Js.Reify.reifyDeclStx 1022 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "reify_decl% ") (Lean.ParserDescr.const `ident))
Instances For
Used by
Lean2Js.Reify.reifyProofStx
sourceThe certificate for the declaration reify_decl% built from the same def.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
Lean2Js.Reify.elabReifyDecl
sourceEquations
- One or more equations did not get rendered due to their size.
Instances For
Used by
Lean2Js.Reify.elabReifyProof
sourceEquations
- One or more equations did not get rendered due to their size.