- quoted: Lean.Expr → Qq.Impl.ExprBackSubstResult
- unquoted: Lean.Expr → Qq.Impl.ExprBackSubstResult
Instances For
- term: Lean.Expr → Lean.MVarId → Qq.Impl.MVarSynth
- type: Lean.MVarId → Qq.Impl.MVarSynth
- level: Lean.LMVarId → Qq.Impl.MVarSynth
Instances For
- mvars : List (Lean.Expr × Qq.Impl.MVarSynth)
Quoted mvars in the outside lctx (of type
Level
,Quoted _
, orType
). The outside mvars can also be of the form?m x y z
. - levelSubst : Lean.HashMap Lean.Expr Lean.Level
- exprSubst : Lean.HashMap Lean.Expr Lean.Expr
- unquoted : Lean.LocalContext
- exprBackSubst : Lean.HashMap Lean.Expr Qq.Impl.ExprBackSubstResult
- levelBackSubst : Lean.HashMap Lean.Level Lean.Expr
- abstractedFVars : Array Lean.FVarId
New free variables in the new context that were newly introduced for irreducible expressions.
- mayPostpone : Bool
Instances For
@[inline, reducible]
Instances For
@[inline, reducible]
Equations
Instances For
Equations
- Qq.Impl.instMonadLiftQuoteMUnquoteM = { monadLift := fun {α} k => do let __do_lift ← get liftM (k __do_lift) }
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Qq.Impl.withUnquotedLCtx
{m : Type → Type u_1}
{α : Type}
[MonadControlT Lean.MetaM m]
[Monad m]
[MonadLiftT Qq.Impl.QuoteM m]
(k : m α)
:
m α
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Qq.Impl.addDollar Lean.Name.anonymous = `«$»
- Qq.Impl.addDollar (Lean.Name.str Lean.Name.anonymous s) = Lean.Name.str Lean.Name.anonymous ("$" ++ s)
- Qq.Impl.addDollar (Lean.Name.str n s) = Lean.Name.str (Qq.Impl.addDollar n) s
- Qq.Impl.addDollar (Lean.Name.num n i) = Lean.Name.num (Qq.Impl.addDollar n) i
Instances For
Equations
- Qq.Impl.removeDollar Lean.Name.anonymous = none
- Qq.Impl.removeDollar `«$» = some Lean.Name.anonymous
- Qq.Impl.removeDollar (Lean.Name.str Lean.Name.anonymous s) = if String.startsWith s "$" = true then some (Lean.Name.str Lean.Name.anonymous (String.drop s 1)) else none
- Qq.Impl.removeDollar (Lean.Name.str n s) = Option.map (fun x => Lean.Name.str x s) (Qq.Impl.removeDollar n)
- Qq.Impl.removeDollar (Lean.Name.num n i) = Option.map (fun x => Lean.Name.num x i) (Qq.Impl.removeDollar n)
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Qq.Impl.stripDollars Lean.Name.anonymous = Lean.Name.anonymous
- Qq.Impl.stripDollars (Lean.Name.str n "$") = Qq.Impl.stripDollars n
- Qq.Impl.stripDollars (Lean.Name.str n s) = Lean.Name.str (Qq.Impl.stripDollars n) s
- Qq.Impl.stripDollars (Lean.Name.num n i) = Lean.Name.num (Qq.Impl.stripDollars n) i
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Qq.Impl.mkAbstractedLevelName e = do let __do_lift ← Lean.mkFreshId pure (Option.getD (Lean.Expr.constName? (Lean.Expr.getAppFn e)) `udummy ++ __do_lift)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Qq.Impl.quoteLevel Lean.Level.zero = pure (Lean.Expr.const `Lean.Level.zero [])
- Qq.Impl.quoteLevel (Lean.Level.succ u) = do let __do_lift ← Qq.Impl.quoteLevel u pure (Lean.mkApp (Lean.Expr.const `Lean.Level.succ []) __do_lift)
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Qq.Impl.quoteLevelList [] = pure (Lean.mkApp (Lean.Expr.const `List.nil [Lean.Level.zero]) (Lean.Expr.const `Lean.Level []))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Qq.Impl.unquoteMVar mvar = do Qq.Impl.unquoteLCtx Qq.Impl.unquoteMVarCore mvar
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[specialize #[]]
def
Qq.withProcessPostponed
{m : Type → Type u_1}
{α : Type}
[Monad m]
[MonadFinally m]
[MonadLiftT Lean.MetaM m]
(k : m α)
:
m α
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Qq.Impl.UnquoteState.withLevelNames
{α : Type}
(s : Qq.Impl.UnquoteState)
(k : Lean.Elab.TermElabM (α × Array Lean.Name))
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
ql(u)
quotes the universe level u
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
a =QL b
says that the levels a
and b
are definitionally equal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
q(t)
quotes the Lean expression t
into a Q(α)
(if t : α
)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Q(α)
is the type of Lean expressions having type α
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
a =Q b
says that a
and b
are definitionally equal.
Equations
- Qq.«term_=Q_» = Lean.ParserDescr.trailingNode `Qq.term_=Q_ 1022 50 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " =Q ") (Lean.ParserDescr.cat `term 51))
Instances For
partial def
Qq.Impl.floatLevelAntiquot'
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
(stx : Lean.Syntax)
:
partial def
Qq.Impl.floatExprAntiquot'
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
(depth : Nat)
: