Section partial_functions. Variable P : nat -> Prop. Variable f : nat -> option nat. Hypothesis f_domain : forall n, P n <-> f n <> None. Definition g n : option nat := match f (n+2) with None => None | Some y => Some (y + 2) end. Lemma g_domain : forall n, P (n+2) <-> g n <> None. ... Qed. End partial_functions.