proposition: Lemma fold_right_sepcon_emp_spec: forall l, fold_right_sepcon_emp l = fold_right sepcon emp l.
proof: Proof. intros. destruct l; auto. revert m; induction l; intros. + simpl. symmetry; apply sepcon_emp. + change (fold_right_sepcon_emp (m :: a :: l)) with (m * fold_right_sepcon_emp (a::l)). change (fold_right sepcon emp (m :: a :: l)) with (m * fold_right sepcon emp (a::l)). specialize (IHl a). rewrite IHl; auto. Qed.
imports: VST.floyd.base VST.floyd.canon VST.floyd.assert_lemmas VST.floyd.client_lemmas VST.floyd.reptype_lemmas VST.floyd.semax_tactics VST.floyd.local2ptree_denote VST.floyd.local2ptree_eval VST.floyd.call_lemmas VST.floyd.diagnosis VST.floyd.forward CertiGraph.lib.Coqlib CertiGraph.veric_ext.SeparationLogic CertiGraph.floyd_ext.ramification CertiGraph.floyd_ext.semax_ram_lemmas CertiGraph.floyd_ext.exists_trick CertiGraph.floyd_ext.closed_lemmas