Definition sepcon {worlds: Type} {J: Join worlds} (X: Ensemble worlds) (Y: Ensemble worlds): Ensemble worlds :=
  fun m => exists m1 m2, join m1 m2 m /\ X m1 /\ Y m2.Definition wand {worlds: Type} {J: Join worlds} (X: Ensemble worlds) (Y: Ensemble worlds): Ensemble worlds :=
  fun m => forall m1 m2, join m m1 m2 -> X m1 -> Y m2.Definition emp {worlds: Type} {R: Relation worlds} {J: Join worlds}: Ensemble worlds := increasing.

(* Specifications: *)
Lemma sepcon_closed {worlds: Type} {R: Relation worlds} {po_R: PreOrder Krelation} {J: Join worlds} {SA: SeparationAlgebra worlds} {uSA: UpwardsClosedSeparationAlgebra worlds}: forall (X: Ensemble worlds) (Y: Ensemble worlds), upwards_closed_Kdenote X -> upwards_closed_Kdenote Y -> upwards_closed_Kdenote (sepcon X Y).
Lemma wand_closed {worlds: Type} {R: Relation worlds} {po_R: PreOrder Krelation} {J: Join worlds} {SA: SeparationAlgebra worlds} {dSA: DownwardsClosedSeparationAlgebra worlds}: forall (X: Ensemble worlds) (Y: Ensemble worlds), upwards_closed_Kdenote X -> upwards_closed_Kdenote Y -> upwards_closed_Kdenote (wand X Y).
Lemma emp_closed {worlds: Type} {R: Relation worlds} {po_R: PreOrder Krelation} {J: Join worlds} {SA: SeparationAlgebra worlds} {dSA: DownwardsClosedSeparationAlgebra worlds}: upwards_closed_Kdenote emp.