Inductive pl_path_true : pl_path -> Map bool -> Prop :=
  | plp_true_nil : forall m : Map bool, pl_path_true pl_path_nil m
  | plp_true_cons :
      forall (m : Map bool) (a : ad) (pl : pl_path),
      pl_path_true pl m ->
      MapGet bool m a = Some true -> pl_path_true (pl_path_cons a pl) m.Inductive pl_path_true : pl_path -> Map bool -> Prop :=
  | plp_true_nil : forall m : Map bool, pl_path_true pl_path_nil m
  | plp_true_cons :
      forall (m : Map bool) (a : ad) (pl : pl_path),
      pl_path_true pl m ->
      MapGet bool m a = Some true -> pl_path_true (pl_path_cons a pl) m.Inductive pl_path_true : pl_path -> Map bool -> Prop :=
  | plp_true_nil : forall m : Map bool, pl_path_true pl_path_nil m
  | plp_true_cons :
      forall (m : Map bool) (a : ad) (pl : pl_path),
      pl_path_true pl m ->
      MapGet bool m a = Some true -> pl_path_true (pl_path_cons a pl) m.Definition pl_non_empty_path_true_def_0 (pl : pl_path) 
  (p : prec_list) : Prop :=
  forall m : Map bool,
  pl_path_incl pl p -> pl_path_true pl m -> pl_non_empty m p = true.

(* Specifications: *)
Lemma pl_non_empty_path_true_0 : pl_non_empty_path_true_def_0 pl_path_nil prec_empty.
Lemma pl_non_empty_path_true_1 : forall (plp : pl_path) (a : ad) (la ls : prec_list), pl_path_incl plp la -> pl_non_empty_path_true_def_0 plp la -> pl_non_empty_path_true_def_0 (pl_path_cons a plp) (prec_cons a la ls).
Lemma pl_non_empty_path_true_2 : forall (plp : pl_path) (a : ad) (la ls : prec_list), pl_path_incl plp ls -> pl_non_empty_path_true_def_0 plp ls -> plp <> pl_path_nil -> pl_non_empty_path_true_def_0 plp (prec_cons a la ls).
Lemma pl_non_empty_path_true : forall (pl : pl_path) (p : prec_list) (m : Map bool), pl_path_incl pl p -> pl_path_true pl m -> pl_non_empty m p = true.
Lemma pl_non_empty_path_true_rev : forall (p : prec_list) (m : Map bool), pl_non_empty m p = true -> exists plp : pl_path, pl_path_incl plp p /\ pl_path_true plp m.
Lemma st_non_empty_0 : forall (m : Map bool) (s : state) (p : prec_list) (a : ad), MapGet prec_list s a = Some p -> pl_non_empty m p = true -> st_non_empty m s = true.
Lemma st_non_empty_1 : forall (d : preDTA) (m r : Map bool) (a : ad) (l : state), MapGet state d a = Some l -> domain_equal state bool d r -> st_non_empty m l = true -> MapGet bool (dta_app_ne_aux d m r) a = Some true.