intros i goal a a'.
elim a; clear a; intros a avl_a.
elim a'; clear a'; intros a' avl_a'.
unfold a_goal_disj in |- *.
simpl in |- *.
intros a_goal_disj0 not_equal equiv_ins lookup.
apply a_goal_disj0.
inversion_clear equiv_ins.
apply H2; assumption.
Qed.

(* Specifications: *)
Lemma disjs_insert_a :
forall (i : Int) (a a' : atoms) (ai : atomic_imps),
a_ai_disj a ai ->
EQUIV_INS unit i (fun _ : unit => tt) tt a a' ->
(forall bs : nf_list, ~ LOOKUP nf_list i ai bs) -> a_ai_disj a' ai.