(** * 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 val_longofwords_eq_2: forall v, Val.has_type v Tlong -> Archi.splitlong = true -> Val.longofwords (Val.hiword v) (Val.loword v) = v.