- 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)
: