Definition superpose_loop_order (s s': arg)  : Prop :=
   (Included _ (varbound s) (varbound s') /\
     (clause_set_increases (varbound s) (fst s) (fst s') \/
      fst s = fst s' /\ unselected_set_decreases (snd s) (snd s'))).Definition Strict_Included_Fin (U: Type) (x y: Ensemble U) :=
  Strict_Included _ x y /\ Finite _ y.

Lemma well_founded_Strict_Included_Fin: forall U, well_founded (Strict_Included_Fin U).