open Preamble open BitVectorTrie open Graphs open Order open Registers open FrontEndOps open RTLabs_syntax open SmallstepExec open CostLabel open Events open IOMonad open IO open Extra_bool open Coqlib open Values open FrontEndVal open Hide open ByteValues open Division open Z open BitVectorZ open Pointers open GenMem open FrontEndMem open Proper open PositiveMap open Deqsets open Extralib open Lists open Identifiers open Exp open Arithmetic open Vector open Div_and_mod open Util open FoldStuff open BitVector open Extranat open Integers open AST open Globalenvs open ErrorMessages open Option open Setoids open Monad open Jmeq open Russell open Positive open PreIdentifiers open Errors open Bool open Relations open Nat open Hints_declaration open Core_notation open Pts open Logic open Types open List open RTLabs_semantics type rTLabs_state = RTLabs_semantics.state type rTLabs_genv = RTLabs_semantics.genv open Sets open Listb open StructuredTraces open CostSpec open Deqsets_extra val status_class_jmdiscr : StructuredTraces.status_class -> StructuredTraces.status_class -> __ type rTLabs_ext_state = { ras_state : RTLabs_semantics.state; ras_fn_stack : Pointers.block List.list } val rTLabs_ext_state_rect_Type4 : RTLabs_semantics.genv -> (RTLabs_semantics.state -> Pointers.block List.list -> __ -> 'a1) -> rTLabs_ext_state -> 'a1 val rTLabs_ext_state_rect_Type5 : RTLabs_semantics.genv -> (RTLabs_semantics.state -> Pointers.block List.list -> __ -> 'a1) -> rTLabs_ext_state -> 'a1 val rTLabs_ext_state_rect_Type3 : RTLabs_semantics.genv -> (RTLabs_semantics.state -> Pointers.block List.list -> __ -> 'a1) -> rTLabs_ext_state -> 'a1 val rTLabs_ext_state_rect_Type2 : RTLabs_semantics.genv -> (RTLabs_semantics.state -> Pointers.block List.list -> __ -> 'a1) -> rTLabs_ext_state -> 'a1 val rTLabs_ext_state_rect_Type1 : RTLabs_semantics.genv -> (RTLabs_semantics.state -> Pointers.block List.list -> __ -> 'a1) -> rTLabs_ext_state -> 'a1 val rTLabs_ext_state_rect_Type0 : RTLabs_semantics.genv -> (RTLabs_semantics.state -> Pointers.block List.list -> __ -> 'a1) -> rTLabs_ext_state -> 'a1 val ras_state : RTLabs_semantics.genv -> rTLabs_ext_state -> RTLabs_semantics.state val ras_fn_stack : RTLabs_semantics.genv -> rTLabs_ext_state -> Pointers.block List.list val rTLabs_ext_state_inv_rect_Type4 : RTLabs_semantics.genv -> rTLabs_ext_state -> (RTLabs_semantics.state -> Pointers.block List.list -> __ -> __ -> 'a1) -> 'a1 val rTLabs_ext_state_inv_rect_Type3 : RTLabs_semantics.genv -> rTLabs_ext_state -> (RTLabs_semantics.state -> Pointers.block List.list -> __ -> __ -> 'a1) -> 'a1 val rTLabs_ext_state_inv_rect_Type2 : RTLabs_semantics.genv -> rTLabs_ext_state -> (RTLabs_semantics.state -> Pointers.block List.list -> __ -> __ -> 'a1) -> 'a1 val rTLabs_ext_state_inv_rect_Type1 : RTLabs_semantics.genv -> rTLabs_ext_state -> (RTLabs_semantics.state -> Pointers.block List.list -> __ -> __ -> 'a1) -> 'a1 val rTLabs_ext_state_inv_rect_Type0 : RTLabs_semantics.genv -> rTLabs_ext_state -> (RTLabs_semantics.state -> Pointers.block List.list -> __ -> __ -> 'a1) -> 'a1 val rTLabs_ext_state_discr : RTLabs_semantics.genv -> rTLabs_ext_state -> rTLabs_ext_state -> __ val rTLabs_ext_state_jmdiscr : RTLabs_semantics.genv -> rTLabs_ext_state -> rTLabs_ext_state -> __ val dpi1__o__Ras_state__o__inject : RTLabs_semantics.genv -> (rTLabs_ext_state, 'a1) Types.dPair -> RTLabs_semantics.state Types.sig0 val eject__o__Ras_state__o__inject : RTLabs_semantics.genv -> rTLabs_ext_state Types.sig0 -> RTLabs_semantics.state Types.sig0 val ras_state__o__inject : RTLabs_semantics.genv -> rTLabs_ext_state -> RTLabs_semantics.state Types.sig0 val dpi1__o__Ras_state : RTLabs_semantics.genv -> (rTLabs_ext_state, 'a1) Types.dPair -> RTLabs_semantics.state val eject__o__Ras_state : RTLabs_semantics.genv -> rTLabs_ext_state Types.sig0 -> RTLabs_semantics.state val next_state : RTLabs_semantics.genv -> rTLabs_ext_state -> RTLabs_semantics.state -> Events.trace -> rTLabs_ext_state val rTLabs_classify : RTLabs_semantics.state -> StructuredTraces.status_class val rTLabs_cost : RTLabs_semantics.state -> Bool.bool val rTLabs_cost_label : RTLabs_semantics.state -> CostLabel.costlabel Types.option type rTLabs_pc = | Rapc_state of Pointers.block * Graphs.label | Rapc_call of Graphs.label Types.option * Pointers.block | Rapc_ret of Pointers.block Types.option | Rapc_fin val rTLabs_pc_rect_Type4 : (Pointers.block -> Graphs.label -> 'a1) -> (Graphs.label Types.option -> Pointers.block -> 'a1) -> (Pointers.block Types.option -> 'a1) -> 'a1 -> rTLabs_pc -> 'a1 val rTLabs_pc_rect_Type5 : (Pointers.block -> Graphs.label -> 'a1) -> (Graphs.label Types.option -> Pointers.block -> 'a1) -> (Pointers.block Types.option -> 'a1) -> 'a1 -> rTLabs_pc -> 'a1 val rTLabs_pc_rect_Type3 : (Pointers.block -> Graphs.label -> 'a1) -> (Graphs.label Types.option -> Pointers.block -> 'a1) -> (Pointers.block Types.option -> 'a1) -> 'a1 -> rTLabs_pc -> 'a1 val rTLabs_pc_rect_Type2 : (Pointers.block -> Graphs.label -> 'a1) -> (Graphs.label Types.option -> Pointers.block -> 'a1) -> (Pointers.block Types.option -> 'a1) -> 'a1 -> rTLabs_pc -> 'a1 val rTLabs_pc_rect_Type1 : (Pointers.block -> Graphs.label -> 'a1) -> (Graphs.label Types.option -> Pointers.block -> 'a1) -> (Pointers.block Types.option -> 'a1) -> 'a1 -> rTLabs_pc -> 'a1 val rTLabs_pc_rect_Type0 : (Pointers.block -> Graphs.label -> 'a1) -> (Graphs.label Types.option -> Pointers.block -> 'a1) -> (Pointers.block Types.option -> 'a1) -> 'a1 -> rTLabs_pc -> 'a1 val rTLabs_pc_inv_rect_Type4 : rTLabs_pc -> (Pointers.block -> Graphs.label -> __ -> 'a1) -> (Graphs.label Types.option -> Pointers.block -> __ -> 'a1) -> (Pointers.block Types.option -> __ -> 'a1) -> (__ -> 'a1) -> 'a1 val rTLabs_pc_inv_rect_Type3 : rTLabs_pc -> (Pointers.block -> Graphs.label -> __ -> 'a1) -> (Graphs.label Types.option -> Pointers.block -> __ -> 'a1) -> (Pointers.block Types.option -> __ -> 'a1) -> (__ -> 'a1) -> 'a1 val rTLabs_pc_inv_rect_Type2 : rTLabs_pc -> (Pointers.block -> Graphs.label -> __ -> 'a1) -> (Graphs.label Types.option -> Pointers.block -> __ -> 'a1) -> (Pointers.block Types.option -> __ -> 'a1) -> (__ -> 'a1) -> 'a1 val rTLabs_pc_inv_rect_Type1 : rTLabs_pc -> (Pointers.block -> Graphs.label -> __ -> 'a1) -> (Graphs.label Types.option -> Pointers.block -> __ -> 'a1) -> (Pointers.block Types.option -> __ -> 'a1) -> (__ -> 'a1) -> 'a1 val rTLabs_pc_inv_rect_Type0 : rTLabs_pc -> (Pointers.block -> Graphs.label -> __ -> 'a1) -> (Graphs.label Types.option -> Pointers.block -> __ -> 'a1) -> (Pointers.block Types.option -> __ -> 'a1) -> (__ -> 'a1) -> 'a1 val rTLabs_pc_discr : rTLabs_pc -> rTLabs_pc -> __ val rTLabs_pc_jmdiscr : rTLabs_pc -> rTLabs_pc -> __ val rTLabs_pc_eq : rTLabs_pc -> rTLabs_pc -> Bool.bool val rTLabs_deqset : Deqsets.deqSet val rTLabs_ext_state_to_pc : RTLabs_semantics.genv -> rTLabs_ext_state -> __ val rTLabs_pc_to_cost_label : RTLabs_syntax.internal_function AST.fundef Globalenvs.genv_t -> rTLabs_pc -> CostLabel.costlabel Types.option val rTLabs_call_ident : RTLabs_semantics.genv -> rTLabs_ext_state Types.sig0 -> AST.ident val rTLabs_status : RTLabs_semantics.genv -> StructuredTraces.abstract_status val eval_ext_statement : RTLabs_semantics.genv -> rTLabs_ext_state -> (IO.io_out, IO.io_in, (Events.trace, rTLabs_ext_state) Types.prod) IOMonad.iO val rTLabs_ext_exec : (IO.io_out, IO.io_in) SmallstepExec.trans_system val make_ext_initial_state : RTLabs_syntax.rTLabs_program -> rTLabs_ext_state Errors.res val rTLabs_ext_fullexec : (IO.io_out, IO.io_in) SmallstepExec.fullexec