fact: Definition health_monitor := module import { "ADT"!"Get_base_report" ====> Get_base_report_Spec; "ADT"!"Get_paintball_report" ====> Get_paintball_report_Spec; "ADT"!"Get_turret_report" ====> Get_turret_report_Spec; "ADT"!"Get_ocu_teleop_repor" ====> Get_ocu_teleop_report_Spec; "ADT"!"Get_base_flag_report" ====> Get_base_flag_report_Spec; "ADT"!"Get_paintball_flag_repor" ====> Get_paintball_flag_report_Spec; "ADT"!"Get_turret_flag_repor" ====> Get_turret_flag_report_Spec; "ADT"!"Get_ocu_teleop_flag_report" ====> Get_ocu_teleop_flag_report_Spec } define { def "step" = func("node", "in", "in_flags", "out", "out_flags") { "base_report" <-- call_ "ADT"!"Get_base_report"("in"); "base_report_flag" <-- call_ "ADT"!"Get_base_flag_report"("in"); "paintball_report" <-- call_ "ADT"!"Get_paintball_report"("in"); "paintball_report_flag" <-- call_ "ADT"!"Get_paintball_flag_report"("in"); "turret_report" <-- call_ "ADT"!"Get_turret_report"("in"); "turret_report_flag" <-- call_ "ADT"!"Get_turret_flag_report"("in"); "ocu_teleop_report" <-- call_ "ADT"!"Get_teleop_report"("in"); "ocu_teleop_report_flag" <-- call_ "ADT"!"Get_teleop_flag_report"("in"); if_ ("in" < 10) { if_ ("in" < 20) { "ret" <~ 0 } { "ret" <~ 0 } } { "ret" <~0 } } }.
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