Canonical liftEqType := Eval hnf in EqType _ liftEqMixin.
End LiftEqType.
Module Exports.
Arguments down [A].
Arguments up [A].
Canonical liftEqType.
Section Exports.
(* View for pattern-matching lifted pcm's *)
CoInductive lift_spec A (x : lift A) : lift A -> Type :=
| up_spec n of x = up n : lift_spec x (up n)
| undef_spec of x = down : lift_spec x down.

(* Specifications: *)
Lemma liftP A (x : lift A) : lift_spec x x.