fact: Definition HealthMonitorSpec : ADT HealthMonitorSig := ADTRep unit { Def Constructor RADL_Init (_ : _) : rep := ret tt, Def Method RADL_Step (r : rep, in' : (cRep (radl_in_t health_monitor) * (cRep (radl_in_flags_t health_monitor)))) : _ := let (in_, in_flags) := in' in health_reports <- {report | forall n, BitAtIndex (fun n b => forall a nth_n t, radl_is_timeout (foo _ (snd (CallFlagGetMethod in_flags {| bindex := a; indexb := {| ibound := n; boundi := nth_n |} |} t))) = b) report n}; flag_reports <- {report | forall n, BitAtIndex (fun n b => forall a nth_n t, radl_is_timeout (bar _ (snd (CallMessageGetMethod in_ {| bindex := a; indexb := {| ibound := n; boundi := nth_n |} |} t))) = b) report n}; ret (tt, (health_reports, flag_reports, inil _, inil _)) }.
imports: Coq.Strings.String Coq.Bool.Bool Coq.Lists.List Coq.Program.Program Coq.Sets.Ensembles Coq.Arith.Arith Fiat.Common.IterateBoundedIndex 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.LandsharkTopics Fiat.Fiat4Monitors.LandsharkNodes Bedrock.Word