Definition regset_wd rs : Prop :=
      forall r, valid_val f (Pregmap.get r rs).Definition core_wd c : Prop :=
      match c with State rs _ => regset_wd rs end.Definition ge_wd (the_ge: genv) : Prop :=
      (forall b, Maps.PTree.get b (genv_defs the_ge) ->
            f b) /\
      (forall id ofs v, Senv.symbol_address the_ge id ofs = v ->
                   valid_val f v).

(* Specifications: *)
Lemma regset_wd_incr : forall f1 f2 rs (Hincr: ren_domain_incr f1 f2) (Hwd: regset_wd f1 rs), regset_wd f2 rs.
Lemma core_wd_incr : forall f1 f2 rs (Hwd: core_wd f1 rs) (Hincr: ren_domain_incr f1 f2), core_wd f2 rs.
Lemma regset_wd_set_res: forall f br rs v (H: valid_val f v) (Hrs: regset_wd f rs), regset_wd f (set_res br v rs).
Lemma regset_wd_domain : forall f1 f2 m rs (Hdomain1: domain_memren f1 m) (Hdomain2: domain_memren f2 m) (Hwd: regset_wd f1 rs), regset_wd f2 rs.
Lemma core_wd_domain : forall f1 f2 m rs (Hwd: core_wd f1 rs) (Hdomain1: domain_memren f1 m) (Hdomain2: domain_memren f2 m), core_wd f2 rs.
Lemma longofwords_valid_val: forall f v1 v2, valid_val f v1 -> valid_val f v2 -> valid_val f (Val.longofwords v1 v2).
Lemma regset_wd_undef: forall f rs regs (Hrs_wd: regset_wd f rs), regset_wd f (undef_regs regs rs).
Lemma valid_symb: forall f fg g id i (Hge_wd: ge_wd fg g) (Hincr: ren_domain_incr fg f), valid_val f (symbol_address g id i).
Lemma valid_val_cmpu: forall f ptr c v1 v2, valid_val f (Val.cmpu ptr c v1 v2).
Lemma valid_val_cmplu: forall f ptr c v1 v2, valid_val f (Val.maketotal (Val.cmplu ptr c v1 v2)).
Lemma valid_val_addrmode64: forall ge rs f fg a, ren_domain_incr fg f -> ge_wd fg ge -> regset_wd f rs -> valid_val f (eval_addrmode64 ge a rs).
Lemma valid_val_addrmode: forall ge rs f fg a, ren_domain_incr fg f -> ge_wd fg ge -> regset_wd f rs -> valid_val f (eval_addrmode ge a rs).
Lemma valid_val_compare_ints: forall f rs m v1 v2 r, regset_wd f rs -> valid_val f (compare_ints v1 v2 rs m r).
Lemma valid_val_compare_longs: forall f rs m v1 v2 r, regset_wd f rs -> valid_val f (compare_longs v1 v2 rs m r).
Lemma regset_wd_compare_ints: forall f rs m v1 v2, regset_wd f rs -> regset_wd f (compare_ints v1 v2 rs m).
Lemma regset_wd_compare_longs: forall f rs m v1 v2, regset_wd f rs -> regset_wd f (compare_longs v1 v2 rs m).
Lemma valid_val_compare_floats: forall f rs v1 v2 r, regset_wd f rs -> valid_val f (compare_floats v1 v2 rs r).
Lemma regset_wd_compare_floats: forall f rs v1 v2, regset_wd f rs -> regset_wd f (compare_floats v1 v2 rs).
Lemma valid_val_compare_floats32: forall f rs v1 v2 r, regset_wd f rs -> valid_val f (compare_floats32 v1 v2 rs r).
Lemma regset_wd_compare_floats32: forall f rs v1 v2, regset_wd f rs -> regset_wd f (compare_floats32 v1 v2 rs).