Global Opaque succ_e.
(** * Zero predicate  - arities: (1,0) *)
Definition is_zero_e : BC :=
rec (one_e 0 0) (proj 1 1 1) (zero_e 1 1).

(* Specifications: *)
Lemma is_zero_correct v :
bs2bool (sem is_zero_e [v] nil) = true <->
bs2nat v = 0.
Lemma is_zero_correct_conv v :
bs2bool (sem is_zero_e [v] nil) = false <->
bs2nat v <> 0.