(* File: NDeco_Sound.v  (last edited on 27/10/2000) (c) Klaus Weich  *)
Require Export NMinimal.
(*****************************************************************)
Inductive k_deco_sound (k : kripke_tree) (i0 i1 : Int)
(work : nf_list) (ds : disjs) (ni : nested_imps) (ai : atomic_imps)
(a : atoms) : Prop :=
k_deco_sound_intro :
Is_Monotone_kripke_tree k ->
forces_ngamma work ds ni ai a k ->
(forces_t k (Imp (Atom i0) (Atom i1)) -> False) ->
k_deco_sound k i0 i1 work ds ni ai a.
Definition deco_sound (work : nf_list) (ds : disjs)
(ni : nested_imps) (ai : atomic_imps) (a : atoms) :=
forall (k : kripke_tree) (i0 i1 : Int) (b : normal_form),
In (Decorated (NImp i0 i1 b) k) ni -> k_deco_sound k i0 i1 work ds ni ai a.
(*****************************************************************)

(* Specifications: *)
Lemma deco_sound_cons_work_tail :
forall (c : normal_form) (work : nf_list) (ds : disjs)
(ni : nested_imps) (ai : atomic_imps) (a : atoms),
deco_sound (c :: work) ds ni ai a -> deco_sound work ds ni ai a.