Changeset 2649


Ignore:
Timestamp:
Feb 7, 2013, 10:43:49 PM (6 years ago)
Author:
sacerdot
Message:

...

Location:
extracted
Files:
2 added
4 deleted
127 edited

Legend:

Unmodified
Added
Removed
  • extracted/aSM.ml

    r2620 r2649  
    11open Preamble
    22
    3 open Char
     3open Extranat
     4
     5open Vector
     6
     7open Div_and_mod
     8
     9open Jmeq
     10
     11open Russell
     12
     13open Types
     14
     15open List
     16
     17open Util
     18
     19open FoldStuff
     20
     21open Bool
     22
     23open Hints_declaration
     24
     25open Core_notation
     26
     27open Pts
     28
     29open Logic
     30
     31open Relations
     32
     33open Nat
     34
     35open BitVector
     36
     37open Proper
     38
     39open PositiveMap
     40
     41open Deqsets
     42
     43open ErrorMessages
     44
     45open PreIdentifiers
     46
     47open Errors
     48
     49open Extralib
     50
     51open Setoids
     52
     53open Monad
     54
     55open Option
     56
     57open Lists
     58
     59open Positive
     60
     61open Identifiers
     62
     63open Arithmetic
     64
     65open Integers
     66
     67open AST
     68
     69open CostLabel
     70
     71open LabelledObjects
    472
    573open String
    674
    7 open Extranat
    8 
    9 open Vector
    10 
    11 open Div_and_mod
    12 
    13 open Jmeq
    14 
    15 open Russell
    16 
    17 open Types
    18 
    19 open List
    20 
    21 open Util
    22 
    23 open FoldStuff
    24 
    25 open Bool
    26 
    27 open Hints_declaration
    28 
    29 open Core_notation
    30 
    31 open Pts
    32 
    33 open Logic
    34 
    35 open Relations
    36 
    37 open Nat
    38 
    39 open BitVector
    40 
    41 open Proper
    42 
    43 open PositiveMap
    44 
    45 open Deqsets
    46 
    47 open PreIdentifiers
    48 
    49 open Errors
    50 
    51 open Extralib
    52 
    53 open Setoids
    54 
    55 open Monad
    56 
    57 open Option
    58 
    59 open Lists
    60 
    61 open Positive
    62 
    63 open Identifiers
    64 
    65 open Coqlib
    66 
    67 open Floats
    68 
    69 open Arithmetic
    70 
    71 open Integers
    72 
    73 open AST
    74 
    75 open CostLabel
    76 
    77 open LabelledObjects
    78 
    79 (** val aSMTag : String.string **)
    80 let aSMTag = "ASMTag"
    81   (* failwith "AXIOM TO BE REALIZED" *)
    82 
    8375type identifier0 = PreIdentifiers.identifier
    8476
    8577(** val toASM_ident :
    86     String.string -> PreIdentifiers.identifier -> identifier0 **)
     78    PreIdentifiers.identifierTag -> PreIdentifiers.identifier -> identifier0 **)
    8779let toASM_ident t i =
    8880  let id = i in id
     
    117109    -> 'a1) -> addressing_mode -> 'a1 **)
    118110let rec addressing_mode_rect_Type4 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    119 | DIRECT x_14702 -> h_DIRECT x_14702
    120 | INDIRECT x_14703 -> h_INDIRECT x_14703
    121 | EXT_INDIRECT x_14704 -> h_EXT_INDIRECT x_14704
    122 | REGISTER x_14705 -> h_REGISTER x_14705
     111| DIRECT x_59 -> h_DIRECT x_59
     112| INDIRECT x_60 -> h_INDIRECT x_60
     113| EXT_INDIRECT x_61 -> h_EXT_INDIRECT x_61
     114| REGISTER x_62 -> h_REGISTER x_62
    123115| ACC_A -> h_ACC_A
    124116| ACC_B -> h_ACC_B
    125117| DPTR -> h_DPTR
    126 | DATA x_14706 -> h_DATA x_14706
    127 | DATA16 x_14707 -> h_DATA16 x_14707
     118| DATA x_63 -> h_DATA x_63
     119| DATA16 x_64 -> h_DATA16 x_64
    128120| ACC_DPTR -> h_ACC_DPTR
    129121| ACC_PC -> h_ACC_PC
     
    131123| INDIRECT_DPTR -> h_INDIRECT_DPTR
    132124| CARRY -> h_CARRY
    133 | BIT_ADDR x_14708 -> h_BIT_ADDR x_14708
    134 | N_BIT_ADDR x_14709 -> h_N_BIT_ADDR x_14709
    135 | RELATIVE x_14710 -> h_RELATIVE x_14710
    136 | ADDR11 x_14711 -> h_ADDR11 x_14711
    137 | ADDR16 x_14712 -> h_ADDR16 x_14712
     125| BIT_ADDR x_65 -> h_BIT_ADDR x_65
     126| N_BIT_ADDR x_66 -> h_N_BIT_ADDR x_66
     127| RELATIVE x_67 -> h_RELATIVE x_67
     128| ADDR11 x_68 -> h_ADDR11 x_68
     129| ADDR16 x_69 -> h_ADDR16 x_69
    138130
    139131(** val addressing_mode_rect_Type5 :
     
    145137    -> 'a1) -> addressing_mode -> 'a1 **)
    146138let rec addressing_mode_rect_Type5 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    147 | DIRECT x_14733 -> h_DIRECT x_14733
    148 | INDIRECT x_14734 -> h_INDIRECT x_14734
    149 | EXT_INDIRECT x_14735 -> h_EXT_INDIRECT x_14735
    150 | REGISTER x_14736 -> h_REGISTER x_14736
     139| DIRECT x_90 -> h_DIRECT x_90
     140| INDIRECT x_91 -> h_INDIRECT x_91
     141| EXT_INDIRECT x_92 -> h_EXT_INDIRECT x_92
     142| REGISTER x_93 -> h_REGISTER x_93
    151143| ACC_A -> h_ACC_A
    152144| ACC_B -> h_ACC_B
    153145| DPTR -> h_DPTR
    154 | DATA x_14737 -> h_DATA x_14737
    155 | DATA16 x_14738 -> h_DATA16 x_14738
     146| DATA x_94 -> h_DATA x_94
     147| DATA16 x_95 -> h_DATA16 x_95
    156148| ACC_DPTR -> h_ACC_DPTR
    157149| ACC_PC -> h_ACC_PC
     
    159151| INDIRECT_DPTR -> h_INDIRECT_DPTR
    160152| CARRY -> h_CARRY
    161 | BIT_ADDR x_14739 -> h_BIT_ADDR x_14739
    162 | N_BIT_ADDR x_14740 -> h_N_BIT_ADDR x_14740
    163 | RELATIVE x_14741 -> h_RELATIVE x_14741
    164 | ADDR11 x_14742 -> h_ADDR11 x_14742
    165 | ADDR16 x_14743 -> h_ADDR16 x_14743
     153| BIT_ADDR x_96 -> h_BIT_ADDR x_96
     154| N_BIT_ADDR x_97 -> h_N_BIT_ADDR x_97
     155| RELATIVE x_98 -> h_RELATIVE x_98
     156| ADDR11 x_99 -> h_ADDR11 x_99
     157| ADDR16 x_100 -> h_ADDR16 x_100
    166158
    167159(** val addressing_mode_rect_Type3 :
     
    173165    -> 'a1) -> addressing_mode -> 'a1 **)
    174166let rec addressing_mode_rect_Type3 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    175 | DIRECT x_14764 -> h_DIRECT x_14764
    176 | INDIRECT x_14765 -> h_INDIRECT x_14765
    177 | EXT_INDIRECT x_14766 -> h_EXT_INDIRECT x_14766
    178 | REGISTER x_14767 -> h_REGISTER x_14767
     167| DIRECT x_121 -> h_DIRECT x_121
     168| INDIRECT x_122 -> h_INDIRECT x_122
     169| EXT_INDIRECT x_123 -> h_EXT_INDIRECT x_123
     170| REGISTER x_124 -> h_REGISTER x_124
    179171| ACC_A -> h_ACC_A
    180172| ACC_B -> h_ACC_B
    181173| DPTR -> h_DPTR
    182 | DATA x_14768 -> h_DATA x_14768
    183 | DATA16 x_14769 -> h_DATA16 x_14769
     174| DATA x_125 -> h_DATA x_125
     175| DATA16 x_126 -> h_DATA16 x_126
    184176| ACC_DPTR -> h_ACC_DPTR
    185177| ACC_PC -> h_ACC_PC
     
    187179| INDIRECT_DPTR -> h_INDIRECT_DPTR
    188180| CARRY -> h_CARRY
    189 | BIT_ADDR x_14770 -> h_BIT_ADDR x_14770
    190 | N_BIT_ADDR x_14771 -> h_N_BIT_ADDR x_14771
    191 | RELATIVE x_14772 -> h_RELATIVE x_14772
    192 | ADDR11 x_14773 -> h_ADDR11 x_14773
    193 | ADDR16 x_14774 -> h_ADDR16 x_14774
     181| BIT_ADDR x_127 -> h_BIT_ADDR x_127
     182| N_BIT_ADDR x_128 -> h_N_BIT_ADDR x_128
     183| RELATIVE x_129 -> h_RELATIVE x_129
     184| ADDR11 x_130 -> h_ADDR11 x_130
     185| ADDR16 x_131 -> h_ADDR16 x_131
    194186
    195187(** val addressing_mode_rect_Type2 :
     
    201193    -> 'a1) -> addressing_mode -> 'a1 **)
    202194let rec addressing_mode_rect_Type2 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    203 | DIRECT x_14795 -> h_DIRECT x_14795
    204 | INDIRECT x_14796 -> h_INDIRECT x_14796
    205 | EXT_INDIRECT x_14797 -> h_EXT_INDIRECT x_14797
    206 | REGISTER x_14798 -> h_REGISTER x_14798
     195| DIRECT x_152 -> h_DIRECT x_152
     196| INDIRECT x_153 -> h_INDIRECT x_153
     197| EXT_INDIRECT x_154 -> h_EXT_INDIRECT x_154
     198| REGISTER x_155 -> h_REGISTER x_155
    207199| ACC_A -> h_ACC_A
    208200| ACC_B -> h_ACC_B
    209201| DPTR -> h_DPTR
    210 | DATA x_14799 -> h_DATA x_14799
    211 | DATA16 x_14800 -> h_DATA16 x_14800
     202| DATA x_156 -> h_DATA x_156
     203| DATA16 x_157 -> h_DATA16 x_157
    212204| ACC_DPTR -> h_ACC_DPTR
    213205| ACC_PC -> h_ACC_PC
     
    215207| INDIRECT_DPTR -> h_INDIRECT_DPTR
    216208| CARRY -> h_CARRY
    217 | BIT_ADDR x_14801 -> h_BIT_ADDR x_14801
    218 | N_BIT_ADDR x_14802 -> h_N_BIT_ADDR x_14802
    219 | RELATIVE x_14803 -> h_RELATIVE x_14803
    220 | ADDR11 x_14804 -> h_ADDR11 x_14804
    221 | ADDR16 x_14805 -> h_ADDR16 x_14805
     209| BIT_ADDR x_158 -> h_BIT_ADDR x_158
     210| N_BIT_ADDR x_159 -> h_N_BIT_ADDR x_159
     211| RELATIVE x_160 -> h_RELATIVE x_160
     212| ADDR11 x_161 -> h_ADDR11 x_161
     213| ADDR16 x_162 -> h_ADDR16 x_162
    222214
    223215(** val addressing_mode_rect_Type1 :
     
    229221    -> 'a1) -> addressing_mode -> 'a1 **)
    230222let rec addressing_mode_rect_Type1 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    231 | DIRECT x_14826 -> h_DIRECT x_14826
    232 | INDIRECT x_14827 -> h_INDIRECT x_14827
    233 | EXT_INDIRECT x_14828 -> h_EXT_INDIRECT x_14828
    234 | REGISTER x_14829 -> h_REGISTER x_14829
     223| DIRECT x_183 -> h_DIRECT x_183
     224| INDIRECT x_184 -> h_INDIRECT x_184
     225| EXT_INDIRECT x_185 -> h_EXT_INDIRECT x_185
     226| REGISTER x_186 -> h_REGISTER x_186
    235227| ACC_A -> h_ACC_A
    236228| ACC_B -> h_ACC_B
    237229| DPTR -> h_DPTR
    238 | DATA x_14830 -> h_DATA x_14830
    239 | DATA16 x_14831 -> h_DATA16 x_14831
     230| DATA x_187 -> h_DATA x_187
     231| DATA16 x_188 -> h_DATA16 x_188
    240232| ACC_DPTR -> h_ACC_DPTR
    241233| ACC_PC -> h_ACC_PC
     
    243235| INDIRECT_DPTR -> h_INDIRECT_DPTR
    244236| CARRY -> h_CARRY
    245 | BIT_ADDR x_14832 -> h_BIT_ADDR x_14832
    246 | N_BIT_ADDR x_14833 -> h_N_BIT_ADDR x_14833
    247 | RELATIVE x_14834 -> h_RELATIVE x_14834
    248 | ADDR11 x_14835 -> h_ADDR11 x_14835
    249 | ADDR16 x_14836 -> h_ADDR16 x_14836
     237| BIT_ADDR x_189 -> h_BIT_ADDR x_189
     238| N_BIT_ADDR x_190 -> h_N_BIT_ADDR x_190
     239| RELATIVE x_191 -> h_RELATIVE x_191
     240| ADDR11 x_192 -> h_ADDR11 x_192
     241| ADDR16 x_193 -> h_ADDR16 x_193
    250242
    251243(** val addressing_mode_rect_Type0 :
     
    257249    -> 'a1) -> addressing_mode -> 'a1 **)
    258250let rec addressing_mode_rect_Type0 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
    259 | DIRECT x_14857 -> h_DIRECT x_14857
    260 | INDIRECT x_14858 -> h_INDIRECT x_14858
    261 | EXT_INDIRECT x_14859 -> h_EXT_INDIRECT x_14859
    262 | REGISTER x_14860 -> h_REGISTER x_14860
     251| DIRECT x_214 -> h_DIRECT x_214
     252| INDIRECT x_215 -> h_INDIRECT x_215
     253| EXT_INDIRECT x_216 -> h_EXT_INDIRECT x_216
     254| REGISTER x_217 -> h_REGISTER x_217
    263255| ACC_A -> h_ACC_A
    264256| ACC_B -> h_ACC_B
    265257| DPTR -> h_DPTR
    266 | DATA x_14861 -> h_DATA x_14861
    267 | DATA16 x_14862 -> h_DATA16 x_14862
     258| DATA x_218 -> h_DATA x_218
     259| DATA16 x_219 -> h_DATA16 x_219
    268260| ACC_DPTR -> h_ACC_DPTR
    269261| ACC_PC -> h_ACC_PC
     
    271263| INDIRECT_DPTR -> h_INDIRECT_DPTR
    272264| CARRY -> h_CARRY
    273 | BIT_ADDR x_14863 -> h_BIT_ADDR x_14863
    274 | N_BIT_ADDR x_14864 -> h_N_BIT_ADDR x_14864
    275 | RELATIVE x_14865 -> h_RELATIVE x_14865
    276 | ADDR11 x_14866 -> h_ADDR11 x_14866
    277 | ADDR16 x_14867 -> h_ADDR16 x_14867
     265| BIT_ADDR x_220 -> h_BIT_ADDR x_220
     266| N_BIT_ADDR x_221 -> h_N_BIT_ADDR x_221
     267| RELATIVE x_222 -> h_RELATIVE x_222
     268| ADDR11 x_223 -> h_ADDR11 x_223
     269| ADDR16 x_224 -> h_ADDR16 x_224
    278270
    279271(** val addressing_mode_inv_rect_Type4 :
     
    19321924    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19331925    'a1) -> subaddressing_mode -> 'a1 **)
    1934 let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_15335 =
    1935   let subaddressing_modeel = x_15335 in
     1926let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_692 =
     1927  let subaddressing_modeel = x_692 in
    19361928  h_mk_subaddressing_mode subaddressing_modeel __
    19371929
     
    19391931    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19401932    'a1) -> subaddressing_mode -> 'a1 **)
    1941 let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_15337 =
    1942   let subaddressing_modeel = x_15337 in
     1933let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_694 =
     1934  let subaddressing_modeel = x_694 in
    19431935  h_mk_subaddressing_mode subaddressing_modeel __
    19441936
     
    19461938    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19471939    'a1) -> subaddressing_mode -> 'a1 **)
    1948 let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_15339 =
    1949   let subaddressing_modeel = x_15339 in
     1940let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_696 =
     1941  let subaddressing_modeel = x_696 in
    19501942  h_mk_subaddressing_mode subaddressing_modeel __
    19511943
     
    19531945    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19541946    'a1) -> subaddressing_mode -> 'a1 **)
    1955 let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_15341 =
    1956   let subaddressing_modeel = x_15341 in
     1947let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_698 =
     1948  let subaddressing_modeel = x_698 in
    19571949  h_mk_subaddressing_mode subaddressing_modeel __
    19581950
     
    19601952    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19611953    'a1) -> subaddressing_mode -> 'a1 **)
    1962 let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_15343 =
    1963   let subaddressing_modeel = x_15343 in
     1954let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_700 =
     1955  let subaddressing_modeel = x_700 in
    19641956  h_mk_subaddressing_mode subaddressing_modeel __
    19651957
     
    19671959    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19681960    'a1) -> subaddressing_mode -> 'a1 **)
    1969 let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_15345 =
    1970   let subaddressing_modeel = x_15345 in
     1961let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_702 =
     1962  let subaddressing_modeel = x_702 in
    19711963  h_mk_subaddressing_mode subaddressing_modeel __
    19721964
     
    21392131    'a2 -> 'a2 -> 'a1 preinstruction -> 'a2 **)
    21402132let rec preinstruction_rect_Type4 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP = function
    2141 | ADD (x_15445, x_15444) -> h_ADD x_15445 x_15444
    2142 | ADDC (x_15447, x_15446) -> h_ADDC x_15447 x_15446
    2143 | SUBB (x_15449, x_15448) -> h_SUBB x_15449 x_15448
    2144 | INC x_15450 -> h_INC x_15450
    2145 | DEC x_15451 -> h_DEC x_15451
    2146 | MUL (x_15453, x_15452) -> h_MUL x_15453 x_15452
    2147 | DIV (x_15455, x_15454) -> h_DIV x_15455 x_15454
    2148 | DA x_15456 -> h_DA x_15456
    2149 | JC x_15457 -> h_JC x_15457
    2150 | JNC x_15458 -> h_JNC x_15458
    2151 | JB (x_15460, x_15459) -> h_JB x_15460 x_15459
    2152 | JNB (x_15462, x_15461) -> h_JNB x_15462 x_15461
    2153 | JBC (x_15464, x_15463) -> h_JBC x_15464 x_15463
    2154 | JZ x_15465 -> h_JZ x_15465
    2155 | JNZ x_15466 -> h_JNZ x_15466
    2156 | CJNE (x_15468, x_15467) -> h_CJNE x_15468 x_15467
    2157 | DJNZ (x_15470, x_15469) -> h_DJNZ x_15470 x_15469
    2158 | ANL x_15471 -> h_ANL x_15471
    2159 | ORL x_15472 -> h_ORL x_15472
    2160 | XRL x_15473 -> h_XRL x_15473
    2161 | CLR x_15474 -> h_CLR x_15474
    2162 | CPL x_15475 -> h_CPL x_15475
    2163 | RL x_15476 -> h_RL x_15476
    2164 | RLC x_15477 -> h_RLC x_15477
    2165 | RR x_15478 -> h_RR x_15478
    2166 | RRC x_15479 -> h_RRC x_15479
    2167 | SWAP x_15480 -> h_SWAP x_15480
    2168 | MOV x_15481 -> h_MOV x_15481
    2169 | MOVX x_15482 -> h_MOVX x_15482
    2170 | SETB x_15483 -> h_SETB x_15483
    2171 | PUSH x_15484 -> h_PUSH x_15484
    2172 | POP x_15485 -> h_POP x_15485
    2173 | XCH (x_15487, x_15486) -> h_XCH x_15487 x_15486
    2174 | XCHD (x_15489, x_15488) -> h_XCHD x_15489 x_15488
     2133| ADD (x_802, x_801) -> h_ADD x_802 x_801
     2134| ADDC (x_804, x_803) -> h_ADDC x_804 x_803
     2135| SUBB (x_806, x_805) -> h_SUBB x_806 x_805
     2136| INC x_807 -> h_INC x_807
     2137| DEC x_808 -> h_DEC x_808
     2138| MUL (x_810, x_809) -> h_MUL x_810 x_809
     2139| DIV (x_812, x_811) -> h_DIV x_812 x_811
     2140| DA x_813 -> h_DA x_813
     2141| JC x_814 -> h_JC x_814
     2142| JNC x_815 -> h_JNC x_815
     2143| JB (x_817, x_816) -> h_JB x_817 x_816
     2144| JNB (x_819, x_818) -> h_JNB x_819 x_818
     2145| JBC (x_821, x_820) -> h_JBC x_821 x_820
     2146| JZ x_822 -> h_JZ x_822
     2147| JNZ x_823 -> h_JNZ x_823
     2148| CJNE (x_825, x_824) -> h_CJNE x_825 x_824
     2149| DJNZ (x_827, x_826) -> h_DJNZ x_827 x_826
     2150| ANL x_828 -> h_ANL x_828
     2151| ORL x_829 -> h_ORL x_829
     2152| XRL x_830 -> h_XRL x_830
     2153| CLR x_831 -> h_CLR x_831
     2154| CPL x_832 -> h_CPL x_832
     2155| RL x_833 -> h_RL x_833
     2156| RLC x_834 -> h_RLC x_834
     2157| RR x_835 -> h_RR x_835
     2158| RRC x_836 -> h_RRC x_836
     2159| SWAP x_837 -> h_SWAP x_837
     2160| MOV x_838 -> h_MOV x_838
     2161| MOVX x_839 -> h_MOVX x_839
     2162| SETB x_840 -> h_SETB x_840
     2163| PUSH x_841 -> h_PUSH x_841
     2164| POP x_842 -> h_POP x_842
     2165| XCH (x_844, x_843) -> h_XCH x_844 x_843
     2166| XCHD (x_846, x_845) -> h_XCHD x_846 x_845
    21752167| RET -> h_RET
    21762168| RETI -> h_RETI
     
    22132205    'a2 -> 'a2 -> 'a1 preinstruction -> 'a2 **)
    22142206let rec preinstruction_rect_Type5 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP = function
    2215 | ADD (x_15529, x_15528) -> h_ADD x_15529 x_15528
    2216 | ADDC (x_15531, x_15530) -> h_ADDC x_15531 x_15530
    2217 | SUBB (x_15533, x_15532) -> h_SUBB x_15533 x_15532
    2218 | INC x_15534 -> h_INC x_15534
    2219 | DEC x_15535 -> h_DEC x_15535
    2220 | MUL (x_15537, x_15536) -> h_MUL x_15537 x_15536
    2221 | DIV (x_15539, x_15538) -> h_DIV x_15539 x_15538
    2222 | DA x_15540 -> h_DA x_15540
    2223 | JC x_15541 -> h_JC x_15541
    2224 | JNC x_15542 -> h_JNC x_15542
    2225 | JB (x_15544, x_15543) -> h_JB x_15544 x_15543
    2226 | JNB (x_15546, x_15545) -> h_JNB x_15546 x_15545
    2227 | JBC (x_15548, x_15547) -> h_JBC x_15548 x_15547
    2228 | JZ x_15549 -> h_JZ x_15549
    2229 | JNZ x_15550 -> h_JNZ x_15550
    2230 | CJNE (x_15552, x_15551) -> h_CJNE x_15552 x_15551
    2231 | DJNZ (x_15554, x_15553) -> h_DJNZ x_15554 x_15553
    2232 | ANL x_15555 -> h_ANL x_15555
    2233 | ORL x_15556 -> h_ORL x_15556
    2234 | XRL x_15557 -> h_XRL x_15557
    2235 | CLR x_15558 -> h_CLR x_15558
    2236 | CPL x_15559 -> h_CPL x_15559
    2237 | RL x_15560 -> h_RL x_15560
    2238 | RLC x_15561 -> h_RLC x_15561
    2239 | RR x_15562 -> h_RR x_15562
    2240 | RRC x_15563 -> h_RRC x_15563
    2241 | SWAP x_15564 -> h_SWAP x_15564
    2242 | MOV x_15565 -> h_MOV x_15565
    2243 | MOVX x_15566 -> h_MOVX x_15566
    2244 | SETB x_15567 -> h_SETB x_15567
    2245 | PUSH x_15568 -> h_PUSH x_15568
    2246 | POP x_15569 -> h_POP x_15569
    2247 | XCH (x_15571, x_15570) -> h_XCH x_15571 x_15570
    2248 | XCHD (x_15573, x_15572) -> h_XCHD x_15573 x_15572
     2207| ADD (x_886, x_885) -> h_ADD x_886 x_885
     2208| ADDC (x_888, x_887) -> h_ADDC x_888 x_887
     2209| SUBB (x_890, x_889) -> h_SUBB x_890 x_889
     2210| INC x_891 -> h_INC x_891
     2211| DEC x_892 -> h_DEC x_892
     2212| MUL (x_894, x_893) -> h_MUL x_894 x_893
     2213| DIV (x_896, x_895) -> h_DIV x_896 x_895
     2214| DA x_897 -> h_DA x_897
     2215| JC x_898 -> h_JC x_898
     2216| JNC x_899 -> h_JNC x_899
     2217| JB (x_901, x_900) -> h_JB x_901 x_900
     2218| JNB (x_903, x_902) -> h_JNB x_903 x_902
     2219| JBC (x_905, x_904) -> h_JBC x_905 x_904
     2220| JZ x_906 -> h_JZ x_906
     2221| JNZ x_907 -> h_JNZ x_907
     2222| CJNE (x_909, x_908) -> h_CJNE x_909 x_908
     2223| DJNZ (x_911, x_910) -> h_DJNZ x_911 x_910
     2224| ANL x_912 -> h_ANL x_912
     2225| ORL x_913 -> h_ORL x_913
     2226| XRL x_914 -> h_XRL x_914
     2227| CLR x_915 -> h_CLR x_915
     2228| CPL x_916 -> h_CPL x_916
     2229| RL x_917 -> h_RL x_917
     2230| RLC x_918 -> h_RLC x_918
     2231| RR x_919 -> h_RR x_919
     2232| RRC x_920 -> h_RRC x_920
     2233| SWAP x_921 -> h_SWAP x_921
     2234| MOV x_922 -> h_MOV x_922
     2235| MOVX x_923 -> h_MOVX x_923
     2236| SETB x_924 -> h_SETB x_924
     2237| PUSH x_925 -> h_PUSH x_925
     2238| POP x_926 -> h_POP x_926
     2239| XCH (x_928, x_927) -> h_XCH x_928 x_927
     2240| XCHD (x_930, x_929) -> h_XCHD x_930 x_929
    22492241| RET -> h_RET
    22502242| RETI -> h_RETI
     
    22872279    'a2 -> 'a2 -> 'a1 preinstruction -> 'a2 **)
    22882280let rec preinstruction_rect_Type3 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP = function
    2289 | ADD (x_15613, x_15612) -> h_ADD x_15613 x_15612
    2290 | ADDC (x_15615, x_15614) -> h_ADDC x_15615 x_15614
    2291 | SUBB (x_15617, x_15616) -> h_SUBB x_15617 x_15616
    2292 | INC x_15618 -> h_INC x_15618
    2293 | DEC x_15619 -> h_DEC x_15619
    2294 | MUL (x_15621, x_15620) -> h_MUL x_15621 x_15620
    2295 | DIV (x_15623, x_15622) -> h_DIV x_15623 x_15622
    2296 | DA x_15624 -> h_DA x_15624
    2297 | JC x_15625 -> h_JC x_15625
    2298 | JNC x_15626 -> h_JNC x_15626
    2299 | JB (x_15628, x_15627) -> h_JB x_15628 x_15627
    2300 | JNB (x_15630, x_15629) -> h_JNB x_15630 x_15629
    2301 | JBC (x_15632, x_15631) -> h_JBC x_15632 x_15631
    2302 | JZ x_15633 -> h_JZ x_15633
    2303 | JNZ x_15634 -> h_JNZ x_15634
    2304 | CJNE (x_15636, x_15635) -> h_CJNE x_15636 x_15635
    2305 | DJNZ (x_15638, x_15637) -> h_DJNZ x_15638 x_15637
    2306 | ANL x_15639 -> h_ANL x_15639
    2307 | ORL x_15640 -> h_ORL x_15640
    2308 | XRL x_15641 -> h_XRL x_15641
    2309 | CLR x_15642 -> h_CLR x_15642
    2310 | CPL x_15643 -> h_CPL x_15643
    2311 | RL x_15644 -> h_RL x_15644
    2312 | RLC x_15645 -> h_RLC x_15645
    2313 | RR x_15646 -> h_RR x_15646
    2314 | RRC x_15647 -> h_RRC x_15647
    2315 | SWAP x_15648 -> h_SWAP x_15648
    2316 | MOV x_15649 -> h_MOV x_15649
    2317 | MOVX x_15650 -> h_MOVX x_15650
    2318 | SETB x_15651 -> h_SETB x_15651
    2319 | PUSH x_15652 -> h_PUSH x_15652
    2320 | POP x_15653 -> h_POP x_15653
    2321 | XCH (x_15655, x_15654) -> h_XCH x_15655 x_15654
    2322 | XCHD (x_15657, x_15656) -> h_XCHD x_15657 x_15656
     2281| ADD (x_970, x_969) -> h_ADD x_970 x_969
     2282| ADDC (x_972, x_971) -> h_ADDC x_972 x_971
     2283| SUBB (x_974, x_973) -> h_SUBB x_974 x_973
     2284| INC x_975 -> h_INC x_975
     2285| DEC x_976 -> h_DEC x_976
     2286| MUL (x_978, x_977) -> h_MUL x_978 x_977
     2287| DIV (x_980, x_979) -> h_DIV x_980 x_979
     2288| DA x_981 -> h_DA x_981
     2289| JC x_982 -> h_JC x_982
     2290| JNC x_983 -> h_JNC x_983
     2291| JB (x_985, x_984) -> h_JB x_985 x_984
     2292| JNB (x_987, x_986) -> h_JNB x_987 x_986
     2293| JBC (x_989, x_988) -> h_JBC x_989 x_988
     2294| JZ x_990 -> h_JZ x_990
     2295| JNZ x_991 -> h_JNZ x_991
     2296| CJNE (x_993, x_992) -> h_CJNE x_993 x_992
     2297| DJNZ (x_995, x_994) -> h_DJNZ x_995 x_994
     2298| ANL x_996 -> h_ANL x_996
     2299| ORL x_997 -> h_ORL x_997
     2300| XRL x_998 -> h_XRL x_998
     2301| CLR x_999 -> h_CLR x_999
     2302| CPL x_1000 -> h_CPL x_1000
     2303| RL x_1001 -> h_RL x_1001
     2304| RLC x_1002 -> h_RLC x_1002
     2305| RR x_1003 -> h_RR x_1003
     2306| RRC x_1004 -> h_RRC x_1004
     2307| SWAP x_1005 -> h_SWAP x_1005
     2308| MOV x_1006 -> h_MOV x_1006
     2309| MOVX x_1007 -> h_MOVX x_1007
     2310| SETB x_1008 -> h_SETB x_1008
     2311| PUSH x_1009 -> h_PUSH x_1009
     2312| POP x_1010 -> h_POP x_1010
     2313| XCH (x_1012, x_1011) -> h_XCH x_1012 x_1011
     2314| XCHD (x_1014, x_1013) -> h_XCHD x_1014 x_1013
    23232315| RET -> h_RET
    23242316| RETI -> h_RETI
     
    23612353    'a2 -> 'a2 -> 'a1 preinstruction -> 'a2 **)
    23622354let rec preinstruction_rect_Type2 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP = function
    2363 | ADD (x_15697, x_15696) -> h_ADD x_15697 x_15696
    2364 | ADDC (x_15699, x_15698) -> h_ADDC x_15699 x_15698
    2365 | SUBB (x_15701, x_15700) -> h_SUBB x_15701 x_15700
    2366 | INC x_15702 -> h_INC x_15702
    2367 | DEC x_15703 -> h_DEC x_15703
    2368 | MUL (x_15705, x_15704) -> h_MUL x_15705 x_15704
    2369 | DIV (x_15707, x_15706) -> h_DIV x_15707 x_15706
    2370 | DA x_15708 -> h_DA x_15708
    2371 | JC x_15709 -> h_JC x_15709
    2372 | JNC x_15710 -> h_JNC x_15710
    2373 | JB (x_15712, x_15711) -> h_JB x_15712 x_15711
    2374 | JNB (x_15714, x_15713) -> h_JNB x_15714 x_15713
    2375 | JBC (x_15716, x_15715) -> h_JBC x_15716 x_15715
    2376 | JZ x_15717 -> h_JZ x_15717
    2377 | JNZ x_15718 -> h_JNZ x_15718
    2378 | CJNE (x_15720, x_15719) -> h_CJNE x_15720 x_15719
    2379 | DJNZ (x_15722, x_15721) -> h_DJNZ x_15722 x_15721
    2380 | ANL x_15723 -> h_ANL x_15723
    2381 | ORL x_15724 -> h_ORL x_15724
    2382 | XRL x_15725 -> h_XRL x_15725
    2383 | CLR x_15726 -> h_CLR x_15726
    2384 | CPL x_15727 -> h_CPL x_15727
    2385 | RL x_15728 -> h_RL x_15728
    2386 | RLC x_15729 -> h_RLC x_15729
    2387 | RR x_15730 -> h_RR x_15730
    2388 | RRC x_15731 -> h_RRC x_15731
    2389 | SWAP x_15732 -> h_SWAP x_15732
    2390 | MOV x_15733 -> h_MOV x_15733
    2391 | MOVX x_15734 -> h_MOVX x_15734
    2392 | SETB x_15735 -> h_SETB x_15735
    2393 | PUSH x_15736 -> h_PUSH x_15736
    2394 | POP x_15737 -> h_POP x_15737
    2395 | XCH (x_15739, x_15738) -> h_XCH x_15739 x_15738
    2396 | XCHD (x_15741, x_15740) -> h_XCHD x_15741 x_15740
     2355| ADD (x_1054, x_1053) -> h_ADD x_1054 x_1053
     2356| ADDC (x_1056, x_1055) -> h_ADDC x_1056 x_1055
     2357| SUBB (x_1058, x_1057) -> h_SUBB x_1058 x_1057
     2358| INC x_1059 -> h_INC x_1059
     2359| DEC x_1060 -> h_DEC x_1060
     2360| MUL (x_1062, x_1061) -> h_MUL x_1062 x_1061
     2361| DIV (x_1064, x_1063) -> h_DIV x_1064 x_1063
     2362| DA x_1065 -> h_DA x_1065
     2363| JC x_1066 -> h_JC x_1066
     2364| JNC x_1067 -> h_JNC x_1067
     2365| JB (x_1069, x_1068) -> h_JB x_1069 x_1068
     2366| JNB (x_1071, x_1070) -> h_JNB x_1071 x_1070
     2367| JBC (x_1073, x_1072) -> h_JBC x_1073 x_1072
     2368| JZ x_1074 -> h_JZ x_1074
     2369| JNZ x_1075 -> h_JNZ x_1075
     2370| CJNE (x_1077, x_1076) -> h_CJNE x_1077 x_1076
     2371| DJNZ (x_1079, x_1078) -> h_DJNZ x_1079 x_1078
     2372| ANL x_1080 -> h_ANL x_1080
     2373| ORL x_1081 -> h_ORL x_1081
     2374| XRL x_1082 -> h_XRL x_1082
     2375| CLR x_1083 -> h_CLR x_1083
     2376| CPL x_1084 -> h_CPL x_1084
     2377| RL x_1085 -> h_RL x_1085
     2378| RLC x_1086 -> h_RLC x_1086
     2379| RR x_1087 -> h_RR x_1087
     2380| RRC x_1088 -> h_RRC x_1088
     2381| SWAP x_1089 -> h_SWAP x_1089
     2382| MOV x_1090 -> h_MOV x_1090
     2383| MOVX x_1091 -> h_MOVX x_1091
     2384| SETB x_1092 -> h_SETB x_1092
     2385| PUSH x_1093 -> h_PUSH x_1093
     2386| POP x_1094 -> h_POP x_1094
     2387| XCH (x_1096, x_1095) -> h_XCH x_1096 x_1095
     2388| XCHD (x_1098, x_1097) -> h_XCHD x_1098 x_1097
    23972389| RET -> h_RET
    23982390| RETI -> h_RETI
     
    24352427    'a2 -> 'a2 -> 'a1 preinstruction -> 'a2 **)
    24362428let rec preinstruction_rect_Type1 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP = function
    2437 | ADD (x_15781, x_15780) -> h_ADD x_15781 x_15780
    2438 | ADDC (x_15783, x_15782) -> h_ADDC x_15783 x_15782
    2439 | SUBB (x_15785, x_15784) -> h_SUBB x_15785 x_15784
    2440 | INC x_15786 -> h_INC x_15786
    2441 | DEC x_15787 -> h_DEC x_15787
    2442 | MUL (x_15789, x_15788) -> h_MUL x_15789 x_15788
    2443 | DIV (x_15791, x_15790) -> h_DIV x_15791 x_15790
    2444 | DA x_15792 -> h_DA x_15792
    2445 | JC x_15793 -> h_JC x_15793
    2446 | JNC x_15794 -> h_JNC x_15794
    2447 | JB (x_15796, x_15795) -> h_JB x_15796 x_15795
    2448 | JNB (x_15798, x_15797) -> h_JNB x_15798 x_15797
    2449 | JBC (x_15800, x_15799) -> h_JBC x_15800 x_15799
    2450 | JZ x_15801 -> h_JZ x_15801
    2451 | JNZ x_15802 -> h_JNZ x_15802
    2452 | CJNE (x_15804, x_15803) -> h_CJNE x_15804 x_15803
    2453 | DJNZ (x_15806, x_15805) -> h_DJNZ x_15806 x_15805
    2454 | ANL x_15807 -> h_ANL x_15807
    2455 | ORL x_15808 -> h_ORL x_15808
    2456 | XRL x_15809 -> h_XRL x_15809
    2457 | CLR x_15810 -> h_CLR x_15810
    2458 | CPL x_15811 -> h_CPL x_15811
    2459 | RL x_15812 -> h_RL x_15812
    2460 | RLC x_15813 -> h_RLC x_15813
    2461 | RR x_15814 -> h_RR x_15814
    2462 | RRC x_15815 -> h_RRC x_15815
    2463 | SWAP x_15816 -> h_SWAP x_15816
    2464 | MOV x_15817 -> h_MOV x_15817
    2465 | MOVX x_15818 -> h_MOVX x_15818
    2466 | SETB x_15819 -> h_SETB x_15819
    2467 | PUSH x_15820 -> h_PUSH x_15820
    2468 | POP x_15821 -> h_POP x_15821
    2469 | XCH (x_15823, x_15822) -> h_XCH x_15823 x_15822
    2470 | XCHD (x_15825, x_15824) -> h_XCHD x_15825 x_15824
     2429| ADD (x_1138, x_1137) -> h_ADD x_1138 x_1137
     2430| ADDC (x_1140, x_1139) -> h_ADDC x_1140 x_1139
     2431| SUBB (x_1142, x_1141) -> h_SUBB x_1142 x_1141
     2432| INC x_1143 -> h_INC x_1143
     2433| DEC x_1144 -> h_DEC x_1144
     2434| MUL (x_1146, x_1145) -> h_MUL x_1146 x_1145
     2435| DIV (x_1148, x_1147) -> h_DIV x_1148 x_1147
     2436| DA x_1149 -> h_DA x_1149
     2437| JC x_1150 -> h_JC x_1150
     2438| JNC x_1151 -> h_JNC x_1151
     2439| JB (x_1153, x_1152) -> h_JB x_1153 x_1152
     2440| JNB (x_1155, x_1154) -> h_JNB x_1155 x_1154
     2441| JBC (x_1157, x_1156) -> h_JBC x_1157 x_1156
     2442| JZ x_1158 -> h_JZ x_1158
     2443| JNZ x_1159 -> h_JNZ x_1159
     2444| CJNE (x_1161, x_1160) -> h_CJNE x_1161 x_1160
     2445| DJNZ (x_1163, x_1162) -> h_DJNZ x_1163 x_1162
     2446| ANL x_1164 -> h_ANL x_1164
     2447| ORL x_1165 -> h_ORL x_1165
     2448| XRL x_1166 -> h_XRL x_1166
     2449| CLR x_1167 -> h_CLR x_1167
     2450| CPL x_1168 -> h_CPL x_1168
     2451| RL x_1169 -> h_RL x_1169
     2452| RLC x_1170 -> h_RLC x_1170
     2453| RR x_1171 -> h_RR x_1171
     2454| RRC x_1172 -> h_RRC x_1172
     2455| SWAP x_1173 -> h_SWAP x_1173
     2456| MOV x_1174 -> h_MOV x_1174
     2457| MOVX x_1175 -> h_MOVX x_1175
     2458| SETB x_1176 -> h_SETB x_1176
     2459| PUSH x_1177 -> h_PUSH x_1177
     2460| POP x_1178 -> h_POP x_1178
     2461| XCH (x_1180, x_1179) -> h_XCH x_1180 x_1179
     2462| XCHD (x_1182, x_1181) -> h_XCHD x_1182 x_1181
    24712463| RET -> h_RET
    24722464| RETI -> h_RETI
     
    25092501    'a2 -> 'a2 -> 'a1 preinstruction -> 'a2 **)
    25102502let rec preinstruction_rect_Type0 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP = function
    2511 | ADD (x_15865, x_15864) -> h_ADD x_15865 x_15864
    2512 | ADDC (x_15867, x_15866) -> h_ADDC x_15867 x_15866
    2513 | SUBB (x_15869, x_15868) -> h_SUBB x_15869 x_15868
    2514 | INC x_15870 -> h_INC x_15870
    2515 | DEC x_15871 -> h_DEC x_15871
    2516 | MUL (x_15873, x_15872) -> h_MUL x_15873 x_15872
    2517 | DIV (x_15875, x_15874) -> h_DIV x_15875 x_15874
    2518 | DA x_15876 -> h_DA x_15876
    2519 | JC x_15877 -> h_JC x_15877
    2520 | JNC x_15878 -> h_JNC x_15878
    2521 | JB (x_15880, x_15879) -> h_JB x_15880 x_15879
    2522 | JNB (x_15882, x_15881) -> h_JNB x_15882 x_15881
    2523 | JBC (x_15884, x_15883) -> h_JBC x_15884 x_15883
    2524 | JZ x_15885 -> h_JZ x_15885
    2525 | JNZ x_15886 -> h_JNZ x_15886
    2526 | CJNE (x_15888, x_15887) -> h_CJNE x_15888 x_15887
    2527 | DJNZ (x_15890, x_15889) -> h_DJNZ x_15890 x_15889
    2528 | ANL x_15891 -> h_ANL x_15891
    2529 | ORL x_15892 -> h_ORL x_15892
    2530 | XRL x_15893 -> h_XRL x_15893
    2531 | CLR x_15894 -> h_CLR x_15894
    2532 | CPL x_15895 -> h_CPL x_15895
    2533 | RL x_15896 -> h_RL x_15896
    2534 | RLC x_15897 -> h_RLC x_15897
    2535 | RR x_15898 -> h_RR x_15898
    2536 | RRC x_15899 -> h_RRC x_15899
    2537 | SWAP x_15900 -> h_SWAP x_15900
    2538 | MOV x_15901 -> h_MOV x_15901
    2539 | MOVX x_15902 -> h_MOVX x_15902
    2540 | SETB x_15903 -> h_SETB x_15903
    2541 | PUSH x_15904 -> h_PUSH x_15904
    2542 | POP x_15905 -> h_POP x_15905
    2543 | XCH (x_15907, x_15906) -> h_XCH x_15907 x_15906
    2544 | XCHD (x_15909, x_15908) -> h_XCHD x_15909 x_15908
     2503| ADD (x_1222, x_1221) -> h_ADD x_1222 x_1221
     2504| ADDC (x_1224, x_1223) -> h_ADDC x_1224 x_1223
     2505| SUBB (x_1226, x_1225) -> h_SUBB x_1226 x_1225
     2506| INC x_1227 -> h_INC x_1227
     2507| DEC x_1228 -> h_DEC x_1228
     2508| MUL (x_1230, x_1229) -> h_MUL x_1230 x_1229
     2509| DIV (x_1232, x_1231) -> h_DIV x_1232 x_1231
     2510| DA x_1233 -> h_DA x_1233
     2511| JC x_1234 -> h_JC x_1234
     2512| JNC x_1235 -> h_JNC x_1235
     2513| JB (x_1237, x_1236) -> h_JB x_1237 x_1236
     2514| JNB (x_1239, x_1238) -> h_JNB x_1239 x_1238
     2515| JBC (x_1241, x_1240) -> h_JBC x_1241 x_1240
     2516| JZ x_1242 -> h_JZ x_1242
     2517| JNZ x_1243 -> h_JNZ x_1243
     2518| CJNE (x_1245, x_1244) -> h_CJNE x_1245 x_1244
     2519| DJNZ (x_1247, x_1246) -> h_DJNZ x_1247 x_1246
     2520| ANL x_1248 -> h_ANL x_1248
     2521| ORL x_1249 -> h_ORL x_1249
     2522| XRL x_1250 -> h_XRL x_1250
     2523| CLR x_1251 -> h_CLR x_1251
     2524| CPL x_1252 -> h_CPL x_1252
     2525| RL x_1253 -> h_RL x_1253
     2526| RLC x_1254 -> h_RLC x_1254
     2527| RR x_1255 -> h_RR x_1255
     2528| RRC x_1256 -> h_RRC x_1256
     2529| SWAP x_1257 -> h_SWAP x_1257
     2530| MOV x_1258 -> h_MOV x_1258
     2531| MOVX x_1259 -> h_MOVX x_1259
     2532| SETB x_1260 -> h_SETB x_1260
     2533| PUSH x_1261 -> h_PUSH x_1261
     2534| POP x_1262 -> h_POP x_1262
     2535| XCH (x_1264, x_1263) -> h_XCH x_1264 x_1263
     2536| XCHD (x_1266, x_1265) -> h_XCHD x_1266 x_1265
    25452537| RET -> h_RET
    25462538| RETI -> h_RETI
     
    48664858    preinstruction -> 'a1) -> instruction -> 'a1 **)
    48674859let rec instruction_rect_Type4 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_JMP h_MOVC h_RealInstruction = function
    4868 | ACALL x_16470 -> h_ACALL x_16470
    4869 | LCALL x_16471 -> h_LCALL x_16471
    4870 | AJMP x_16472 -> h_AJMP x_16472
    4871 | LJMP x_16473 -> h_LJMP x_16473
    4872 | SJMP x_16474 -> h_SJMP x_16474
    4873 | JMP x_16475 -> h_JMP x_16475
    4874 | MOVC (x_16477, x_16476) -> h_MOVC x_16477 x_16476
    4875 | RealInstruction x_16478 -> h_RealInstruction x_16478
     4860| ACALL x_1827 -> h_ACALL x_1827
     4861| LCALL x_1828 -> h_LCALL x_1828
     4862| AJMP x_1829 -> h_AJMP x_1829
     4863| LJMP x_1830 -> h_LJMP x_1830
     4864| SJMP x_1831 -> h_SJMP x_1831
     4865| JMP x_1832 -> h_JMP x_1832
     4866| MOVC (x_1834, x_1833) -> h_MOVC x_1834 x_1833
     4867| RealInstruction x_1835 -> h_RealInstruction x_1835
    48764868
    48774869(** val instruction_rect_Type5 :
     
    48824874    preinstruction -> 'a1) -> instruction -> 'a1 **)
    48834875let rec instruction_rect_Type5 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_JMP h_MOVC h_RealInstruction = function
    4884 | ACALL x_16488 -> h_ACALL x_16488
    4885 | LCALL x_16489 -> h_LCALL x_16489
    4886 | AJMP x_16490 -> h_AJMP x_16490
    4887 | LJMP x_16491 -> h_LJMP x_16491
    4888 | SJMP x_16492 -> h_SJMP x_16492
    4889 | JMP x_16493 -> h_JMP x_16493
    4890 | MOVC (x_16495, x_16494) -> h_MOVC x_16495 x_16494
    4891 | RealInstruction x_16496 -> h_RealInstruction x_16496
     4876| ACALL x_1845 -> h_ACALL x_1845
     4877| LCALL x_1846 -> h_LCALL x_1846
     4878| AJMP x_1847 -> h_AJMP x_1847
     4879| LJMP x_1848 -> h_LJMP x_1848
     4880| SJMP x_1849 -> h_SJMP x_1849
     4881| JMP x_1850 -> h_JMP x_1850
     4882| MOVC (x_1852, x_1851) -> h_MOVC x_1852 x_1851
     4883| RealInstruction x_1853 -> h_RealInstruction x_1853
    48924884
    48934885(** val instruction_rect_Type3 :
     
    48984890    preinstruction -> 'a1) -> instruction -> 'a1 **)
    48994891let rec instruction_rect_Type3 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_JMP h_MOVC h_RealInstruction = function
    4900 | ACALL x_16506 -> h_ACALL x_16506
    4901 | LCALL x_16507 -> h_LCALL x_16507
    4902 | AJMP x_16508 -> h_AJMP x_16508
    4903 | LJMP x_16509 -> h_LJMP x_16509
    4904 | SJMP x_16510 -> h_SJMP x_16510
    4905 | JMP x_16511 -> h_JMP x_16511
    4906 | MOVC (x_16513, x_16512) -> h_MOVC x_16513 x_16512
    4907 | RealInstruction x_16514 -> h_RealInstruction x_16514
     4892| ACALL x_1863 -> h_ACALL x_1863
     4893| LCALL x_1864 -> h_LCALL x_1864
     4894| AJMP x_1865 -> h_AJMP x_1865
     4895| LJMP x_1866 -> h_LJMP x_1866
     4896| SJMP x_1867 -> h_SJMP x_1867
     4897| JMP x_1868 -> h_JMP x_1868
     4898| MOVC (x_1870, x_1869) -> h_MOVC x_1870 x_1869
     4899| RealInstruction x_1871 -> h_RealInstruction x_1871
    49084900
    49094901(** val instruction_rect_Type2 :
     
    49144906    preinstruction -> 'a1) -> instruction -> 'a1 **)
    49154907let rec instruction_rect_Type2 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_JMP h_MOVC h_RealInstruction = function
    4916 | ACALL x_16524 -> h_ACALL x_16524
    4917 | LCALL x_16525 -> h_LCALL x_16525
    4918 | AJMP x_16526 -> h_AJMP x_16526
    4919 | LJMP x_16527 -> h_LJMP x_16527
    4920 | SJMP x_16528 -> h_SJMP x_16528
    4921 | JMP x_16529 -> h_JMP x_16529
    4922 | MOVC (x_16531, x_16530) -> h_MOVC x_16531 x_16530
    4923 | RealInstruction x_16532 -> h_RealInstruction x_16532
     4908| ACALL x_1881 -> h_ACALL x_1881
     4909| LCALL x_1882 -> h_LCALL x_1882
     4910| AJMP x_1883 -> h_AJMP x_1883
     4911| LJMP x_1884 -> h_LJMP x_1884
     4912| SJMP x_1885 -> h_SJMP x_1885
     4913| JMP x_1886 -> h_JMP x_1886
     4914| MOVC (x_1888, x_1887) -> h_MOVC x_1888 x_1887
     4915| RealInstruction x_1889 -> h_RealInstruction x_1889
    49244916
    49254917(** val instruction_rect_Type1 :
     
    49304922    preinstruction -> 'a1) -> instruction -> 'a1 **)
    49314923let rec instruction_rect_Type1 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_JMP h_MOVC h_RealInstruction = function
    4932 | ACALL x_16542 -> h_ACALL x_16542
    4933 | LCALL x_16543 -> h_LCALL x_16543
    4934 | AJMP x_16544 -> h_AJMP x_16544
    4935 | LJMP x_16545 -> h_LJMP x_16545
    4936 | SJMP x_16546 -> h_SJMP x_16546
    4937 | JMP x_16547 -> h_JMP x_16547
    4938 | MOVC (x_16549, x_16548) -> h_MOVC x_16549 x_16548
    4939 | RealInstruction x_16550 -> h_RealInstruction x_16550
     4924| ACALL x_1899 -> h_ACALL x_1899
     4925| LCALL x_1900 -> h_LCALL x_1900
     4926| AJMP x_1901 -> h_AJMP x_1901
     4927| LJMP x_1902 -> h_LJMP x_1902
     4928| SJMP x_1903 -> h_SJMP x_1903
     4929| JMP x_1904 -> h_JMP x_1904
     4930| MOVC (x_1906, x_1905) -> h_MOVC x_1906 x_1905
     4931| RealInstruction x_1907 -> h_RealInstruction x_1907
    49404932
    49414933(** val instruction_rect_Type0 :
     
    49464938    preinstruction -> 'a1) -> instruction -> 'a1 **)
    49474939let rec instruction_rect_Type0 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_JMP h_MOVC h_RealInstruction = function
    4948 | ACALL x_16560 -> h_ACALL x_16560
    4949 | LCALL x_16561 -> h_LCALL x_16561
    4950 | AJMP x_16562 -> h_AJMP x_16562
    4951 | LJMP x_16563 -> h_LJMP x_16563
    4952 | SJMP x_16564 -> h_SJMP x_16564
    4953 | JMP x_16565 -> h_JMP x_16565
    4954 | MOVC (x_16567, x_16566) -> h_MOVC x_16567 x_16566
    4955 | RealInstruction x_16568 -> h_RealInstruction x_16568
     4940| ACALL x_1917 -> h_ACALL x_1917
     4941| LCALL x_1918 -> h_LCALL x_1918
     4942| AJMP x_1919 -> h_AJMP x_1919
     4943| LJMP x_1920 -> h_LJMP x_1920
     4944| SJMP x_1921 -> h_SJMP x_1921
     4945| JMP x_1922 -> h_JMP x_1922
     4946| MOVC (x_1924, x_1923) -> h_MOVC x_1924 x_1923
     4947| RealInstruction x_1925 -> h_RealInstruction x_1925
    49564948
    49574949(** val instruction_inv_rect_Type4 :
     
    51655157    -> 'a1 **)
    51665158let rec pseudo_instruction_rect_Type4 h_Instruction h_Comment h_Cost h_Jmp h_Call h_Mov = function
    5167 | Instruction x_16700 -> h_Instruction x_16700
    5168 | Comment x_16701 -> h_Comment x_16701
    5169 | Cost x_16702 -> h_Cost x_16702
    5170 | Jmp x_16703 -> h_Jmp x_16703
    5171 | Call x_16704 -> h_Call x_16704
    5172 | Mov (x_16706, x_16705) -> h_Mov x_16706 x_16705
     5159| Instruction x_2057 -> h_Instruction x_2057
     5160| Comment x_2058 -> h_Comment x_2058
     5161| Cost x_2059 -> h_Cost x_2059
     5162| Jmp x_2060 -> h_Jmp x_2060
     5163| Call x_2061 -> h_Call x_2061
     5164| Mov (x_2063, x_2062) -> h_Mov x_2063 x_2062
    51735165
    51745166(** val pseudo_instruction_rect_Type5 :
     
    51785170    -> 'a1 **)
    51795171let rec pseudo_instruction_rect_Type5 h_Instruction h_Comment h_Cost h_Jmp h_Call h_Mov = function
    5180 | Instruction x_16714 -> h_Instruction x_16714
    5181 | Comment x_16715 -> h_Comment x_16715
    5182 | Cost x_16716 -> h_Cost x_16716
    5183 | Jmp x_16717 -> h_Jmp x_16717
    5184 | Call x_16718 -> h_Call x_16718
    5185 | Mov (x_16720, x_16719) -> h_Mov x_16720 x_16719
     5172| Instruction x_2071 -> h_Instruction x_2071
     5173| Comment x_2072 -> h_Comment x_2072
     5174| Cost x_2073 -> h_Cost x_2073
     5175| Jmp x_2074 -> h_Jmp x_2074
     5176| Call x_2075 -> h_Call x_2075
     5177| Mov (x_2077, x_2076) -> h_Mov x_2077 x_2076
    51865178
    51875179(** val pseudo_instruction_rect_Type3 :
     
    51915183    -> 'a1 **)
    51925184let rec pseudo_instruction_rect_Type3 h_Instruction h_Comment h_Cost h_Jmp h_Call h_Mov = function
    5193 | Instruction x_16728 -> h_Instruction x_16728
    5194 | Comment x_16729 -> h_Comment x_16729
    5195 | Cost x_16730 -> h_Cost x_16730
    5196 | Jmp x_16731 -> h_Jmp x_16731
    5197 | Call x_16732 -> h_Call x_16732
    5198 | Mov (x_16734, x_16733) -> h_Mov x_16734 x_16733
     5185| Instruction x_2085 -> h_Instruction x_2085
     5186| Comment x_2086 -> h_Comment x_2086
     5187| Cost x_2087 -> h_Cost x_2087
     5188| Jmp x_2088 -> h_Jmp x_2088
     5189| Call x_2089 -> h_Call x_2089
     5190| Mov (x_2091, x_2090) -> h_Mov x_2091 x_2090
    51995191
    52005192(** val pseudo_instruction_rect_Type2 :
     
    52045196    -> 'a1 **)
    52055197let rec pseudo_instruction_rect_Type2 h_Instruction h_Comment h_Cost h_Jmp h_Call h_Mov = function
    5206 | Instruction x_16742 -> h_Instruction x_16742
    5207 | Comment x_16743 -> h_Comment x_16743
    5208 | Cost x_16744 -> h_Cost x_16744
    5209 | Jmp x_16745 -> h_Jmp x_16745
    5210 | Call x_16746 -> h_Call x_16746
    5211 | Mov (x_16748, x_16747) -> h_Mov x_16748 x_16747
     5198| Instruction x_2099 -> h_Instruction x_2099
     5199| Comment x_2100 -> h_Comment x_2100
     5200| Cost x_2101 -> h_Cost x_2101
     5201| Jmp x_2102 -> h_Jmp x_2102
     5202| Call x_2103 -> h_Call x_2103
     5203| Mov (x_2105, x_2104) -> h_Mov x_2105 x_2104
    52125204
    52135205(** val pseudo_instruction_rect_Type1 :
     
    52175209    -> 'a1 **)
    52185210let rec pseudo_instruction_rect_Type1 h_Instruction h_Comment h_Cost h_Jmp h_Call h_Mov = function
    5219 | Instruction x_16756 -> h_Instruction x_16756
    5220 | Comment x_16757 -> h_Comment x_16757
    5221 | Cost x_16758 -> h_Cost x_16758
    5222 | Jmp x_16759 -> h_Jmp x_16759
    5223 | Call x_16760 -> h_Call x_16760
    5224 | Mov (x_16762, x_16761) -> h_Mov x_16762 x_16761
     5211| Instruction x_2113 -> h_Instruction x_2113
     5212| Comment x_2114 -> h_Comment x_2114
     5213| Cost x_2115 -> h_Cost x_2115
     5214| Jmp x_2116 -> h_Jmp x_2116
     5215| Call x_2117 -> h_Call x_2117
     5216| Mov (x_2119, x_2118) -> h_Mov x_2119 x_2118
    52255217
    52265218(** val pseudo_instruction_rect_Type0 :
     
    52305222    -> 'a1 **)
    52315223let rec pseudo_instruction_rect_Type0 h_Instruction h_Comment h_Cost h_Jmp h_Call h_Mov = function
    5232 | Instruction x_16770 -> h_Instruction x_16770
    5233 | Comment x_16771 -> h_Comment x_16771
    5234 | Cost x_16772 -> h_Cost x_16772
    5235 | Jmp x_16773 -> h_Jmp x_16773
    5236 | Call x_16774 -> h_Call x_16774
    5237 | Mov (x_16776, x_16775) -> h_Mov x_16776 x_16775
     5224| Instruction x_2127 -> h_Instruction x_2127
     5225| Comment x_2128 -> h_Comment x_2128
     5226| Cost x_2129 -> h_Cost x_2129
     5227| Jmp x_2130 -> h_Jmp x_2130
     5228| Call x_2131 -> h_Call x_2131
     5229| Mov (x_2133, x_2132) -> h_Mov x_2133 x_2132
    52385230
    52395231(** val pseudo_instruction_inv_rect_Type4 :
  • extracted/aSM.mli

    r2601 r2649  
    11open Preamble
    22
    3 open Char
     3open Extranat
     4
     5open Vector
     6
     7open Div_and_mod
     8
     9open Jmeq
     10
     11open Russell
     12
     13open Types
     14
     15open List
     16
     17open Util
     18
     19open FoldStuff
     20
     21open Bool
     22
     23open Hints_declaration
     24
     25open Core_notation
     26
     27open Pts
     28
     29open Logic
     30
     31open Relations
     32
     33open Nat
     34
     35open BitVector
     36
     37open Proper
     38
     39open PositiveMap
     40
     41open Deqsets
     42
     43open ErrorMessages
     44
     45open PreIdentifiers
     46
     47open Errors
     48
     49open Extralib
     50
     51open Setoids
     52
     53open Monad
     54
     55open Option
     56
     57open Lists
     58
     59open Positive
     60
     61open Identifiers
     62
     63open Arithmetic
     64
     65open Integers
     66
     67open AST
     68
     69open CostLabel
     70
     71open LabelledObjects
    472
    573open String
    674
    7 open Extranat
    8 
    9 open Vector
    10 
    11 open Div_and_mod
    12 
    13 open Jmeq
    14 
    15 open Russell
    16 
    17 open Types
    18 
    19 open List
    20 
    21 open Util
    22 
    23 open FoldStuff
    24 
    25 open Bool
    26 
    27 open Hints_declaration
    28 
    29 open Core_notation
    30 
    31 open Pts
    32 
    33 open Logic
    34 
    35 open Relations
    36 
    37 open Nat
    38 
    39 open BitVector
    40 
    41 open Proper
    42 
    43 open PositiveMap
    44 
    45 open Deqsets
    46 
    47 open PreIdentifiers
    48 
    49 open Errors
    50 
    51 open Extralib
    52 
    53 open Setoids
    54 
    55 open Monad
    56 
    57 open Option
    58 
    59 open Lists
    60 
    61 open Positive
    62 
    63 open Identifiers
    64 
    65 open Coqlib
    66 
    67 open Floats
    68 
    69 open Arithmetic
    70 
    71 open Integers
    72 
    73 open AST
    74 
    75 open CostLabel
    76 
    77 open LabelledObjects
    78 
    79 val aSMTag : String.string
    80 
    8175type identifier0 = PreIdentifiers.identifier
    8276
    83 val toASM_ident : String.string -> PreIdentifiers.identifier -> identifier0
     77val toASM_ident :
     78  PreIdentifiers.identifierTag -> PreIdentifiers.identifier -> identifier0
    8479
    8580type addressing_mode =
  • extracted/aSMCosts.ml

    r2601 r2649  
    11open Preamble
    22
     3open String
     4
    35open LabelledObjects
    46
    5 open Coqlib
    6 
    7 open Floats
    8 
    97open Arithmetic
    108
     
    2119open Deqsets
    2220
     21open ErrorMessages
     22
    2323open PreIdentifiers
    2424
     
    3838
    3939open Identifiers
    40 
    41 open Char
    42 
    43 open String
    4440
    4541open Extranat
     
    188184   | Nat.S program_size' ->
    189185     (fun _ ->
    190        (let { Types.fst = eta27925; Types.snd = ticks } =
     186       (let { Types.fst = eta24805; Types.snd = ticks } =
    191187          Fetch.fetch code_memory' program_counter'
    192188        in
    193189       let { Types.fst = instruction0; Types.snd = program_counter'' } =
    194          eta27925
     190         eta24805
    195191       in
    196192       (fun _ ->
  • extracted/aSMCosts.mli

    r2601 r2649  
    11open Preamble
    22
     3open String
     4
    35open LabelledObjects
    4 
    5 open Coqlib
    6 
    7 open Floats
    86
    97open Arithmetic
     
    2018
    2119open Deqsets
     20
     21open ErrorMessages
    2222
    2323open PreIdentifiers
     
    3838
    3939open Identifiers
    40 
    41 open Char
    42 
    43 open String
    4440
    4541open Extranat
  • extracted/aSMCostsSplit.ml

    r2601 r2649  
    1919open Fetch
    2020
     21open String
     22
    2123open LabelledObjects
    22 
    23 open Coqlib
    24 
    25 open Floats
    2624
    2725open Arithmetic
     
    3836
    3937open Deqsets
     38
     39open ErrorMessages
    4040
    4141open PreIdentifiers
     
    5656
    5757open Identifiers
    58 
    59 open Char
    60 
    61 open String
    6258
    6359open Extranat
     
    107103let rec traverse_code_internal code_memory cost_labels program_counter0 program_size =
    108104  (match program_size with
    109    | Nat.O -> (fun _ -> Identifiers.empty_map CostLabel.costTag)
     105   | Nat.O -> (fun _ -> Identifiers.empty_map PreIdentifiers.CostTag)
    110106   | Nat.S program_size' ->
    111107     (fun _ ->
     
    133129              ASMCosts.block_cost code_memory program_counter0 cost_labels
    134130            in
    135             Identifiers.add CostLabel.costTag (Types.pi1 cost_mapping) lbl
    136               (Types.pi1 cost))) __)) __
     131            Identifiers.add PreIdentifiers.CostTag (Types.pi1 cost_mapping)
     132              lbl (Types.pi1 cost))) __)) __
    137133
    138134(** val traverse_code :
     
    164160  let cost_map = compute_costs p.Types.fst p.Types.snd in
    165161  (fun l_sig ->
    166   Identifiers.lookup_present CostLabel.costTag (Types.pi1 cost_map)
     162  Identifiers.lookup_present PreIdentifiers.CostTag (Types.pi1 cost_map)
    167163    (StructuredTraces.as_cost_get_label
    168164      (ASMCosts.aSM_abstract_status (Fetch.load_code_memory p.Types.fst)
  • extracted/aSMCostsSplit.mli

    r2601 r2649  
    1919open Fetch
    2020
     21open String
     22
    2123open LabelledObjects
    22 
    23 open Coqlib
    24 
    25 open Floats
    2624
    2725open Arithmetic
     
    3836
    3937open Deqsets
     38
     39open ErrorMessages
    4040
    4141open PreIdentifiers
     
    5656
    5757open Identifiers
    58 
    59 open Char
    60 
    61 open String
    6258
    6359open Extranat
  • extracted/aST.ml

    r2601 r2649  
    1313open Arithmetic
    1414
    15 open Char
    16 
    17 open String
    18 
    1915open Vector
    2016
     
    4339open Integers
    4440
    45 open Coqlib
    46 
    47 open Floats
    48 
    4941open Proper
    5042
     
    5345open Deqsets
    5446
     47open ErrorMessages
     48
    5549open PreIdentifiers
    5650
     
    7064
    7165open Identifiers
    72 
    73 (** val symbolTag : String.string **)
    74 let symbolTag = "symbolTag"
    75   (* failwith "AXIOM TO BE REALIZED" *)
    7666
    7767type ident = PreIdentifiers.identifier
     
    7969(** val ident_eq : ident -> ident -> (__, __) Types.sum **)
    8070let ident_eq =
    81   Identifiers.identifier_eq symbolTag
     71  Identifiers.identifier_eq PreIdentifiers.SymbolTag
    8272
    8373(** val ident_of_nat : Nat.nat -> ident **)
    8474let ident_of_nat =
    85   Identifiers.identifier_of_nat symbolTag
     75  Identifiers.identifier_of_nat PreIdentifiers.SymbolTag
    8676
    8777type region =
     
    426416    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    427417let rec typ_rect_Type4 h_ASTint h_ASTptr = function
    428 | ASTint (x_2531, x_2530) -> h_ASTint x_2531 x_2530
     418| ASTint (x_1373, x_1372) -> h_ASTint x_1373 x_1372
    429419| ASTptr -> h_ASTptr
    430420
     
    432422    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    433423let rec typ_rect_Type5 h_ASTint h_ASTptr = function
    434 | ASTint (x_2536, x_2535) -> h_ASTint x_2536 x_2535
     424| ASTint (x_1378, x_1377) -> h_ASTint x_1378 x_1377
    435425| ASTptr -> h_ASTptr
    436426
     
    438428    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    439429let rec typ_rect_Type3 h_ASTint h_ASTptr = function
    440 | ASTint (x_2541, x_2540) -> h_ASTint x_2541 x_2540
     430| ASTint (x_1383, x_1382) -> h_ASTint x_1383 x_1382
    441431| ASTptr -> h_ASTptr
    442432
     
    444434    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    445435let rec typ_rect_Type2 h_ASTint h_ASTptr = function
    446 | ASTint (x_2546, x_2545) -> h_ASTint x_2546 x_2545
     436| ASTint (x_1388, x_1387) -> h_ASTint x_1388 x_1387
    447437| ASTptr -> h_ASTptr
    448438
     
    450440    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    451441let rec typ_rect_Type1 h_ASTint h_ASTptr = function
    452 | ASTint (x_2551, x_2550) -> h_ASTint x_2551 x_2550
     442| ASTint (x_1393, x_1392) -> h_ASTint x_1393 x_1392
    453443| ASTptr -> h_ASTptr
    454444
     
    456446    (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **)
    457447let rec typ_rect_Type0 h_ASTint h_ASTptr = function
    458 | ASTint (x_2556, x_2555) -> h_ASTint x_2556 x_2555
     448| ASTint (x_1398, x_1397) -> h_ASTint x_1398 x_1397
    459449| ASTptr -> h_ASTptr
    460450
     
    885875(** val signature_rect_Type4 :
    886876    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    887 let rec signature_rect_Type4 h_mk_signature x_2591 =
    888   let { sig_args = sig_args0; sig_res = sig_res0 } = x_2591 in
     877let rec signature_rect_Type4 h_mk_signature x_1433 =
     878  let { sig_args = sig_args0; sig_res = sig_res0 } = x_1433 in
    889879  h_mk_signature sig_args0 sig_res0
    890880
    891881(** val signature_rect_Type5 :
    892882    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    893 let rec signature_rect_Type5 h_mk_signature x_2593 =
    894   let { sig_args = sig_args0; sig_res = sig_res0 } = x_2593 in
     883let rec signature_rect_Type5 h_mk_signature x_1435 =
     884  let { sig_args = sig_args0; sig_res = sig_res0 } = x_1435 in
    895885  h_mk_signature sig_args0 sig_res0
    896886
    897887(** val signature_rect_Type3 :
    898888    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    899 let rec signature_rect_Type3 h_mk_signature x_2595 =
    900   let { sig_args = sig_args0; sig_res = sig_res0 } = x_2595 in
     889let rec signature_rect_Type3 h_mk_signature x_1437 =
     890  let { sig_args = sig_args0; sig_res = sig_res0 } = x_1437 in
    901891  h_mk_signature sig_args0 sig_res0
    902892
    903893(** val signature_rect_Type2 :
    904894    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    905 let rec signature_rect_Type2 h_mk_signature x_2597 =
    906   let { sig_args = sig_args0; sig_res = sig_res0 } = x_2597 in
     895let rec signature_rect_Type2 h_mk_signature x_1439 =
     896  let { sig_args = sig_args0; sig_res = sig_res0 } = x_1439 in
    907897  h_mk_signature sig_args0 sig_res0
    908898
    909899(** val signature_rect_Type1 :
    910900    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    911 let rec signature_rect_Type1 h_mk_signature x_2599 =
    912   let { sig_args = sig_args0; sig_res = sig_res0 } = x_2599 in
     901let rec signature_rect_Type1 h_mk_signature x_1441 =
     902  let { sig_args = sig_args0; sig_res = sig_res0 } = x_1441 in
    913903  h_mk_signature sig_args0 sig_res0
    914904
    915905(** val signature_rect_Type0 :
    916906    (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **)
    917 let rec signature_rect_Type0 h_mk_signature x_2601 =
    918   let { sig_args = sig_args0; sig_res = sig_res0 } = x_2601 in
     907let rec signature_rect_Type0 h_mk_signature x_1443 =
     908  let { sig_args = sig_args0; sig_res = sig_res0 } = x_1443 in
    919909  h_mk_signature sig_args0 sig_res0
    920910
     
    984974| Init_int16 of bvint
    985975| Init_int32 of bvint
    986 | Init_float32 of Floats.float
    987 | Init_float64 of Floats.float
    988976| Init_space of Nat.nat
    989977| Init_null
     
    991979
    992980(** val init_data_rect_Type4 :
    993     (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Floats.float ->
    994     'a1) -> (Floats.float -> 'a1) -> (Nat.nat -> 'a1) -> 'a1 -> (ident ->
    995     Nat.nat -> 'a1) -> init_data -> 'a1 **)
    996 let rec init_data_rect_Type4 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_float32 h_Init_float64 h_Init_space h_Init_null h_Init_addrof = function
    997 | Init_int8 x_2633 -> h_Init_int8 x_2633
    998 | Init_int16 x_2634 -> h_Init_int16 x_2634
    999 | Init_int32 x_2635 -> h_Init_int32 x_2635
    1000 | Init_float32 x_2636 -> h_Init_float32 x_2636
    1001 | Init_float64 x_2637 -> h_Init_float64 x_2637
    1002 | Init_space x_2638 -> h_Init_space x_2638
     981    (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     982    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
     983let rec init_data_rect_Type4 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
     984| Init_int8 x_1471 -> h_Init_int8 x_1471
     985| Init_int16 x_1472 -> h_Init_int16 x_1472
     986| Init_int32 x_1473 -> h_Init_int32 x_1473
     987| Init_space x_1474 -> h_Init_space x_1474
    1003988| Init_null -> h_Init_null
    1004 | Init_addrof (x_2640, x_2639) -> h_Init_addrof x_2640 x_2639
     989| Init_addrof (x_1476, x_1475) -> h_Init_addrof x_1476 x_1475
    1005990
    1006991(** val init_data_rect_Type5 :
    1007     (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Floats.float ->
    1008     'a1) -> (Floats.float -> 'a1) -> (Nat.nat -> 'a1) -> 'a1 -> (ident ->
    1009     Nat.nat -> 'a1) -> init_data -> 'a1 **)
    1010 let rec init_data_rect_Type5 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_float32 h_Init_float64 h_Init_space h_Init_null h_Init_addrof = function
    1011 | Init_int8 x_2650 -> h_Init_int8 x_2650
    1012 | Init_int16 x_2651 -> h_Init_int16 x_2651
    1013 | Init_int32 x_2652 -> h_Init_int32 x_2652
    1014 | Init_float32 x_2653 -> h_Init_float32 x_2653
    1015 | Init_float64 x_2654 -> h_Init_float64 x_2654
    1016 | Init_space x_2655 -> h_Init_space x_2655
     992    (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     993    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
     994let rec init_data_rect_Type5 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
     995| Init_int8 x_1484 -> h_Init_int8 x_1484
     996| Init_int16 x_1485 -> h_Init_int16 x_1485
     997| Init_int32 x_1486 -> h_Init_int32 x_1486
     998| Init_space x_1487 -> h_Init_space x_1487
    1017999| Init_null -> h_Init_null
    1018 | Init_addrof (x_2657, x_2656) -> h_Init_addrof x_2657 x_2656
     1000| Init_addrof (x_1489, x_1488) -> h_Init_addrof x_1489 x_1488
    10191001
    10201002(** val init_data_rect_Type3 :
    1021     (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Floats.float ->
    1022     'a1) -> (Floats.float -> 'a1) -> (Nat.nat -> 'a1) -> 'a1 -> (ident ->
    1023     Nat.nat -> 'a1) -> init_data -> 'a1 **)
    1024 let rec init_data_rect_Type3 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_float32 h_Init_float64 h_Init_space h_Init_null h_Init_addrof = function
    1025 | Init_int8 x_2667 -> h_Init_int8 x_2667
    1026 | Init_int16 x_2668 -> h_Init_int16 x_2668
    1027 | Init_int32 x_2669 -> h_Init_int32 x_2669
    1028 | Init_float32 x_2670 -> h_Init_float32 x_2670
    1029 | Init_float64 x_2671 -> h_Init_float64 x_2671
    1030 | Init_space x_2672 -> h_Init_space x_2672
     1003    (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     1004    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
     1005let rec init_data_rect_Type3 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
     1006| Init_int8 x_1497 -> h_Init_int8 x_1497
     1007| Init_int16 x_1498 -> h_Init_int16 x_1498
     1008| Init_int32 x_1499 -> h_Init_int32 x_1499
     1009| Init_space x_1500 -> h_Init_space x_1500
    10311010| Init_null -> h_Init_null
    1032 | Init_addrof (x_2674, x_2673) -> h_Init_addrof x_2674 x_2673
     1011| Init_addrof (x_1502, x_1501) -> h_Init_addrof x_1502 x_1501
    10331012
    10341013(** val init_data_rect_Type2 :
    1035     (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Floats.float ->
    1036     'a1) -> (Floats.float -> 'a1) -> (Nat.nat -> 'a1) -> 'a1 -> (ident ->
    1037     Nat.nat -> 'a1) -> init_data -> 'a1 **)
    1038 let rec init_data_rect_Type2 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_float32 h_Init_float64 h_Init_space h_Init_null h_Init_addrof = function
    1039 | Init_int8 x_2684 -> h_Init_int8 x_2684
    1040 | Init_int16 x_2685 -> h_Init_int16 x_2685
    1041 | Init_int32 x_2686 -> h_Init_int32 x_2686
    1042 | Init_float32 x_2687 -> h_Init_float32 x_2687
    1043 | Init_float64 x_2688 -> h_Init_float64 x_2688
    1044 | Init_space x_2689 -> h_Init_space x_2689
     1014    (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     1015    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
     1016let rec init_data_rect_Type2 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
     1017| Init_int8 x_1510 -> h_Init_int8 x_1510
     1018| Init_int16 x_1511 -> h_Init_int16 x_1511
     1019| Init_int32 x_1512 -> h_Init_int32 x_1512
     1020| Init_space x_1513 -> h_Init_space x_1513
    10451021| Init_null -> h_Init_null
    1046 | Init_addrof (x_2691, x_2690) -> h_Init_addrof x_2691 x_2690
     1022| Init_addrof (x_1515, x_1514) -> h_Init_addrof x_1515 x_1514
    10471023
    10481024(** val init_data_rect_Type1 :
    1049     (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Floats.float ->
    1050     'a1) -> (Floats.float -> 'a1) -> (Nat.nat -> 'a1) -> 'a1 -> (ident ->
    1051     Nat.nat -> 'a1) -> init_data -> 'a1 **)
    1052 let rec init_data_rect_Type1 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_float32 h_Init_float64 h_Init_space h_Init_null h_Init_addrof = function
    1053 | Init_int8 x_2701 -> h_Init_int8 x_2701
    1054 | Init_int16 x_2702 -> h_Init_int16 x_2702
    1055 | Init_int32 x_2703 -> h_Init_int32 x_2703
    1056 | Init_float32 x_2704 -> h_Init_float32 x_2704
    1057 | Init_float64 x_2705 -> h_Init_float64 x_2705
    1058 | Init_space x_2706 -> h_Init_space x_2706
     1025    (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     1026    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
     1027let rec init_data_rect_Type1 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
     1028| Init_int8 x_1523 -> h_Init_int8 x_1523
     1029| Init_int16 x_1524 -> h_Init_int16 x_1524
     1030| Init_int32 x_1525 -> h_Init_int32 x_1525
     1031| Init_space x_1526 -> h_Init_space x_1526
    10591032| Init_null -> h_Init_null
    1060 | Init_addrof (x_2708, x_2707) -> h_Init_addrof x_2708 x_2707
     1033| Init_addrof (x_1528, x_1527) -> h_Init_addrof x_1528 x_1527
    10611034
    10621035(** val init_data_rect_Type0 :
    1063     (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Floats.float ->
    1064     'a1) -> (Floats.float -> 'a1) -> (Nat.nat -> 'a1) -> 'a1 -> (ident ->
    1065     Nat.nat -> 'a1) -> init_data -> 'a1 **)
    1066 let rec init_data_rect_Type0 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_float32 h_Init_float64 h_Init_space h_Init_null h_Init_addrof = function
    1067 | Init_int8 x_2718 -> h_Init_int8 x_2718
    1068 | Init_int16 x_2719 -> h_Init_int16 x_2719
    1069 | Init_int32 x_2720 -> h_Init_int32 x_2720
    1070 | Init_float32 x_2721 -> h_Init_float32 x_2721
    1071 | Init_float64 x_2722 -> h_Init_float64 x_2722
    1072 | Init_space x_2723 -> h_Init_space x_2723
     1036    (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     1037    'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)
     1038let rec init_data_rect_Type0 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function
     1039| Init_int8 x_1536 -> h_Init_int8 x_1536
     1040| Init_int16 x_1537 -> h_Init_int16 x_1537
     1041| Init_int32 x_1538 -> h_Init_int32 x_1538
     1042| Init_space x_1539 -> h_Init_space x_1539
    10731043| Init_null -> h_Init_null
    1074 | Init_addrof (x_2725, x_2724) -> h_Init_addrof x_2725 x_2724
     1044| Init_addrof (x_1541, x_1540) -> h_Init_addrof x_1541 x_1540
    10751045
    10761046(** val init_data_inv_rect_Type4 :
    10771047    init_data -> (bvint -> __ -> 'a1) -> (bvint -> __ -> 'a1) -> (bvint -> __
    1078     -> 'a1) -> (Floats.float -> __ -> 'a1) -> (Floats.float -> __ -> 'a1) ->
    1079     (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __ -> 'a1)
    1080     -> 'a1 **)
    1081 let init_data_inv_rect_Type4 hterm h1 h2 h3 h4 h5 h6 h7 h8 =
    1082   let hcut = init_data_rect_Type4 h1 h2 h3 h4 h5 h6 h7 h8 hterm in hcut __
     1048    -> 'a1) -> (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat ->
     1049    __ -> 'a1) -> 'a1 **)
     1050let init_data_inv_rect_Type4 hterm h1 h2 h3 h4 h5 h6 =
     1051  let hcut = init_data_rect_Type4 h1 h2 h3 h4 h5 h6 hterm in hcut __
    10831052
    10841053(** val init_data_inv_rect_Type3 :
    10851054    init_data -> (bvint -> __ -> 'a1) -> (bvint -> __ -> 'a1) -> (bvint -> __
    1086     -> 'a1) -> (Floats.float -> __ -> 'a1) -> (Floats.float -> __ -> 'a1) ->
    1087     (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __ -> 'a1)
    1088     -> 'a1 **)
    1089 let init_data_inv_rect_Type3 hterm h1 h2 h3 h4 h5 h6 h7 h8 =
    1090   let hcut = init_data_rect_Type3 h1 h2 h3 h4 h5 h6 h7 h8 hterm in hcut __
     1055    -> 'a1) -> (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat ->
     1056    __ -> 'a1) -> 'a1 **)
     1057let init_data_inv_rect_Type3 hterm h1 h2 h3 h4 h5 h6 =
     1058  let hcut = init_data_rect_Type3 h1 h2 h3 h4 h5 h6 hterm in hcut __
    10911059
    10921060(** val init_data_inv_rect_Type2 :
    10931061    init_data -> (bvint -> __ -> 'a1) -> (bvint -> __ -> 'a1) -> (bvint -> __
    1094     -> 'a1) -> (Floats.float -> __ -> 'a1) -> (Floats.float -> __ -> 'a1) ->
    1095     (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __ -> 'a1)
    1096     -> 'a1 **)
    1097 let init_data_inv_rect_Type2 hterm h1 h2 h3 h4 h5 h6 h7 h8 =
    1098   let hcut = init_data_rect_Type2 h1 h2 h3 h4 h5 h6 h7 h8 hterm in hcut __
     1062    -> 'a1) -> (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat ->
     1063    __ -> 'a1) -> 'a1 **)
     1064let init_data_inv_rect_Type2 hterm h1 h2 h3 h4 h5 h6 =
     1065  let hcut = init_data_rect_Type2 h1 h2 h3 h4 h5 h6 hterm in hcut __
    10991066
    11001067(** val init_data_inv_rect_Type1 :
    11011068    init_data -> (bvint -> __ -> 'a1) -> (bvint -> __ -> 'a1) -> (bvint -> __
    1102     -> 'a1) -> (Floats.float -> __ -> 'a1) -> (Floats.float -> __ -> 'a1) ->
    1103     (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __ -> 'a1)
    1104     -> 'a1 **)
    1105 let init_data_inv_rect_Type1 hterm h1 h2 h3 h4 h5 h6 h7 h8 =
    1106   let hcut = init_data_rect_Type1 h1 h2 h3 h4 h5 h6 h7 h8 hterm in hcut __
     1069    -> 'a1) -> (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat ->
     1070    __ -> 'a1) -> 'a1 **)
     1071let init_data_inv_rect_Type1 hterm h1 h2 h3 h4 h5 h6 =
     1072  let hcut = init_data_rect_Type1 h1 h2 h3 h4 h5 h6 hterm in hcut __
    11071073
    11081074(** val init_data_inv_rect_Type0 :
    11091075    init_data -> (bvint -> __ -> 'a1) -> (bvint -> __ -> 'a1) -> (bvint -> __
    1110     -> 'a1) -> (Floats.float -> __ -> 'a1) -> (Floats.float -> __ -> 'a1) ->
    1111     (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __ -> 'a1)
    1112     -> 'a1 **)
    1113 let init_data_inv_rect_Type0 hterm h1 h2 h3 h4 h5 h6 h7 h8 =
    1114   let hcut = init_data_rect_Type0 h1 h2 h3 h4 h5 h6 h7 h8 hterm in hcut __
     1076    -> 'a1) -> (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat ->
     1077    __ -> 'a1) -> 'a1 **)
     1078let init_data_inv_rect_Type0 hterm h1 h2 h3 h4 h5 h6 =
     1079  let hcut = init_data_rect_Type0 h1 h2 h3 h4 h5 h6 hterm in hcut __
    11151080
    11161081(** val init_data_discr : init_data -> init_data -> __ **)
     
    11211086     | Init_int16 a0 -> Obj.magic (fun _ dH -> dH __)
    11221087     | Init_int32 a0 -> Obj.magic (fun _ dH -> dH __)
    1123      | Init_float32 a0 -> Obj.magic (fun _ dH -> dH __)
    1124      | Init_float64 a0 -> Obj.magic (fun _ dH -> dH __)
    11251088     | Init_space a0 -> Obj.magic (fun _ dH -> dH __)
    11261089     | Init_null -> Obj.magic (fun _ dH -> dH)
     
    11341097     | Init_int16 a0 -> Obj.magic (fun _ dH -> dH __)
    11351098     | Init_int32 a0 -> Obj.magic (fun _ dH -> dH __)
    1136      | Init_float32 a0 -> Obj.magic (fun _ dH -> dH __)
    1137      | Init_float64 a0 -> Obj.magic (fun _ dH -> dH __)
    11381099     | Init_space a0 -> Obj.magic (fun _ dH -> dH __)
    11391100     | Init_null -> Obj.magic (fun _ dH -> dH)
     
    11481109    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11491110    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1150 let rec program_rect_Type4 h_mk_program x_2838 =
     1111let rec program_rect_Type4 h_mk_program x_1628 =
    11511112  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1152     prog_main0 } = x_2838
     1113    prog_main0 } = x_1628
    11531114  in
    11541115  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11571118    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11581119    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1159 let rec program_rect_Type5 h_mk_program x_2840 =
     1120let rec program_rect_Type5 h_mk_program x_1630 =
    11601121  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1161     prog_main0 } = x_2840
     1122    prog_main0 } = x_1630
    11621123  in
    11631124  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11661127    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11671128    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1168 let rec program_rect_Type3 h_mk_program x_2842 =
     1129let rec program_rect_Type3 h_mk_program x_1632 =
    11691130  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1170     prog_main0 } = x_2842
     1131    prog_main0 } = x_1632
    11711132  in
    11721133  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11751136    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11761137    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1177 let rec program_rect_Type2 h_mk_program x_2844 =
     1138let rec program_rect_Type2 h_mk_program x_1634 =
    11781139  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1179     prog_main0 } = x_2844
     1140    prog_main0 } = x_1634
    11801141  in
    11811142  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11841145    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11851146    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1186 let rec program_rect_Type1 h_mk_program x_2846 =
     1147let rec program_rect_Type1 h_mk_program x_1636 =
    11871148  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1188     prog_main0 } = x_2846
     1149    prog_main0 } = x_1636
    11891150  in
    11901151  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    11931154    (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1)
    11941155    Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **)
    1195 let rec program_rect_Type0 h_mk_program x_2848 =
     1156let rec program_rect_Type0 h_mk_program x_1638 =
    11961157  let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main =
    1197     prog_main0 } = x_2848
     1158    prog_main0 } = x_1638
    11981159  in
    11991160  h_mk_program prog_vars0 prog_funct0 prog_main0
     
    12861247
    12871248(** val transf_program_gen :
    1288     String.string -> Identifiers.universe -> (Identifiers.universe -> 'a1 ->
    1289     ('a2, Identifiers.universe) Types.prod) -> (ident, 'a1) Types.prod
    1290     List.list -> ((ident, 'a2) Types.prod List.list, Identifiers.universe)
    1291     Types.prod **)
     1249    PreIdentifiers.identifierTag -> Identifiers.universe ->
     1250    (Identifiers.universe -> 'a1 -> ('a2, Identifiers.universe) Types.prod)
     1251    -> (ident, 'a1) Types.prod List.list -> ((ident, 'a2) Types.prod
     1252    List.list, Identifiers.universe) Types.prod **)
    12921253let transf_program_gen tag gen transf l =
    12931254  List.foldr (fun id_fn bs_gen ->
     
    13001261
    13011262(** val transform_program_gen :
    1302     String.string -> Identifiers.universe -> ('a1, 'a3) program -> (ident
    1303     List.list -> Identifiers.universe -> 'a1 -> ('a2, Identifiers.universe)
    1304     Types.prod) -> (('a2, 'a3) program, Identifiers.universe) Types.prod **)
     1263    PreIdentifiers.identifierTag -> Identifiers.universe -> ('a1, 'a3)
     1264    program -> (ident List.list -> Identifiers.universe -> 'a1 -> ('a2,
     1265    Identifiers.universe) Types.prod) -> (('a2, 'a3) program,
     1266    Identifiers.universe) Types.prod **)
    13051267let transform_program_gen tag gen p trans =
    13061268  let fsg =
     
    15171479(** val external_function_rect_Type4 :
    15181480    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1519 let rec external_function_rect_Type4 h_mk_external_function x_3052 =
    1520   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3052 in
     1481let rec external_function_rect_Type4 h_mk_external_function x_1842 =
     1482  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1842 in
    15211483  h_mk_external_function ef_id0 ef_sig0
    15221484
    15231485(** val external_function_rect_Type5 :
    15241486    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1525 let rec external_function_rect_Type5 h_mk_external_function x_3054 =
    1526   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3054 in
     1487let rec external_function_rect_Type5 h_mk_external_function x_1844 =
     1488  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1844 in
    15271489  h_mk_external_function ef_id0 ef_sig0
    15281490
    15291491(** val external_function_rect_Type3 :
    15301492    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1531 let rec external_function_rect_Type3 h_mk_external_function x_3056 =
    1532   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3056 in
     1493let rec external_function_rect_Type3 h_mk_external_function x_1846 =
     1494  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1846 in
    15331495  h_mk_external_function ef_id0 ef_sig0
    15341496
    15351497(** val external_function_rect_Type2 :
    15361498    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1537 let rec external_function_rect_Type2 h_mk_external_function x_3058 =
    1538   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3058 in
     1499let rec external_function_rect_Type2 h_mk_external_function x_1848 =
     1500  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1848 in
    15391501  h_mk_external_function ef_id0 ef_sig0
    15401502
    15411503(** val external_function_rect_Type1 :
    15421504    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1543 let rec external_function_rect_Type1 h_mk_external_function x_3060 =
    1544   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3060 in
     1505let rec external_function_rect_Type1 h_mk_external_function x_1850 =
     1506  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1850 in
    15451507  h_mk_external_function ef_id0 ef_sig0
    15461508
    15471509(** val external_function_rect_Type0 :
    15481510    (ident -> signature -> 'a1) -> external_function -> 'a1 **)
    1549 let rec external_function_rect_Type0 h_mk_external_function x_3062 =
    1550   let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_3062 in
     1511let rec external_function_rect_Type0 h_mk_external_function x_1852 =
     1512  let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_1852 in
    15511513  h_mk_external_function ef_id0 ef_sig0
    15521514
     
    16151577    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16161578let rec fundef_rect_Type4 h_Internal h_External = function
    1617 | Internal x_3082 -> h_Internal x_3082
    1618 | External x_3083 -> h_External x_3083
     1579| Internal x_1872 -> h_Internal x_1872
     1580| External x_1873 -> h_External x_1873
    16191581
    16201582(** val fundef_rect_Type5 :
    16211583    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16221584let rec fundef_rect_Type5 h_Internal h_External = function
    1623 | Internal x_3087 -> h_Internal x_3087
    1624 | External x_3088 -> h_External x_3088
     1585| Internal x_1877 -> h_Internal x_1877
     1586| External x_1878 -> h_External x_1878
    16251587
    16261588(** val fundef_rect_Type3 :
    16271589    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16281590let rec fundef_rect_Type3 h_Internal h_External = function
    1629 | Internal x_3092 -> h_Internal x_3092
    1630 | External x_3093 -> h_External x_3093
     1591| Internal x_1882 -> h_Internal x_1882
     1592| External x_1883 -> h_External x_1883
    16311593
    16321594(** val fundef_rect_Type2 :
    16331595    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16341596let rec fundef_rect_Type2 h_Internal h_External = function
    1635 | Internal x_3097 -> h_Internal x_3097
    1636 | External x_3098 -> h_External x_3098
     1597| Internal x_1887 -> h_Internal x_1887
     1598| External x_1888 -> h_External x_1888
    16371599
    16381600(** val fundef_rect_Type1 :
    16391601    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16401602let rec fundef_rect_Type1 h_Internal h_External = function
    1641 | Internal x_3102 -> h_Internal x_3102
    1642 | External x_3103 -> h_External x_3103
     1603| Internal x_1892 -> h_Internal x_1892
     1604| External x_1893 -> h_External x_1893
    16431605
    16441606(** val fundef_rect_Type0 :
    16451607    ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **)
    16461608let rec fundef_rect_Type0 h_Internal h_External = function
    1647 | Internal x_3107 -> h_Internal x_3107
    1648 | External x_3108 -> h_External x_3108
     1609| Internal x_1897 -> h_Internal x_1897
     1610| External x_1898 -> h_External x_1898
    16491611
    16501612(** val fundef_inv_rect_Type4 :
  • extracted/aST.mli

    r2601 r2649  
    1313open Arithmetic
    1414
    15 open Char
    16 
    17 open String
    18 
    1915open Vector
    2016
     
    4339open Integers
    4440
    45 open Coqlib
    46 
    47 open Floats
    48 
    4941open Proper
    5042
     
    5345open Deqsets
    5446
     47open ErrorMessages
     48
    5549open PreIdentifiers
    5650
     
    7064
    7165open Identifiers
    72 
    73 val symbolTag : String.string
    7466
    7567type ident = PreIdentifiers.identifier
     
    351343| Init_int16 of bvint
    352344| Init_int32 of bvint
    353 | Init_float32 of Floats.float
    354 | Init_float64 of Floats.float
    355345| Init_space of Nat.nat
    356346| Init_null
     
    358348
    359349val init_data_rect_Type4 :
    360   (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Floats.float -> 'a1)
    361   -> (Floats.float -> 'a1) -> (Nat.nat -> 'a1) -> 'a1 -> (ident -> Nat.nat ->
    362   'a1) -> init_data -> 'a1
     350  (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     351  'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1
    363352
    364353val init_data_rect_Type5 :
    365   (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Floats.float -> 'a1)
    366   -> (Floats.float -> 'a1) -> (Nat.nat -> 'a1) -> 'a1 -> (ident -> Nat.nat ->
    367   'a1) -> init_data -> 'a1
     354  (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     355  'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1
    368356
    369357val init_data_rect_Type3 :
    370   (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Floats.float -> 'a1)
    371   -> (Floats.float -> 'a1) -> (Nat.nat -> 'a1) -> 'a1 -> (ident -> Nat.nat ->
    372   'a1) -> init_data -> 'a1
     358  (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     359  'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1
    373360
    374361val init_data_rect_Type2 :
    375   (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Floats.float -> 'a1)
    376   -> (Floats.float -> 'a1) -> (Nat.nat -> 'a1) -> 'a1 -> (ident -> Nat.nat ->
    377   'a1) -> init_data -> 'a1
     362  (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     363  'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1
    378364
    379365val init_data_rect_Type1 :
    380   (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Floats.float -> 'a1)
    381   -> (Floats.float -> 'a1) -> (Nat.nat -> 'a1) -> 'a1 -> (ident -> Nat.nat ->
    382   'a1) -> init_data -> 'a1
     366  (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     367  'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1
    383368
    384369val init_data_rect_Type0 :
    385   (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Floats.float -> 'a1)
    386   -> (Floats.float -> 'a1) -> (Nat.nat -> 'a1) -> 'a1 -> (ident -> Nat.nat ->
    387   'a1) -> init_data -> 'a1
     370  (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->
     371  'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1
    388372
    389373val init_data_inv_rect_Type4 :
    390374  init_data -> (bvint -> __ -> 'a1) -> (bvint -> __ -> 'a1) -> (bvint -> __
    391   -> 'a1) -> (Floats.float -> __ -> 'a1) -> (Floats.float -> __ -> 'a1) ->
    392   (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __ -> 'a1) ->
    393   'a1
     375  -> 'a1) -> (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __
     376  -> 'a1) -> 'a1
    394377
    395378val init_data_inv_rect_Type3 :
    396379  init_data -> (bvint -> __ -> 'a1) -> (bvint -> __ -> 'a1) -> (bvint -> __
    397   -> 'a1) -> (Floats.float -> __ -> 'a1) -> (Floats.float -> __ -> 'a1) ->
    398   (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __ -> 'a1) ->
    399   'a1
     380  -> 'a1) -> (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __
     381  -> 'a1) -> 'a1
    400382
    401383val init_data_inv_rect_Type2 :
    402384  init_data -> (bvint -> __ -> 'a1) -> (bvint -> __ -> 'a1) -> (bvint -> __
    403   -> 'a1) -> (Floats.float -> __ -> 'a1) -> (Floats.float -> __ -> 'a1) ->
    404   (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __ -> 'a1) ->
    405   'a1
     385  -> 'a1) -> (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __
     386  -> 'a1) -> 'a1
    406387
    407388val init_data_inv_rect_Type1 :
    408389  init_data -> (bvint -> __ -> 'a1) -> (bvint -> __ -> 'a1) -> (bvint -> __
    409   -> 'a1) -> (Floats.float -> __ -> 'a1) -> (Floats.float -> __ -> 'a1) ->
    410   (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __ -> 'a1) ->
    411   'a1
     390  -> 'a1) -> (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __
     391  -> 'a1) -> 'a1
    412392
    413393val init_data_inv_rect_Type0 :
    414394  init_data -> (bvint -> __ -> 'a1) -> (bvint -> __ -> 'a1) -> (bvint -> __
    415   -> 'a1) -> (Floats.float -> __ -> 'a1) -> (Floats.float -> __ -> 'a1) ->
    416   (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __ -> 'a1) ->
    417   'a1
     395  -> 'a1) -> (Nat.nat -> __ -> 'a1) -> (__ -> 'a1) -> (ident -> Nat.nat -> __
     396  -> 'a1) -> 'a1
    418397
    419398val init_data_discr : init_data -> init_data -> __
     
    499478
    500479val transf_program_gen :
    501   String.string -> Identifiers.universe -> (Identifiers.universe -> 'a1 ->
    502   ('a2, Identifiers.universe) Types.prod) -> (ident, 'a1) Types.prod
    503   List.list -> ((ident, 'a2) Types.prod List.list, Identifiers.universe)
    504   Types.prod
     480  PreIdentifiers.identifierTag -> Identifiers.universe ->
     481  (Identifiers.universe -> 'a1 -> ('a2, Identifiers.universe) Types.prod) ->
     482  (ident, 'a1) Types.prod List.list -> ((ident, 'a2) Types.prod List.list,
     483  Identifiers.universe) Types.prod
    505484
    506485val transform_program_gen :
    507   String.string -> Identifiers.universe -> ('a1, 'a3) program -> (ident
    508   List.list -> Identifiers.universe -> 'a1 -> ('a2, Identifiers.universe)
    509   Types.prod) -> (('a2, 'a3) program, Identifiers.universe) Types.prod
     486  PreIdentifiers.identifierTag -> Identifiers.universe -> ('a1, 'a3) program
     487  -> (ident List.list -> Identifiers.universe -> 'a1 -> ('a2,
     488  Identifiers.universe) Types.prod) -> (('a2, 'a3) program,
     489  Identifiers.universe) Types.prod
    510490
    511491val map_partial :
  • extracted/abstractStatus.ml

    r2601 r2649  
    11open Preamble
    22
     3open String
     4
    35open LabelledObjects
    4 
    5 open Coqlib
    6 
    7 open Floats
    86
    97open Arithmetic
     
    2018
    2119open Deqsets
     20
     21open ErrorMessages
    2222
    2323open PreIdentifiers
     
    3838
    3939open Identifiers
    40 
    41 open Char
    42 
    43 open String
    4440
    4541open Extranat
  • extracted/abstractStatus.mli

    r2601 r2649  
    11open Preamble
    22
     3open String
     4
    35open LabelledObjects
    4 
    5 open Coqlib
    6 
    7 open Floats
    86
    97open Arithmetic
     
    2018
    2119open Deqsets
     20
     21open ErrorMessages
    2222
    2323open PreIdentifiers
     
    3838
    3939open Identifiers
    40 
    41 open Char
    42 
    43 open String
    4440
    4541open Extranat
  • extracted/arithmetic.ml

    r2601 r2649  
    11open Preamble
    2 
    3 open Char
    4 
    5 open String
    62
    73open Extranat
  • extracted/arithmetic.mli

    r2601 r2649  
    11open Preamble
    2 
    3 open Char
    4 
    5 open String
    62
    73open Extranat
  • extracted/bitVector.ml

    r2601 r2649  
    3232
    3333open Vector
    34 
    35 open Char
    36 
    37 open String
    3834
    3935type bitVector = Bool.bool Vector.vector
     
    125121        | Bool.True -> (fun auto auto' -> auto' __)
    126122        | Bool.False -> (fun auto auto' -> auto __))) n x y ht hf
     123
  • extracted/bitVector.mli

    r2601 r2649  
    3232
    3333open Vector
    34 
    35 open Char
    36 
    37 open String
    3834
    3935type bitVector = Bool.bool Vector.vector
     
    7773val eq_bv_elim :
    7874  Nat.nat -> bitVector -> bitVector -> (__ -> 'a1) -> (__ -> 'a1) -> 'a1
     75
  • extracted/bitVectorTrie.ml

    r2601 r2649  
    1010
    1111open Types
    12 
    13 open Char
    14 
    15 open String
    1612
    1713open Extranat
     
    4743    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    4844    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    49 let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_13698 = function
    50 | Leaf x_13700 -> h_Leaf x_13700
    51 | Node (n, x_13702, x_13701) ->
    52   h_Node n x_13702 x_13701
    53     (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_13702)
    54     (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_13701)
     45let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_14569 = function
     46| Leaf x_14571 -> h_Leaf x_14571
     47| Node (n, x_14573, x_14572) ->
     48  h_Node n x_14573 x_14572
     49    (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14573)
     50    (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14572)
    5551| Stub n -> h_Stub n
    5652
     
    5854    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    5955    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    60 let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_13714 = function
    61 | Leaf x_13716 -> h_Leaf x_13716
    62 | Node (n, x_13718, x_13717) ->
    63   h_Node n x_13718 x_13717
    64     (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_13718)
    65     (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_13717)
     56let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_14585 = function
     57| Leaf x_14587 -> h_Leaf x_14587
     58| Node (n, x_14589, x_14588) ->
     59  h_Node n x_14589 x_14588
     60    (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14589)
     61    (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14588)
    6662| Stub n -> h_Stub n
    6763
     
    6965    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    7066    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    71 let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_13722 = function
    72 | Leaf x_13724 -> h_Leaf x_13724
    73 | Node (n, x_13726, x_13725) ->
    74   h_Node n x_13726 x_13725
    75     (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_13726)
    76     (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_13725)
     67let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_14593 = function
     68| Leaf x_14595 -> h_Leaf x_14595
     69| Node (n, x_14597, x_14596) ->
     70  h_Node n x_14597 x_14596
     71    (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14597)
     72    (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14596)
    7773| Stub n -> h_Stub n
    7874
     
    8076    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    8177    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    82 let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_13730 = function
    83 | Leaf x_13732 -> h_Leaf x_13732
    84 | Node (n, x_13734, x_13733) ->
    85   h_Node n x_13734 x_13733
    86     (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_13734)
    87     (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_13733)
     78let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_14601 = function
     79| Leaf x_14603 -> h_Leaf x_14603
     80| Node (n, x_14605, x_14604) ->
     81  h_Node n x_14605 x_14604
     82    (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14605)
     83    (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14604)
    8884| Stub n -> h_Stub n
    8985
     
    9187    ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2
    9288    -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **)
    93 let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_13738 = function
    94 | Leaf x_13740 -> h_Leaf x_13740
    95 | Node (n, x_13742, x_13741) ->
    96   h_Node n x_13742 x_13741
    97     (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_13742)
    98     (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_13741)
     89let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_14609 = function
     90| Leaf x_14611 -> h_Leaf x_14611
     91| Node (n, x_14613, x_14612) ->
     92  h_Node n x_14613 x_14612
     93    (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14613)
     94    (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14612)
    9995| Stub n -> h_Stub n
    10096
  • extracted/bitVectorTrie.mli

    r2601 r2649  
    1010
    1111open Types
    12 
    13 open Char
    14 
    15 open String
    1612
    1713open Extranat
  • extracted/bitVectorZ.ml

    r2601 r2649  
    2020
    2121open Z
    22 
    23 open Char
    24 
    25 open String
    2622
    2723open Extranat
  • extracted/bitVectorZ.mli

    r2601 r2649  
    2020
    2121open Z
    22 
    23 open Char
    24 
    25 open String
    2622
    2723open Extranat
  • extracted/byteValues.ml

    r2601 r2649  
    77open Deqsets
    88
     9open ErrorMessages
     10
    911open PreIdentifiers
    1012
     
    2325open Identifiers
    2426
    25 open Coqlib
    26 
    27 open Floats
    28 
    2927open Integers
    3028
     
    3432
    3533open Arithmetic
    36 
    37 open Char
    38 
    39 open String
    4034
    4135open Extranat
     
    9387    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    9488    'a1 **)
    95 let rec program_counter_rect_Type4 h_mk_program_counter x_5073 =
    96   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5073 in
     89let rec program_counter_rect_Type4 h_mk_program_counter x_4510 =
     90  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_4510 in
    9791  h_mk_program_counter pc_block0 pc_offset0
    9892
     
    10094    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    10195    'a1 **)
    102 let rec program_counter_rect_Type5 h_mk_program_counter x_5075 =
    103   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5075 in
     96let rec program_counter_rect_Type5 h_mk_program_counter x_4512 =
     97  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_4512 in
    10498  h_mk_program_counter pc_block0 pc_offset0
    10599
     
    107101    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    108102    'a1 **)
    109 let rec program_counter_rect_Type3 h_mk_program_counter x_5077 =
    110   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5077 in
     103let rec program_counter_rect_Type3 h_mk_program_counter x_4514 =
     104  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_4514 in
    111105  h_mk_program_counter pc_block0 pc_offset0
    112106
     
    114108    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    115109    'a1 **)
    116 let rec program_counter_rect_Type2 h_mk_program_counter x_5079 =
    117   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5079 in
     110let rec program_counter_rect_Type2 h_mk_program_counter x_4516 =
     111  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_4516 in
    118112  h_mk_program_counter pc_block0 pc_offset0
    119113
     
    121115    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    122116    'a1 **)
    123 let rec program_counter_rect_Type1 h_mk_program_counter x_5081 =
    124   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5081 in
     117let rec program_counter_rect_Type1 h_mk_program_counter x_4518 =
     118  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_4518 in
    125119  h_mk_program_counter pc_block0 pc_offset0
    126120
     
    128122    (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter ->
    129123    'a1 **)
    130 let rec program_counter_rect_Type0 h_mk_program_counter x_5083 =
    131   let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_5083 in
     124let rec program_counter_rect_Type0 h_mk_program_counter x_4520 =
     125  let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_4520 in
    132126  h_mk_program_counter pc_block0 pc_offset0
    133127
     
    219213
    220214(** val part_rect_Type4 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    221 let rec part_rect_Type4 h_mk_part x_5099 =
    222   let part_no = x_5099 in h_mk_part part_no __
     215let rec part_rect_Type4 h_mk_part x_4536 =
     216  let part_no = x_4536 in h_mk_part part_no __
    223217
    224218(** val part_rect_Type5 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    225 let rec part_rect_Type5 h_mk_part x_5101 =
    226   let part_no = x_5101 in h_mk_part part_no __
     219let rec part_rect_Type5 h_mk_part x_4538 =
     220  let part_no = x_4538 in h_mk_part part_no __
    227221
    228222(** val part_rect_Type3 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    229 let rec part_rect_Type3 h_mk_part x_5103 =
    230   let part_no = x_5103 in h_mk_part part_no __
     223let rec part_rect_Type3 h_mk_part x_4540 =
     224  let part_no = x_4540 in h_mk_part part_no __
    231225
    232226(** val part_rect_Type2 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    233 let rec part_rect_Type2 h_mk_part x_5105 =
    234   let part_no = x_5105 in h_mk_part part_no __
     227let rec part_rect_Type2 h_mk_part x_4542 =
     228  let part_no = x_4542 in h_mk_part part_no __
    235229
    236230(** val part_rect_Type1 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    237 let rec part_rect_Type1 h_mk_part x_5107 =
    238   let part_no = x_5107 in h_mk_part part_no __
     231let rec part_rect_Type1 h_mk_part x_4544 =
     232  let part_no = x_4544 in h_mk_part part_no __
    239233
    240234(** val part_rect_Type0 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **)
    241 let rec part_rect_Type0 h_mk_part x_5109 =
    242   let part_no = x_5109 in h_mk_part part_no __
     235let rec part_rect_Type0 h_mk_part x_4546 =
     236  let part_no = x_4546 in h_mk_part part_no __
    243237
    244238(** val part_no : part -> Nat.nat **)
     
    330324| BVundef -> h_BVundef
    331325| BVnonzero -> h_BVnonzero
    332 | BVXor (x_5143, x_5142, x_5141) -> h_BVXor x_5143 x_5142 x_5141
    333 | BVByte x_5144 -> h_BVByte x_5144
    334 | BVnull x_5145 -> h_BVnull x_5145
    335 | BVptr (x_5147, x_5146) -> h_BVptr x_5147 x_5146
    336 | BVpc (x_5149, x_5148) -> h_BVpc x_5149 x_5148
     326| BVXor (x_4580, x_4579, x_4578) -> h_BVXor x_4580 x_4579 x_4578
     327| BVByte x_4581 -> h_BVByte x_4581
     328| BVnull x_4582 -> h_BVnull x_4582
     329| BVptr (x_4584, x_4583) -> h_BVptr x_4584 x_4583
     330| BVpc (x_4586, x_4585) -> h_BVpc x_4586 x_4585
    337331
    338332(** val beval_rect_Type5 :
     
    344338| BVundef -> h_BVundef
    345339| BVnonzero -> h_BVnonzero
    346 | BVXor (x_5160, x_5159, x_5158) -> h_BVXor x_5160 x_5159 x_5158
    347 | BVByte x_5161 -> h_BVByte x_5161
    348 | BVnull x_5162 -> h_BVnull x_5162
    349 | BVptr (x_5164, x_5163) -> h_BVptr x_5164 x_5163
    350 | BVpc (x_5166, x_5165) -> h_BVpc x_5166 x_5165
     340| BVXor (x_4597, x_4596, x_4595) -> h_BVXor x_4597 x_4596 x_4595
     341| BVByte x_4598 -> h_BVByte x_4598
     342| BVnull x_4599 -> h_BVnull x_4599
     343| BVptr (x_4601, x_4600) -> h_BVptr x_4601 x_4600
     344| BVpc (x_4603, x_4602) -> h_BVpc x_4603 x_4602
    351345
    352346(** val beval_rect_Type3 :
     
    358352| BVundef -> h_BVundef
    359353| BVnonzero -> h_BVnonzero
    360 | BVXor (x_5177, x_5176, x_5175) -> h_BVXor x_5177 x_5176 x_5175
    361 | BVByte x_5178 -> h_BVByte x_5178
    362 | BVnull x_5179 -> h_BVnull x_5179
    363 | BVptr (x_5181, x_5180) -> h_BVptr x_5181 x_5180
    364 | BVpc (x_5183, x_5182) -> h_BVpc x_5183 x_5182
     354| BVXor (x_4614, x_4613, x_4612) -> h_BVXor x_4614 x_4613 x_4612
     355| BVByte x_4615 -> h_BVByte x_4615
     356| BVnull x_4616 -> h_BVnull x_4616
     357| BVptr (x_4618, x_4617) -> h_BVptr x_4618 x_4617
     358| BVpc (x_4620, x_4619) -> h_BVpc x_4620 x_4619
    365359
    366360(** val beval_rect_Type2 :
     
    372366| BVundef -> h_BVundef
    373367| BVnonzero -> h_BVnonzero
    374 | BVXor (x_5194, x_5193, x_5192) -> h_BVXor x_5194 x_5193 x_5192
    375 | BVByte x_5195 -> h_BVByte x_5195
    376 | BVnull x_5196 -> h_BVnull x_5196
    377 | BVptr (x_5198, x_5197) -> h_BVptr x_5198 x_5197
    378 | BVpc (x_5200, x_5199) -> h_BVpc x_5200 x_5199
     368| BVXor (x_4631, x_4630, x_4629) -> h_BVXor x_4631 x_4630 x_4629
     369| BVByte x_4632 -> h_BVByte x_4632
     370| BVnull x_4633 -> h_BVnull x_4633
     371| BVptr (x_4635, x_4634) -> h_BVptr x_4635 x_4634
     372| BVpc (x_4637, x_4636) -> h_BVpc x_4637 x_4636
    379373
    380374(** val beval_rect_Type1 :
     
    386380| BVundef -> h_BVundef
    387381| BVnonzero -> h_BVnonzero
    388 | BVXor (x_5211, x_5210, x_5209) -> h_BVXor x_5211 x_5210 x_5209
    389 | BVByte x_5212 -> h_BVByte x_5212
    390 | BVnull x_5213 -> h_BVnull x_5213
    391 | BVptr (x_5215, x_5214) -> h_BVptr x_5215 x_5214
    392 | BVpc (x_5217, x_5216) -> h_BVpc x_5217 x_5216
     382| BVXor (x_4648, x_4647, x_4646) -> h_BVXor x_4648 x_4647 x_4646
     383| BVByte x_4649 -> h_BVByte x_4649
     384| BVnull x_4650 -> h_BVnull x_4650
     385| BVptr (x_4652, x_4651) -> h_BVptr x_4652 x_4651
     386| BVpc (x_4654, x_4653) -> h_BVpc x_4654 x_4653
    393387
    394388(** val beval_rect_Type0 :
     
    400394| BVundef -> h_BVundef
    401395| BVnonzero -> h_BVnonzero
    402 | BVXor (x_5228, x_5227, x_5226) -> h_BVXor x_5228 x_5227 x_5226
    403 | BVByte x_5229 -> h_BVByte x_5229
    404 | BVnull x_5230 -> h_BVnull x_5230
    405 | BVptr (x_5232, x_5231) -> h_BVptr x_5232 x_5231
    406 | BVpc (x_5234, x_5233) -> h_BVpc x_5234 x_5233
     396| BVXor (x_4665, x_4664, x_4663) -> h_BVXor x_4665 x_4664 x_4663
     397| BVByte x_4666 -> h_BVByte x_4666
     398| BVnull x_4667 -> h_BVnull x_4667
     399| BVptr (x_4669, x_4668) -> h_BVptr x_4669 x_4668
     400| BVpc (x_4671, x_4670) -> h_BVpc x_4671 x_4670
    407401
    408402(** val beval_inv_rect_Type4 :
     
    477471  let b2 = (Vector.vsplit m p v2).Types.snd in BitVector.eq_bv p b1 b2
    478472
    479 (** val corruptedPointer : String.string **)
    480 let corruptedPointer = "corrupted pointer"
    481   (* failwith "AXIOM TO BE REALIZED" *)
    482 
    483473(** val pointer_of_bevals :
    484474    beval List.list -> Pointers.pointer Errors.res **)
    485475let pointer_of_bevals = function
    486476| List.Nil ->
    487   Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     477  Errors.Error (List.Cons ((Errors.MSG ErrorMessages.CorruptedPointer),
     478    List.Nil))
    488479| List.Cons (bv1, tl) ->
    489480  (match tl with
    490481   | List.Nil ->
    491      Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     482     Errors.Error (List.Cons ((Errors.MSG ErrorMessages.CorruptedPointer),
     483       List.Nil))
    492484   | List.Cons (bv2, tl') ->
    493485     (match tl' with
     
    495487        (match bv1 with
    496488         | BVundef ->
    497            Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     489           Errors.Error (List.Cons ((Errors.MSG
     490             ErrorMessages.CorruptedPointer), List.Nil))
    498491         | BVnonzero ->
    499            Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     492           Errors.Error (List.Cons ((Errors.MSG
     493             ErrorMessages.CorruptedPointer), List.Nil))
    500494         | BVXor (x, x0, x1) ->
    501            Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     495           Errors.Error (List.Cons ((Errors.MSG
     496             ErrorMessages.CorruptedPointer), List.Nil))
    502497         | BVByte x ->
    503            Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     498           Errors.Error (List.Cons ((Errors.MSG
     499             ErrorMessages.CorruptedPointer), List.Nil))
    504500         | BVnull x ->
    505            Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     501           Errors.Error (List.Cons ((Errors.MSG
     502             ErrorMessages.CorruptedPointer), List.Nil))
    506503         | BVptr (ptr1, p3) ->
    507504           (match bv2 with
    508505            | BVundef ->
    509               Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    510                 List.Nil))
     506              Errors.Error (List.Cons ((Errors.MSG
     507                ErrorMessages.CorruptedPointer), List.Nil))
    511508            | BVnonzero ->
    512               Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    513                 List.Nil))
     509              Errors.Error (List.Cons ((Errors.MSG
     510                ErrorMessages.CorruptedPointer), List.Nil))
    514511            | BVXor (x, x0, x1) ->
    515               Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    516                 List.Nil))
     512              Errors.Error (List.Cons ((Errors.MSG
     513                ErrorMessages.CorruptedPointer), List.Nil))
    517514            | BVByte x ->
    518               Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    519                 List.Nil))
     515              Errors.Error (List.Cons ((Errors.MSG
     516                ErrorMessages.CorruptedPointer), List.Nil))
    520517            | BVnull x ->
    521               Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    522                 List.Nil))
     518              Errors.Error (List.Cons ((Errors.MSG
     519                ErrorMessages.CorruptedPointer), List.Nil))
    523520            | BVptr (ptr2, p4) ->
    524521              (match Bool.andb
     
    538535                 Obj.magic (Monad.m_return0 (Monad.max_def Errors.res0) ptr2)
    539536               | Bool.False ->
    540                  Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    541                    List.Nil)))
     537                 Errors.Error (List.Cons ((Errors.MSG
     538                   ErrorMessages.CorruptedPointer), List.Nil)))
    542539            | BVpc (x, x0) ->
    543               Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    544                 List.Nil)))
     540              Errors.Error (List.Cons ((Errors.MSG
     541                ErrorMessages.CorruptedPointer), List.Nil)))
    545542         | BVpc (x, x0) ->
    546            Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil)))
     543           Errors.Error (List.Cons ((Errors.MSG
     544             ErrorMessages.CorruptedPointer), List.Nil)))
    547545      | List.Cons (x, x0) ->
    548         Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))))
     546        Errors.Error (List.Cons ((Errors.MSG ErrorMessages.CorruptedPointer),
     547          List.Nil))))
    549548
    550549(** val pc_of_bevals : beval List.list -> program_counter Errors.res **)
    551550let pc_of_bevals = function
    552551| List.Nil ->
    553   Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     552  Errors.Error (List.Cons ((Errors.MSG ErrorMessages.CorruptedPointer),
     553    List.Nil))
    554554| List.Cons (bv1, tl) ->
    555555  (match tl with
    556556   | List.Nil ->
    557      Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     557     Errors.Error (List.Cons ((Errors.MSG ErrorMessages.CorruptedPointer),
     558       List.Nil))
    558559   | List.Cons (bv2, tl') ->
    559560     (match tl' with
     
    561562        (match bv1 with
    562563         | BVundef ->
    563            Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     564           Errors.Error (List.Cons ((Errors.MSG
     565             ErrorMessages.CorruptedPointer), List.Nil))
    564566         | BVnonzero ->
    565            Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     567           Errors.Error (List.Cons ((Errors.MSG
     568             ErrorMessages.CorruptedPointer), List.Nil))
    566569         | BVXor (x, x0, x1) ->
    567            Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     570           Errors.Error (List.Cons ((Errors.MSG
     571             ErrorMessages.CorruptedPointer), List.Nil))
    568572         | BVByte x ->
    569            Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     573           Errors.Error (List.Cons ((Errors.MSG
     574             ErrorMessages.CorruptedPointer), List.Nil))
    570575         | BVnull x ->
    571            Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     576           Errors.Error (List.Cons ((Errors.MSG
     577             ErrorMessages.CorruptedPointer), List.Nil))
    572578         | BVptr (x, x0) ->
    573            Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))
     579           Errors.Error (List.Cons ((Errors.MSG
     580             ErrorMessages.CorruptedPointer), List.Nil))
    574581         | BVpc (ptr1, p3) ->
    575582           (match bv2 with
    576583            | BVundef ->
    577               Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    578                 List.Nil))
     584              Errors.Error (List.Cons ((Errors.MSG
     585                ErrorMessages.CorruptedPointer), List.Nil))
    579586            | BVnonzero ->
    580               Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    581                 List.Nil))
     587              Errors.Error (List.Cons ((Errors.MSG
     588                ErrorMessages.CorruptedPointer), List.Nil))
    582589            | BVXor (x, x0, x1) ->
    583               Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    584                 List.Nil))
     590              Errors.Error (List.Cons ((Errors.MSG
     591                ErrorMessages.CorruptedPointer), List.Nil))
    585592            | BVByte x ->
    586               Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    587                 List.Nil))
     593              Errors.Error (List.Cons ((Errors.MSG
     594                ErrorMessages.CorruptedPointer), List.Nil))
    588595            | BVnull x ->
    589               Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    590                 List.Nil))
     596              Errors.Error (List.Cons ((Errors.MSG
     597                ErrorMessages.CorruptedPointer), List.Nil))
    591598            | BVptr (x, x0) ->
    592               Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    593                 List.Nil))
     599              Errors.Error (List.Cons ((Errors.MSG
     600                ErrorMessages.CorruptedPointer), List.Nil))
    594601            | BVpc (ptr2, p4) ->
    595602              (match Bool.andb
     
    600607                 Obj.magic (Monad.m_return0 (Monad.max_def Errors.res0) ptr2)
    601608               | Bool.False ->
    602                  Errors.Error (List.Cons ((Errors.MSG corruptedPointer),
    603                    List.Nil)))))
     609                 Errors.Error (List.Cons ((Errors.MSG
     610                   ErrorMessages.CorruptedPointer), List.Nil)))))
    604611      | List.Cons (x, x0) ->
    605         Errors.Error (List.Cons ((Errors.MSG corruptedPointer), List.Nil))))
     612        Errors.Error (List.Cons ((Errors.MSG ErrorMessages.CorruptedPointer),
     613          List.Nil))))
    606614
    607615(** val bevals_of_pointer : Pointers.pointer -> beval List.list **)
     
    638646    __
    639647
    640 (** val notATwoBytesPointer : String.string **)
    641 let notATwoBytesPointer = "not a two bytes pointer"
    642   (* failwith "AXIOM TO BE REALIZED" *)
    643 
    644648(** val beval_pair_of_pointer :
    645649    Pointers.pointer -> (beval, beval) Types.prod **)
     
    651655  list_to_pair (bevals_of_pc p)
    652656
    653 (** val valueNotABoolean : String.string **)
    654 let valueNotABoolean = "value not a boolean"
    655   (* failwith "AXIOM TO BE REALIZED" *)
    656 
    657657(** val bool_of_beval : beval -> Bool.bool Errors.res **)
    658658let bool_of_beval = function
    659659| BVundef ->
    660   Errors.Error (List.Cons ((Errors.MSG valueNotABoolean), List.Nil))
     660  Errors.Error (List.Cons ((Errors.MSG ErrorMessages.ValueNotABoolean),
     661    List.Nil))
    661662| BVnonzero -> Errors.OK Bool.True
    662663| BVXor (x, x0, x1) ->
    663   Errors.Error (List.Cons ((Errors.MSG valueNotABoolean), List.Nil))
     664  Errors.Error (List.Cons ((Errors.MSG ErrorMessages.ValueNotABoolean),
     665    List.Nil))
    664666| BVByte b ->
    665667  Errors.OK
     
    671673| BVptr (x, x0) -> Errors.OK Bool.True
    672674| BVpc (x, x0) ->
    673   Errors.Error (List.Cons ((Errors.MSG valueNotABoolean), List.Nil))
    674 
    675 (** val byte_of_val : String.string -> beval -> BitVector.byte Errors.res **)
     675  Errors.Error (List.Cons ((Errors.MSG ErrorMessages.ValueNotABoolean),
     676    List.Nil))
     677
     678(** val byte_of_val :
     679    ErrorMessages.errorMessage -> beval -> BitVector.byte Errors.res **)
    676680let byte_of_val err = function
    677681| BVundef -> Errors.Error (List.Cons ((Errors.MSG err), List.Nil))
     
    683687| BVpc (x, x0) -> Errors.Error (List.Cons ((Errors.MSG err), List.Nil))
    684688
    685 (** val notAnInt32Val : String.string **)
    686 let notAnInt32Val = "not an int32 val"
    687   (* failwith "AXIOM TO BE REALIZED" *)
    688 
    689689(** val word_of_list_beval : beval List.list -> Integers.int Errors.res **)
    690690let word_of_list_beval l =
     
    692692    match l0 with
    693693    | List.Nil ->
    694       Obj.magic (Errors.Error (List.Cons ((Errors.MSG notAnInt32Val),
    695         List.Nil)))
     694      Obj.magic (Errors.Error (List.Cons ((Errors.MSG
     695        ErrorMessages.NotAnInt32Val), List.Nil)))
    696696    | List.Cons (hd0, tl) ->
    697697      Monad.m_bind0 (Monad.max_def Errors.res0)
    698         (Obj.magic (byte_of_val notAnInt32Val hd0)) (fun b ->
     698        (Obj.magic (byte_of_val ErrorMessages.NotAnInt32Val hd0)) (fun b ->
    699699        Obj.magic (Errors.OK { Types.fst = b; Types.snd = tl }))
    700700  in
     
    725725                      (Nat.S (Nat.S (Nat.S (Nat.S Nat.O)))))))) b2 b1))))
    726726            | List.Cons (x, x0) ->
    727               Obj.magic (Errors.Error (List.Cons ((Errors.MSG notAnInt32Val),
    728                 List.Nil))))))))
     727              Obj.magic (Errors.Error (List.Cons ((Errors.MSG
     728                ErrorMessages.NotAnInt32Val), List.Nil))))))))
    729729
    730730type bebit =
     
    737737    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    738738let rec bebit_rect_Type4 h_BBbit h_BBundef h_BBptrcarry = function
    739 | BBbit x_5353 -> h_BBbit x_5353
     739| BBbit x_4790 -> h_BBbit x_4790
    740740| BBundef -> h_BBundef
    741 | BBptrcarry (x_5356, x_5355, p, x_5354) ->
    742   h_BBptrcarry x_5356 x_5355 p x_5354
     741| BBptrcarry (x_4793, x_4792, p, x_4791) ->
     742  h_BBptrcarry x_4793 x_4792 p x_4791
    743743
    744744(** val bebit_rect_Type5 :
     
    746746    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    747747let rec bebit_rect_Type5 h_BBbit h_BBundef h_BBptrcarry = function
    748 | BBbit x_5361 -> h_BBbit x_5361
     748| BBbit x_4798 -> h_BBbit x_4798
    749749| BBundef -> h_BBundef
    750 | BBptrcarry (x_5364, x_5363, p, x_5362) ->
    751   h_BBptrcarry x_5364 x_5363 p x_5362
     750| BBptrcarry (x_4801, x_4800, p, x_4799) ->
     751  h_BBptrcarry x_4801 x_4800 p x_4799
    752752
    753753(** val bebit_rect_Type3 :
     
    755755    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    756756let rec bebit_rect_Type3 h_BBbit h_BBundef h_BBptrcarry = function
    757 | BBbit x_5369 -> h_BBbit x_5369
     757| BBbit x_4806 -> h_BBbit x_4806
    758758| BBundef -> h_BBundef
    759 | BBptrcarry (x_5372, x_5371, p, x_5370) ->
    760   h_BBptrcarry x_5372 x_5371 p x_5370
     759| BBptrcarry (x_4809, x_4808, p, x_4807) ->
     760  h_BBptrcarry x_4809 x_4808 p x_4807
    761761
    762762(** val bebit_rect_Type2 :
     
    764764    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    765765let rec bebit_rect_Type2 h_BBbit h_BBundef h_BBptrcarry = function
    766 | BBbit x_5377 -> h_BBbit x_5377
     766| BBbit x_4814 -> h_BBbit x_4814
    767767| BBundef -> h_BBundef
    768 | BBptrcarry (x_5380, x_5379, p, x_5378) ->
    769   h_BBptrcarry x_5380 x_5379 p x_5378
     768| BBptrcarry (x_4817, x_4816, p, x_4815) ->
     769  h_BBptrcarry x_4817 x_4816 p x_4815
    770770
    771771(** val bebit_rect_Type1 :
     
    773773    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    774774let rec bebit_rect_Type1 h_BBbit h_BBundef h_BBptrcarry = function
    775 | BBbit x_5385 -> h_BBbit x_5385
     775| BBbit x_4822 -> h_BBbit x_4822
    776776| BBundef -> h_BBundef
    777 | BBptrcarry (x_5388, x_5387, p, x_5386) ->
    778   h_BBptrcarry x_5388 x_5387 p x_5386
     777| BBptrcarry (x_4825, x_4824, p, x_4823) ->
     778  h_BBptrcarry x_4825 x_4824 p x_4823
    779779
    780780(** val bebit_rect_Type0 :
     
    782782    BitVector.bitVector -> 'a1) -> bebit -> 'a1 **)
    783783let rec bebit_rect_Type0 h_BBbit h_BBundef h_BBptrcarry = function
    784 | BBbit x_5393 -> h_BBbit x_5393
     784| BBbit x_4830 -> h_BBbit x_4830
    785785| BBundef -> h_BBundef
    786 | BBptrcarry (x_5396, x_5395, p, x_5394) ->
    787   h_BBptrcarry x_5396 x_5395 p x_5394
     786| BBptrcarry (x_4833, x_4832, p, x_4831) ->
     787  h_BBptrcarry x_4833 x_4832 p x_4831
    788788
    789789(** val bebit_inv_rect_Type4 :
     
    835835    y
    836836
    837 (** val bit_of_val : String.string -> bebit -> BitVector.bit Errors.res **)
     837(** val bit_of_val :
     838    ErrorMessages.errorMessage -> bebit -> BitVector.bit Errors.res **)
    838839let bit_of_val err = function
    839840| BBbit b0 -> Errors.OK b0
  • extracted/byteValues.mli

    r2601 r2649  
    77open Deqsets
    88
     9open ErrorMessages
     10
    911open PreIdentifiers
    1012
     
    2325open Identifiers
    2426
    25 open Coqlib
    26 
    27 open Floats
    28 
    2927open Integers
    3028
     
    3432
    3533open Arithmetic
    36 
    37 open Char
    38 
    39 open String
    4034
    4135open Extranat
     
    285279  -> Bool.bool
    286280
    287 val corruptedPointer : String.string
    288 
    289281val pointer_of_bevals : beval List.list -> Pointers.pointer Errors.res
    290282
     
    297289val list_to_pair : 'a1 List.list -> ('a1, 'a1) Types.prod
    298290
    299 val notATwoBytesPointer : String.string
    300 
    301291val beval_pair_of_pointer : Pointers.pointer -> (beval, beval) Types.prod
    302292
    303293val beval_pair_of_pc : program_counter -> (beval, beval) Types.prod
    304294
    305 val valueNotABoolean : String.string
    306 
    307295val bool_of_beval : beval -> Bool.bool Errors.res
    308296
    309 val byte_of_val : String.string -> beval -> BitVector.byte Errors.res
    310 
    311 val notAnInt32Val : String.string
     297val byte_of_val :
     298  ErrorMessages.errorMessage -> beval -> BitVector.byte Errors.res
    312299
    313300val word_of_list_beval : beval List.list -> Integers.int Errors.res
     
    366353val bebit_jmdiscr : bebit -> bebit -> __
    367354
    368 val bit_of_val : String.string -> bebit -> BitVector.bit Errors.res
    369 
     355val bit_of_val :
     356  ErrorMessages.errorMessage -> bebit -> BitVector.bit Errors.res
     357
  • extracted/casts.ml

    r2601 r2649  
    1212
    1313open Identifiers
    14 
    15 open Floats
    1614
    1715open Integers
     
    3735open Pointers
    3836
     37open ErrorMessages
     38
    3939open Option
    4040
     
    4444
    4545open Positive
    46 
    47 open Char
    48 
    49 open String
    5046
    5147open PreIdentifiers
  • extracted/casts.mli

    r2601 r2649  
    1212
    1313open Identifiers
    14 
    15 open Floats
    1614
    1715open Integers
     
    3735open Pointers
    3836
     37open ErrorMessages
     38
    3939open Option
    4040
     
    4444
    4545open Positive
    46 
    47 open Char
    48 
    49 open String
    5046
    5147open PreIdentifiers
  • extracted/cexec.ml

    r2601 r2649  
    3939open Identifiers
    4040
    41 open Floats
    42 
    4341open Integers
    4442
     
    7169open Proper
    7270
     71open ErrorMessages
     72
    7373open Option
    7474
     
    7979open Positive
    8080
    81 open Char
    82 
    83 open String
    84 
    8581open PreIdentifiers
    8682
     
    116112
    117113open Csem
    118 
    119 (** val valueIsNotABoolean : String.string **)
    120 let valueIsNotABoolean = "value is not a boolean"
    121   (* failwith "AXIOM TO BE REALIZED" *)
    122114
    123115(** val exec_bool_of_val :
     
    125117let exec_bool_of_val v ty =
    126118  match v with
    127   | Values.Vundef -> Errors.Error (Errors.msg valueIsNotABoolean)
     119  | Values.Vundef ->
     120    Errors.Error (Errors.msg ErrorMessages.ValueIsNotABoolean)
    128121  | Values.Vint (sz, i) ->
    129122    (match ty with
    130      | Csyntax.Tvoid -> Errors.Error (Errors.msg TypeComparison.typeMismatch)
     123     | Csyntax.Tvoid -> Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    131124     | Csyntax.Tint (sz', x) ->
    132125       AST.intsize_eq_elim sz sz' i (fun i0 -> Errors.OK
     
    134127           (BitVector.eq_bv (AST.bitsize_of_intsize sz') i0
    135128             (BitVector.zero (AST.bitsize_of_intsize sz'))))) (Errors.Error
    136          (Errors.msg TypeComparison.typeMismatch))
     129         (Errors.msg ErrorMessages.TypeMismatch))
    137130     | Csyntax.Tpointer x ->
    138        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     131       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    139132     | Csyntax.Tarray (x, x0) ->
    140        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     133       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    141134     | Csyntax.Tfunction (x, x0) ->
    142        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     135       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    143136     | Csyntax.Tstruct (x, x0) ->
    144        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     137       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    145138     | Csyntax.Tunion (x, x0) ->
    146        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     139       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    147140     | Csyntax.Tcomp_ptr x ->
    148        Errors.Error (Errors.msg TypeComparison.typeMismatch))
     141       Errors.Error (Errors.msg ErrorMessages.TypeMismatch))
    149142  | Values.Vnull ->
    150143    (match ty with
    151      | Csyntax.Tvoid -> Errors.Error (Errors.msg TypeComparison.typeMismatch)
     144     | Csyntax.Tvoid -> Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    152145     | Csyntax.Tint (x, x0) ->
    153        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     146       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    154147     | Csyntax.Tpointer x -> Errors.OK Bool.False
    155148     | Csyntax.Tarray (x, x0) ->
    156        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     149       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    157150     | Csyntax.Tfunction (x, x0) ->
    158        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     151       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    159152     | Csyntax.Tstruct (x, x0) ->
    160        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     153       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    161154     | Csyntax.Tunion (x, x0) ->
    162        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     155       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    163156     | Csyntax.Tcomp_ptr x ->
    164        Errors.Error (Errors.msg TypeComparison.typeMismatch))
     157       Errors.Error (Errors.msg ErrorMessages.TypeMismatch))
    165158  | Values.Vptr x ->
    166159    (match ty with
    167      | Csyntax.Tvoid -> Errors.Error (Errors.msg TypeComparison.typeMismatch)
     160     | Csyntax.Tvoid -> Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    168161     | Csyntax.Tint (x0, x1) ->
    169        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     162       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    170163     | Csyntax.Tpointer x0 -> Errors.OK Bool.True
    171164     | Csyntax.Tarray (x0, x1) ->
    172        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     165       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    173166     | Csyntax.Tfunction (x0, x1) ->
    174        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     167       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    175168     | Csyntax.Tstruct (x0, x1) ->
    176        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     169       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    177170     | Csyntax.Tunion (x0, x1) ->
    178        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     171       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    179172     | Csyntax.Tcomp_ptr x0 ->
    180        Errors.Error (Errors.msg TypeComparison.typeMismatch))
    181 
    182 (** val badCast : String.string **)
    183 let badCast = "bad cast"
    184   (* failwith "AXIOM TO BE REALIZED" *)
     173       Errors.Error (Errors.msg ErrorMessages.TypeMismatch))
    185174
    186175(** val try_cast_null :
     
    192181  | Bool.True ->
    193182    (match ty with
    194      | Csyntax.Tvoid -> Errors.Error (Errors.msg badCast)
     183     | Csyntax.Tvoid -> Errors.Error (Errors.msg ErrorMessages.BadCast)
    195184     | Csyntax.Tint (sz', x) ->
    196185       (match AST.eq_intsize sz sz' with
    197186        | Bool.True ->
    198187          (match ty' with
    199            | Csyntax.Tvoid -> Errors.Error (Errors.msg badCast)
    200            | Csyntax.Tint (x0, x1) -> Errors.Error (Errors.msg badCast)
     188           | Csyntax.Tvoid -> Errors.Error (Errors.msg ErrorMessages.BadCast)
     189           | Csyntax.Tint (x0, x1) ->
     190             Errors.Error (Errors.msg ErrorMessages.BadCast)
    201191           | Csyntax.Tpointer x0 -> Errors.OK Values.Vnull
    202192           | Csyntax.Tarray (x0, x1) -> Errors.OK Values.Vnull
    203193           | Csyntax.Tfunction (x0, x1) -> Errors.OK Values.Vnull
    204            | Csyntax.Tstruct (x0, x1) -> Errors.Error (Errors.msg badCast)
    205            | Csyntax.Tunion (x0, x1) -> Errors.Error (Errors.msg badCast)
    206            | Csyntax.Tcomp_ptr x0 -> Errors.Error (Errors.msg badCast))
    207         | Bool.False -> Errors.Error (Errors.msg TypeComparison.typeMismatch))
    208      | Csyntax.Tpointer x -> Errors.Error (Errors.msg badCast)
    209      | Csyntax.Tarray (x, x0) -> Errors.Error (Errors.msg badCast)
    210      | Csyntax.Tfunction (x, x0) -> Errors.Error (Errors.msg badCast)
    211      | Csyntax.Tstruct (x, x0) -> Errors.Error (Errors.msg badCast)
    212      | Csyntax.Tunion (x, x0) -> Errors.Error (Errors.msg badCast)
    213      | Csyntax.Tcomp_ptr x -> Errors.Error (Errors.msg badCast))
    214   | Bool.False -> Errors.Error (Errors.msg badCast)
     194           | Csyntax.Tstruct (x0, x1) ->
     195             Errors.Error (Errors.msg ErrorMessages.BadCast)
     196           | Csyntax.Tunion (x0, x1) ->
     197             Errors.Error (Errors.msg ErrorMessages.BadCast)
     198           | Csyntax.Tcomp_ptr x0 ->
     199             Errors.Error (Errors.msg ErrorMessages.BadCast))
     200        | Bool.False -> Errors.Error (Errors.msg ErrorMessages.TypeMismatch))
     201     | Csyntax.Tpointer x -> Errors.Error (Errors.msg ErrorMessages.BadCast)
     202     | Csyntax.Tarray (x, x0) ->
     203       Errors.Error (Errors.msg ErrorMessages.BadCast)
     204     | Csyntax.Tfunction (x, x0) ->
     205       Errors.Error (Errors.msg ErrorMessages.BadCast)
     206     | Csyntax.Tstruct (x, x0) ->
     207       Errors.Error (Errors.msg ErrorMessages.BadCast)
     208     | Csyntax.Tunion (x, x0) ->
     209       Errors.Error (Errors.msg ErrorMessages.BadCast)
     210     | Csyntax.Tcomp_ptr x -> Errors.Error (Errors.msg ErrorMessages.BadCast))
     211  | Bool.False -> Errors.Error (Errors.msg ErrorMessages.BadCast)
    215212
    216213(** val ptr_like_type : Csyntax.type0 -> Bool.bool **)
     
    230227let exec_cast m v ty ty' =
    231228  match v with
    232   | Values.Vundef -> Errors.Error (Errors.msg badCast)
     229  | Values.Vundef -> Errors.Error (Errors.msg ErrorMessages.BadCast)
    233230  | Values.Vint (sz, i) ->
    234231    (match ty with
    235      | Csyntax.Tvoid -> Errors.Error (Errors.msg TypeComparison.typeMismatch)
     232     | Csyntax.Tvoid -> Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    236233     | Csyntax.Tint (sz1, si1) ->
    237234       AST.intsize_eq_elim sz sz1 i (fun i0 ->
    238235         match ty' with
    239          | Csyntax.Tvoid -> Errors.Error (Errors.msg badCast)
     236         | Csyntax.Tvoid -> Errors.Error (Errors.msg ErrorMessages.BadCast)
    240237         | Csyntax.Tint (sz2, si2) ->
    241238           Errors.OK (Values.Vint (sz2, (Csem.cast_int_int sz1 si1 sz2 i0)))
     
    255252               (Obj.magic (try_cast_null m sz1 i0 ty ty')) (fun r ->
    256253               Obj.magic (Errors.OK r)))
    257          | Csyntax.Tstruct (x, x0) -> Errors.Error (Errors.msg badCast)
    258          | Csyntax.Tunion (x, x0) -> Errors.Error (Errors.msg badCast)
    259          | Csyntax.Tcomp_ptr x -> Errors.Error (Errors.msg badCast))
    260          (Errors.Error (Errors.msg badCast))
     254         | Csyntax.Tstruct (x, x0) ->
     255           Errors.Error (Errors.msg ErrorMessages.BadCast)
     256         | Csyntax.Tunion (x, x0) ->
     257           Errors.Error (Errors.msg ErrorMessages.BadCast)
     258         | Csyntax.Tcomp_ptr x ->
     259           Errors.Error (Errors.msg ErrorMessages.BadCast)) (Errors.Error
     260         (Errors.msg ErrorMessages.BadCast))
    261261     | Csyntax.Tpointer x ->
    262262       Obj.magic
     
    275275           Obj.magic (Errors.OK r)))
    276276     | Csyntax.Tstruct (x, x0) ->
    277        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     277       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    278278     | Csyntax.Tunion (x, x0) ->
    279        Errors.Error (Errors.msg TypeComparison.typeMismatch)
     279       Errors.Error (Errors.msg ErrorMessages.TypeMismatch)
    280280     | Csyntax.Tcomp_ptr x ->
    281        Errors.Error (Errors.msg TypeComparison.typeMismatch))
     281       Errors.Error (Errors.msg ErrorMessages.TypeMismatch))
    282282  | Values.Vnull ->
    283283    (match Bool.andb (ptr_like_type ty) (ptr_like_type ty') with
    284284     | Bool.True -> Errors.OK Values.Vnull
    285      | Bool.False -> Errors.Error (Errors.msg badCast))
     285     | Bool.False -> Errors.Error (Errors.msg ErrorMessages.BadCast))
    286286  | Values.Vptr ptr ->
    287287    (match Bool.andb (ptr_like_type ty) (ptr_like_type ty') with
    288288     | Bool.True -> Errors.OK (Values.Vptr ptr)
    289      | Bool.False -> Errors.Error (Errors.msg badCast))
     289     | Bool.False -> Errors.Error (Errors.msg ErrorMessages.BadCast))
    290290
    291291(** val load_value_of_type' :
     
    295295  let { Types.fst = loc; Types.snd = ofs } = l in
    296296  Csem.load_value_of_type ty m loc ofs
    297 
    298 (** val badlyTypedTerm : String.string **)
    299 let badlyTypedTerm = "badly typed term"
    300   (* failwith "AXIOM TO BE REALIZED" *)
    301 
    302 (** val unknownIdentifier : String.string **)
    303 let unknownIdentifier = "unknown identifier"
    304   (* failwith "AXIOM TO BE REALIZED" *)
    305 
    306 (** val badLvalueTerm : String.string **)
    307 let badLvalueTerm = "bad lvalue term"
    308   (*failwith "AXIOM TO BE REALIZED"*)
    309 
    310 (** val failedLoad : String.string **)
    311 let failedLoad = "failed load"
    312   (* failwith "AXIOM TO BE REALIZED" *)
    313 
    314 (** val failedOp : String.string **)
    315 let failedOp = "failed op"
    316   (* failwith "AXIOM TO BE REALIZED" *)
    317297
    318298(** val exec_expr :
     
    324304   | Csyntax.Econst_int (sz, i) ->
    325305     (match ty with
    326       | Csyntax.Tvoid -> Errors.Error (Errors.msg badlyTypedTerm)
     306      | Csyntax.Tvoid ->
     307        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
    327308      | Csyntax.Tint (sz', x) ->
    328309        (match AST.eq_intsize sz sz' with
     
    330311           Errors.OK { Types.fst = (Values.Vint (sz, i)); Types.snd =
    331312             Events.e0 }
    332          | Bool.False -> Errors.Error (Errors.msg badlyTypedTerm))
    333       | Csyntax.Tpointer x -> Errors.Error (Errors.msg badlyTypedTerm)
    334       | Csyntax.Tarray (x, x0) -> Errors.Error (Errors.msg badlyTypedTerm)
    335       | Csyntax.Tfunction (x, x0) -> Errors.Error (Errors.msg badlyTypedTerm)
    336       | Csyntax.Tstruct (x, x0) -> Errors.Error (Errors.msg badlyTypedTerm)
    337       | Csyntax.Tunion (x, x0) -> Errors.Error (Errors.msg badlyTypedTerm)
    338       | Csyntax.Tcomp_ptr x -> Errors.Error (Errors.msg badlyTypedTerm))
     313         | Bool.False ->
     314           Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm))
     315      | Csyntax.Tpointer x ->
     316        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     317      | Csyntax.Tarray (x, x0) ->
     318        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     319      | Csyntax.Tfunction (x, x0) ->
     320        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     321      | Csyntax.Tstruct (x, x0) ->
     322        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     323      | Csyntax.Tunion (x, x0) ->
     324        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     325      | Csyntax.Tcomp_ptr x ->
     326        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm))
    339327   | Csyntax.Evar x ->
    340328     Obj.magic
     
    343331         Monad.m_bind0 (Monad.max_def Errors.res0)
    344332           (Obj.magic
    345              (Errors.opt_to_res (Errors.msg failedLoad)
     333             (Errors.opt_to_res (Errors.msg ErrorMessages.FailedLoad)
    346334               (load_value_of_type' ty m l))) (fun v ->
    347335           Obj.magic (Errors.OK { Types.fst = v; Types.snd = tr }))))
     
    352340         Monad.m_bind0 (Monad.max_def Errors.res0)
    353341           (Obj.magic
    354              (Errors.opt_to_res (Errors.msg failedLoad)
     342             (Errors.opt_to_res (Errors.msg ErrorMessages.FailedLoad)
    355343               (load_value_of_type' ty m l))) (fun v ->
    356344           Obj.magic (Errors.OK { Types.fst = v; Types.snd = tr }))))
     
    361349         match ty with
    362350         | Csyntax.Tvoid ->
    363            Obj.magic (Errors.Error (Errors.msg badlyTypedTerm))
     351           Obj.magic (Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm))
    364352         | Csyntax.Tint (x, x0) ->
    365            Obj.magic (Errors.Error (Errors.msg badlyTypedTerm))
     353           Obj.magic (Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm))
    366354         | Csyntax.Tpointer x ->
    367355           let { Types.fst = loc; Types.snd = ofs } = lo in
     
    370358             tr })
    371359         | Csyntax.Tarray (x, x0) ->
    372            Obj.magic (Errors.Error (Errors.msg badlyTypedTerm))
     360           Obj.magic (Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm))
    373361         | Csyntax.Tfunction (x, x0) ->
    374            Obj.magic (Errors.Error (Errors.msg badlyTypedTerm))
     362           Obj.magic (Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm))
    375363         | Csyntax.Tstruct (x, x0) ->
    376            Obj.magic (Errors.Error (Errors.msg badlyTypedTerm))
     364           Obj.magic (Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm))
    377365         | Csyntax.Tunion (x, x0) ->
    378            Obj.magic (Errors.Error (Errors.msg badlyTypedTerm))
     366           Obj.magic (Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm))
    379367         | Csyntax.Tcomp_ptr x ->
    380            Obj.magic (Errors.Error (Errors.msg badlyTypedTerm))))
     368           Obj.magic (Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm))))
    381369   | Csyntax.Eunop (op0, a) ->
    382370     Obj.magic
     
    385373         Monad.m_bind0 (Monad.max_def Errors.res0)
    386374           (Obj.magic
    387              (Errors.opt_to_res (Errors.msg failedOp)
     375             (Errors.opt_to_res (Errors.msg ErrorMessages.FailedOp)
    388376               (Csem.sem_unary_operation op0 v1 (Csyntax.typeof a))))
    389377           (fun v -> Obj.magic (Errors.OK { Types.fst = v; Types.snd = tr }))))
     
    396384           Monad.m_bind0 (Monad.max_def Errors.res0)
    397385             (Obj.magic
    398                (Errors.opt_to_res (Errors.msg failedOp)
     386               (Errors.opt_to_res (Errors.msg ErrorMessages.FailedOp)
    399387                 (Csem.sem_binary_operation op0 v1 (Csyntax.typeof a1) v2
    400388                   (Csyntax.typeof a2) m ty))) (fun v ->
     
    437425                         (Values.of_bool b2)) with
    438426                 | Types.None ->
    439                    Obj.magic (Errors.Error (Errors.msg badlyTypedTerm))
     427                   Obj.magic (Errors.Error
     428                     (Errors.msg ErrorMessages.BadlyTypedTerm))
    440429                 | Types.Some v20 ->
    441430                   Obj.magic (Errors.OK { Types.fst = v20; Types.snd =
     
    444433             (match Csem.cast_bool_to_target ty (Types.Some Values.vfalse) with
    445434              | Types.None ->
    446                 Obj.magic (Errors.Error (Errors.msg badlyTypedTerm))
     435                Obj.magic (Errors.Error
     436                  (Errors.msg ErrorMessages.BadlyTypedTerm))
    447437              | Types.Some vfls ->
    448438                Obj.magic (Errors.OK { Types.fst = vfls; Types.snd = tr1 })))))
     
    457447             (match Csem.cast_bool_to_target ty (Types.Some Values.vtrue) with
    458448              | Types.None ->
    459                 Obj.magic (Errors.Error (Errors.msg badlyTypedTerm))
     449                Obj.magic (Errors.Error
     450                  (Errors.msg ErrorMessages.BadlyTypedTerm))
    460451              | Types.Some vtr ->
    461452                Obj.magic (Errors.OK { Types.fst = vtr; Types.snd = tr1 }))
     
    469460                         (Values.of_bool b2)) with
    470461                 | Types.None ->
    471                    Obj.magic (Errors.Error (Errors.msg badlyTypedTerm))
     462                   Obj.magic (Errors.Error
     463                     (Errors.msg ErrorMessages.BadlyTypedTerm))
    472464                 | Types.Some v20 ->
    473465                   Obj.magic (Errors.OK { Types.fst = v20; Types.snd =
     
    475467   | Csyntax.Esizeof ty' ->
    476468     (match ty with
    477       | Csyntax.Tvoid -> Errors.Error (Errors.msg badlyTypedTerm)
     469      | Csyntax.Tvoid ->
     470        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
    478471      | Csyntax.Tint (sz, x) ->
    479472        Errors.OK { Types.fst = (Values.Vint (sz,
    480473          (AST.repr0 sz (Csyntax.sizeof ty')))); Types.snd = Events.e0 }
    481       | Csyntax.Tpointer x -> Errors.Error (Errors.msg badlyTypedTerm)
    482       | Csyntax.Tarray (x, x0) -> Errors.Error (Errors.msg badlyTypedTerm)
    483       | Csyntax.Tfunction (x, x0) -> Errors.Error (Errors.msg badlyTypedTerm)
    484       | Csyntax.Tstruct (x, x0) -> Errors.Error (Errors.msg badlyTypedTerm)
    485       | Csyntax.Tunion (x, x0) -> Errors.Error (Errors.msg badlyTypedTerm)
    486       | Csyntax.Tcomp_ptr x -> Errors.Error (Errors.msg badlyTypedTerm))
     474      | Csyntax.Tpointer x ->
     475        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     476      | Csyntax.Tarray (x, x0) ->
     477        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     478      | Csyntax.Tfunction (x, x0) ->
     479        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     480      | Csyntax.Tstruct (x, x0) ->
     481        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     482      | Csyntax.Tunion (x, x0) ->
     483        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     484      | Csyntax.Tcomp_ptr x ->
     485        Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm))
    487486   | Csyntax.Efield (x, x0) ->
    488487     Obj.magic
     
    491490         Monad.m_bind0 (Monad.max_def Errors.res0)
    492491           (Obj.magic
    493              (Errors.opt_to_res (Errors.msg failedLoad)
     492             (Errors.opt_to_res (Errors.msg ErrorMessages.FailedLoad)
    494493               (load_value_of_type' ty m l))) (fun v ->
    495494           Obj.magic (Errors.OK { Types.fst = v; Types.snd = tr }))))
     
    506505and exec_lvalue' ge0 en m e' ty =
    507506  match e' with
    508   | Csyntax.Econst_int (x, x0) -> Errors.Error (Errors.msg badLvalueTerm)
     507  | Csyntax.Econst_int (x, x0) ->
     508    Errors.Error (Errors.msg ErrorMessages.BadLvalueTerm)
    509509  | Csyntax.Evar id ->
    510     (match Identifiers.lookup0 AST.symbolTag en id with
     510    (match Identifiers.lookup0 PreIdentifiers.SymbolTag en id with
    511511     | Types.None ->
    512512       Obj.magic
    513513         (Monad.m_bind0 (Monad.max_def Errors.res0)
    514514           (Obj.magic
    515              (Errors.opt_to_res (List.Cons ((Errors.MSG unknownIdentifier),
    516                (List.Cons ((Errors.CTX (AST.symbolTag, id)), List.Nil))))
     515             (Errors.opt_to_res (List.Cons ((Errors.MSG
     516               ErrorMessages.UnknownIdentifier), (List.Cons ((Errors.CTX
     517               (PreIdentifiers.SymbolTag, id)), List.Nil))))
    517518               (Globalenvs.find_symbol ge0 id))) (fun l ->
    518519           Obj.magic (Errors.OK { Types.fst = { Types.fst = l; Types.snd =
     
    527528        match v with
    528529        | Values.Vundef ->
    529           Obj.magic (Errors.Error (Errors.msg TypeComparison.typeMismatch))
     530          Obj.magic (Errors.Error (Errors.msg ErrorMessages.TypeMismatch))
    530531        | Values.Vint (x, x0) ->
    531           Obj.magic (Errors.Error (Errors.msg TypeComparison.typeMismatch))
     532          Obj.magic (Errors.Error (Errors.msg ErrorMessages.TypeMismatch))
    532533        | Values.Vnull ->
    533           Obj.magic (Errors.Error (Errors.msg TypeComparison.typeMismatch))
     534          Obj.magic (Errors.Error (Errors.msg ErrorMessages.TypeMismatch))
    534535        | Values.Vptr ptr ->
    535536          Obj.magic (Errors.OK { Types.fst = { Types.fst =
    536537            ptr.Pointers.pblock; Types.snd = ptr.Pointers.poff }; Types.snd =
    537538            tr })))
    538   | Csyntax.Eaddrof x -> Errors.Error (Errors.msg badLvalueTerm)
    539   | Csyntax.Eunop (x, x0) -> Errors.Error (Errors.msg badLvalueTerm)
    540   | Csyntax.Ebinop (x, x0, x1) -> Errors.Error (Errors.msg badLvalueTerm)
    541   | Csyntax.Ecast (x, x0) -> Errors.Error (Errors.msg badLvalueTerm)
    542   | Csyntax.Econdition (x, x0, x1) -> Errors.Error (Errors.msg badLvalueTerm)
    543   | Csyntax.Eandbool (x, x0) -> Errors.Error (Errors.msg badLvalueTerm)
    544   | Csyntax.Eorbool (x, x0) -> Errors.Error (Errors.msg badLvalueTerm)
    545   | Csyntax.Esizeof x -> Errors.Error (Errors.msg badLvalueTerm)
     539  | Csyntax.Eaddrof x ->
     540    Errors.Error (Errors.msg ErrorMessages.BadLvalueTerm)
     541  | Csyntax.Eunop (x, x0) ->
     542    Errors.Error (Errors.msg ErrorMessages.BadLvalueTerm)
     543  | Csyntax.Ebinop (x, x0, x1) ->
     544    Errors.Error (Errors.msg ErrorMessages.BadLvalueTerm)
     545  | Csyntax.Ecast (x, x0) ->
     546    Errors.Error (Errors.msg ErrorMessages.BadLvalueTerm)
     547  | Csyntax.Econdition (x, x0, x1) ->
     548    Errors.Error (Errors.msg ErrorMessages.BadLvalueTerm)
     549  | Csyntax.Eandbool (x, x0) ->
     550    Errors.Error (Errors.msg ErrorMessages.BadLvalueTerm)
     551  | Csyntax.Eorbool (x, x0) ->
     552    Errors.Error (Errors.msg ErrorMessages.BadLvalueTerm)
     553  | Csyntax.Esizeof x ->
     554    Errors.Error (Errors.msg ErrorMessages.BadLvalueTerm)
    546555  | Csyntax.Efield (a, i) ->
    547556    (match Csyntax.typeof a with
    548      | Csyntax.Tvoid -> Errors.Error (Errors.msg badlyTypedTerm)
    549      | Csyntax.Tint (x, x0) -> Errors.Error (Errors.msg badlyTypedTerm)
    550      | Csyntax.Tpointer x -> Errors.Error (Errors.msg badlyTypedTerm)
    551      | Csyntax.Tarray (x, x0) -> Errors.Error (Errors.msg badlyTypedTerm)
    552      | Csyntax.Tfunction (x, x0) -> Errors.Error (Errors.msg badlyTypedTerm)
     557     | Csyntax.Tvoid ->
     558       Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     559     | Csyntax.Tint (x, x0) ->
     560       Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     561     | Csyntax.Tpointer x ->
     562       Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     563     | Csyntax.Tarray (x, x0) ->
     564       Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
     565     | Csyntax.Tfunction (x, x0) ->
     566       Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm)
    553567     | Csyntax.Tstruct (id, fList) ->
    554568       Obj.magic
     
    567581           (Obj.magic (exec_lvalue ge0 en m a)) (fun lofs tr ->
    568582           Obj.magic (Errors.OK { Types.fst = lofs; Types.snd = tr })))
    569      | Csyntax.Tcomp_ptr x -> Errors.Error (Errors.msg badlyTypedTerm))
    570   | Csyntax.Ecost (x, x0) -> Errors.Error (Errors.msg badLvalueTerm)
     583     | Csyntax.Tcomp_ptr x ->
     584       Errors.Error (Errors.msg ErrorMessages.BadlyTypedTerm))
     585  | Csyntax.Ecost (x, x0) ->
     586    Errors.Error (Errors.msg ErrorMessages.BadLvalueTerm)
    571587(** val exec_lvalue :
    572588    Csem.genv0 -> Csem.env -> GenMem.mem1 -> Csyntax.expr ->
     
    599615  let { Types.fst = m1; Types.snd = b1 } =
    600616    GenMem.alloc m (Z.z_of_nat Nat.O) (Z.z_of_nat (Csyntax.sizeof ty))
    601       AST.XData
    602617  in
    603   exec_alloc_variables (Identifiers.add AST.symbolTag en id (Types.pi1 b1))
    604     m1 vars
    605 
    606 (** val wrongNumberOfParameters : String.string **)
    607 let wrongNumberOfParameters = "wrong number of parameters"
    608   (* failwith "AXIOM TO BE REALIZED"*)
    609 
    610 (** val failedStore : String.string **)
    611 let failedStore = "failed store"
    612   (* failwith "AXIOM TO BE REALIZED"*)
     618  exec_alloc_variables (Identifiers.add PreIdentifiers.SymbolTag en id b1) m1
     619    vars
    613620
    614621(** val exec_bind_parameters :
     
    620627    (match vs with
    621628     | List.Nil -> Errors.OK m
    622      | List.Cons (x, x0) -> Errors.Error (Errors.msg wrongNumberOfParameters))
     629     | List.Cons (x, x0) ->
     630       Errors.Error (Errors.msg ErrorMessages.WrongNumberOfParameters))
    623631  | List.Cons (idty, params') ->
    624632    let { Types.fst = id; Types.snd = ty } = idty in
    625633    (match vs with
    626      | List.Nil -> Errors.Error (Errors.msg wrongNumberOfParameters)
     634     | List.Nil ->
     635       Errors.Error (Errors.msg ErrorMessages.WrongNumberOfParameters)
    627636     | List.Cons (v1, vl) ->
    628637       Obj.magic
    629638         (Monad.m_bind0 (Monad.max_def Errors.res0)
    630639           (Obj.magic
    631              (Errors.opt_to_res (List.Cons ((Errors.MSG unknownIdentifier),
    632                (List.Cons ((Errors.CTX (AST.symbolTag, id)), List.Nil))))
    633                (Identifiers.lookup0 AST.symbolTag e1 id))) (fun b ->
     640             (Errors.opt_to_res (List.Cons ((Errors.MSG
     641               ErrorMessages.UnknownIdentifier), (List.Cons ((Errors.CTX
     642               (PreIdentifiers.SymbolTag, id)), List.Nil))))
     643               (Identifiers.lookup0 PreIdentifiers.SymbolTag e1 id)))
     644           (fun b ->
    634645           Monad.m_bind0 (Monad.max_def Errors.res0)
    635646             (Obj.magic
    636                (Errors.opt_to_res (List.Cons ((Errors.MSG failedStore),
    637                  (List.Cons ((Errors.CTX (AST.symbolTag, id)), List.Nil))))
     647               (Errors.opt_to_res (List.Cons ((Errors.MSG
     648                 ErrorMessages.FailedStore), (List.Cons ((Errors.CTX
     649                 (PreIdentifiers.SymbolTag, id)), List.Nil))))
    638650                 (Csem.store_value_of_type ty m b Pointers.zero_offset v1)))
    639651             (fun m1 -> Obj.magic (exec_bind_parameters e1 m1 params' vl)))))
     
    675687  Csem.store_value_of_type ty m loc ofs v
    676688
    677 (** val nonsenseState : String.string **)
    678 let nonsenseState = "nonsense state"
    679   (*failwith "AXIOM TO BE REALIZED"*)
    680 
    681 (** val returnMismatch : String.string **)
    682 let returnMismatch = "return mismatch"
    683   (*failwith "AXIOM TO BE REALIZED"*)
    684 
    685 (** val unknownLabel : String.string **)
    686 let unknownLabel = "unkown label"
    687   (*failwith "AXIOM TO BE REALIZED"*)
    688 
    689 (** val badFunctionValue : String.string **)
    690 let badFunctionValue = "bad function value"
    691   (*failwith "AXIOM TO BE REALIZED"*)
    692 
    693689(** val exec_step :
    694690    Csem.genv0 -> Csem.state0 -> (IO.io_out, IO.io_in, (Events.trace,
     
    705701             (Values.Vundef, k,
    706702             (GenMem.free_list m (Csem.blocks_of_env e1)))) }
    707          | Csyntax.Tint (x, x0) -> IOMonad.Wrong (Errors.msg nonsenseState)
    708          | Csyntax.Tpointer x -> IOMonad.Wrong (Errors.msg nonsenseState)
    709          | Csyntax.Tarray (x, x0) -> IOMonad.Wrong (Errors.msg nonsenseState)
     703         | Csyntax.Tint (x, x0) ->
     704           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
     705         | Csyntax.Tpointer x ->
     706           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
     707         | Csyntax.Tarray (x, x0) ->
     708           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
    710709         | Csyntax.Tfunction (x, x0) ->
    711            IOMonad.Wrong (Errors.msg nonsenseState)
     710           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
    712711         | Csyntax.Tstruct (x, x0) ->
    713            IOMonad.Wrong (Errors.msg nonsenseState)
    714          | Csyntax.Tunion (x, x0) -> IOMonad.Wrong (Errors.msg nonsenseState)
    715          | Csyntax.Tcomp_ptr x -> IOMonad.Wrong (Errors.msg nonsenseState))
     712           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
     713         | Csyntax.Tunion (x, x0) ->
     714           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
     715         | Csyntax.Tcomp_ptr x ->
     716           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState))
    716717      | Csem.Kseq (s0, k') ->
    717718        IO.ret { Types.fst = Events.e0; Types.snd = (Csem.State (f, s0, k',
     
    753754             (Values.Vundef, k,
    754755             (GenMem.free_list m (Csem.blocks_of_env e1)))) }
    755          | Csyntax.Tint (x3, x4) -> IOMonad.Wrong (Errors.msg nonsenseState)
    756          | Csyntax.Tpointer x3 -> IOMonad.Wrong (Errors.msg nonsenseState)
     756         | Csyntax.Tint (x3, x4) ->
     757           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
     758         | Csyntax.Tpointer x3 ->
     759           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
    757760         | Csyntax.Tarray (x3, x4) ->
    758            IOMonad.Wrong (Errors.msg nonsenseState)
     761           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
    759762         | Csyntax.Tfunction (x3, x4) ->
    760            IOMonad.Wrong (Errors.msg nonsenseState)
     763           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
    761764         | Csyntax.Tstruct (x3, x4) ->
    762            IOMonad.Wrong (Errors.msg nonsenseState)
     765           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
    763766         | Csyntax.Tunion (x3, x4) ->
    764            IOMonad.Wrong (Errors.msg nonsenseState)
    765          | Csyntax.Tcomp_ptr x3 -> IOMonad.Wrong (Errors.msg nonsenseState)))
     767           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
     768         | Csyntax.Tcomp_ptr x3 ->
     769           IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)))
    766770   | Csyntax.Sassign (a1, a2) ->
    767771     Obj.magic
     
    774778           Monad.m_bind0 (Monad.max_def IOMonad.iOMonad)
    775779             (Obj.magic
    776                (IOMonad.opt_to_io (Errors.msg failedStore)
     780               (IOMonad.opt_to_io (Errors.msg ErrorMessages.FailedStore)
    777781                 (store_value_of_type' (Csyntax.typeof a1) m l v2)))
    778782             (fun m' ->
     
    790794           Monad.m_bind0 (Monad.max_def IOMonad.iOMonad)
    791795             (Obj.magic
    792                (IOMonad.opt_to_io (Errors.msg badFunctionValue)
     796               (IOMonad.opt_to_io (Errors.msg ErrorMessages.BadFunctionValue)
    793797                 (Globalenvs.find_funct ge0 vf))) (fun fd ->
    794798             Monad.m_bind0 (Monad.max_def IOMonad.iOMonad)
     
    873877   | Csyntax.Sbreak ->
    874878     (match k with
    875       | Csem.Kstop -> IOMonad.Wrong (Errors.msg nonsenseState)
     879      | Csem.Kstop -> IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
    876880      | Csem.Kseq (s', k') ->
    877881        IO.ret { Types.fst = Events.e0; Types.snd = (Csem.State (f,
     
    887891          Csyntax.Sskip, k', e1, m)) }
    888892      | Csem.Kfor3 (x, x0, x1, x2) ->
    889         IOMonad.Wrong (Errors.msg nonsenseState)
     893        IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
    890894      | Csem.Kswitch k' ->
    891895        IO.ret { Types.fst = Events.e0; Types.snd = (Csem.State (f,
    892896          Csyntax.Sskip, k', e1, m)) }
    893897      | Csem.Kcall (x, x0, x1, x2) ->
    894         IOMonad.Wrong (Errors.msg nonsenseState))
     898        IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState))
    895899   | Csyntax.Scontinue ->
    896900     (match k with
    897       | Csem.Kstop -> IOMonad.Wrong (Errors.msg nonsenseState)
     901      | Csem.Kstop -> IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
    898902      | Csem.Kseq (s', k') ->
    899903        IO.ret { Types.fst = Events.e0; Types.snd = (Csem.State (f,
     
    924928          (Csem.Kfor3 (a2, a3, s', k')), e1, m)) }
    925929      | Csem.Kfor3 (x, x0, x1, x2) ->
    926         IOMonad.Wrong (Errors.msg nonsenseState)
     930        IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
    927931      | Csem.Kswitch k' ->
    928932        IO.ret { Types.fst = Events.e0; Types.snd = (Csem.State (f,
    929933          Csyntax.Scontinue, k', e1, m)) }
    930934      | Csem.Kcall (x, x0, x1, x2) ->
    931         IOMonad.Wrong (Errors.msg nonsenseState))
     935        IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState))
    932936   | Csyntax.Sreturn a_opt ->
    933937     (match a_opt with
     
    938942             (Values.Vundef, (Csem.call_cont k),
    939943             (GenMem.free_list m (Csem.blocks_of_env e1)))) }
    940          | Csyntax.Tint (x, x0) -> IOMonad.Wrong (Errors.msg returnMismatch)
    941          | Csyntax.Tpointer x -> IOMonad.Wrong (Errors.msg returnMismatch)
     944         | Csyntax.Tint (x, x0) ->
     945           IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch)
     946         | Csyntax.Tpointer x ->
     947           IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch)
    942948         | Csyntax.Tarray (x, x0) ->
    943            IOMonad.Wrong (Errors.msg returnMismatch)
     949           IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch)
    944950         | Csyntax.Tfunction (x, x0) ->
    945            IOMonad.Wrong (Errors.msg returnMismatch)
     951           IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch)
    946952         | Csyntax.Tstruct (x, x0) ->
    947            IOMonad.Wrong (Errors.msg returnMismatch)
     953           IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch)
    948954         | Csyntax.Tunion (x, x0) ->
    949            IOMonad.Wrong (Errors.msg returnMismatch)
    950          | Csyntax.Tcomp_ptr x -> IOMonad.Wrong (Errors.msg returnMismatch))
     955           IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch)
     956         | Csyntax.Tcomp_ptr x ->
     957           IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch))
    951958      | Types.Some a ->
    952959        (match TypeComparison.type_eq_dec f.Csyntax.fn_return Csyntax.Tvoid with
    953          | Types.Inl _ -> IOMonad.Wrong (Errors.msg returnMismatch)
     960         | Types.Inl _ ->
     961           IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch)
    954962         | Types.Inr _ ->
    955963           Obj.magic
     
    968976         match v with
    969977         | Values.Vundef ->
    970            Obj.magic (IOMonad.Wrong (Errors.msg TypeComparison.typeMismatch))
     978           Obj.magic (IOMonad.Wrong (Errors.msg ErrorMessages.TypeMismatch))
    971979         | Values.Vint (sz, n) ->
    972980           (match Csyntax.typeof a with
    973981            | Csyntax.Tvoid ->
    974982              Obj.magic (IOMonad.Wrong
    975                 (Errors.msg TypeComparison.typeMismatch))
     983                (Errors.msg ErrorMessages.TypeMismatch))
    976984            | Csyntax.Tint (sz', x) ->
    977985              (match TypeComparison.sz_eq_dec sz sz' with
     
    980988                   (Obj.magic
    981989                     (IOMonad.opt_to_io
    982                        (Errors.msg TypeComparison.typeMismatch)
     990                       (Errors.msg ErrorMessages.TypeMismatch)
    983991                       (Csem.select_switch sz n sl))) (fun sl' ->
    984992                   Obj.magic
     
    988996               | Types.Inr _ ->
    989997                 Obj.magic (IOMonad.Wrong
    990                    (Errors.msg TypeComparison.typeMismatch)))
     998                   (Errors.msg ErrorMessages.TypeMismatch)))
    991999            | Csyntax.Tpointer x ->
    9921000              Obj.magic (IOMonad.Wrong
    993                 (Errors.msg TypeComparison.typeMismatch))
     1001                (Errors.msg ErrorMessages.TypeMismatch))
    9941002            | Csyntax.Tarray (x, x0) ->
    9951003              Obj.magic (IOMonad.Wrong
    996                 (Errors.msg TypeComparison.typeMismatch))
     1004                (Errors.msg ErrorMessages.TypeMismatch))
    9971005            | Csyntax.Tfunction (x, x0) ->
    9981006              Obj.magic (IOMonad.Wrong
    999                 (Errors.msg TypeComparison.typeMismatch))
     1007                (Errors.msg ErrorMessages.TypeMismatch))
    10001008            | Csyntax.Tstruct (x, x0) ->
    10011009              Obj.magic (IOMonad.Wrong
    1002                 (Errors.msg TypeComparison.typeMismatch))
     1010                (Errors.msg ErrorMessages.TypeMismatch))
    10031011            | Csyntax.Tunion (x, x0) ->
    10041012              Obj.magic (IOMonad.Wrong
    1005                 (Errors.msg TypeComparison.typeMismatch))
     1013                (Errors.msg ErrorMessages.TypeMismatch))
    10061014            | Csyntax.Tcomp_ptr x ->
    10071015              Obj.magic (IOMonad.Wrong
    1008                 (Errors.msg TypeComparison.typeMismatch)))
     1016                (Errors.msg ErrorMessages.TypeMismatch)))
    10091017         | Values.Vnull ->
    1010            Obj.magic (IOMonad.Wrong (Errors.msg TypeComparison.typeMismatch))
     1018           Obj.magic (IOMonad.Wrong (Errors.msg ErrorMessages.TypeMismatch))
    10111019         | Values.Vptr x ->
    1012            Obj.magic (IOMonad.Wrong (Errors.msg TypeComparison.typeMismatch))))
     1020           Obj.magic (IOMonad.Wrong (Errors.msg ErrorMessages.TypeMismatch))))
    10131021   | Csyntax.Slabel (lbl, s') ->
    10141022     IO.ret { Types.fst = Events.e0; Types.snd = (Csem.State (f, s', k, e1,
     
    10171025     (match Csem.find_label lbl f.Csyntax.fn_body (Csem.call_cont k) with
    10181026      | Types.None ->
    1019         IOMonad.Wrong (List.Cons ((Errors.MSG unknownLabel), (List.Cons
    1020           ((Errors.CTX (AST.symbolTag, lbl)), List.Nil))))
     1027        IOMonad.Wrong (List.Cons ((Errors.MSG ErrorMessages.UnknownLabel),
     1028          (List.Cons ((Errors.CTX (PreIdentifiers.SymbolTag, lbl)),
     1029          List.Nil))))
    10211030      | Types.Some sk' ->
    10221031        let { Types.fst = s'; Types.snd = k' } = sk' in
     
    10711080   | Csem.Kstop ->
    10721081     (match res1 with
    1073       | Values.Vundef -> IOMonad.Wrong (Errors.msg returnMismatch)
     1082      | Values.Vundef ->
     1083        IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch)
    10741084      | Values.Vint (sz, r) ->
    10751085        (match sz with
    1076          | AST.I8 -> (fun x -> IOMonad.Wrong (Errors.msg returnMismatch))
    1077          | AST.I16 -> (fun x -> IOMonad.Wrong (Errors.msg returnMismatch))
     1086         | AST.I8 ->
     1087           (fun x -> IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch))
     1088         | AST.I16 ->
     1089           (fun x -> IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch))
    10781090         | AST.I32 ->
    10791091           (fun r5 ->
    10801092             IO.ret { Types.fst = Events.e0; Types.snd = (Csem.Finalstate
    10811093               r5) })) r
    1082       | Values.Vnull -> IOMonad.Wrong (Errors.msg returnMismatch)
    1083       | Values.Vptr x -> IOMonad.Wrong (Errors.msg returnMismatch))
    1084    | Csem.Kseq (x, x0) -> IOMonad.Wrong (Errors.msg nonsenseState)
    1085    | Csem.Kwhile (x, x0, x1) -> IOMonad.Wrong (Errors.msg nonsenseState)
    1086    | Csem.Kdowhile (x, x0, x1) -> IOMonad.Wrong (Errors.msg nonsenseState)
    1087    | Csem.Kfor2 (x, x0, x1, x2) -> IOMonad.Wrong (Errors.msg nonsenseState)
    1088    | Csem.Kfor3 (x, x0, x1, x2) -> IOMonad.Wrong (Errors.msg nonsenseState)
    1089    | Csem.Kswitch x -> IOMonad.Wrong (Errors.msg nonsenseState)
     1094      | Values.Vnull ->
     1095        IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch)
     1096      | Values.Vptr x ->
     1097        IOMonad.Wrong (Errors.msg ErrorMessages.ReturnMismatch))
     1098   | Csem.Kseq (x, x0) ->
     1099     IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
     1100   | Csem.Kwhile (x, x0, x1) ->
     1101     IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
     1102   | Csem.Kdowhile (x, x0, x1) ->
     1103     IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
     1104   | Csem.Kfor2 (x, x0, x1, x2) ->
     1105     IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
     1106   | Csem.Kfor3 (x, x0, x1, x2) ->
     1107     IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
     1108   | Csem.Kswitch x -> IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
    10901109   | Csem.Kcall (r, f, e1, k') ->
    10911110     (match r with
     
    10981117          (Monad.m_bind0 (Monad.max_def IOMonad.iOMonad)
    10991118            (Obj.magic
    1100               (IOMonad.opt_to_io (Errors.msg failedStore)
     1119              (IOMonad.opt_to_io (Errors.msg ErrorMessages.FailedStore)
    11011120                (store_value_of_type' ty m l res1))) (fun m' ->
    11021121            Obj.magic
    11031122              (IO.ret { Types.fst = Events.e0; Types.snd = (Csem.State (f,
    11041123                Csyntax.Sskip, k', e1, m')) })))))
    1105 | Csem.Finalstate r -> IOMonad.Wrong (Errors.msg nonsenseState)
    1106 
    1107 (** val mainMissing : String.string **)
    1108 let mainMissing = "main missing"
    1109   (*failwith "AXIOM TO BE REALIZED"*)
     1124| Csem.Finalstate r -> IOMonad.Wrong (Errors.msg ErrorMessages.NonsenseState)
    11101125
    11111126(** val make_global0 : Csyntax.clight_program -> Csem.genv0 **)
     
    11221137      Monad.m_bind0 (Monad.max_def Errors.res0)
    11231138        (Obj.magic
    1124           (Errors.opt_to_res (Errors.msg mainMissing)
     1139          (Errors.opt_to_res (Errors.msg ErrorMessages.MainMissing)
    11251140            (Globalenvs.find_symbol ge0 p.AST.prog_main))) (fun b ->
    11261141        Monad.m_bind0 (Monad.max_def Errors.res0)
    11271142          (Obj.magic
    1128             (Errors.opt_to_res (Errors.msg mainMissing)
     1143            (Errors.opt_to_res (Errors.msg ErrorMessages.MainMissing)
    11291144              (Globalenvs.find_funct_ptr ge0 b))) (fun f ->
    11301145          Obj.magic (Errors.OK (Csem.Callstate (f, List.Nil, Csem.Kstop,
  • extracted/cexec.mli

    r2601 r2649  
    3939open Identifiers
    4040
    41 open Floats
    42 
    4341open Integers
    4442
     
    7169open Proper
    7270
     71open ErrorMessages
     72
    7373open Option
    7474
     
    7878
    7979open Positive
    80 
    81 open Char
    82 
    83 open String
    8480
    8581open PreIdentifiers
     
    117113open Csem
    118114
    119 val valueIsNotABoolean : String.string
    120 
    121115val exec_bool_of_val : Values.val0 -> Csyntax.type0 -> Bool.bool Errors.res
    122 
    123 val badCast : String.string
    124116
    125117val try_cast_null :
     
    136128  Csyntax.type0 -> GenMem.mem1 -> (Pointers.block, Pointers.offset)
    137129  Types.prod -> Values.val0 Types.option
    138 
    139 val badlyTypedTerm : String.string
    140 
    141 val unknownIdentifier : String.string
    142 
    143 val badLvalueTerm : String.string
    144 
    145 val failedLoad : String.string
    146 
    147 val failedOp : String.string
    148130
    149131val exec_lvalue :
     
    168150  -> (Csem.env, GenMem.mem1) Types.prod
    169151
    170 val wrongNumberOfParameters : String.string
    171 
    172 val failedStore : String.string
    173 
    174152val exec_bind_parameters :
    175153  Csem.env -> GenMem.mem1 -> (AST.ident, Csyntax.type0) Types.prod List.list
     
    184162  Types.prod -> Values.val0 -> GenMem.mem1 Types.option
    185163
    186 val nonsenseState : String.string
    187 
    188 val returnMismatch : String.string
    189 
    190 val unknownLabel : String.string
    191 
    192 val badFunctionValue : String.string
    193 
    194164val exec_step :
    195165  Csem.genv0 -> Csem.state0 -> (IO.io_out, IO.io_in, (Events.trace,
    196166  Csem.state0) Types.prod) IOMonad.iO
    197 
    198 val mainMissing : String.string
    199167
    200168val make_global0 : Csyntax.clight_program -> Csem.genv0
  • extracted/cexecInd.ml

    r2601 r2649  
    22
    33open CostLabel
     4
     5open Coqlib
    46
    57open Proper
     
    810
    911open Deqsets
     12
     13open ErrorMessages
    1014
    1115open PreIdentifiers
     
    2731open Identifiers
    2832
    29 open Coqlib
    30 
    31 open Floats
    32 
    3333open Arithmetic
    34 
    35 open Char
    36 
    37 open String
    3834
    3935open Vector
  • extracted/cexecInd.mli

    r2601 r2649  
    22
    33open CostLabel
     4
     5open Coqlib
    46
    57open Proper
     
    810
    911open Deqsets
     12
     13open ErrorMessages
    1014
    1115open PreIdentifiers
     
    2731open Identifiers
    2832
    29 open Coqlib
    30 
    31 open Floats
    32 
    3333open Arithmetic
    34 
    35 open Char
    36 
    37 open String
    3834
    3935open Vector
  • extracted/cexecSound.ml

    r2601 r2649  
    3737open Identifiers
    3838
    39 open Floats
    40 
    4139open Integers
    4240
     
    6967open Proper
    7068
     69open ErrorMessages
     70
    7171open Option
    7272
     
    7676
    7777open Positive
    78 
    79 open Char
    80 
    81 open String
    8278
    8379open PreIdentifiers
  • extracted/cexecSound.mli

    r2601 r2649  
    3737open Identifiers
    3838
    39 open Floats
    40 
    4139open Integers
    4240
     
    6967open Proper
    7068
     69open ErrorMessages
     70
    7171open Option
    7272
     
    7676
    7777open Positive
    78 
    79 open Char
    80 
    81 open String
    8278
    8379open PreIdentifiers
  • extracted/classifyOp.ml

    r2601 r2649  
    33open CostLabel
    44
     5open Coqlib
     6
    57open Proper
    68
     
    911open Deqsets
    1012
     13open ErrorMessages
     14
    1115open PreIdentifiers
    1216
     
    2731open Identifiers
    2832
    29 open Coqlib
    30 
    31 open Floats
    32 
    3333open Arithmetic
    34 
    35 open Char
    36 
    37 open String
    3834
    3935open Vector
     
    9894    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    9995    -> classify_add_cases -> 'a1 **)
    100 let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_6323 x_6322 = function
     96let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_3395 x_3394 = function
    10197| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    10298| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    110106    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    111107    -> classify_add_cases -> 'a1 **)
    112 let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_6330 x_6329 = function
     108let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_3402 x_3401 = function
    113109| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    114110| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    122118    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    123119    -> classify_add_cases -> 'a1 **)
    124 let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_6337 x_6336 = function
     120let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_3409 x_3408 = function
    125121| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    126122| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    134130    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    135131    -> classify_add_cases -> 'a1 **)
    136 let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_6344 x_6343 = function
     132let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_3416 x_3415 = function
    137133| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    138134| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    146142    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    147143    -> classify_add_cases -> 'a1 **)
    148 let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_6351 x_6350 = function
     144let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_3423 x_3422 = function
    149145| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    150146| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    158154    (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0
    159155    -> classify_add_cases -> 'a1 **)
    160 let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_6358 x_6357 = function
     156let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_3430 x_3429 = function
    161157| Add_case_ii (sz, sg) -> h_add_case_ii sz sg
    162158| Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg
     
    321317    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    322318    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    323 let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_6414 x_6413 = function
     319let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_3486 x_3485 = function
    324320| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    325321| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    333329    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    334330    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    335 let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_6421 x_6420 = function
     331let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_3493 x_3492 = function
    336332| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    337333| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    345341    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    346342    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    347 let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_6428 x_6427 = function
     343let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_3500 x_3499 = function
    348344| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    349345| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    357353    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    358354    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    359 let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_6435 x_6434 = function
     355let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_3507 x_3506 = function
    360356| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    361357| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    369365    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    370366    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    371 let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_6442 x_6441 = function
     367let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_3514 x_3513 = function
    372368| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    373369| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    381377    'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 ->
    382378    Csyntax.type0 -> classify_sub_cases -> 'a1 **)
    383 let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_6449 x_6448 = function
     379let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_3521 x_3520 = function
    384380| Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg
    385381| Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg
     
    521517    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    522518    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    523 let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_6503 x_6502 = function
     519let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_3575 x_3574 = function
    524520| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    525521| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    528524    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    529525    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    530 let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_6508 x_6507 = function
     526let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_3580 x_3579 = function
    531527| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    532528| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    535531    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    536532    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    537 let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_6513 x_6512 = function
     533let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_3585 x_3584 = function
    538534| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    539535| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    542538    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    543539    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    544 let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_6518 x_6517 = function
     540let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_3590 x_3589 = function
    545541| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    546542| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    549545    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    550546    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    551 let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_6523 x_6522 = function
     547let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_3595 x_3594 = function
    552548| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    553549| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    556552    (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0
    557553    -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **)
    558 let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_6528 x_6527 = function
     554let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_3600 x_3599 = function
    559555| Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg
    560556| Aop_default (ty, ty') -> h_aop_default ty ty'
     
    638634    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    639635    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    640 let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_6569 x_6568 = function
     636let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_3641 x_3640 = function
    641637| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    642638| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    647643    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    648644    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    649 let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_6575 x_6574 = function
     645let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_3647 x_3646 = function
    650646| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    651647| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    656652    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    657653    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    658 let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_6581 x_6580 = function
     654let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_3653 x_3652 = function
    659655| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    660656| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    665661    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    666662    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    667 let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_6587 x_6586 = function
     663let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_3659 x_3658 = function
    668664| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    669665| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    674670    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    675671    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    676 let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_6593 x_6592 = function
     672let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_3665 x_3664 = function
    677673| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    678674| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    683679    Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) ->
    684680    Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **)
    685 let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_6599 x_6598 = function
     681let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_3671 x_3670 = function
    686682| Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg
    687683| Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty
     
    782778    -> 'a1 **)
    783779let rec classify_fun_cases_rect_Type4 h_fun_case_f h_fun_default = function
    784 | Fun_case_f (x_6647, x_6646) -> h_fun_case_f x_6647 x_6646
     780| Fun_case_f (x_3719, x_3718) -> h_fun_case_f x_3719 x_3718
    785781| Fun_default -> h_fun_default
    786782
     
    789785    -> 'a1 **)
    790786let rec classify_fun_cases_rect_Type5 h_fun_case_f h_fun_default = function
    791 | Fun_case_f (x_6652, x_6651) -> h_fun_case_f x_6652 x_6651
     787| Fun_case_f (x_3724, x_3723) -> h_fun_case_f x_3724 x_3723
    792788| Fun_default -> h_fun_default
    793789
     
    796792    -> 'a1 **)
    797793let rec classify_fun_cases_rect_Type3 h_fun_case_f h_fun_default = function
    798 | Fun_case_f (x_6657, x_6656) -> h_fun_case_f x_6657 x_6656
     794| Fun_case_f (x_3729, x_3728) -> h_fun_case_f x_3729 x_3728
    799795| Fun_default -> h_fun_default
    800796
     
    803799    -> 'a1 **)
    804800let rec classify_fun_cases_rect_Type2 h_fun_case_f h_fun_default = function
    805 | Fun_case_f (x_6662, x_6661) -> h_fun_case_f x_6662 x_6661
     801| Fun_case_f (x_3734, x_3733) -> h_fun_case_f x_3734 x_3733
    806802| Fun_default -> h_fun_default
    807803
     
    810806    -> 'a1 **)
    811807let rec classify_fun_cases_rect_Type1 h_fun_case_f h_fun_default = function
    812 | Fun_case_f (x_6667, x_6666) -> h_fun_case_f x_6667 x_6666
     808| Fun_case_f (x_3739, x_3738) -> h_fun_case_f x_3739 x_3738
    813809| Fun_default -> h_fun_default
    814810
     
    817813    -> 'a1 **)
    818814let rec classify_fun_cases_rect_Type0 h_fun_case_f h_fun_default = function
    819 | Fun_case_f (x_6672, x_6671) -> h_fun_case_f x_6672 x_6671
     815| Fun_case_f (x_3744, x_3743) -> h_fun_case_f x_3744 x_3743
    820816| Fun_default -> h_fun_default
    821817
  • extracted/classifyOp.mli

    r2601 r2649  
    33open CostLabel
    44
     5open Coqlib
     6
    57open Proper
    68
     
    911open Deqsets
    1012
     13open ErrorMessages
     14
    1115open PreIdentifiers
    1216
     
    2731open Identifiers
    2832
    29 open Coqlib
    30 
    31 open Floats
    32 
    3333open Arithmetic
    34 
    35 open Char
    36 
    37 open String
    3834
    3935open Vector
  • extracted/cminor_semantics.ml

    r2636 r2649  
    1515open Identifiers
    1616
    17 open Floats
    18 
    1917open Integers
    2018
     
    3937open Pointers
    4038
     39open ErrorMessages
     40
    4141open Option
    4242
     
    4646
    4747open Positive
    48 
    49 open Char
    50 
    51 open String
    5248
    5349open PreIdentifiers
     
    452448     | Finalstate a0 -> Obj.magic (fun _ dH -> dH __)) y
    453449
    454 (** val unknownLocal : String.string **)
    455 let unknownLocal = "unknown local"
    456   (*failwith "AXIOM TO BE REALIZED"*)
    457 
    458 (** val failedConstant : String.string **)
    459 let failedConstant = "failed constant"
    460   (*failwith "AXIOM TO BE REALIZED"*)
    461 
    462 (** val failedOp : String.string **)
    463 let failedOp = "failed op"
    464   (*failwith "AXIOM TO BE REALIZED"*)
    465 
    466 (** val failedLoad : String.string **)
    467 let failedLoad = "failed load"
    468   (*failwith "AXIOM TO BE REALIZED"*)
    469 
    470450(** val eval_expr :
    471451    genv -> AST.typ -> Cminor_syntax.expr -> env -> Pointers.block ->
     
    475455   | Cminor_syntax.Id (x, i) ->
    476456     (fun _ ->
    477        let r = Identifiers.lookup_present AST.symbolTag en i in
     457       let r = Identifiers.lookup_present PreIdentifiers.SymbolTag en i in
    478458       Errors.OK { Types.fst = Events.e0; Types.snd = r })
    479459   | Cminor_syntax.Cst (x, c) ->
     
    482462         (Monad.m_bind0 (Monad.max_def Errors.res0)
    483463           (Obj.magic
    484              (Errors.opt_to_res (Errors.msg failedConstant)
     464             (Errors.opt_to_res (Errors.msg ErrorMessages.FailedConstant)
    485465               (FrontEndOps.eval_constant x (Globalenvs.find_symbol ge) sp c)))
    486466           (fun r ->
     
    493473           Monad.m_bind0 (Monad.max_def Errors.res0)
    494474             (Obj.magic
    495                (Errors.opt_to_res (Errors.msg failedOp)
     475               (Errors.opt_to_res (Errors.msg ErrorMessages.FailedOp)
    496476                 (FrontEndOps.eval_unop ty ty' op0 v))) (fun r ->
    497477             Obj.magic (Errors.OK { Types.fst = tr; Types.snd = r })))))
     
    505485             Monad.m_bind0 (Monad.max_def Errors.res0)
    506486               (Obj.magic
    507                  (Errors.opt_to_res (Errors.msg failedOp)
     487                 (Errors.opt_to_res (Errors.msg ErrorMessages.FailedOp)
    508488                   (FrontEndOps.eval_binop m ty1 ty2 ty' op0 v1 v2)))
    509489               (fun r ->
     
    517497           Monad.m_bind0 (Monad.max_def Errors.res0)
    518498             (Obj.magic
    519                (Errors.opt_to_res (Errors.msg failedLoad)
     499               (Errors.opt_to_res (Errors.msg ErrorMessages.FailedLoad)
    520500                 (FrontEndMem.loadv ty m v))) (fun r ->
    521501             Obj.magic (Errors.OK { Types.fst = tr; Types.snd = r })))))
     
    544524             (Events.eapp (Events.echarge l) tr); Types.snd = r }))))) __
    545525
    546 (** val badState : String.string **)
    547 let badState = "bad state"
    548   (*failwith "AXIOM TO BE REALIZED"*)
    549 
    550526(** val k_exit :
    551527    Nat.nat -> cont -> Cminor_syntax.internal_function -> env -> cont
     
    553529let rec k_exit n k f en =
    554530  (match k with
    555    | Kend -> (fun _ -> Errors.Error (Errors.msg badState))
     531   | Kend -> (fun _ -> Errors.Error (Errors.msg ErrorMessages.BadState))
    556532   | Kseq (x, k') -> (fun _ -> k_exit n k' f en)
    557533   | Kblock k' ->
     
    596572   | Cminor_syntax.St_label (l', s') ->
    597573     (fun _ ->
    598        match Identifiers.identifier_eq Cminor_syntax.label l l' with
     574       match Identifiers.identifier_eq PreIdentifiers.Label l l' with
    599575       | Types.Inl _ -> Types.Some { Types.fst = s'; Types.snd = k }
    600576       | Types.Inr _ -> find_label l s' k f en)
     
    611587   | Types.Some sk -> (fun _ -> sk)) __
    612588
    613 (** val wrongNumberOfParameters : String.string **)
    614 let wrongNumberOfParameters = "wrong number of parameters"
    615   (*failwith "AXIOM TO BE REALIZED"*)
    616 
    617589(** val bind_params :
    618590    Values.val0 List.list -> (AST.ident, AST.typ) Types.prod List.list -> env
     
    622594  | List.Nil ->
    623595    (match ids with
    624      | List.Nil -> Errors.OK (Identifiers.empty_map AST.symbolTag)
    625      | List.Cons (x, x0) -> Errors.Error (Errors.msg wrongNumberOfParameters))
     596     | List.Nil -> Errors.OK (Identifiers.empty_map PreIdentifiers.SymbolTag)
     597     | List.Cons (x, x0) ->
     598       Errors.Error (Errors.msg ErrorMessages.WrongNumberOfParameters))
    626599  | List.Cons (v, vt) ->
    627600    (match ids with
    628      | List.Nil -> Errors.Error (Errors.msg wrongNumberOfParameters)
     601     | List.Nil ->
     602       Errors.Error (Errors.msg ErrorMessages.WrongNumberOfParameters)
    629603     | List.Cons (idh, idt) ->
    630604       let { Types.fst = id; Types.snd = ty } = idh in
     
    633607           (Obj.magic (bind_params vt idt)) (fun en ->
    634608           Obj.magic (Errors.OK
    635              (Identifiers.add AST.symbolTag (Types.pi1 en) idh.Types.fst v)))))
     609             (Identifiers.add PreIdentifiers.SymbolTag (Types.pi1 en)
     610               idh.Types.fst v)))))
    636611
    637612(** val init_locals :
     
    639614let init_locals =
    640615  List.foldr (fun idty en ->
    641     Identifiers.add AST.symbolTag en idty.Types.fst Values.Vundef)
     616    Identifiers.add PreIdentifiers.SymbolTag en idty.Types.fst Values.Vundef)
    642617
    643618(** val trace_map_inv :
     
    657632             Obj.magic (Errors.OK { Types.fst = (Events.eapp tr tr');
    658633               Types.snd = (List.Cons (h', t')) })))))) __
    659 
    660 (** val failedStore : String.string **)
    661 let failedStore = "failed store"
    662   (*failwith "AXIOM TO BE REALIZED"*)
    663 
    664 (** val badFunctionValue : String.string **)
    665 let badFunctionValue = "bad function value"
    666   (*failwith "AXIOM TO BE REALIZED"*)
    667 
    668 (** val returnMismatch : String.string **)
    669 let returnMismatch = "return mismatch"
    670   (*failwith "AXIOM TO BE REALIZED"*)
    671634
    672635(** val eval_step :
     
    703666            (Monad.m_bind2 (Monad.max_def Errors.res0)
    704667              (Obj.magic (eval_expr ge x e1 en sp m)) (fun tr v ->
    705               let en' = Identifiers.update_present AST.symbolTag en id v in
     668              let en' =
     669                Identifiers.update_present PreIdentifiers.SymbolTag en id v
     670              in
    706671              Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst = tr;
    707672                Types.snd = (State (f, Cminor_syntax.St_skip, en', m, sp, k,
     
    717682                Monad.m_bind0 (Monad.max_def Errors.res0)
    718683                  (Obj.magic
    719                     (Errors.opt_to_res (Errors.msg failedStore)
     684                    (Errors.opt_to_res (Errors.msg ErrorMessages.FailedStore)
    720685                      (FrontEndMem.storev ty m vdst v))) (fun m' ->
    721686                  Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
     
    729694              Monad.m_bind0 (Monad.max_def Errors.res0)
    730695                (Obj.magic
    731                   (Errors.opt_to_res (Errors.msg badFunctionValue)
     696                  (Errors.opt_to_res
     697                    (Errors.msg ErrorMessages.BadFunctionValue)
    732698                    (Globalenvs.find_funct ge vf))) (fun fd ->
    733699                Monad.m_bind2 (Monad.max_def Errors.res0)
     
    800766       (let { Types.fst = m'; Types.snd = sp } =
    801767          GenMem.alloc m (Z.z_of_nat Nat.O)
    802             (Z.z_of_nat f.Cminor_syntax.f_stacksize) AST.XData
     768            (Z.z_of_nat f.Cminor_syntax.f_stacksize)
    803769        in
    804770       Obj.magic
     
    835801     | SStop ->
    836802       (match result with
    837         | Types.None -> Errors.Error (Errors.msg returnMismatch)
     803        | Types.None ->
     804          Errors.Error (Errors.msg ErrorMessages.ReturnMismatch)
    838805        | Types.Some v ->
    839806          (match v with
    840            | Values.Vundef -> Errors.Error (Errors.msg returnMismatch)
     807           | Values.Vundef ->
     808             Errors.Error (Errors.msg ErrorMessages.ReturnMismatch)
    841809           | Values.Vint (sz, r) ->
    842810             (match sz with
    843               | AST.I8 -> (fun x -> Errors.Error (Errors.msg returnMismatch))
     811              | AST.I8 ->
     812                (fun x -> Errors.Error
     813                  (Errors.msg ErrorMessages.ReturnMismatch))
    844814              | AST.I16 ->
    845                 (fun x -> Errors.Error (Errors.msg returnMismatch))
     815                (fun x -> Errors.Error
     816                  (Errors.msg ErrorMessages.ReturnMismatch))
    846817              | AST.I32 ->
    847818                (fun r5 ->
     
    850821                      { Types.fst = Events.e0; Types.snd = (Finalstate r5) })))
    851822               r
    852            | Values.Vnull -> Errors.Error (Errors.msg returnMismatch)
    853            | Values.Vptr x -> Errors.Error (Errors.msg returnMismatch)))
     823           | Values.Vnull ->
     824             Errors.Error (Errors.msg ErrorMessages.ReturnMismatch)
     825           | Values.Vptr x ->
     826             Errors.Error (Errors.msg ErrorMessages.ReturnMismatch)))
    854827     | Scall (dst, f, sp, en, k, st') ->
    855828       (match result with
     
    861834                 Events.e0; Types.snd = (State (f, Cminor_syntax.St_skip, en,
    862835                 m, sp, k, st')) })
    863            | Types.Some x -> Errors.Error (Errors.msg returnMismatch))
     836           | Types.Some x ->
     837             Errors.Error (Errors.msg ErrorMessages.ReturnMismatch))
    864838        | Types.Some v ->
    865839          (match dst with
    866840           | Types.None ->
    867              (fun _ -> Errors.Error (Errors.msg returnMismatch))
     841             (fun _ -> Errors.Error
     842               (Errors.msg ErrorMessages.ReturnMismatch))
    868843           | Types.Some idty ->
    869844             (fun _ ->
     
    871846                 (Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst =
    872847                   Events.e0; Types.snd = (State (f, Cminor_syntax.St_skip,
    873                    (Identifiers.update_present AST.symbolTag en
     848                   (Identifiers.update_present PreIdentifiers.SymbolTag en
    874849                     idty.Types.fst v), m, sp, k, st')) }))) __))
    875 | Finalstate r -> IOMonad.err_to_io (Errors.Error (Errors.msg badState))
     850| Finalstate r ->
     851  IOMonad.err_to_io (Errors.Error (Errors.msg ErrorMessages.BadState))
    876852
    877853(** val is_final0 : state0 -> Integers.int Types.option **)
     
    886862  { SmallstepExec.is_final = (fun x -> Obj.magic is_final0);
    887863    SmallstepExec.step = (Obj.magic eval_step) }
    888 
    889 (** val mainMissing : String.string **)
    890 let mainMissing = "main missing"
    891   (*failwith "AXIOM TO BE REALIZED"*)
    892864
    893865(** val make_global0 : Cminor_syntax.cminor_program -> genv **)
     
    904876      Monad.m_bind0 (Monad.max_def Errors.res0)
    905877        (Obj.magic
    906           (Errors.opt_to_res (Errors.msg mainMissing)
     878          (Errors.opt_to_res (Errors.msg ErrorMessages.MainMissing)
    907879            (Globalenvs.find_symbol ge p.AST.prog_main))) (fun b ->
    908880        Monad.m_bind0 (Monad.max_def Errors.res0)
    909881          (Obj.magic
    910             (Errors.opt_to_res (Errors.msg mainMissing)
     882            (Errors.opt_to_res (Errors.msg ErrorMessages.MainMissing)
    911883              (Globalenvs.find_funct_ptr ge b))) (fun f ->
    912884          Obj.magic (Errors.OK (Callstate (f, List.Nil, m, SStop)))))))
     
    933905      Monad.m_bind0 (Monad.max_def Errors.res0)
    934906        (Obj.magic
    935           (Errors.opt_to_res (Errors.msg mainMissing)
     907          (Errors.opt_to_res (Errors.msg ErrorMessages.MainMissing)
    936908            (Globalenvs.find_symbol ge p.AST.prog_main))) (fun b ->
    937909        Monad.m_bind0 (Monad.max_def Errors.res0)
    938910          (Obj.magic
    939             (Errors.opt_to_res (Errors.msg mainMissing)
     911            (Errors.opt_to_res (Errors.msg ErrorMessages.MainMissing)
    940912              (Globalenvs.find_funct_ptr ge b))) (fun f ->
    941913          Obj.magic (Errors.OK (Callstate (f, List.Nil, m, SStop)))))))
  • extracted/cminor_semantics.mli

    r2636 r2649  
    1515open Identifiers
    1616
    17 open Floats
    18 
    1917open Integers
    2018
     
    3937open Pointers
    4038
     39open ErrorMessages
     40
    4141open Option
    4242
     
    4646
    4747open Positive
    48 
    49 open Char
    50 
    51 open String
    5248
    5349open PreIdentifiers
     
    316312val state_jmdiscr : state0 -> state0 -> __
    317313
    318 val unknownLocal : String.string
    319 
    320 val failedConstant : String.string
    321 
    322 val failedOp : String.string
    323 
    324 val failedLoad : String.string
    325 
    326314val eval_expr :
    327315  genv -> AST.typ -> Cminor_syntax.expr -> env -> Pointers.block ->
    328316  GenMem.mem1 -> (Events.trace, Values.val0) Types.prod Errors.res
    329 
    330 val badState : String.string
    331317
    332318val k_exit :
     
    348334  Types.prod Types.sig0
    349335
    350 val wrongNumberOfParameters : String.string
    351 
    352336val bind_params :
    353337  Values.val0 List.list -> (AST.ident, AST.typ) Types.prod List.list -> env
     
    360344  -> (Events.trace, 'a2 List.list) Types.prod Errors.res
    361345
    362 val failedStore : String.string
    363 
    364 val badFunctionValue : String.string
    365 
    366 val returnMismatch : String.string
    367 
    368346val eval_step :
    369347  genv -> state0 -> (IO.io_out, IO.io_in, (Events.trace, state0) Types.prod)
     
    374352val cminor_exec : (IO.io_out, IO.io_in) SmallstepExec.trans_system
    375353
    376 val mainMissing : String.string
    377 
    378354val make_global0 : Cminor_syntax.cminor_program -> genv
    379355
  • extracted/cminor_syntax.ml

    r2601 r2649  
    2323open Identifiers
    2424
    25 open Floats
    26 
    2725open Integers
    2826
     
    4745open Pointers
    4846
     47open ErrorMessages
     48
    4949open Option
    5050
     
    5454
    5555open Positive
    56 
    57 open Char
    58 
    59 open String
    6056
    6157open PreIdentifiers
     
    115111    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    116112    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    117 let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_12680 = function
    118 | Id (t, x_12682) -> h_Id t x_12682
    119 | Cst (t, x_12683) -> h_Cst t x_12683
    120 | Op1 (t, t', x_12685, x_12684) ->
    121   h_Op1 t t' x_12685 x_12684
    122     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12684)
    123 | Op2 (t1, t2, t', x_12688, x_12687, x_12686) ->
    124   h_Op2 t1 t2 t' x_12688 x_12687 x_12686
    125     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_12687)
    126     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_12686)
    127 | Mem (t, x_12689) ->
    128   h_Mem t x_12689
     113let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10365 = function
     114| Id (t, x_10367) -> h_Id t x_10367
     115| Cst (t, x_10368) -> h_Cst t x_10368
     116| Op1 (t, t', x_10370, x_10369) ->
     117  h_Op1 t t' x_10370 x_10369
     118    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10369)
     119| Op2 (t1, t2, t', x_10373, x_10372, x_10371) ->
     120  h_Op2 t1 t2 t' x_10373 x_10372 x_10371
     121    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10372)
     122    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10371)
     123| Mem (t, x_10374) ->
     124  h_Mem t x_10374
    129125    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    130       x_12689)
    131 | Cond (sz, sg, t, x_12692, x_12691, x_12690) ->
    132   h_Cond sz sg t x_12692 x_12691 x_12690
     126      x_10374)
     127| Cond (sz, sg, t, x_10377, x_10376, x_10375) ->
     128  h_Cond sz sg t x_10377 x_10376 x_10375
    133129    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    134       (sz, sg)) x_12692)
    135     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12691)
    136     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12690)
    137 | Ecost (t, x_12694, x_12693) ->
    138   h_Ecost t x_12694 x_12693
    139     (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12693)
     130      (sz, sg)) x_10377)
     131    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10376)
     132    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10375)
     133| Ecost (t, x_10379, x_10378) ->
     134  h_Ecost t x_10379 x_10378
     135    (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10378)
    140136
    141137(** val expr_rect_Type3 :
     
    147143    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    148144    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    149 let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_12724 = function
    150 | Id (t, x_12726) -> h_Id t x_12726
    151 | Cst (t, x_12727) -> h_Cst t x_12727
    152 | Op1 (t, t', x_12729, x_12728) ->
    153   h_Op1 t t' x_12729 x_12728
    154     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12728)
    155 | Op2 (t1, t2, t', x_12732, x_12731, x_12730) ->
    156   h_Op2 t1 t2 t' x_12732 x_12731 x_12730
    157     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_12731)
    158     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_12730)
    159 | Mem (t, x_12733) ->
    160   h_Mem t x_12733
     145let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10409 = function
     146| Id (t, x_10411) -> h_Id t x_10411
     147| Cst (t, x_10412) -> h_Cst t x_10412
     148| Op1 (t, t', x_10414, x_10413) ->
     149  h_Op1 t t' x_10414 x_10413
     150    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10413)
     151| Op2 (t1, t2, t', x_10417, x_10416, x_10415) ->
     152  h_Op2 t1 t2 t' x_10417 x_10416 x_10415
     153    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10416)
     154    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10415)
     155| Mem (t, x_10418) ->
     156  h_Mem t x_10418
    161157    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    162       x_12733)
    163 | Cond (sz, sg, t, x_12736, x_12735, x_12734) ->
    164   h_Cond sz sg t x_12736 x_12735 x_12734
     158      x_10418)
     159| Cond (sz, sg, t, x_10421, x_10420, x_10419) ->
     160  h_Cond sz sg t x_10421 x_10420 x_10419
    165161    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    166       (sz, sg)) x_12736)
    167     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12735)
    168     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12734)
    169 | Ecost (t, x_12738, x_12737) ->
    170   h_Ecost t x_12738 x_12737
    171     (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12737)
     162      (sz, sg)) x_10421)
     163    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10420)
     164    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10419)
     165| Ecost (t, x_10423, x_10422) ->
     166  h_Ecost t x_10423 x_10422
     167    (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10422)
    172168
    173169(** val expr_rect_Type2 :
     
    179175    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    180176    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    181 let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_12746 = function
    182 | Id (t, x_12748) -> h_Id t x_12748
    183 | Cst (t, x_12749) -> h_Cst t x_12749
    184 | Op1 (t, t', x_12751, x_12750) ->
    185   h_Op1 t t' x_12751 x_12750
    186     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12750)
    187 | Op2 (t1, t2, t', x_12754, x_12753, x_12752) ->
    188   h_Op2 t1 t2 t' x_12754 x_12753 x_12752
    189     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_12753)
    190     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_12752)
    191 | Mem (t, x_12755) ->
    192   h_Mem t x_12755
     177let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10431 = function
     178| Id (t, x_10433) -> h_Id t x_10433
     179| Cst (t, x_10434) -> h_Cst t x_10434
     180| Op1 (t, t', x_10436, x_10435) ->
     181  h_Op1 t t' x_10436 x_10435
     182    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10435)
     183| Op2 (t1, t2, t', x_10439, x_10438, x_10437) ->
     184  h_Op2 t1 t2 t' x_10439 x_10438 x_10437
     185    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10438)
     186    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10437)
     187| Mem (t, x_10440) ->
     188  h_Mem t x_10440
    193189    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    194       x_12755)
    195 | Cond (sz, sg, t, x_12758, x_12757, x_12756) ->
    196   h_Cond sz sg t x_12758 x_12757 x_12756
     190      x_10440)
     191| Cond (sz, sg, t, x_10443, x_10442, x_10441) ->
     192  h_Cond sz sg t x_10443 x_10442 x_10441
    197193    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    198       (sz, sg)) x_12758)
    199     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12757)
    200     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12756)
    201 | Ecost (t, x_12760, x_12759) ->
    202   h_Ecost t x_12760 x_12759
    203     (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12759)
     194      (sz, sg)) x_10443)
     195    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10442)
     196    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10441)
     197| Ecost (t, x_10445, x_10444) ->
     198  h_Ecost t x_10445 x_10444
     199    (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10444)
    204200
    205201(** val expr_rect_Type1 :
     
    211207    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    212208    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    213 let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_12768 = function
    214 | Id (t, x_12770) -> h_Id t x_12770
    215 | Cst (t, x_12771) -> h_Cst t x_12771
    216 | Op1 (t, t', x_12773, x_12772) ->
    217   h_Op1 t t' x_12773 x_12772
    218     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12772)
    219 | Op2 (t1, t2, t', x_12776, x_12775, x_12774) ->
    220   h_Op2 t1 t2 t' x_12776 x_12775 x_12774
    221     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_12775)
    222     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_12774)
    223 | Mem (t, x_12777) ->
    224   h_Mem t x_12777
     209let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10453 = function
     210| Id (t, x_10455) -> h_Id t x_10455
     211| Cst (t, x_10456) -> h_Cst t x_10456
     212| Op1 (t, t', x_10458, x_10457) ->
     213  h_Op1 t t' x_10458 x_10457
     214    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10457)
     215| Op2 (t1, t2, t', x_10461, x_10460, x_10459) ->
     216  h_Op2 t1 t2 t' x_10461 x_10460 x_10459
     217    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10460)
     218    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10459)
     219| Mem (t, x_10462) ->
     220  h_Mem t x_10462
    225221    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    226       x_12777)
    227 | Cond (sz, sg, t, x_12780, x_12779, x_12778) ->
    228   h_Cond sz sg t x_12780 x_12779 x_12778
     222      x_10462)
     223| Cond (sz, sg, t, x_10465, x_10464, x_10463) ->
     224  h_Cond sz sg t x_10465 x_10464 x_10463
    229225    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    230       (sz, sg)) x_12780)
    231     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12779)
    232     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12778)
    233 | Ecost (t, x_12782, x_12781) ->
    234   h_Ecost t x_12782 x_12781
    235     (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12781)
     226      (sz, sg)) x_10465)
     227    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10464)
     228    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10463)
     229| Ecost (t, x_10467, x_10466) ->
     230  h_Ecost t x_10467 x_10466
     231    (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10466)
    236232
    237233(** val expr_rect_Type0 :
     
    243239    -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1
    244240    -> 'a1) -> AST.typ -> expr -> 'a1 **)
    245 let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_12790 = function
    246 | Id (t, x_12792) -> h_Id t x_12792
    247 | Cst (t, x_12793) -> h_Cst t x_12793
    248 | Op1 (t, t', x_12795, x_12794) ->
    249   h_Op1 t t' x_12795 x_12794
    250     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12794)
    251 | Op2 (t1, t2, t', x_12798, x_12797, x_12796) ->
    252   h_Op2 t1 t2 t' x_12798 x_12797 x_12796
    253     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_12797)
    254     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_12796)
    255 | Mem (t, x_12799) ->
    256   h_Mem t x_12799
     241let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_10475 = function
     242| Id (t, x_10477) -> h_Id t x_10477
     243| Cst (t, x_10478) -> h_Cst t x_10478
     244| Op1 (t, t', x_10480, x_10479) ->
     245  h_Op1 t t' x_10480 x_10479
     246    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10479)
     247| Op2 (t1, t2, t', x_10483, x_10482, x_10481) ->
     248  h_Op2 t1 t2 t' x_10483 x_10482 x_10481
     249    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_10482)
     250    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_10481)
     251| Mem (t, x_10484) ->
     252  h_Mem t x_10484
    257253    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr
    258       x_12799)
    259 | Cond (sz, sg, t, x_12802, x_12801, x_12800) ->
    260   h_Cond sz sg t x_12802 x_12801 x_12800
     254      x_10484)
     255| Cond (sz, sg, t, x_10487, x_10486, x_10485) ->
     256  h_Cond sz sg t x_10487 x_10486 x_10485
    261257    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint
    262       (sz, sg)) x_12802)
    263     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12801)
    264     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12800)
    265 | Ecost (t, x_12804, x_12803) ->
    266   h_Ecost t x_12804 x_12803
    267     (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_12803)
     258      (sz, sg)) x_10487)
     259    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10486)
     260    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10485)
     261| Ecost (t, x_10489, x_10488) ->
     262  h_Ecost t x_10489 x_10488
     263    (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_10488)
    268264
    269265(** val expr_inv_rect_Type4 :
     
    353349type expr_vars = __
    354350
    355 (** val label : String.string **)
    356 let label = "Label"
    357   (*failwith "AXIOM TO BE REALIZED"*)
    358 
    359351type stmt =
    360352| St_skip
     
    381373let rec stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    382374| St_skip -> h_St_skip
    383 | St_assign (t, x_12975, x_12974) -> h_St_assign t x_12975 x_12974
    384 | St_store (t, x_12977, x_12976) -> h_St_store t x_12977 x_12976
    385 | St_call (x_12980, x_12979, x_12978) -> h_St_call x_12980 x_12979 x_12978
    386 | St_seq (x_12982, x_12981) ->
    387   h_St_seq x_12982 x_12981
     375| St_assign (t, x_10660, x_10659) -> h_St_assign t x_10660 x_10659
     376| St_store (t, x_10662, x_10661) -> h_St_store t x_10662 x_10661
     377| St_call (x_10665, x_10664, x_10663) -> h_St_call x_10665 x_10664 x_10663
     378| St_seq (x_10667, x_10666) ->
     379  h_St_seq x_10667 x_10666
    388380    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    389       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_12982)
     381      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10667)
    390382    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    391       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_12981)
    392 | St_ifthenelse (sz, sg, x_12985, x_12984, x_12983) ->
    393   h_St_ifthenelse sz sg x_12985 x_12984 x_12983
     383      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10666)
     384| St_ifthenelse (sz, sg, x_10670, x_10669, x_10668) ->
     385  h_St_ifthenelse sz sg x_10670 x_10669 x_10668
    394386    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    395       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_12984)
     387      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10669)
    396388    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    397       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_12983)
    398 | St_return x_12986 -> h_St_return x_12986
    399 | St_label (x_12988, x_12987) ->
    400   h_St_label x_12988 x_12987
     389      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10668)
     390| St_return x_10671 -> h_St_return x_10671
     391| St_label (x_10673, x_10672) ->
     392  h_St_label x_10673 x_10672
    401393    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    402       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_12987)
    403 | St_goto x_12989 -> h_St_goto x_12989
    404 | St_cost (x_12991, x_12990) ->
    405   h_St_cost x_12991 x_12990
     394      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10672)
     395| St_goto x_10674 -> h_St_goto x_10674
     396| St_cost (x_10676, x_10675) ->
     397  h_St_cost x_10676 x_10675
    406398    (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    407       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_12990)
     399      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10675)
    408400
    409401(** val stmt_rect_Type3 :
     
    418410let rec stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    419411| St_skip -> h_St_skip
    420 | St_assign (t, x_13033, x_13032) -> h_St_assign t x_13033 x_13032
    421 | St_store (t, x_13035, x_13034) -> h_St_store t x_13035 x_13034
    422 | St_call (x_13038, x_13037, x_13036) -> h_St_call x_13038 x_13037 x_13036
    423 | St_seq (x_13040, x_13039) ->
    424   h_St_seq x_13040 x_13039
     412| St_assign (t, x_10718, x_10717) -> h_St_assign t x_10718 x_10717
     413| St_store (t, x_10720, x_10719) -> h_St_store t x_10720 x_10719
     414| St_call (x_10723, x_10722, x_10721) -> h_St_call x_10723 x_10722 x_10721
     415| St_seq (x_10725, x_10724) ->
     416  h_St_seq x_10725 x_10724
    425417    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    426       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13040)
     418      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10725)
    427419    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    428       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13039)
    429 | St_ifthenelse (sz, sg, x_13043, x_13042, x_13041) ->
    430   h_St_ifthenelse sz sg x_13043 x_13042 x_13041
     420      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10724)
     421| St_ifthenelse (sz, sg, x_10728, x_10727, x_10726) ->
     422  h_St_ifthenelse sz sg x_10728 x_10727 x_10726
    431423    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    432       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13042)
     424      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10727)
    433425    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    434       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13041)
    435 | St_return x_13044 -> h_St_return x_13044
    436 | St_label (x_13046, x_13045) ->
    437   h_St_label x_13046 x_13045
     426      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10726)
     427| St_return x_10729 -> h_St_return x_10729
     428| St_label (x_10731, x_10730) ->
     429  h_St_label x_10731 x_10730
    438430    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    439       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13045)
    440 | St_goto x_13047 -> h_St_goto x_13047
    441 | St_cost (x_13049, x_13048) ->
    442   h_St_cost x_13049 x_13048
     431      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10730)
     432| St_goto x_10732 -> h_St_goto x_10732
     433| St_cost (x_10734, x_10733) ->
     434  h_St_cost x_10734 x_10733
    443435    (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    444       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13048)
     436      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10733)
    445437
    446438(** val stmt_rect_Type2 :
     
    455447let rec stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    456448| St_skip -> h_St_skip
    457 | St_assign (t, x_13062, x_13061) -> h_St_assign t x_13062 x_13061
    458 | St_store (t, x_13064, x_13063) -> h_St_store t x_13064 x_13063
    459 | St_call (x_13067, x_13066, x_13065) -> h_St_call x_13067 x_13066 x_13065
    460 | St_seq (x_13069, x_13068) ->
    461   h_St_seq x_13069 x_13068
     449| St_assign (t, x_10747, x_10746) -> h_St_assign t x_10747 x_10746
     450| St_store (t, x_10749, x_10748) -> h_St_store t x_10749 x_10748
     451| St_call (x_10752, x_10751, x_10750) -> h_St_call x_10752 x_10751 x_10750
     452| St_seq (x_10754, x_10753) ->
     453  h_St_seq x_10754 x_10753
    462454    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    463       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13069)
     455      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10754)
    464456    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    465       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13068)
    466 | St_ifthenelse (sz, sg, x_13072, x_13071, x_13070) ->
    467   h_St_ifthenelse sz sg x_13072 x_13071 x_13070
     457      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10753)
     458| St_ifthenelse (sz, sg, x_10757, x_10756, x_10755) ->
     459  h_St_ifthenelse sz sg x_10757 x_10756 x_10755
    468460    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    469       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13071)
     461      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10756)
    470462    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    471       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13070)
    472 | St_return x_13073 -> h_St_return x_13073
    473 | St_label (x_13075, x_13074) ->
    474   h_St_label x_13075 x_13074
     463      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10755)
     464| St_return x_10758 -> h_St_return x_10758
     465| St_label (x_10760, x_10759) ->
     466  h_St_label x_10760 x_10759
    475467    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    476       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13074)
    477 | St_goto x_13076 -> h_St_goto x_13076
    478 | St_cost (x_13078, x_13077) ->
    479   h_St_cost x_13078 x_13077
     468      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10759)
     469| St_goto x_10761 -> h_St_goto x_10761
     470| St_cost (x_10763, x_10762) ->
     471  h_St_cost x_10763 x_10762
    480472    (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    481       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13077)
     473      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10762)
    482474
    483475(** val stmt_rect_Type1 :
     
    492484let rec stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function
    493485| St_skip -> h_St_skip
    494 | St_assign (t, x_13091, x_13090) -> h_St_assign t x_13091 x_13090
    495 | St_store (t, x_13093, x_13092) -> h_St_store t x_13093 x_13092
    496 | St_call (x_13096, x_13095, x_13094) -> h_St_call x_13096 x_13095 x_13094
    497 | St_seq (x_13098, x_13097) ->
    498   h_St_seq x_13098 x_13097
     486| St_assign (t, x_10776, x_10775) -> h_St_assign t x_10776 x_10775
     487| St_store (t, x_10778, x_10777) -> h_St_store t x_10778 x_10777
     488| St_call (x_10781, x_10780, x_10779) -> h_St_call x_10781 x_10780 x_10779
     489| St_seq (x_10783, x_10782) ->
     490  h_St_seq x_10783 x_10782
    499491    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    500       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13098)
     492      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10783)
    501493    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    502       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13097)
    503 | St_ifthenelse (sz, sg, x_13101, x_13100, x_13099) ->
    504   h_St_ifthenelse sz sg x_13101 x_13100 x_13099
     494      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10782)
     495| St_ifthenelse (sz, sg, x_10786, x_10785, x_10784) ->
     496  h_St_ifthenelse sz sg x_10786 x_10785 x_10784
    505497    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    506       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13100)
     498      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10785)
    507499    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    508       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13099)
    509 | St_return x_13102 -> h_St_return x_13102
    510 | St_label (x_13104, x_13103) ->
    511   h_St_label x_13104 x_13103
     500      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10784)
     501| St_return x_10787 -> h_St_return x_10787
     502| St_label (x_10789, x_10788) ->
     503  h_St_label x_10789 x_10788
    512504    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    513       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13103)
    514 | St_goto x_13105 -> h_St_goto x_13105
    515 | St_cost (x_13107, x_13106) ->
    516   h_St_cost x_13107 x_13106
     505      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10788)
     506| St_goto x_10790 -> h_St_goto x_10790
     507| St_cost (x_10792, x_10791) ->
     508  h_St_cost x_10792 x_10791
    517509    (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq
    518       h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13106)
     510      h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_10791)
    519511
    520512(** val stmt_rect_Type0 :