proposition: Lemma ProgOk_RemoveSkips {av} : forall (prog : Stmt) (pre post : Telescope av) ext env, {{ pre }} prog {{ post }} ∪ {{ ext }} // env -> {{ pre }} RemoveSkips prog {{ post }} ∪ {{ ext }} // env.
proof: Proof. unfold ProgOk; intros * ok ** sv; specialize (ok _ sv); intuition eauto using RemoveSkips_Safe, RemoveSkips_RunsTo. Qed.
imports: Bedrock.Platform.Facade.DFacade Fiat.CertifiedExtraction.Core Fiat.CertifiedExtraction.FacadeUtils Fiat.CertifiedExtraction.FacadeNotations Coq.Program.Program