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.

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).