Definition liftEqMixin := EqMixin LiftEqType.lift_eqP.Canonical liftEqType := Eval hnf in EqType _ liftEqMixin.(* 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.(* 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.(* 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.