Documentation

Lean.Meta.Tactic.Congr

Preprocessor before applying congruence theorem. Tries to close new goals using Eq.refl, HEq.refl, and assumption. It also tries to apply heq_of_eq.

Instances For

    Try to apply a simp congruence theorem.

    Instances For

      Try to apply a hcongr congruence theorem, and then tries to close resulting goals using Eq.refl, HEq.refl, and assumption.

      Instances For

        Given a goal of the form ⊢ f as = f bs, ⊢ (p → q) = (p' → q'), or HEq (f as) (f bs), try to apply congruence. It takes proof irrelevance into account, and the fact that Decidable p is a subsingleton.

        Instances For
          def Lean.MVarId.congrN (mvarId : Lean.MVarId) (depth : optParam Nat 1000000) (closePre : optParam Bool true) (closePost : optParam Bool true) :

          Given a goal of the form ⊢ f as = f bs, ⊢ (p → q) = (p' → q'), or HEq (f as) (f bs), try to apply congruence. It takes proof irrelevance into account, and the fact that Decidable p is a subsingleton.

          • Applies congr recursively up to depth depth.
          • If closePre := true, it will attempt to close new goals using Eq.refl, HEq.refl, and assumption with reducible transparency.
          • If closePost := true, it will try again on goals on which congr failed to make progress with default transparency.
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For