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 freshmax_norm: forall a, freshmax_pure_atom (norm_pure_atom a) = freshmax_pure_atom a.