Definition predta_coacc_contain_coacc_ads_def_0 (d : preDTA) 
  (a0 a1 : ad) : Prop :=
  coacc d a0 a1 ->
  preDTA_ref_ok d ->
  exists n : nat,
    MapGet bool (power (Map bool) (predta_coacc d a0) (map_mini state d) n)
      a1 = Some true.

(* Specifications: *)
Lemma predta_coacc_contain_coacc_ads_1 : forall (d : preDTA) (a : ad) (s : state), MapGet state d a = Some s -> predta_coacc_contain_coacc_ads_def_0 d a a.
Lemma predta_coacc_contain_coacc_ads_2 : forall (d : preDTA) (a0 a1 a2 : ad) (s1 s2 : state) (pl : prec_list) (c : ad), MapGet state d a2 = Some s2 -> MapGet state d a1 = Some s1 -> MapGet prec_list s1 c = Some pl -> prec_occur pl a2 -> coacc d a0 a1 -> predta_coacc_contain_coacc_ads_def_0 d a0 a1 -> predta_coacc_contain_coacc_ads_def_0 d a0 a2.
Lemma predta_coacc_contain_coacc_ads_3 : forall (d : preDTA) (a0 a1 : ad), coacc d a0 a1 -> preDTA_ref_ok d -> exists n : nat, MapGet bool (power (Map bool) (predta_coacc d a0) (map_mini state d) n) a1 = Some true.
Lemma pl_coacc_rev : forall (d : preDTA) (pl : prec_list) (a : ad), MapGet bool (pl_coacc d pl) a = Some true -> prec_occur pl a.
Lemma st_coacc_rev : forall (d : preDTA) (s : state) (a : ad), MapGet bool (st_coacc d s) a = Some true -> exists c : ad, (exists p : prec_list, MapGet prec_list s c = Some p /\ prec_occur p a).
Lemma predta_coacc_0_rev : forall (d d' : preDTA) (b : ad) (m : Map bool), MapGet bool (predta_coacc_0 d d' m) b = Some true -> ensemble_base state d' m -> exists a : ad, (exists s : state, (exists c : ad, (exists p : prec_list, MapGet state d' a = Some s /\ MapGet prec_list s c = Some p /\ prec_occur p b /\ MapGet bool m a = Some true))).
Lemma predta_coacc_rev : forall (d : preDTA) (a : ad) (m : Map bool) (b : ad), MapGet bool (predta_coacc d a m) b = Some true -> ensemble_base state d m -> (exists a0 : ad, (exists s : state, (exists c : ad, (exists p : prec_list, MapGet state d a0 = Some s /\ MapGet prec_list s c = Some p /\ prec_occur p b /\ MapGet bool m a0 = Some true)))) \/ a = b.
Lemma predta_coacc_reverse : forall (n : nat) (d : preDTA) (a b : ad), MapGet bool (power (Map bool) (predta_coacc d a) (map_mini state d) n) b = Some true -> coacc d a b.
Lemma predta_coacc_fix_0 : forall (d : preDTA) (a : ad), lower_fix_point bool (ensemble_base state d) (lemd d) (predta_coacc d a) (predta_coacc_states d a).
Lemma predta_coacc_fix_1 : forall (d : preDTA) (a a0 : ad) (n : nat), MapGet bool (power (Map bool) (predta_coacc d a) (map_mini state d) n) a0 = Some true -> MapGet bool (predta_coacc_states d a) a0 = Some true.
Lemma predta_coacc_fix_2 : forall (d : preDTA) (a a0 : ad), MapGet bool (predta_coacc_states d a) a0 = Some true -> exists n : nat, MapGet bool (power (Map bool) (predta_coacc d a) (map_mini state d) n) a0 = Some true.
Lemma predta_coacc_fix : forall (d : preDTA) (a a0 : ad), preDTA_ref_ok d -> (MapGet bool (predta_coacc_states d a) a0 = Some true <-> coacc d a a0).
Lemma predta_coacc_0_fix : forall (d : preDTA) (a a0 : ad), preDTA_ref_ok d -> (MapGet bool (predta_coacc_states_0 d a) a0 = Some true <-> coacc d a a0).