fact: Fixpoint RemoveSkips (s: Stmt) := match s with | DFacade.Skip => DFacade.Skip | DFacade.Seq a b => let a := RemoveSkips a in let b := RemoveSkips b in if (Is_Skip a) then b else if (Is_Skip b) then a else (DFacade.Seq a b) | DFacade.If c t f => DFacade.If c (RemoveSkips t) (RemoveSkips f) | DFacade.While c b => DFacade.While c (RemoveSkips b) | DFacade.Call r f args => DFacade.Call r f args | DFacade.Assign x v => DFacade.Assign x v end.
imports: Bedrock.Platform.Facade.DFacade Fiat.CertifiedExtraction.Core Fiat.CertifiedExtraction.FacadeUtils Fiat.CertifiedExtraction.FacadeNotations Coq.Program.Program