open Preamble open CostLabel open Coqlib open Proper open PositiveMap open Deqsets open ErrorMessages open PreIdentifiers open Errors open Extralib open Lists open Positive open Identifiers open Exp open Arithmetic open Vector open Div_and_mod open Util open FoldStuff open BitVector open Jmeq open Russell open List open Setoids open Monad open Option open Extranat open Bool open Relations open Nat open Integers open Hints_declaration open Core_notation open Pts open Logic open Types open AST open Csyntax (** val max_id : AST.ident -> AST.ident -> AST.ident **) let max_id a b = let a0 = a in let b0 = b in Positive.max a0 b0 (** val max_id_of_env : (AST.ident, Csyntax.type0) Types.prod List.list -> AST.ident **) let max_id_of_env = List.foldr (fun it id -> max_id it.Types.fst id) Positive.One (** val max_id_of_fn : Csyntax.function0 -> AST.ident **) let max_id_of_fn f = max_id_of_env (List.append f.Csyntax.fn_params f.Csyntax.fn_vars) (** val max_id_of_fundef : Csyntax.clight_fundef -> AST.ident **) let max_id_of_fundef = function | Csyntax.CL_Internal f0 -> max_id_of_fn f0 | Csyntax.CL_External (id, x, x0) -> id (** val max_id_of_functs : (AST.ident, Csyntax.clight_fundef) Types.prod List.list -> AST.ident **) let max_id_of_functs = List.foldr (fun idf id -> max_id (max_id idf.Types.fst (max_id_of_fundef idf.Types.snd)) id) Positive.One (** val max_id_of_globvars : ((AST.ident, AST.region) Types.prod, (AST.init_data List.list, Csyntax.type0) Types.prod) Types.prod List.list -> AST.ident **) let max_id_of_globvars = List.foldr (fun it id -> max_id it.Types.fst.Types.fst id) Positive.One (** val max_id_of_program : Csyntax.clight_program -> AST.ident **) let max_id_of_program p = max_id (max_id (max_id_of_functs p.AST.prog_funct) p.AST.prog_main) (max_id_of_globvars p.AST.prog_vars) (** val universe_of_max : AST.ident -> Identifiers.universe **) let universe_of_max mx = let i = mx in let next = Positive.succ i in next (** val universe_for_program : Csyntax.clight_program -> Identifiers.universe **) let universe_for_program p = universe_of_max (max_id_of_program p)