proposition: Lemma reachable_decidable_prime: forall x, vvalid G x -> EnumCovered V (reachable G x) -> forall y, {reachable G x y} + {~ reachable G x y}.
proof: Proof. intros. destruct (finite_reachable_computable x H X) as [l' [? ?]]. specialize (H0 y). destruct (in_dec equiv_dec y l'). + rewrite H0 in i. left; auto. + rewrite H0 in n. right; auto. Qed.
imports: Coq.Sets.Finite_sets Coq.Arith.Arith Coq.Logic.ProofIrrelevance Coq.Logic.FunctionalExtensionality Coq.Sorting.Permutation Coq.micromega.Lia CertiGraph.lib.Coqlib CertiGraph.lib.List_ext CertiGraph.lib.EquivDec_ext CertiGraph.lib.EnumEnsembles Coq.Lists.List VST.msl.Coqlib2 CertiGraph.graph.graph_model CertiGraph.graph.path_lemmas CertiGraph.graph.reachable_ind CertiGraph.graph.subgraph2 CertiGraph.graph.graph_gen CertiGraph.graph.MathGraph CertiGraph.graph.FiniteGraph