Parameter a_size d_size : nat.(* address and data sizes *)

Parameter di_init cx_init al_init : BV.Parameter mem_init : Memo.Axiom di_initsize : lengthbv di_init = a_size.Axiom cx_initsize : lengthbv cx_init = a_size.Axiom al_initsize : lengthbv al_init = d_size.Axiom mem_initsize : MemoSize mem_init = a_size.Fixpoint IsNull (v : BV) : bool :=
  match v return bool with
  | nil => true
  | b :: w =>
      match b return bool with
      | true => false
      | false => IsNull w
      end
  end.

Lemma IsNull_BV_null : forall v : BV, IsNull v = true -> v = BV_null (lengthbv v).