proposition: Lemma Permutation_two_eq: forall A (L : list A) x, Permutation L [x ; x] -> L = [x ; x].
proof: Proof. intros. remember [x ; x]. revert Heql. induction H. * discriminate. * inversion 1. subst. symmetry in H. apply Permutation_length_1_inv in H. subst. trivial. * inversion 1. trivial. * intros. subst l''. spec IHPermutation2. trivial. specialize (IHPermutation1 IHPermutation2). subst l'. trivial. Qed.
imports: RelationClasses VST.floyd.proofauto CertiGraph.lib.List_ext CertiGraph.binheap.binary_heap_pro CertiGraph.binheap.binary_heap_malloc_spec CertiGraph.binheap.binary_heap_model CertiGraph.binheap.binary_heap_Zmodel