(** * Addition

  - arities: (1,1)
*)

Definition plus_e : BC :=
  rec (proj 0 1 0)
      (comp 1 2 succ_e nil ((proj 1 2 1) :: nil))
      (comp 1 2 succ_e nil ((proj 1 2 1) :: nil)).

Lemma plusl_correct : forall n nl el, length (sem (plusl_e n el) nl nil) = plusl (map (fun e => length (sem e nl nil)) el).