Local Open Scope logic_base.
Local Open Scope syntax.
Local Open Scope kripke_model.
Section Sound_Flat.
Context {L: Language}
{minL: MinimunLanguage L}
{pL: PropositionalLanguage L}
{mL: ModalLanguage L}
{MD: Model}
{kMD: KripkeModel MD}
{M: Kmodel}
{R1: KI.Relation (Kworlds M)}
{po_R1: PreOrder KI.Krelation}
{R2: KM.Relation (Kworlds M)}
{ukmM: UpwardsClosedOrderedKripkeModel (Kworlds M)}
{SM: Semantics L MD}
{kiSM: KripkeIntuitionisticSemantics L MD M SM}
{kminSM: KripkeMinimunSemantics L MD M SM}
{kpSM: KripkePropositionalSemantics L MD M SM}
{fmSM: FlatModalSemantics L MD M SM}.

(* Specifications: *)
Lemma sound_axiom_K :
forall x y (m: Kworlds M),
KRIPKE: M, m |= boxp (x --> y) --> (boxp x --> boxp y).
Lemma sound_rule_N:
forall x,
(forall (m: Kworlds M), KRIPKE: M, m |= x) ->
(forall (m: Kworlds M), KRIPKE: M, m |= boxp x).
Lemma sound_boxp_orp {pf_R2: PartialFunctional KM.Krelation}:
forall x y (m: Kworlds M),
KRIPKE: M, m |= boxp (x || y) <--> (boxp x || boxp y).