open Preamble open Div_and_mod open Jmeq open Russell open Util open Bool open Relations open Nat open List open Hints_declaration open Core_notation open Pts open Logic open Types open Extralib open CostLabel open PositiveMap open Deqsets open Lists open Identifiers open Integers open AST open Division open Exp open Arithmetic open Extranat open Vector open FoldStuff open BitVector open Z open BitVectorZ open Pointers open Coqlib open Values open Events open Proper open ErrorMessages open Option open Setoids open Monad open Positive open PreIdentifiers open Errors open IOMonad open IO open SmallstepExec open TypeComparison open ClassifyOp open Smallstep open Csyntax open Extra_bool open FrontEndVal open Hide open ByteValues open GenMem open FrontEndMem open Globalenvs open Csem val exec_bool_of_val : Values.val0 -> Csyntax.type0 -> Bool.bool Errors.res val try_cast_null : GenMem.mem -> AST.intsize -> BitVector.bitVector -> Csyntax.type0 -> Csyntax.type0 -> Values.val0 Errors.res val ptr_like_type : Csyntax.type0 -> Bool.bool val exec_cast : GenMem.mem -> Values.val0 -> Csyntax.type0 -> Csyntax.type0 -> Values.val0 Errors.res val load_value_of_type' : Csyntax.type0 -> GenMem.mem -> (Pointers.block, Pointers.offset) Types.prod -> Values.val0 Types.option val exec_lvalue : Csem.genv -> Csem.env -> GenMem.mem -> Csyntax.expr -> ((Pointers.block, Pointers.offset) Types.prod, Events.trace) Types.prod Errors.res val exec_lvalue' : Csem.genv -> Csem.env -> GenMem.mem -> Csyntax.expr_descr -> Csyntax.type0 -> ((Pointers.block, Pointers.offset) Types.prod, Events.trace) Types.prod Errors.res val exec_expr : Csem.genv -> Csem.env -> GenMem.mem -> Csyntax.expr -> (Values.val0, Events.trace) Types.prod Errors.res val exec_exprlist : Csem.genv -> Csem.env -> GenMem.mem -> Csyntax.expr List.list -> (Values.val0 List.list, Events.trace) Types.prod Errors.res val exec_alloc_variables : Csem.env -> GenMem.mem -> (AST.ident, Csyntax.type0) Types.prod List.list -> (Csem.env, GenMem.mem) Types.prod val exec_bind_parameters : Csem.env -> GenMem.mem -> (AST.ident, Csyntax.type0) Types.prod List.list -> Values.val0 List.list -> GenMem.mem Errors.res val is_is_call_cont : Csem.cont -> (__, __) Types.sum val is_Sskip : Csyntax.statement -> (__, __) Types.sum val store_value_of_type' : Csyntax.type0 -> GenMem.mem -> (Pointers.block, Pointers.offset) Types.prod -> Values.val0 -> GenMem.mem Types.option val exec_step : Csem.genv -> Csem.state -> (IO.io_out, IO.io_in, (Events.trace, Csem.state) Types.prod) IOMonad.iO val make_global : Csyntax.clight_program -> Csem.genv val make_initial_state : Csyntax.clight_program -> Csem.state Errors.res val is_final : Csem.state -> Integers.int Types.option val is_final_state : Csem.state -> (Integers.int Types.sig0, __) Types.sum val exec_steps : Nat.nat -> Csem.genv -> Csem.state -> (IO.io_out, IO.io_in, (Events.trace, Csem.state) Types.prod) IOMonad.iO val clight_exec : (IO.io_out, IO.io_in) SmallstepExec.trans_system val clight_fullexec : (IO.io_out, IO.io_in) SmallstepExec.fullexec