Structure methods that require MetaM
infrastructure #
If struct
is an application of the form S ..
with S
a constant for a structure,
returns the name of the structure, otherwise throws an error.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Structure projection declaration for mkProjections
.
Instances For
Adds projection functions to the environment for the one-constructor inductive type named n
.
- The
projName
s in eachStructProjDecl
are used for the names of the declarations added to the environment. - If
instImplicit
is true, then generates projections withself
being instance implicit.
Notes:
- This function supports everything that
Expr.proj
supports (seelean::type_checker::infer_proj
). This means we can generate projections for inductive types with one-constructor, even if it is an indexed family (which is not supported by thestructure
command). - We throw errors in the cases that
Expr.proj
is not type-correct.
Equations
- One or more equations did not get rendered due to their size.