proposition: Lemma foot_explicit {A}: forall L (a : A), foot L = Some a -> exists L', L = L' +:: a.
proof: Proof. induction L. inversion 1. intros. simpl in H. icase L. inv H. exists nil. trivial. specialize (IHL a0 H). destruct IHL. exists (a :: x). rewrite <- app_comm_cons. congr. Qed.
imports: Coq.Lists.List Coq.micromega.Lia Coq.Sorting.Permutation Coq.ZArith.ZArith_base Coq.ZArith.Zcomplements Coq.Logic.FunctionalExtensionality CertiGraph.lib.Coqlib CertiGraph.lib.EquivDec_ext VST.zlist.sublist VST.zlist.list_solver