Documentation

Lean.Meta.Tactic.NormCast

Label is a type used to classify norm_cast lemmas.

  • elim lemma: LHS has 0 head coes and ≥ 1 internal coe
  • move lemma: LHS has 1 head coe and 0 internal coes, RHS has 0 head coes and ≥ 1 internal coes
  • squash lemma: LHS has ≥ 1 head coes and 0 internal coes, RHS has fewer head coes
Instances For

    Assuming e is an application, returns the list of subterms that simp will rewrite in.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Counts how many coercions are at the head of the expression.

      Counts how many coercions are inside the expression, including the head ones.

      Counts how many coercions are inside the expression, excluding the head ones.

      Equations
      Instances For

        Classifies a declaration of type ty as a norm_cast rule.

        Instances For

          The norm_cast attribute stores a simp set for each of the three types of norm_cast lemma.

          Instances For

            addElim decl adds decl as an elim lemma to be used by norm_cast.

            Instances For

              addMove decl adds decl as a move lemma to be used by norm_cast.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                addSquash decl adds decl as a squash lemma to be used by norm_cast.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  addInfer decl infers the label of decl (elim, move, or squash) and arranges for it to be used by norm_cast.

                  • elim lemma: LHS has 0 head coes and ≥ 1 internal coe
                  • move lemma: LHS has 1 head coe and 0 internal coes, RHS has 0 head coes and ≥ 1 internal coes
                  • squash lemma: LHS has ≥ 1 head coes and 0 internal coes, RHS has fewer head coes
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For