Definition nsearch_invariant (n : nat) :=
  forall (goal : Int) (work : nf_list) (ds : disjs) 
    (ni : nested_imps) (ai : atomic_imps) (a : atoms) 
    (context : flist),
  nweight_Sequent work ds ni ai < n ->
  REGULAR normal_form ai ->
  a_ai_disj a ai ->
  a_goal_disj a goal -> nsearch_spec goal work ds ni ai a context.

Lemma nsearch_aux : forall n : nat, nsearch_invariant n.