Documentation

Qq.Typ

Quoted α is the type of Lean expressions having type α.

You should usually write this using the notation Q($α).

Instances For

    Creates a quoted expression. Requires that e has type α.

    You should usually write this using the notation q($e).

    Instances For
      @[implicit_reducible]
      instance Qq.instBEqQuoted {α : Lean.Expr} :
      BEq (Quoted α)
      @[implicit_reducible]
      @[implicit_reducible]
      @[implicit_reducible]
      @[implicit_reducible]
      instance Qq.instReprQuoted {α : Lean.Expr} :
      @[implicit_reducible]
      @[implicit_reducible]
      @[reducible, inline]
      abbrev Qq.Quoted.ty {α : Lean.Expr} (t : Quoted α) :

      Gets the type of a quoted expression.

      Instances For
        structure Qq.QuotedDefEq {u : Lean.Level} {α : Quoted (Lean.Expr.sort u)} (lhs rhs : 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 α.

                Instances For
                  def Qq.QuotedDefEq.check {u : Lean.Level} {α : Quoted (Lean.Expr.sort u)} {lhs rhs : Quoted α} (e : QuotedDefEq lhs rhs) :

                  Check that the claim $lhs =Q $rhs is actually true; that the two terms are defeq.

                  Instances For

                    Check that the claim $u =QL $v is actually true; that the two levels are defeq.

                    Instances For