(* File: Disjunct.v  (last edited on 27/10/2000) (c) Klaus Weich  *)
Require Export In_NGamma.
Definition a_ai_disj (a : atoms) (ai : atomic_imps) :=
forall i : Int,
LOOKUP unit i a tt -> forall bs : nf_list, LOOKUP nf_list i ai bs -> False.
Definition a_goal_disj (a : atoms) (goal : Int) :=
LOOKUP unit goal a tt -> False.

(* Specifications: *)
Lemma disjs_insert_ai :
forall (i : Int) (b : normal_form) (a : atoms) (ai ai' : atomic_imps),
a_ai_disj a ai ->
(forall d : unit, ~ LOOKUP unit i a d) ->
EQUIV_INS nf_list i (cons b) nf_nil ai ai' -> a_ai_disj a ai'.