Documentation

Mathlib.Tactic.Inclusion.Core.Inclusion

Constructing inclusions #

This file defines the main drivers of the inclusion tactic.

Given an expression e, mkExprInclusionBody recursively applies InclusionExts to construct an ExprInclusionBody for e. Then toExprInclusion applies HypothesisExts to the local context to construct inclusion hypotheses for the body's inclusion variables and closes the body into an ExprInclusion.

Construct an ExprInclusionBody for e.

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

    Check that body.proofBody is a proof of e ∈ body.inclusionBody and infer its IType.

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

      Run hypothesis extensions on hypothesis h.

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

        Run hypothesis extensions on all declarations in the local context.

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

          Construct the universal inclusion body for iExpr.

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

            Combine the candidate hypothesis bodies for iExpr using Refine, or use its Univ instance when there are no candidates.

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

              Given an output : IExpr and a body : ExprInclusionBody, construct an ExprInclusion for output.expr by collecting inclusion hypotheses from the local context and closing the body.

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

                Construct an ExprInclusion for e.

                Equations
                Instances For