open Preamble open Extra_bool open Coqlib open Values open FrontEndVal open GenMem open FrontEndMem open Globalenvs open String open Sets open Listb open LabelledObjects open BitVectorTrie open Graphs open I8051 open Order open Registers open CostLabel open Hide open Proper open PositiveMap open Deqsets open ErrorMessages open PreIdentifiers open Errors open Extralib open Lists open Identifiers open Integers open AST open Division open Exp open Arithmetic open Setoids open Monad open Option open Extranat open Vector open Div_and_mod open Jmeq open Russell open List open Util open FoldStuff open BitVector open Types open Bool open Relations open Nat open Hints_declaration open Core_notation open Pts open Logic open Positive open Z open BitVectorZ open Pointers open ByteValues open BackEndOps open Joint type registers_move = | From_acc of I8051.register * Types.unit0 | To_acc of Types.unit0 * I8051.register | Int_to_reg of I8051.register * BitVector.byte | Int_to_acc of Types.unit0 * BitVector.byte val registers_move_rect_Type4 : (I8051.register -> Types.unit0 -> 'a1) -> (Types.unit0 -> I8051.register -> 'a1) -> (I8051.register -> BitVector.byte -> 'a1) -> (Types.unit0 -> BitVector.byte -> 'a1) -> registers_move -> 'a1 val registers_move_rect_Type5 : (I8051.register -> Types.unit0 -> 'a1) -> (Types.unit0 -> I8051.register -> 'a1) -> (I8051.register -> BitVector.byte -> 'a1) -> (Types.unit0 -> BitVector.byte -> 'a1) -> registers_move -> 'a1 val registers_move_rect_Type3 : (I8051.register -> Types.unit0 -> 'a1) -> (Types.unit0 -> I8051.register -> 'a1) -> (I8051.register -> BitVector.byte -> 'a1) -> (Types.unit0 -> BitVector.byte -> 'a1) -> registers_move -> 'a1 val registers_move_rect_Type2 : (I8051.register -> Types.unit0 -> 'a1) -> (Types.unit0 -> I8051.register -> 'a1) -> (I8051.register -> BitVector.byte -> 'a1) -> (Types.unit0 -> BitVector.byte -> 'a1) -> registers_move -> 'a1 val registers_move_rect_Type1 : (I8051.register -> Types.unit0 -> 'a1) -> (Types.unit0 -> I8051.register -> 'a1) -> (I8051.register -> BitVector.byte -> 'a1) -> (Types.unit0 -> BitVector.byte -> 'a1) -> registers_move -> 'a1 val registers_move_rect_Type0 : (I8051.register -> Types.unit0 -> 'a1) -> (Types.unit0 -> I8051.register -> 'a1) -> (I8051.register -> BitVector.byte -> 'a1) -> (Types.unit0 -> BitVector.byte -> 'a1) -> registers_move -> 'a1 val registers_move_inv_rect_Type4 : registers_move -> (I8051.register -> Types.unit0 -> __ -> 'a1) -> (Types.unit0 -> I8051.register -> __ -> 'a1) -> (I8051.register -> BitVector.byte -> __ -> 'a1) -> (Types.unit0 -> BitVector.byte -> __ -> 'a1) -> 'a1 val registers_move_inv_rect_Type3 : registers_move -> (I8051.register -> Types.unit0 -> __ -> 'a1) -> (Types.unit0 -> I8051.register -> __ -> 'a1) -> (I8051.register -> BitVector.byte -> __ -> 'a1) -> (Types.unit0 -> BitVector.byte -> __ -> 'a1) -> 'a1 val registers_move_inv_rect_Type2 : registers_move -> (I8051.register -> Types.unit0 -> __ -> 'a1) -> (Types.unit0 -> I8051.register -> __ -> 'a1) -> (I8051.register -> BitVector.byte -> __ -> 'a1) -> (Types.unit0 -> BitVector.byte -> __ -> 'a1) -> 'a1 val registers_move_inv_rect_Type1 : registers_move -> (I8051.register -> Types.unit0 -> __ -> 'a1) -> (Types.unit0 -> I8051.register -> __ -> 'a1) -> (I8051.register -> BitVector.byte -> __ -> 'a1) -> (Types.unit0 -> BitVector.byte -> __ -> 'a1) -> 'a1 val registers_move_inv_rect_Type0 : registers_move -> (I8051.register -> Types.unit0 -> __ -> 'a1) -> (Types.unit0 -> I8051.register -> __ -> 'a1) -> (I8051.register -> BitVector.byte -> __ -> 'a1) -> (Types.unit0 -> BitVector.byte -> __ -> 'a1) -> 'a1 val registers_move_discr : registers_move -> registers_move -> __ val registers_move_jmdiscr : registers_move -> registers_move -> __ type ltl_lin_seq = | SAVE_CARRY | RESTORE_CARRY | LOW_ADDRESS of Graphs.label | HIGH_ADDRESS of Graphs.label val ltl_lin_seq_rect_Type4 : 'a1 -> 'a1 -> (Graphs.label -> 'a1) -> (Graphs.label -> 'a1) -> ltl_lin_seq -> 'a1 val ltl_lin_seq_rect_Type5 : 'a1 -> 'a1 -> (Graphs.label -> 'a1) -> (Graphs.label -> 'a1) -> ltl_lin_seq -> 'a1 val ltl_lin_seq_rect_Type3 : 'a1 -> 'a1 -> (Graphs.label -> 'a1) -> (Graphs.label -> 'a1) -> ltl_lin_seq -> 'a1 val ltl_lin_seq_rect_Type2 : 'a1 -> 'a1 -> (Graphs.label -> 'a1) -> (Graphs.label -> 'a1) -> ltl_lin_seq -> 'a1 val ltl_lin_seq_rect_Type1 : 'a1 -> 'a1 -> (Graphs.label -> 'a1) -> (Graphs.label -> 'a1) -> ltl_lin_seq -> 'a1 val ltl_lin_seq_rect_Type0 : 'a1 -> 'a1 -> (Graphs.label -> 'a1) -> (Graphs.label -> 'a1) -> ltl_lin_seq -> 'a1 val ltl_lin_seq_inv_rect_Type4 : ltl_lin_seq -> (__ -> 'a1) -> (__ -> 'a1) -> (Graphs.label -> __ -> 'a1) -> (Graphs.label -> __ -> 'a1) -> 'a1 val ltl_lin_seq_inv_rect_Type3 : ltl_lin_seq -> (__ -> 'a1) -> (__ -> 'a1) -> (Graphs.label -> __ -> 'a1) -> (Graphs.label -> __ -> 'a1) -> 'a1 val ltl_lin_seq_inv_rect_Type2 : ltl_lin_seq -> (__ -> 'a1) -> (__ -> 'a1) -> (Graphs.label -> __ -> 'a1) -> (Graphs.label -> __ -> 'a1) -> 'a1 val ltl_lin_seq_inv_rect_Type1 : ltl_lin_seq -> (__ -> 'a1) -> (__ -> 'a1) -> (Graphs.label -> __ -> 'a1) -> (Graphs.label -> __ -> 'a1) -> 'a1 val ltl_lin_seq_inv_rect_Type0 : ltl_lin_seq -> (__ -> 'a1) -> (__ -> 'a1) -> (Graphs.label -> __ -> 'a1) -> (Graphs.label -> __ -> 'a1) -> 'a1 val ltl_lin_seq_discr : ltl_lin_seq -> ltl_lin_seq -> __ val ltl_lin_seq_jmdiscr : ltl_lin_seq -> ltl_lin_seq -> __ val ltl_lin_seq_labels : ltl_lin_seq -> Graphs.label List.list val lTL_LIN_uns : Joint.unserialized_params val lTL_LIN_functs : Joint.get_pseudo_reg_functs val lTL_LIN : Joint.uns_params