Implementation of the unlift_eq tactic for kernels. #
This file contains functions that propagate the unlifting of lifted kernel expressions through
several operators and primitives, and constructs the necessary proofs for the unlift_eq tactic.
Each function returns the unlifted expression e' together with a proof of e = e'.lift, built by
congruence from the compatibility lemmas of Kernel.lift (comp_lift, parallelComp_lift, ...).
Unlifts a binary kernel operation e = op κ' η' by unlifting the inner kernels. mkOp builds
the operation from the unlifted kernels κ η, and mkPf must return a proof of
op κ.lift η.lift = (op κ η).lift.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unlifts a composition of kernels by unlifting the inner kernels.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unlifts a parallel composition of kernels by unlifting the inner kernels.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unlifts a product of kernels by unlifting the inner kernels.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unlifts a composition-product of kernels by unlifting the inner kernels.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The original carrier of a lifted carrier.
Equations
- unliftCarrier X' = do let __x ← getOriginalType X' match __x with | (type, lvl) => pure { type := type, lvl := lvl }
Instances For
Unlifts the identity kernel by unlifting the carrier type.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unlifts the discard kernel by unlifting the carrier type.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unlifts the copy kernel by unlifting the carrier type.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unlifts the swap kernel by unlifting the carrier types.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unlifts a lifted kernel by returning the inner kernel.
Equations
- One or more equations did not get rendered due to their size.