8 function choice ('a -> bool) : 'a
9 axiom choice_def : forall p,x:'a. p x -> p (choice p)
11 let ghost choose (p:{'a} -> bool) : {'a}
12 requires { exists x. p x }
16 let ghost choose_if (p:{'a} -> bool) : option {'a}
17 returns { None -> forall x. not p x
19 = let u = {choice} p in if p u then Some u else None