Definition FreelistEffect
  m (L: list (Values.block * Z * Z)) (b:Values.block) (ofs:Z): bool :=
  List.fold_right (fun X E b z => match X with (bb,lo,hi) =>
                                   E b z || FreeEffect m lo hi bb b z
                                 end)
                  EmptyEffect L b ofs.

Lemma FreelistEffect_Dtrue: forall m bb lo hi L b ofs (F:FreelistEffect m ((bb, lo, hi) :: L) b ofs = true), FreelistEffect m L b ofs = true \/ FreeEffect m lo hi bb b ofs = true.