Section General_Completeness.
Context {GammaP: Provable PropositionalLanguage.L}
{GammaD: Derivable PropositionalLanguage.L}.
Definition cP : context -> Prop := Intersection _ (Intersection _ derivable_closed orp_witnessed) consistent.
Definition canonical_frame: KripkeSemantics.frame :=
KripkeSemantics.Build_frame (sig cP) (fun a b => Included _ (proj1_sig a) (proj1_sig b)).
Definition canonical_eval: PropositionalLanguage.Var -> KripkeSemantics.sem canonical_frame :=
fun p a => proj1_sig a (PropositionalLanguage.varp p).
Definition canonical_Kmodel: @Kmodel KripkeSemantics.MD KripkeSemantics.kMD :=
KripkeSemantics.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)).
Existing Instances PropositionalLanguage.L PropositionalLanguage.minL PropositionalLanguage.pL.

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