Section Complete.
Context {Sigma: SeparationEmpLanguage.PropositionalVariables}
{CV: Countable SeparationEmpLanguage.Var}
(SLP: SL_Parameter).
Existing Instances SeparationEmpLanguage.L SeparationEmpLanguage.minL SeparationEmpLanguage.pL SeparationEmpLanguage.sepconL SeparationEmpLanguage.wandL SeparationEmpLanguage.empL.
Existing Instances ParametricSeparationLogic.GP ParametricSeparationLogic.GD ParametricSeparationLogic.AX ParametricSeparationLogic.minAX  ParametricSeparationLogic.ipAX ParametricSeparationLogic.sepconAX ParametricSeparationLogic.wandAX ParametricSeparationLogic.empAX ParametricSeparationLogic.sepcon_orp_AX ParametricSeparationLogic.sepcon_falsep_AX ParametricSeparationLogic.ParAX.
Existing Instances Axiomatization2SequentCalculus_SC Axiomatization2SequentCalculus_bSC Axiomatization2SequentCalculus_fwSC Axiomatization2SequentCalculus_minSC Axiomatization2SequentCalculus_ipSC Axiomatization2SequentCalculus_cpSC.
Existing Instances FlatSemantics.MD FlatSemantics.kMD FlatSemantics.R FlatSemantics.J FlatSemantics.SM FlatSemantics.kminSM FlatSemantics.kpSM FlatSemantics.fsepconSM FlatSemantics.fwandSM FlatSemantics.fempSM.
Definition cP : context -> Prop := Intersection _ (Intersection _ derivable_closed orp_witnessed) consistent.
Definition canonical_frame: FlatSemantics.frame :=
FlatSemantics.Build_frame (sig cP)
(fun a b => Included _ (proj1_sig a) (proj1_sig b))
(fun a b c => Included _ (context_sepcon (proj1_sig a) (proj1_sig b)) (proj1_sig c)).
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)).

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