Creates a quoted expression. Requires that e
has type α
.
You should usually write this using the notation q($e)
.
Equations
- Qq.Quoted.unsafeMk e = e
Instances For
Equations
- Qq.instBEqQuoted = inferInstanceAs (BEq Lean.Expr)
Equations
- Qq.instHashableQuoted = inferInstanceAs (Hashable Lean.Expr)
Equations
- Qq.instInhabitedQuoted = inferInstanceAs (Inhabited Lean.Expr)
Equations
- Qq.instToStringQuoted = inferInstanceAs (ToString Lean.Expr)
Equations
- Qq.instReprQuoted = inferInstanceAs (Repr Lean.Expr)
Equations
- Qq.instCoeOutQuotedMessageData = { coe := Lean.MessageData.ofExpr }
Equations
- Qq.instToMessageDataQuoted = { toMessageData := Lean.MessageData.ofExpr }
structure
Qq.QuotedDefEq
{u : Lean.Level}
{α : Qq.Quoted (Lean.Expr.sort u)}
(lhs rhs : Qq.Quoted α)
:
QuotedDefEq lhs rhs
says that the expressions lhs
and rhs
are definitionally equal.
You should usually write this using the notation $lhs =Q $rhs
.
- unsafeIntro :: (
- )
Instances For
QuotedLevelDefEq u v
says that the levels u
and v
are definitionally equal.
You should usually write this using the notation $u =QL $v
.
- unsafeIntro :: (
- )
Instances For
Check that a term e : Q(α)
really has type α
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Qq.QuotedDefEq.check
{u : Lean.Level}
{α : Qq.Quoted (Lean.Expr.sort u)}
{lhs rhs : Qq.Quoted α}
(e : Qq.QuotedDefEq lhs rhs)
:
Check that the claim $lhs =Q $rhs
is actually true; that the two terms are defeq.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Check that the claim $u =QL $v
is actually true; that the two levels are defeq.
Equations
- One or more equations did not get rendered due to their size.