Local Open Scope IPC_scope.
Section TrivialSemantic.
Context {venv: Var_env}.
Fixpoint denote (f: Var -> Prop) (t: Term) : Prop :=
match t with
| andp t1 t2 => denote f t1 /\ denote f t2
| orp t1 t2 => denote f t1 \/ denote f t2
| impp t1 t2 => denote f t1 -> denote f t2
| falsep => False
| varp x => f x
end.
Definition Trivial_sem: Semantic := mk_sem (Var -> Prop) denote.
End TrivialSemantic.

(* Specifications: *)
Lemma sound_Trivial_IPC: forall {venv: Var_env}, sound Trivial_sem IPC.