(* Bijection between [A+unit] and [option A], for convenience later on *)
  Definition sa_sum_option (s: A+unit): option A :=
    match s with
      | inl s' => Some s'
      | inr _ => None
    end.Definition option_sa_sum (s: option A): A+unit :=
    match s with
      | Some s' => inl _ s'
      | None => inr _ tt
    end.

(* Specifications: *)
Lemma sa_sum__option: forall s, sa_sum_option (option_sa_sum s) = s.
Lemma option__sa_sum: forall s, option_sa_sum (sa_sum_option s) = s.