(* f^(high t)=true : terme t reconnu en l'etat s *)

(* Specifications: *)
Lemma dt_non_empty_r_0 :
forall (d : preDTA) (m r : Map bool) (a : ad) (l : state),
MapGet state d a = Some l ->
domain_equal state bool d r ->
MapGet bool (dta_app_ne_aux d m r) a = Some true ->
MapGet bool r a = Some true \/ st_non_empty m l = true.
Lemma dt_non_empty_r_1 :
forall (s : state) (m : Map bool),
st_non_empty m s = true ->
exists c : ad,
(exists p : prec_list,
MapGet prec_list s c = Some p /\ pl_non_empty m p = true).
Lemma dt_non_empty_r_2 :
forall (p : prec_list) (m : Map bool),
pl_non_empty m p = true ->
exists pl : pl_path, pl_path_true pl m /\ pl_path_incl pl p.