fact: Definition PaintballMonitorSpec : Fiat.ADT.Core.ADT (RADLM_ADTSig PaintballMonitorNode unit) := ADTRep unit { Def Constructor RADL_Init (_ : unit) : rep := ret tt, Def Method RADL_Step (r : rep, msg : unit * cRep (radlm_in_t PaintballMonitorNode) * cRep (radlm_monitor_in_t PaintballMonitorNode)) : PaintballMonitor_Output := if (TiltXSafe (snd (snd msg ~~> "TiltX")) && TiltYSafe (snd (snd msg ~~> "TiltY"))) then barrel <- callMeth PaintballSpec RADL_Step (fst (fst msg)) (SubMessage ["Trigger" ] (snd (fst (msg)))); ret (tt, (barrel, inil _)) else ret (tt, (fst (fst msg), ConstructMessage (radlm_out_t PaintballMonitorNode) (``"IDLE", ()), inil _)) }.
imports: Coq.Strings.String Coq.Bool.Bool Coq.Lists.List Coq.Program.Program Coq.Arith.Arith Fiat.ADT Fiat.ADT.ComputationalADT Fiat.ADTNotation Fiat.ADTRefinement Fiat.ADTRefinement.BuildADTRefinements Fiat.Fiat4Monitors.RADL_Topics Fiat.Fiat4Monitors.RADL_Messages Fiat.Fiat4Monitors.RADL_Flags Fiat.Fiat4Monitors.RADL_Nodes Fiat.Fiat4Monitors.RADLNodeADTs Fiat.Fiat4Monitors.LandsharkTopics Fiat.Fiat4Monitors.LandsharkNodes Bedrock.Platform.Facade.DFacade Bedrock.Platform.Facade.Notations Bedrock.Platform.Cito.ADT Bedrock.Platform.Cito.RepInv Bedrock.Platform.AutoSep