Axiom constructive_definite_description:forall(A:Type)(P:A->Prop),
(exists!x:A,P x)->{x:A|P x}.

(* Specifications: *)
Lemma chicli_pottier_simpson(P:Prop):P\/~P->{P}+{~P}.
Lemma if_l:forall(A B:Prop)(C:Type)(H:{A}+{B})(x y:C), ~B->(if H then x else y)=x.
Lemma if_r:forall(A B:Prop)(C:Type)(H:{A}+{B})(x y:C), ~A->(if H then x else y)=y.