- 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
Maps quoted expressions (of type Level) in the old context to level parameter names in the new context
- exprSubst : Lean.HashMap Lean.Expr Lean.Expr
Maps quoted expressions (of type Expr) in the old context to expressions in the new context
- unquoted : Lean.LocalContext
New unquoted local context
- exprBackSubst : Lean.HashMap Lean.Expr Qq.Impl.ExprBackSubstResult
Maps free variables in the new context to expressions in the old context (of type Expr)
- levelBackSubst : Lean.HashMap Lean.Level Lean.Expr
Maps free variables in the new context to levels in the old context (of type Level)
- abstractedFVars : Array Lean.FVarId
New free variables in the new context that were newly introduced for irreducible expressions.
- mayPostpone : Bool
Instances For
Instances For
Equations
Instances For
Equations
- Qq.Impl.instMonadLiftQuoteMUnquoteM = { monadLift := fun {α : Type} (k : Qq.Impl.QuoteM α) => do let __do_lift ← get liftM (k __do_lift) }
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
- 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) => Lean.Name.str x s) (Qq.Impl.removeDollar n)
- Qq.Impl.removeDollar (Lean.Name.num n i) = Option.map (fun (x : Lean.Name) => 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
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
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))