Local Open Scope logic_base.
Local Open Scope syntax.
Section Sound.
Context {L: Language}
{minL: MinimunLanguage L}
{pL: PropositionalLanguage L}
{MD: Model}
{SM: Semantics L MD}
{tminSM: TrivialMinimunSemantics L MD SM}
{tpSM: TrivialPropositionalSemantics L MD SM}.

(* Specifications: *)
Lemma sound_andp_intros:
forall x y m,
m |= x --> y --> x && y.
Lemma sound_andp_elim1:
forall x y m,
m |= x && y --> x.
Lemma sound_andp_elim2:
forall x y m,
m |= x && y --> y.
Lemma sound_orp_intros1:
forall x y m,
m |= x --> x || y.
Lemma sound_orp_intros2:
forall x y m,
m |= y --> x || y.
Lemma sound_orp_elim:
forall x y z m,
m |= (x --> z) --> (y --> z) --> (x || y --> z).
Lemma sound_falsep_elim:
forall x m,
m |= FF --> x.
Lemma sound_excluded_middle:
forall x m,
m |= x || (x --> FF).