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, ...).
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.