Definition canonical_eval: SeparationEmpLanguage.Var -> FlatSemantics.sem canonical_frame :=
fun p a => proj1_sig a (SeparationEmpLanguage.varp p).
Definition canonical_Kmodel: @Kmodel FlatSemantics.MD FlatSemantics.kMD :=
FlatSemantics.Build_Kmodel canonical_frame canonical_eval.
Definition rel: bijection (Kworlds canonical_Kmodel) (sig cP) := bijection_refl.
Definition H_R:
forall m n Phi Psi, rel m Phi -> rel n Psi ->
(m <= n <-> Included _ (proj1_sig Phi) (proj1_sig Psi)).
Definition H_J:
forall m1 m2 m Phi1 Phi2 Phi, rel m1 Phi1 -> rel m2 Phi2 -> rel m Phi ->
(join m1 m2 m <-> Included _ (context_sepcon (proj1_sig Phi1) (proj1_sig Phi2)) (proj1_sig Phi)).

(* Specifications: *)
Lemma TRUTH:
forall x: expr, forall m Phi, rel m Phi ->
(KRIPKE: canonical_Kmodel, m |= x <-> proj1_sig Phi x).