Definition empty_state := ([] : hist, repeat ([] : hist) 8).
Definition make_reads le := map (fun '(v, lv) => Read v lv) le.
Definition make_writes le := map (fun '(v, lv) => Write v lv) le.

Lemma read_written : forall w lr writes reads v vals (Hw : do_ops empty_state (make_writes writes) w)
(Hlr : Forall2 (fun rs r => do_ops empty_state (make_reads rs) r) reads lr)
(Hfullv : full_hist' (concat (map fst (w :: lr))) v)
(Hvals : Zlength vals = 8) (Hfullvs : forall i, 0 <= i < 8 ->
full_hist' (concat (map (fun l => Znth i (snd l) []) (w :: lr))) (vint (Znth i vals 0))),
incl (concat reads) writes.