(** * Properties of equations *)

Module ESF := FSetFacts.Facts(EqSet).Module ESP := FSetProperties.Properties(EqSet).Module ESD := FSetDecide.Decide(EqSet).Definition sel_val (k: equation_kind) (v: val) : val :=
  match k with
  | Full => v
  | Low => Val.loword v
  | High => Val.hiword v
  end.

Lemma add_equations_args_satisf: forall rs ls rl tyl ll e e', add_equations_args rl tyl ll e = Some e' -> satisf rs ls e' -> satisf rs ls e.