(** * Binary interpretation of bitstrings *)

Fixpoint bs2nat (v:bs) : nat :=
  match v with
  | nil => 0
  | false :: v' => 2 * bs2nat v'
  | true  :: v' => S (2 * bs2nat v')
  end.

Lemma succ_bs_correct v : bs2nat (succ_bs v) = bs2nat v + 1.