Proof with eauto with val_renamings.
intros.
destruct v1; inversion Hval_obs;
subst; simpl...
Qed.

(* Specifications: *)
Lemma val_obs_negfs:
forall f v1 v2
(Hval_obs: val_obs f v1 v2),
val_obs f (Val.negfs v1) (Val.negfs v2).
Lemma val_obs_absf:
forall f v1 v2
(Hval_obs: val_obs f v1 v2),
val_obs f (Val.absf v1) (Val.absf v2).
Lemma val_obs_absfs:
forall f v1 v2
(Hval_obs: val_obs f v1 v2),
val_obs f (Val.absfs v1) (Val.absfs v2).
Lemma val_obs_subf:
forall f v1 v2 v1' v2'
(Hval_obs': val_obs f v1' v2')
(Hval_obs: val_obs f v1 v2),
val_obs f (Val.subf v1 v1') (Val.subf v2 v2').