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)).

Theorem complete_DeMorgan_Kripke_branch_join: strongly_complete ProofTheories.DeMorganPropositionalLogic.G KripkeSemantics.SM (KripkeModelClass _ (Kmodel_Monotonic + Kmodel_PreOrder + Kmodel_BranchJoin)).