(** * Kripke Semantics *)
Require Export FOL.Deduction.
(** ** Kripke Models *)
Section Kripke.
Context {domain : Type}.
Variable eta : nat -> domain.
Structure embedding (I J : interp domain eta) :=
{
Hf : forall b d, @i_f _ _ I b d = @i_f _ _ J b d ;
He : @i_e _ _ I = @i_e _ _ J ;
HP : forall c d, @i_P _ _ I c d -> @i_P _ _ J c d ;
HQ : @i_Q _ _ I -> @i_Q _ _ J
}.

(* Specifications: *)
Lemma emb_refl (I : interp domain eta) :
embedding I I.