(** The prototypical example of a psepalg is the positive shares, which
    are just the lifted basic shares. *)
Definition pshare : Type := lifted Share.Join_ba.Instance Join_pshare: Join pshare := @Join_lift _ _.Instance Perm_pshare : Perm_alg pshare := Perm_lift Share.pa.Instance Canc_pshare : Canc_alg pshare := @Canc_lift _ _ Share.ca.Instance Disj_pshare : Disj_alg pshare := @Disj_lift _ _ Share.da.Instance Pos_pshare : Pos_alg pshare := @Pos_lift _ _.Definition pshare_sh : pshare -> share := @lifted_obj share Share.Join_ba.

(* Specifications: *)
Lemma pshare_eq_dec: forall sh1 sh2: pshare, {sh1=sh2}+{sh1<>sh2}.