open Preamble open TypeComparison open ClassifyOp open Events open Smallstep open CostLabel open Csyntax 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 ErrorMessages open Option open Setoids open Monad open Jmeq open Russell open Positive open PreIdentifiers open Bool open Relations open Nat open List open Hints_declaration open Core_notation open Pts open Logic open Types open Errors open Globalenvs open Csem (** val clight_labelled : Csem.state -> Bool.bool **) let clight_labelled = function | Csem.State (f, s0, k, e, m) -> (match s0 with | Csyntax.Sskip -> Bool.False | Csyntax.Sassign (x, x0) -> Bool.False | Csyntax.Scall (x, x0, x1) -> Bool.False | Csyntax.Ssequence (x, x0) -> Bool.False | Csyntax.Sifthenelse (x, x0, x1) -> Bool.False | Csyntax.Swhile (x, x0) -> Bool.False | Csyntax.Sdowhile (x, x0) -> Bool.False | Csyntax.Sfor (x, x0, x1, x2) -> Bool.False | Csyntax.Sbreak -> Bool.False | Csyntax.Scontinue -> Bool.False | Csyntax.Sreturn x -> Bool.False | Csyntax.Sswitch (x, x0) -> Bool.False | Csyntax.Slabel (x, x0) -> Bool.False | Csyntax.Sgoto x -> Bool.False | Csyntax.Scost (x, x0) -> Bool.True) | Csem.Callstate (x, x0, x1, x2, x3) -> Bool.False | Csem.Returnstate (x, x0, x1) -> Bool.False | Csem.Finalstate x -> Bool.False open IOMonad open IO open Sets open Listb open StructuredTraces (** val clight_classify : Csem.state -> StructuredTraces.status_class **) let clight_classify = function | Csem.State (x, x0, x1, x2, x3) -> StructuredTraces.Cl_other | Csem.Callstate (x, x0, x1, x2, x3) -> StructuredTraces.Cl_call | Csem.Returnstate (x, x0, x1) -> StructuredTraces.Cl_return | Csem.Finalstate x -> StructuredTraces.Cl_other type clight_state = Csem.state type cl_genv = Csem.genv type cl_env = Csem.env type cl_cont = Csem.cont (** val clState : Csyntax.function0 -> Csyntax.statement -> Csem.cont -> Csem.env -> GenMem.mem -> Csem.state **) let clState x x0 x1 x2 x3 = Csem.State (x, x0, x1, x2, x3) (** val clReturnstate : Values.val0 -> Csem.cont -> GenMem.mem -> Csem.state **) let clReturnstate x x0 x1 = Csem.Returnstate (x, x0, x1) (** val clCallstate : AST.ident -> Csyntax.clight_fundef -> Values.val0 List.list -> Csem.cont -> GenMem.mem -> Csem.state **) let clCallstate x x0 x1 x2 x3 = Csem.Callstate (x, x0, x1, x2, x3) (** val clKseq : Csyntax.statement -> Csem.cont -> Csem.cont **) let clKseq x x0 = Csem.Kseq (x, x0)