Definition empty_dict {K V} : dict K V := Dict [].Definition empty_position_map : position_map := empty_dict.Definition empty_stash : stash := [].Fixpoint empty_oram n : oram :=
  match n with
  | 0 => leaf
  | S m => node None (empty_oram m) (empty_oram m)
  end.Definition empty_state `{Config} : state := {|
  state_position_map := empty_position_map;
  state_stash := empty_stash;
  state_oram := empty_oram (S LOP);
  |}.

(* Specifications: *)
Lemma lookup_empty {K V} `{Ord K} (v_def : V) (k : K) : lookup_dict v_def k (empty_dict) = v_def.
Lemma length_makeBoolList b n : length (makeBoolList b n) = n.
Lemma get_all_blks_tree_empty n : get_all_blks_tree (empty_oram n) = [].
Lemma empty_oram_p_b n : is_p_b_tr (empty_oram n) n.
Lemma empty_state_wf `{C : Config} : well_formed empty_state.
Lemma lookup_empty {K V} `{Ord K} (v_def : V) (k : K) : lookup_dict v_def k (empty_dict) = v_def.
Lemma length_makeBoolList b n : length (makeBoolList b n) = n.
Lemma get_all_blks_tree_empty n : get_all_blks_tree (empty_oram n) = [].
Lemma empty_oram_p_b n : is_p_b_tr (empty_oram n) n.
Lemma empty_state_wf `{C : Config} : well_formed empty_state.