Section soundness.
Definition sem_precise
{L: Language}
{MD: Model}
{J: Join model}
{R: Relation model}
{po_R: PreOrder Krelation}
{SM: Semantics L MD}
(x: expr): Prop :=
Kdenote_precise (fun m => KRIPKE: m |= x).

Lemma sem_precise_spec
{L: Language}
{minL: MinimumLanguage L}
{pL: PropositionalLanguage L}
{sepconL: SepconLanguage L}
{MD: Model}
{J: Join model}
{R: Relation model}
{po_R: PreOrder Krelation}
{SM: Semantics L MD}
{kiSM: KripkeIntuitionisticSemantics L MD (tt: @Kmodel MD (unit_kMD _)) SM}
{fsepconSM: FlatSemantics.SepconSemantics L MD (tt: @Kmodel MD (unit_kMD _)) SM}:
forall m n P Q,
sem_precise P ->
greatest_cut m (fun m => KRIPKE: m |= P) n ->
KRIPKE: m |= P * Q ->
KRIPKE: n |= Q.