proposition: Lemma even_divided_odd_false: forall n z, Z.even n = true -> (n | z) -> Z.odd z = false.
proof: Proof. intros. rewrite Zodd_mod. destruct (Zaux.Zeven_ex n) as [p ?]. rewrite H, Z.add_0_r in H1. inversion H0. subst. replace (x * (2 * p))%Z with (x * p * 2)%Z by lia. rewrite Z_mod_mult; unfold Zeq_bool; reflexivity. Qed.
imports: VST.veric.compcert_rmaps VST.msl.shares VST.msl.wand_frame VST.concurrency.conclib CertiGraph.lib.List_ext CertiGraph.msl_ext.log_normalize CertiGraph.msl_ext.ramification_lemmas CertiGraph.graph.graph_model CertiGraph.CertiGC.GCGraph CertiGraph.CertiGC.env_graph_gc CertiGraph.msl_ext.iter_sepcon Coq.Lists.List