Documentation
Lean
.
Elab
.
PreDefinition
.
Structural
.
Eqns
Search
return to top
source
Imports
Lean.Meta.Eqns
Lean.Elab.PreDefinition.Basic
Lean.Elab.PreDefinition.Eqns
Lean.Elab.PreDefinition.FixedParams
Lean.Meta.Tactic.Apply
Lean.Meta.Tactic.Split
Lean.Elab.PreDefinition.Structural.Basic
Lean.Meta.Tactic.Simp.Main
Imported by
Lean
.
Elab
.
Structural
.
EqnInfo
Lean
.
Elab
.
Structural
.
instInhabitedEqnInfo
Lean
.
Elab
.
Structural
.
mkEqns
Lean
.
Elab
.
Structural
.
mkEqns
.
doRealize
Lean
.
Elab
.
Structural
.
eqnInfoExt
Lean
.
Elab
.
Structural
.
registerEqnsInfo
Lean
.
Elab
.
Structural
.
getEqnsFor?
Lean
.
Elab
.
Structural
.
mkUnfoldEq
Lean
.
Elab
.
Structural
.
mkUnfoldEq
.
doRealize
Lean
.
Elab
.
Structural
.
getUnfoldFor?
Lean
.
Elab
.
Structural
.
getStructuralRecArgPosImp?
source
structure
Lean
.
Elab
.
Structural
.
EqnInfo
extends
Lean.Elab.Eqns.EqnInfoCore
:
Type
declName
:
Name
levelParams
:
List
Name
type
:
Expr
value
:
Expr
recArgPos :
Nat
declNames :
Array
Name
fixedParamPerms :
FixedParamPerms
Instances For
source
instance
Lean
.
Elab
.
Structural
.
instInhabitedEqnInfo
:
Inhabited
EqnInfo
Equations
source
def
Lean
.
Elab
.
Structural
.
mkEqns
(
info
:
EqnInfo
)
:
MetaM
(
Array
Name
)
Equations
Instances For
source
def
Lean
.
Elab
.
Structural
.
mkEqns
.
doRealize
(
info
:
EqnInfo
)
(
name
:
Name
)
(
type
:
Expr
)
:
MetaM
Unit
Equations
Instances For
source
opaque
Lean
.
Elab
.
Structural
.
eqnInfoExt
:
MapDeclarationExtension
EqnInfo
source
def
Lean
.
Elab
.
Structural
.
registerEqnsInfo
(
preDef
:
PreDefinition
)
(
declNames
:
Array
Name
)
(
recArgPos
:
Nat
)
(
fixedParamPerms
:
FixedParamPerms
)
:
CoreM
Unit
Equations
Instances For
source
def
Lean
.
Elab
.
Structural
.
getEqnsFor?
(
declName
:
Name
)
:
MetaM
(
Option
(
Array
Name
)
)
Equations
Instances For
source
def
Lean
.
Elab
.
Structural
.
mkUnfoldEq
(
declName
:
Name
)
(
info
:
EqnInfo
)
:
MetaM
Name
Generate the "unfold" lemma for
declName
.
Equations
Instances For
source
def
Lean
.
Elab
.
Structural
.
mkUnfoldEq
.
doRealize
(
declName
:
Name
)
(
info
:
EqnInfo
)
(
name
:
Name
)
:
MetaM
Unit
Equations
Instances For
source
def
Lean
.
Elab
.
Structural
.
getUnfoldFor?
(
declName
:
Name
)
:
MetaM
(
Option
Name
)
Equations
Instances For
source
@[export lean_get_structural_rec_arg_pos]
def
Lean
.
Elab
.
Structural
.
getStructuralRecArgPosImp?
(
declName
:
Name
)
:
CoreM
(
Option
Nat
)
Equations
Instances For