Documentation

EqLift.Tactic.Kernel.KernelLift

Implementation of the lift_eq tactic for kernels. #

This file contains functions that propagate the lifting of kernel expressions through several operators and primitives, and constructs the necessary proofs for the lift_eq tactic. Each function returns the lifted expression e' together with a proof of e' = e.lift, built by congruence from the compatibility lemmas of Kernel.lift (comp_lift, parallelComp_lift, ...).

def liftLemmaArgs (X Y X' Y' : Carrier) (ex ey : Lean.Expr) :

The arguments shared by the compatibility lemmas of Kernel.lift for a kernel Kernel X Y: X [mX] Y [mY] X' [mX'] Y' [mY'] ex ey.

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

    Lifts a binary kernel operation by lifting the inner kernels. mkOp builds the operation from the lifted kernels, and pf must be a proof of mkOp κ.lift η.lift = (mkOp κ η).lift.

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

      Lifts a composition of kernels by lifting the inner kernels.

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

        Lifts a parallel composition of kernels by lifting the inner kernels.

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

          Lifts a product of kernels by lifting the inner kernels.

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

            Lifts a composition-product of kernels by lifting the inner kernels.

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

              Lifts the identity kernel by lifting the carrier type.

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

                Lifts a discard kernel by lifting the carrier type.

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

                  Lifts a copy kernel by lifting the carrier type.

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

                    Lifts a swap kernel by lifting the carrier types.

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

                      Lifts a kernel using Kernel.lift.

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

                        The finisher for kernels: κ = η ↔ κ.lift = η.lift.

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