Documentation

Mathlib.Tactic.Inclusion.Core.Core

Core implementation of the inclusion tactic #

This file defines the TacticM core of the inclusion tactic.

Implimentation Notes #

The approach to the implimentation of the kernel == true and native == true options mirrors the approach used by the decide tactic (and reuses the code where possible).

Configuration for the inclusion tactic.

  • kernel : Bool

    If kernel == true then skip the compiled check.

  • native : Bool

    If native == true then use compiled computation in the proof (warning: this adds the Lean compiler to the trusted codebase).

  • paramSettings : Lean.NameMap Lean.Expr

    A map from inclusion parameter names to their user-supplied values.

  • families : Array Lean.Name

    The names of the enabled inclusion extension families.

Instances For

    Compile and evaluate the closed IntervalBool expression inclusionExpr.

    Equations
    Instances For

      Check that inclusionExpr equals IntervalBool.true using a compiled computation, and then pass the proof term to the kernel (where it will be verified again by reflection).

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

        Prove that inclusionExpr equals IntervalBool.true using kernel reduction (without any prior compiled check).

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

          Use native evaluation to prove that inclusionExpr equals IntervalBool.true.

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

            Prove goal, by constructing an exprInclusion for it and verifying that exprInclusion.inclusion evaluates to IntervalBool.true.

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