Package arm-prog: ARM evaluator

Information

namearm-prog
version1.1
descriptionARM evaluator
authorHOL OpenTheory Packager <opentheory-packager@hol-theorem-prover.org>
licenseMIT
checksumcb08d9b0ae6e26490c19763db2d421bfb26ce44e
requiresbase
hol-base
hol-words
machine-code-hoare-logic
machine-code-hoare-logic-state
arm-model
arm-step
showData.Bool
Data.List
Data.Option
Data.Pair
Data.Unit
Function
HOL4
Number.Natural

Files

Defined Type Operators

Defined Constants

Theorems

d.
    arm_prog.arm_CPSR_A d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_A, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_C d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_C, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_E d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_E, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_F d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_F, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_I d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_I, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_J d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_J, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_N d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_N, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_Q d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_Q, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_T d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_T, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_V d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_V, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_Z d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_Z, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_AHP d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_AHP, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_C d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_C, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_DN d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_DN, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_DZC d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_DZC, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_DZE d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_DZE, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_FZ d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_FZ, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_IDC d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_IDC, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_IDE d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_IDE, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_IOC d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_IOC, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_IOE d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_IOE, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_IXC d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_IXC, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_IXE d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_IXE, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_N d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_N, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_OFC d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_OFC, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_OFE d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_OFE, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_QC d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_QC, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_UFC d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_UFC, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_UFE d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_UFE, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_V d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_V, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_Z d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_FPSCR_Z, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_exception d =
    pred_set.INSERT
      (pred_set.INSERT
         (arm_prog.arm_c_exception, arm_prog.arm_d_exception d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_Architecture d =
    pred_set.INSERT
      (pred_set.INSERT
         (arm_prog.arm_c_Architecture, arm_prog.arm_d_Architecture d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CP14 d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CP14, arm_prog.arm_d_CP14 d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CP15 d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CP15, arm_prog.arm_d_CP15 d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_SPSR_abt d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_SPSR_abt, arm_prog.arm_d_PSR d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_SPSR_fiq d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_SPSR_fiq, arm_prog.arm_d_PSR d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_SPSR_hyp d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_SPSR_hyp, arm_prog.arm_d_PSR d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_SPSR_irq d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_SPSR_irq, arm_prog.arm_d_PSR d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_SPSR_mon d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_SPSR_mon, arm_prog.arm_d_PSR d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_SPSR_svc d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_SPSR_svc, arm_prog.arm_d_PSR d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_SPSR_und d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_SPSR_und, arm_prog.arm_d_PSR d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_VFPExtension d =
    pred_set.INSERT
      (pred_set.INSERT
         (arm_prog.arm_c_VFPExtension, arm_prog.arm_d_VFPExtension d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_RMode d =
    pred_set.INSERT
      (pred_set.INSERT
         (arm_prog.arm_c_FP_FPSCR_RMode, arm_prog.arm_d_word2 d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_GE d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_GE, arm_prog.arm_d_word4 d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_psr'rst d =
    pred_set.INSERT
      (pred_set.INSERT
         (arm_prog.arm_c_CPSR_psr'rst, arm_prog.arm_d_word4 d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_M d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_M, arm_prog.arm_d_word5 d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_CPSR_IT d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_CPSR_IT, arm_prog.arm_d_word8 d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_FP_FPSCR_fpscr'rst d =
    pred_set.INSERT
      (pred_set.INSERT
         (arm_prog.arm_c_FP_FPSCR_fpscr'rst, arm_prog.arm_d_word10 d)
         pred_set.EMPTY) pred_set.EMPTY

d.
    arm_prog.arm_ELR_hyp d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_ELR_hyp, arm_prog.arm_d_word32 d)
         pred_set.EMPTY) pred_set.EMPTY

pc.
    arm_prog.arm_PC pc =
    set_sep.STAR (arm_prog.arm_REG arm.RName_PC pc)
      (set_sep.cond (alignment.aligned (arithmetic.BIT2 0) pc))

set_sep.SEP_HIDE arm_prog.aS =
  set_sep.STAR
    (set_sep.STAR
       (set_sep.STAR (set_sep.SEP_HIDE arm_prog.arm_CPSR_N)
          (set_sep.SEP_HIDE arm_prog.arm_CPSR_Z))
       (set_sep.SEP_HIDE arm_prog.arm_CPSR_C))
    (set_sep.SEP_HIDE arm_prog.arm_CPSR_V)

arm_prog.ARM_MODEL =
  (state.STATE arm_prog.arm_proj, state.NEXT_REL (=) arm_step.NextStateARM,
   arm_prog.arm_instr, (=), const )

c d.
    arm_prog.arm_Extensions c d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_Extensions c, arm_prog.arm_d_bool d)
         pred_set.EMPTY) pred_set.EMPTY

c d.
    arm_prog.arm_REG c d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_REG c, arm_prog.arm_d_word32 d)
         pred_set.EMPTY) pred_set.EMPTY

c d.
    arm_prog.arm_FP_REG c d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_FP_REG c, arm_prog.arm_d_word64 d)
         pred_set.EMPTY) pred_set.EMPTY

c d.
    arm_prog.arm_MEM c d =
    pred_set.INSERT
      (pred_set.INSERT (arm_prog.arm_c_MEM c, arm_prog.arm_d_word8 d)
         pred_set.EMPTY) pred_set.EMPTY

dreg reg.
    arm_prog.arm_REGISTERS dreg reg =
    pred_set.INSERT
      (pred_set.BIGUNION
         (pred_set.GSPEC
            (λc.
               (pred_set.BIGUNION (arm_prog.arm_REG c (reg c)),
                bool.IN c dreg)))) pred_set.EMPTY

dfpr fpr.
    arm_prog.arm_FP_REGISTERS dfpr fpr =
    pred_set.INSERT
      (pred_set.BIGUNION
         (pred_set.GSPEC
            (λc.
               (pred_set.BIGUNION (arm_prog.arm_FP_REG c (fpr c)),
                bool.IN c dfpr)))) pred_set.EMPTY

dmem mem.
    arm_prog.arm_MEMORY dmem mem =
    pred_set.INSERT
      (pred_set.BIGUNION
         (pred_set.GSPEC
            (λc.
               (pred_set.BIGUNION (arm_prog.arm_MEM c (mem c)),
                bool.IN c dmem)))) pred_set.EMPTY

words.word_add a (words.word_add (words.word_2comp b) c) =
  words.word_add (words.word_sub a b) c
  words.word_add a (words.word_2comp b) = words.word_sub a b

c d.
    bool.IN c dreg
    set_sep.STAR (arm_prog.arm_REG c d)
      (arm_prog.arm_REGISTERS (pred_set.DELETE dreg c) reg) =
    arm_prog.arm_REGISTERS dreg (combin.UPDATE c d reg)

c d.
    bool.IN c dfpr
    set_sep.STAR (arm_prog.arm_FP_REG c d)
      (arm_prog.arm_FP_REGISTERS (pred_set.DELETE dfpr c) fpr) =
    arm_prog.arm_FP_REGISTERS dfpr (combin.UPDATE c d fpr)

c d.
    bool.IN c dmem
    set_sep.STAR (arm_prog.arm_MEM c d)
      (arm_prog.arm_MEMORY (pred_set.DELETE dmem c) mem) =
    arm_prog.arm_MEMORY dmem (combin.UPDATE c d mem)

dmem mem.
    arm_prog.arm_BE_WORD_MEMORY dmem mem =
    pred_set.INSERT
      (pred_set.BIGUNION
         (pred_set.GSPEC
            (λa.
               (pred_set.BIGUNION (arm_prog.arm_BE_WORD a (mem a)),
                bool.IN a dmem
                alignment.aligned (arithmetic.BIT2 0) a)))) pred_set.EMPTY

dmem mem.
    arm_prog.arm_WORD_MEMORY dmem mem =
    pred_set.INSERT
      (pred_set.BIGUNION
         (pred_set.GSPEC
            (λa.
               (pred_set.BIGUNION (arm_prog.arm_WORD a (mem a)),
                bool.IN a dmem
                alignment.aligned (arithmetic.BIT2 0) a)))) pred_set.EMPTY

n z c v.
    arm_prog.aS (n, z, c, v) =
    set_sep.STAR
      (set_sep.STAR
         (set_sep.STAR (arm_prog.arm_CPSR_N n) (arm_prog.arm_CPSR_Z z))
         (arm_prog.arm_CPSR_C c)) (arm_prog.arm_CPSR_V v)

f df c d.
    bool.IN c df (let a c in alignment.aligned (arithmetic.BIT2 0) a)
    set_sep.STAR (arm_prog.arm_BE_WORD c d)
      (arm_prog.arm_BE_WORD_MEMORY (pred_set.DELETE df c) f) =
    arm_prog.arm_BE_WORD_MEMORY df (combin.UPDATE c d f)

f df c d.
    bool.IN c df (let a c in alignment.aligned (arithmetic.BIT2 0) a)
    set_sep.STAR (arm_prog.arm_WORD c d)
      (arm_prog.arm_WORD_MEMORY (pred_set.DELETE df c) f) =
    arm_prog.arm_WORD_MEMORY df (combin.UPDATE c d f)

prog.SPEC m (set_sep.STAR p1 (arm_prog.arm_PC pc)) code
    (set_sep.STAR p2 (arm_prog.arm_REG arm.RName_PC pc'))
  (alignment.aligned (arithmetic.BIT2 0) pc
   alignment.aligned (arithmetic.BIT2 0) pc')
  prog.SPEC m (set_sep.STAR p1 (arm_prog.arm_PC pc)) code
    (set_sep.STAR p2 (arm_prog.arm_PC pc'))

temporal_state.TEMPORAL_NEXT m (set_sep.STAR p1 (arm_prog.arm_PC pc))
    code (set_sep.STAR p2 (arm_prog.arm_REG arm.RName_PC pc'))
  (alignment.aligned (arithmetic.BIT2 0) pc
   alignment.aligned (arithmetic.BIT2 0) pc')
  temporal_state.TEMPORAL_NEXT m (set_sep.STAR p1 (arm_prog.arm_PC pc))
    code (set_sep.STAR p2 (arm_prog.arm_PC pc'))

vfp arch bigend thumb mode.
    arm_prog.arm_CONFIG (vfp, arch, bigend, thumb, mode) =
    set_sep.STAR
      (set_sep.STAR
         (set_sep.STAR
            (set_sep.STAR
               (set_sep.STAR
                  (set_sep.STAR
                     (set_sep.STAR
                        (set_sep.STAR (arm_prog.arm_VFPExtension vfp)
                           (arm_prog.arm_Extensions arm.Extension_Security
                              )) (arm_prog.arm_Architecture arch))
                     (arm_prog.arm_exception arm.NoException))
                  (arm_prog.arm_CPSR_J )) (arm_prog.arm_CPSR_E bigend))
            (arm_prog.arm_CPSR_T thumb)) (arm_prog.arm_CPSR_M mode))
      (set_sep.cond (arm_step.GoodMode mode))

c p q.
    (y s.
       set_sep.STAR p (prog.CODE_POOL arm_prog.arm_instr c)
         (state.SELECT_STATE arm_prog.arm_proj y s)
       v.
         arm_step.NextStateARM s = some v
         set_sep.STAR q (prog.CODE_POOL arm_prog.arm_instr c)
           (state.SELECT_STATE arm_prog.arm_proj y v)
         state.FRAME_STATE arm_prog.arm_proj y s =
         state.FRAME_STATE arm_prog.arm_proj y v)
    prog.SPEC arm_prog.ARM_MODEL p c q

c p q.
    (y s.
       set_sep.STAR p (prog.CODE_POOL arm_prog.arm_instr c)
         (state.SELECT_STATE arm_prog.arm_proj y s)
       v.
         arm_step.NextStateARM s = some v
         set_sep.STAR q (prog.CODE_POOL arm_prog.arm_instr c)
           (state.SELECT_STATE arm_prog.arm_proj y v)
         state.FRAME_STATE arm_prog.arm_proj y s =
         state.FRAME_STATE arm_prog.arm_proj y v)
    temporal_state.TEMPORAL_NEXT arm_prog.ARM_MODEL p c q

(a a'. arm_prog.arm_c_REG a = arm_prog.arm_c_REG a' a = a')
  (a a'. arm_prog.arm_c_MEM a = arm_prog.arm_c_MEM a' a = a')
  (a a'.
     arm_prog.arm_c_Extensions a = arm_prog.arm_c_Extensions a' a = a')
  a a'. arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_REG a' a = a'

a pc x y.
    words.word_lo (words.n2w 3) a
    words.word_lo a
      (words.n2w
         (bit1
            (arithmetic.BIT2
               (arithmetic.BIT2
                  (arithmetic.BIT2
                     (arithmetic.BIT2
                        (arithmetic.BIT2
                           (arithmetic.BIT2
                              (arithmetic.BIT2
                                 (arithmetic.BIT2
                                    (arithmetic.BIT2
                                       (arithmetic.BIT2
                                          (arithmetic.BIT2
                                             (arithmetic.BIT2
                                                (arithmetic.BIT2
                                                   (arithmetic.BIT2
                                                      (arithmetic.BIT2
                                                         (arithmetic.BIT2
                                                            (arithmetic.BIT2
                                                               (arithmetic.BIT2
                                                                  (arithmetic.BIT2
                                                                     (arithmetic.BIT2
                                                                        (arithmetic.BIT2
                                                                           (arithmetic.BIT2
                                                                              (arithmetic.BIT2
                                                                                 (arithmetic.BIT2
                                                                                    (arithmetic.BIT2
                                                                                       (arithmetic.BIT2
                                                                                          (arithmetic.BIT2
                                                                                             (arithmetic.BIT2
                                                                                                (arithmetic.BIT2
                                                                                                   (arithmetic.BIT2
                                                                                                      0))))))))))))))))))))))))))))))))
    pred_set.DISJOINT (arm_prog.arm_instr (words.word_add pc a, x))
      (arm_prog.arm_instr (pc, y))

(n arm_prog.arm_CPSR_N = arm_prog.arm_CPSR_N n)
  (¬n arm_prog.arm_CPSR_N = arm_prog.arm_CPSR_N n)
  (z arm_prog.arm_CPSR_Z = arm_prog.arm_CPSR_Z z)
  (¬z arm_prog.arm_CPSR_Z = arm_prog.arm_CPSR_Z z)
  (c arm_prog.arm_CPSR_C = arm_prog.arm_CPSR_C c)
  (¬c arm_prog.arm_CPSR_C = arm_prog.arm_CPSR_C c)
  (v arm_prog.arm_CPSR_V = arm_prog.arm_CPSR_V v)
  (¬v arm_prog.arm_CPSR_V = arm_prog.arm_CPSR_V v)

a i.
    arm_prog.arm_BE_WORD a i =
    set_sep.STAR
      (set_sep.STAR
         (set_sep.STAR
            (arm_prog.arm_MEM a
               (words.word_extract 31
                  (arithmetic.BIT2 (bit1 (bit1 (arithmetic.BIT2 0)))) i))
            (arm_prog.arm_MEM (words.word_add a (words.n2w 1))
               (words.word_extract (bit1 (bit1 (bit1 (arithmetic.BIT2 0))))
                  (arithmetic.BIT2 7) i)))
         (arm_prog.arm_MEM
            (words.word_add a (words.n2w (arithmetic.BIT2 0)))
            (words.word_extract 15 (arithmetic.BIT2 3) i)))
      (arm_prog.arm_MEM (words.word_add a (words.n2w 3))
         (words.word_extract 7 0 i))

a i.
    arm_prog.arm_WORD a i =
    set_sep.STAR
      (set_sep.STAR
         (set_sep.STAR (arm_prog.arm_MEM a (words.word_extract 7 0 i))
            (arm_prog.arm_MEM (words.word_add a (words.n2w 1))
               (words.word_extract 15 (arithmetic.BIT2 3) i)))
         (arm_prog.arm_MEM
            (words.word_add a (words.n2w (arithmetic.BIT2 0)))
            (words.word_extract (bit1 (bit1 (bit1 (arithmetic.BIT2 0))))
               (arithmetic.BIT2 7) i)))
      (arm_prog.arm_MEM (words.word_add a (words.n2w 3))
         (words.word_extract 31
            (arithmetic.BIT2 (bit1 (bit1 (arithmetic.BIT2 0)))) i))

P.
    (a. P (arm_prog.arm_d_exception a))
    (a. P (arm_prog.arm_d_VFPExtension a))
    (a. P (arm_prog.arm_d_PSR a)) (a. P (arm_prog.arm_d_word32 a))
    (a. P (arm_prog.arm_d_CP15 a)) (a. P (arm_prog.arm_d_CP14 a))
    (a. P (arm_prog.arm_d_Architecture a))
    (a. P (arm_prog.arm_d_word64 a)) (a. P (arm_prog.arm_d_word10 a))
    (a. P (arm_prog.arm_d_word2 a)) (a. P (arm_prog.arm_d_word5 a))
    (a. P (arm_prog.arm_d_word8 a)) (a. P (arm_prog.arm_d_word4 a))
    (a. P (arm_prog.arm_d_bool a)) x. P x

a i.
    arm_prog.arm_instr (a, i) =
    pred_set.INSERT
      (arm_prog.arm_c_MEM a,
       arm_prog.arm_d_word8 (words.word_extract 7 0 i))
      (pred_set.INSERT
         (arm_prog.arm_c_MEM (words.word_add a (words.n2w 1)),
          arm_prog.arm_d_word8
            (words.word_extract 15 (arithmetic.BIT2 3) i))
         (pred_set.INSERT
            (arm_prog.arm_c_MEM
               (words.word_add a (words.n2w (arithmetic.BIT2 0))),
             arm_prog.arm_d_word8
               (words.word_extract (bit1 (bit1 (bit1 (arithmetic.BIT2 0))))
                  (arithmetic.BIT2 7) i))
            (pred_set.INSERT
               (arm_prog.arm_c_MEM (words.word_add a (words.n2w 3)),
                arm_prog.arm_d_word8
                  (words.word_extract 31
                     (arithmetic.BIT2 (bit1 (bit1 (arithmetic.BIT2 0))))
                     i)) pred_set.EMPTY)))

x.
    (e. x = arm_prog.arm_d_exception e)
    (V. x = arm_prog.arm_d_VFPExtension V)
    (P0. x = arm_prog.arm_d_PSR P0) (c. x = arm_prog.arm_d_word32 c)
    (C'. x = arm_prog.arm_d_CP15 C') (C'. x = arm_prog.arm_d_CP14 C')
    (A. x = arm_prog.arm_d_Architecture A)
    (c. x = arm_prog.arm_d_word64 c) (c. x = arm_prog.arm_d_word10 c)
    (c. x = arm_prog.arm_d_word2 c) (c. x = arm_prog.arm_d_word5 c)
    (c. x = arm_prog.arm_d_word8 c) (c. x = arm_prog.arm_d_word4 c)
    b. x = arm_prog.arm_d_bool b

alignment.aligned (arithmetic.BIT2 0) pc
  alignment.aligned (arithmetic.BIT2 0)
    (if b then
       words.word_sub pc
         (words.word_add
            (bitstring.v2w
               (x24 :: x23 :: x22 :: x21 :: x20 :: x19 :: x18 :: x17 ::
                x16 :: x15 :: x14 :: x13 :: x12 :: x11 :: x10 :: x9 ::
                x8 :: x7 :: x6 :: x5 :: x4 :: x3 :: x2 :: :: :: []))
            (words.n2w 1))
     else
       words.word_add pc
         (bitstring.v2w
            (y24 :: y23 :: y22 :: y21 :: y20 :: y19 :: y18 :: y17 :: y16 ::
             y15 :: y14 :: y13 :: y12 :: y11 :: y10 :: y9 :: y8 :: y7 ::
             y6 :: y5 :: y4 :: y3 :: y2 :: :: :: [])))

(a.
     arm_prog.arm_data_size (arm_prog.arm_d_exception a) =
     1 + arm.exception_size a)
  (a.
     arm_prog.arm_data_size (arm_prog.arm_d_VFPExtension a) =
     1 + arm.VFPExtension_size a)
  (a.
     arm_prog.arm_data_size (arm_prog.arm_d_PSR a) = 1 + arm.PSR_size a)
  (a. arm_prog.arm_data_size (arm_prog.arm_d_word32 a) = 1)
  (a.
     arm_prog.arm_data_size (arm_prog.arm_d_CP15 a) =
     1 + arm.CP15_size a)
  (a.
     arm_prog.arm_data_size (arm_prog.arm_d_CP14 a) =
     1 + arm.CP14_size a)
  (a.
     arm_prog.arm_data_size (arm_prog.arm_d_Architecture a) =
     1 + arm.Architecture_size a)
  (a. arm_prog.arm_data_size (arm_prog.arm_d_word64 a) = 1)
  (a. arm_prog.arm_data_size (arm_prog.arm_d_word10 a) = 1)
  (a. arm_prog.arm_data_size (arm_prog.arm_d_word2 a) = 1)
  (a. arm_prog.arm_data_size (arm_prog.arm_d_word5 a) = 1)
  (a. arm_prog.arm_data_size (arm_prog.arm_d_word8 a) = 1)
  (a. arm_prog.arm_data_size (arm_prog.arm_d_word4 a) = 1)
  a.
    arm_prog.arm_data_size (arm_prog.arm_d_bool a) =
    1 + basicSize.bool_size a

f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
    fn.
      (a. fn (arm_prog.arm_d_exception a) = f0 a)
      (a. fn (arm_prog.arm_d_VFPExtension a) = f1 a)
      (a. fn (arm_prog.arm_d_PSR a) = f2 a)
      (a. fn (arm_prog.arm_d_word32 a) = f3 a)
      (a. fn (arm_prog.arm_d_CP15 a) = f4 a)
      (a. fn (arm_prog.arm_d_CP14 a) = f5 a)
      (a. fn (arm_prog.arm_d_Architecture a) = f6 a)
      (a. fn (arm_prog.arm_d_word64 a) = f7 a)
      (a. fn (arm_prog.arm_d_word10 a) = f8 a)
      (a. fn (arm_prog.arm_d_word2 a) = f9 a)
      (a. fn (arm_prog.arm_d_word5 a) = f10 a)
      (a. fn (arm_prog.arm_d_word8 a) = f11 a)
      (a. fn (arm_prog.arm_d_word4 a) = f12 a)
      a. fn (arm_prog.arm_d_bool a) = f13 a

a w c p q.
    prog.SPEC arm_prog.ARM_MODEL
      (set_sep.STAR
         (set_sep.STAR
            (set_sep.STAR
               (set_sep.STAR p
                  (arm_prog.arm_MEM a (words.word_extract 7 0 w)))
               (arm_prog.arm_MEM (words.word_add a (words.n2w 1))
                  (words.word_extract 15 (arithmetic.BIT2 3) w)))
            (arm_prog.arm_MEM
               (words.word_add a (words.n2w (arithmetic.BIT2 0)))
               (words.word_extract (bit1 (bit1 (bit1 (arithmetic.BIT2 0))))
                  (arithmetic.BIT2 7) w)))
         (arm_prog.arm_MEM (words.word_add a (words.n2w 3))
            (words.word_extract 31
               (arithmetic.BIT2 (bit1 (bit1 (arithmetic.BIT2 0)))) w))) c
      (set_sep.STAR
         (set_sep.STAR
            (set_sep.STAR
               (set_sep.STAR q
                  (arm_prog.arm_MEM a (words.word_extract 7 0 w)))
               (arm_prog.arm_MEM (words.word_add a (words.n2w 1))
                  (words.word_extract 15 (arithmetic.BIT2 3) w)))
            (arm_prog.arm_MEM
               (words.word_add a (words.n2w (arithmetic.BIT2 0)))
               (words.word_extract (bit1 (bit1 (bit1 (arithmetic.BIT2 0))))
                  (arithmetic.BIT2 7) w)))
         (arm_prog.arm_MEM (words.word_add a (words.n2w 3))
            (words.word_extract 31
               (arithmetic.BIT2 (bit1 (bit1 (arithmetic.BIT2 0)))) w)))
    prog.SPEC arm_prog.ARM_MODEL
      (set_sep.STAR
         (set_sep.cond
            (pred_set.DISJOINT (arm_prog.arm_instr (a, w))
               (pred_set.BIGUNION (pred_set.IMAGE arm_prog.arm_instr c))))
         p) (pred_set.INSERT (a, w) c) q

a w c p q.
    temporal_state.TEMPORAL_NEXT arm_prog.ARM_MODEL
      (set_sep.STAR
         (set_sep.STAR
            (set_sep.STAR
               (set_sep.STAR p
                  (arm_prog.arm_MEM a (words.word_extract 7 0 w)))
               (arm_prog.arm_MEM (words.word_add a (words.n2w 1))
                  (words.word_extract 15 (arithmetic.BIT2 3) w)))
            (arm_prog.arm_MEM
               (words.word_add a (words.n2w (arithmetic.BIT2 0)))
               (words.word_extract (bit1 (bit1 (bit1 (arithmetic.BIT2 0))))
                  (arithmetic.BIT2 7) w)))
         (arm_prog.arm_MEM (words.word_add a (words.n2w 3))
            (words.word_extract 31
               (arithmetic.BIT2 (bit1 (bit1 (arithmetic.BIT2 0)))) w))) c
      (set_sep.STAR
         (set_sep.STAR
            (set_sep.STAR
               (set_sep.STAR q
                  (arm_prog.arm_MEM a (words.word_extract 7 0 w)))
               (arm_prog.arm_MEM (words.word_add a (words.n2w 1))
                  (words.word_extract 15 (arithmetic.BIT2 3) w)))
            (arm_prog.arm_MEM
               (words.word_add a (words.n2w (arithmetic.BIT2 0)))
               (words.word_extract (bit1 (bit1 (bit1 (arithmetic.BIT2 0))))
                  (arithmetic.BIT2 7) w)))
         (arm_prog.arm_MEM (words.word_add a (words.n2w 3))
            (words.word_extract 31
               (arithmetic.BIT2 (bit1 (bit1 (arithmetic.BIT2 0)))) w)))
    temporal_state.TEMPORAL_NEXT arm_prog.ARM_MODEL
      (set_sep.STAR
         (set_sep.cond
            (pred_set.DISJOINT (arm_prog.arm_instr (a, w))
               (pred_set.BIGUNION (pred_set.IMAGE arm_prog.arm_instr c))))
         p) (pred_set.INSERT (a, w) c) q

P.
    P arm_prog.arm_c_exception P arm_prog.arm_c_VFPExtension
    P arm_prog.arm_c_SPSR_und P arm_prog.arm_c_SPSR_svc
    P arm_prog.arm_c_SPSR_mon P arm_prog.arm_c_SPSR_irq
    P arm_prog.arm_c_SPSR_hyp P arm_prog.arm_c_SPSR_fiq
    P arm_prog.arm_c_SPSR_abt (a. P (arm_prog.arm_c_REG a))
    (a. P (arm_prog.arm_c_MEM a))
    (a. P (arm_prog.arm_c_Extensions a)) P arm_prog.arm_c_ELR_hyp
    P arm_prog.arm_c_CP15 P arm_prog.arm_c_CP14
    P arm_prog.arm_c_Architecture (a. P (arm_prog.arm_c_FP_REG a))
    P arm_prog.arm_c_FP_FPSCR_fpscr'rst P arm_prog.arm_c_FP_FPSCR_Z
    P arm_prog.arm_c_FP_FPSCR_V P arm_prog.arm_c_FP_FPSCR_UFE
    P arm_prog.arm_c_FP_FPSCR_UFC P arm_prog.arm_c_FP_FPSCR_RMode
    P arm_prog.arm_c_FP_FPSCR_QC P arm_prog.arm_c_FP_FPSCR_OFE
    P arm_prog.arm_c_FP_FPSCR_OFC P arm_prog.arm_c_FP_FPSCR_N
    P arm_prog.arm_c_FP_FPSCR_IXE P arm_prog.arm_c_FP_FPSCR_IXC
    P arm_prog.arm_c_FP_FPSCR_IOE P arm_prog.arm_c_FP_FPSCR_IOC
    P arm_prog.arm_c_FP_FPSCR_IDE P arm_prog.arm_c_FP_FPSCR_IDC
    P arm_prog.arm_c_FP_FPSCR_FZ P arm_prog.arm_c_FP_FPSCR_DZE
    P arm_prog.arm_c_FP_FPSCR_DZC P arm_prog.arm_c_FP_FPSCR_DN
    P arm_prog.arm_c_FP_FPSCR_C P arm_prog.arm_c_FP_FPSCR_AHP
    P arm_prog.arm_c_CPSR_psr'rst P arm_prog.arm_c_CPSR_Z
    P arm_prog.arm_c_CPSR_V P arm_prog.arm_c_CPSR_T
    P arm_prog.arm_c_CPSR_Q P arm_prog.arm_c_CPSR_N
    P arm_prog.arm_c_CPSR_M P arm_prog.arm_c_CPSR_J
    P arm_prog.arm_c_CPSR_IT P arm_prog.arm_c_CPSR_I
    P arm_prog.arm_c_CPSR_GE P arm_prog.arm_c_CPSR_F
    P arm_prog.arm_c_CPSR_E P arm_prog.arm_c_CPSR_C
    P arm_prog.arm_c_CPSR_A x. P x

(a a'.
     arm_prog.arm_d_exception a = arm_prog.arm_d_exception a' a = a')
  (a a'.
     arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_VFPExtension a'
     a = a')
  (a a'. arm_prog.arm_d_PSR a = arm_prog.arm_d_PSR a' a = a')
  (a a'. arm_prog.arm_d_word32 a = arm_prog.arm_d_word32 a' a = a')
  (a a'. arm_prog.arm_d_CP15 a = arm_prog.arm_d_CP15 a' a = a')
  (a a'. arm_prog.arm_d_CP14 a = arm_prog.arm_d_CP14 a' a = a')
  (a a'.
     arm_prog.arm_d_Architecture a = arm_prog.arm_d_Architecture a'
     a = a')
  (a a'. arm_prog.arm_d_word64 a = arm_prog.arm_d_word64 a' a = a')
  (a a'. arm_prog.arm_d_word10 a = arm_prog.arm_d_word10 a' a = a')
  (a a'. arm_prog.arm_d_word2 a = arm_prog.arm_d_word2 a' a = a')
  (a a'. arm_prog.arm_d_word5 a = arm_prog.arm_d_word5 a' a = a')
  (a a'. arm_prog.arm_d_word8 a = arm_prog.arm_d_word8 a' a = a')
  (a a'. arm_prog.arm_d_word4 a = arm_prog.arm_d_word4 a' a = a')
  a a'. arm_prog.arm_d_bool a = arm_prog.arm_d_bool a' a a'

x.
    x = arm_prog.arm_c_exception x = arm_prog.arm_c_VFPExtension
    x = arm_prog.arm_c_SPSR_und x = arm_prog.arm_c_SPSR_svc
    x = arm_prog.arm_c_SPSR_mon x = arm_prog.arm_c_SPSR_irq
    x = arm_prog.arm_c_SPSR_hyp x = arm_prog.arm_c_SPSR_fiq
    x = arm_prog.arm_c_SPSR_abt (R'. x = arm_prog.arm_c_REG R')
    (c. x = arm_prog.arm_c_MEM c)
    (E. x = arm_prog.arm_c_Extensions E) x = arm_prog.arm_c_ELR_hyp
    x = arm_prog.arm_c_CP15 x = arm_prog.arm_c_CP14
    x = arm_prog.arm_c_Architecture (c. x = arm_prog.arm_c_FP_REG c)
    x = arm_prog.arm_c_FP_FPSCR_fpscr'rst x = arm_prog.arm_c_FP_FPSCR_Z
    x = arm_prog.arm_c_FP_FPSCR_V x = arm_prog.arm_c_FP_FPSCR_UFE
    x = arm_prog.arm_c_FP_FPSCR_UFC x = arm_prog.arm_c_FP_FPSCR_RMode
    x = arm_prog.arm_c_FP_FPSCR_QC x = arm_prog.arm_c_FP_FPSCR_OFE
    x = arm_prog.arm_c_FP_FPSCR_OFC x = arm_prog.arm_c_FP_FPSCR_N
    x = arm_prog.arm_c_FP_FPSCR_IXE x = arm_prog.arm_c_FP_FPSCR_IXC
    x = arm_prog.arm_c_FP_FPSCR_IOE x = arm_prog.arm_c_FP_FPSCR_IOC
    x = arm_prog.arm_c_FP_FPSCR_IDE x = arm_prog.arm_c_FP_FPSCR_IDC
    x = arm_prog.arm_c_FP_FPSCR_FZ x = arm_prog.arm_c_FP_FPSCR_DZE
    x = arm_prog.arm_c_FP_FPSCR_DZC x = arm_prog.arm_c_FP_FPSCR_DN
    x = arm_prog.arm_c_FP_FPSCR_C x = arm_prog.arm_c_FP_FPSCR_AHP
    x = arm_prog.arm_c_CPSR_psr'rst x = arm_prog.arm_c_CPSR_Z
    x = arm_prog.arm_c_CPSR_V x = arm_prog.arm_c_CPSR_T
    x = arm_prog.arm_c_CPSR_Q x = arm_prog.arm_c_CPSR_N
    x = arm_prog.arm_c_CPSR_M x = arm_prog.arm_c_CPSR_J
    x = arm_prog.arm_c_CPSR_IT x = arm_prog.arm_c_CPSR_I
    x = arm_prog.arm_c_CPSR_GE x = arm_prog.arm_c_CPSR_F
    x = arm_prog.arm_c_CPSR_E x = arm_prog.arm_c_CPSR_C
    x = arm_prog.arm_c_CPSR_A

s.
    arm_prog.arm_proj s =
    λa.
      arm_prog.arm_component_CASE a
        (arm_prog.arm_d_exception (arm.arm_state_exception s))
        (arm_prog.arm_d_VFPExtension (arm.arm_state_VFPExtension s))
        (arm_prog.arm_d_PSR (arm.arm_state_SPSR_und s))
        (arm_prog.arm_d_PSR (arm.arm_state_SPSR_svc s))
        (arm_prog.arm_d_PSR (arm.arm_state_SPSR_mon s))
        (arm_prog.arm_d_PSR (arm.arm_state_SPSR_irq s))
        (arm_prog.arm_d_PSR (arm.arm_state_SPSR_hyp s))
        (arm_prog.arm_d_PSR (arm.arm_state_SPSR_fiq s))
        (arm_prog.arm_d_PSR (arm.arm_state_SPSR_abt s))
        (λv0. arm_prog.arm_d_word32 (arm.arm_state_REG s v0))
        (λv1. arm_prog.arm_d_word8 (arm.arm_state_MEM s v1))
        (λv2. arm_prog.arm_d_bool (arm.arm_state_Extensions s v2))
        (arm_prog.arm_d_word32 (arm.arm_state_ELR_hyp s))
        (arm_prog.arm_d_CP15 (arm.arm_state_CP15 s))
        (arm_prog.arm_d_CP14 (arm.arm_state_CP14 s))
        (arm_prog.arm_d_Architecture (arm.arm_state_Architecture s))
        (λv3. arm_prog.arm_d_word64 (arm.FP_REG (arm.arm_state_FP s) v3))
        (arm_prog.arm_d_word10
           (arm.FPSCR_fpscr'rst (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_Z (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_V (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_UFE (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_UFC (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_word2
           (arm.FPSCR_RMode (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_QC (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_OFE (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_OFC (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_N (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_IXE (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_IXC (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_IOE (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_IOC (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_IDE (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_IDC (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_FZ (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_DZE (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_DZC (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_DN (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_C (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_bool
           (arm.FPSCR_AHP (arm.FP_FPSCR (arm.arm_state_FP s))))
        (arm_prog.arm_d_word4 (arm.PSR_psr'rst (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_bool (arm.PSR_Z (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_bool (arm.PSR_V (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_bool (arm.PSR_T (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_bool (arm.PSR_Q (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_bool (arm.PSR_N (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_word5 (arm.PSR_M (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_bool (arm.PSR_J (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_word8 (arm.PSR_IT (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_bool (arm.PSR_I (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_word4 (arm.PSR_GE (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_bool (arm.PSR_F (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_bool (arm.PSR_E (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_bool (arm.PSR_C (arm.arm_state_CPSR s)))
        (arm_prog.arm_d_bool (arm.PSR_A (arm.arm_state_CPSR s)))

M M' f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
    M = M' (a. M' = arm_prog.arm_d_exception a f a = f' a)
    (a. M' = arm_prog.arm_d_VFPExtension a f1 a = f1' a)
    (a. M' = arm_prog.arm_d_PSR a f2 a = f2' a)
    (a. M' = arm_prog.arm_d_word32 a f3 a = f3' a)
    (a. M' = arm_prog.arm_d_CP15 a f4 a = f4' a)
    (a. M' = arm_prog.arm_d_CP14 a f5 a = f5' a)
    (a. M' = arm_prog.arm_d_Architecture a f6 a = f6' a)
    (a. M' = arm_prog.arm_d_word64 a f7 a = f7' a)
    (a. M' = arm_prog.arm_d_word10 a f8 a = f8' a)
    (a. M' = arm_prog.arm_d_word2 a f9 a = f9' a)
    (a. M' = arm_prog.arm_d_word5 a f10 a = f10' a)
    (a. M' = arm_prog.arm_d_word8 a f11 a = f11' a)
    (a. M' = arm_prog.arm_d_word4 a f12 a = f12' a)
    (a. M' = arm_prog.arm_d_bool a f13 a = f13' a)
    arm_prog.arm_data_CASE M f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 =
    arm_prog.arm_data_CASE M' f' f1' f2' f3' f4' f5' f6' f7' f8' f9' f10'
      f11' f12' f13'

arm_prog.arm_component_size arm_prog.arm_c_exception = 0
  arm_prog.arm_component_size arm_prog.arm_c_VFPExtension = 0
  arm_prog.arm_component_size arm_prog.arm_c_SPSR_und = 0
  arm_prog.arm_component_size arm_prog.arm_c_SPSR_svc = 0
  arm_prog.arm_component_size arm_prog.arm_c_SPSR_mon = 0
  arm_prog.arm_component_size arm_prog.arm_c_SPSR_irq = 0
  arm_prog.arm_component_size arm_prog.arm_c_SPSR_hyp = 0
  arm_prog.arm_component_size arm_prog.arm_c_SPSR_fiq = 0
  arm_prog.arm_component_size arm_prog.arm_c_SPSR_abt = 0
  (a.
     arm_prog.arm_component_size (arm_prog.arm_c_REG a) =
     1 + arm.RName_size a)
  (a. arm_prog.arm_component_size (arm_prog.arm_c_MEM a) = 1)
  (a.
     arm_prog.arm_component_size (arm_prog.arm_c_Extensions a) =
     1 + arm.Extensions_size a)
  arm_prog.arm_component_size arm_prog.arm_c_ELR_hyp = 0
  arm_prog.arm_component_size arm_prog.arm_c_CP15 = 0
  arm_prog.arm_component_size arm_prog.arm_c_CP14 = 0
  arm_prog.arm_component_size arm_prog.arm_c_Architecture = 0
  (a. arm_prog.arm_component_size (arm_prog.arm_c_FP_REG a) = 1)
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_fpscr'rst = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_Z = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_V = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_UFE = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_UFC = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_RMode = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_QC = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_OFE = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_OFC = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_N = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_IXE = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_IXC = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_IOE = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_IOC = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_IDE = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_IDC = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_FZ = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_DZE = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_DZC = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_DN = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_C = 0
  arm_prog.arm_component_size arm_prog.arm_c_FP_FPSCR_AHP = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_psr'rst = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_Z = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_V = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_T = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_Q = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_N = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_M = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_J = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_IT = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_I = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_GE = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_F = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_E = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_C = 0
  arm_prog.arm_component_size arm_prog.arm_c_CPSR_A = 0

f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19
    f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37
    f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 f50 f51 f52 f53.
    fn.
      fn arm_prog.arm_c_exception = f0
      fn arm_prog.arm_c_VFPExtension = f1
      fn arm_prog.arm_c_SPSR_und = f2 fn arm_prog.arm_c_SPSR_svc = f3
      fn arm_prog.arm_c_SPSR_mon = f4 fn arm_prog.arm_c_SPSR_irq = f5
      fn arm_prog.arm_c_SPSR_hyp = f6 fn arm_prog.arm_c_SPSR_fiq = f7
      fn arm_prog.arm_c_SPSR_abt = f8
      (a. fn (arm_prog.arm_c_REG a) = f9 a)
      (a. fn (arm_prog.arm_c_MEM a) = f10 a)
      (a. fn (arm_prog.arm_c_Extensions a) = f11 a)
      fn arm_prog.arm_c_ELR_hyp = f12 fn arm_prog.arm_c_CP15 = f13
      fn arm_prog.arm_c_CP14 = f14 fn arm_prog.arm_c_Architecture = f15
      (a. fn (arm_prog.arm_c_FP_REG a) = f16 a)
      fn arm_prog.arm_c_FP_FPSCR_fpscr'rst = f17
      fn arm_prog.arm_c_FP_FPSCR_Z = f18
      fn arm_prog.arm_c_FP_FPSCR_V = f19
      fn arm_prog.arm_c_FP_FPSCR_UFE = f20
      fn arm_prog.arm_c_FP_FPSCR_UFC = f21
      fn arm_prog.arm_c_FP_FPSCR_RMode = f22
      fn arm_prog.arm_c_FP_FPSCR_QC = f23
      fn arm_prog.arm_c_FP_FPSCR_OFE = f24
      fn arm_prog.arm_c_FP_FPSCR_OFC = f25
      fn arm_prog.arm_c_FP_FPSCR_N = f26
      fn arm_prog.arm_c_FP_FPSCR_IXE = f27
      fn arm_prog.arm_c_FP_FPSCR_IXC = f28
      fn arm_prog.arm_c_FP_FPSCR_IOE = f29
      fn arm_prog.arm_c_FP_FPSCR_IOC = f30
      fn arm_prog.arm_c_FP_FPSCR_IDE = f31
      fn arm_prog.arm_c_FP_FPSCR_IDC = f32
      fn arm_prog.arm_c_FP_FPSCR_FZ = f33
      fn arm_prog.arm_c_FP_FPSCR_DZE = f34
      fn arm_prog.arm_c_FP_FPSCR_DZC = f35
      fn arm_prog.arm_c_FP_FPSCR_DN = f36
      fn arm_prog.arm_c_FP_FPSCR_C = f37
      fn arm_prog.arm_c_FP_FPSCR_AHP = f38
      fn arm_prog.arm_c_CPSR_psr'rst = f39
      fn arm_prog.arm_c_CPSR_Z = f40 fn arm_prog.arm_c_CPSR_V = f41
      fn arm_prog.arm_c_CPSR_T = f42 fn arm_prog.arm_c_CPSR_Q = f43
      fn arm_prog.arm_c_CPSR_N = f44 fn arm_prog.arm_c_CPSR_M = f45
      fn arm_prog.arm_c_CPSR_J = f46 fn arm_prog.arm_c_CPSR_IT = f47
      fn arm_prog.arm_c_CPSR_I = f48 fn arm_prog.arm_c_CPSR_GE = f49
      fn arm_prog.arm_c_CPSR_F = f50 fn arm_prog.arm_c_CPSR_E = f51
      fn arm_prog.arm_c_CPSR_C = f52 fn arm_prog.arm_c_CPSR_A = f53

(y x w pc.
     pred_set.DISJOINT
       (arm_prog.arm_instr
          (words.word_add
             (words.word_add pc
                (words.word_add (words.w2w w)
                   (words.n2w (arithmetic.BIT2 3))))
             (words.n2w (arithmetic.BIT2 1)), x))
       (arm_prog.arm_instr (pc, y)))
  (y x w pc.
     pred_set.DISJOINT
       (arm_prog.arm_instr
          (words.word_add pc
             (words.word_add (words.w2w w)
                (words.n2w (arithmetic.BIT2 3))), x))
       (arm_prog.arm_instr (pc, y)))
  (y x w pc.
     pred_set.DISJOINT
       (arm_prog.arm_instr
          (words.word_add pc
             (words.word_add (words.w2w w)
                (words.n2w (arithmetic.BIT2 3))), x))
       (arm_prog.arm_instr (pc, y)))
  (y x pc b9 b8 b7 b6 b5 b4 b3 b2 b1 b0.
     pred_set.DISJOINT
       (arm_prog.arm_instr
          (words.word_add pc
             (words.word_add
                (bitstring.v2w
                   (b9 :: b8 :: b7 :: b6 :: b5 :: b4 :: b3 :: b2 :: b1 ::
                    b0 :: [])) (words.n2w (arithmetic.BIT2 3))), x))
       (arm_prog.arm_instr (pc, y)))
  (y x pc b9 b8 b7 b6 b5 b4 b3 b2 b1 b0.
     pred_set.DISJOINT
       (arm_prog.arm_instr
          (words.word_add
             (words.word_add pc
                (words.word_add
                   (bitstring.v2w
                      (b9 :: b8 :: b7 :: b6 :: b5 :: b4 :: b3 :: b2 ::
                       b1 :: b0 :: [])) (words.n2w (arithmetic.BIT2 3))))
             (words.n2w (arithmetic.BIT2 1)), x))
       (arm_prog.arm_instr (pc, y)))
  (a pc x1 x2 y.
     pred_set.DISJOINT (arm_prog.arm_instr (words.word_add pc a, x1))
       (pred_set.UNION
          (arm_prog.arm_instr
             (words.word_add (words.word_add pc a)
                (words.n2w (arithmetic.BIT2 1)), x2))
          (arm_prog.arm_instr (pc, y)))
     pred_set.DISJOINT (arm_prog.arm_instr (words.word_add pc a, x1))
       (arm_prog.arm_instr (pc, y)))
  (a pc x1 x2 y.
     pred_set.DISJOINT (arm_prog.arm_instr (words.word_sub pc a, x1))
       (pred_set.UNION
          (arm_prog.arm_instr
             (words.word_add (words.word_sub pc a)
                (words.n2w (arithmetic.BIT2 1)), x2))
          (arm_prog.arm_instr (pc, y)))
     pred_set.DISJOINT (arm_prog.arm_instr (words.word_sub pc a, x1))
       (arm_prog.arm_instr (pc, y)))
  (b a pc x1 x2 y.
     pred_set.DISJOINT
       (arm_prog.arm_instr (words.word_add (words.word_add pc a) b, x1))
       (pred_set.UNION
          (arm_prog.arm_instr
             (words.word_add (words.word_add (words.word_add pc a) b)
                (words.n2w (arithmetic.BIT2 1)), x2))
          (arm_prog.arm_instr (pc, y)))
     pred_set.DISJOINT
       (arm_prog.arm_instr (words.word_add (words.word_add pc a) b, x1))
       (arm_prog.arm_instr (pc, y)))
  b a pc x1 x2 y.
    pred_set.DISJOINT
      (arm_prog.arm_instr (words.word_sub (words.word_add pc a) b, x1))
      (pred_set.UNION
         (arm_prog.arm_instr
            (words.word_add (words.word_sub (words.word_add pc a) b)
               (words.n2w (arithmetic.BIT2 1)), x2))
         (arm_prog.arm_instr (pc, y)))
    pred_set.DISJOINT
      (arm_prog.arm_instr (words.word_sub (words.word_add pc a) b, x1))
      (arm_prog.arm_instr (pc, y))

(a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_exception a) f f1 f2 f3 f4 f5
       f6 f7 f8 f9 f10 f11 f12 f13 = f a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_VFPExtension a) f f1 f2 f3 f4
       f5 f6 f7 f8 f9 f10 f11 f12 f13 = f1 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_PSR a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 f13 = f2 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word32 a) f f1 f2 f3 f4 f5 f6
       f7 f8 f9 f10 f11 f12 f13 = f3 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_CP15 a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 f13 = f4 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_CP14 a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 f13 = f5 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_Architecture a) f f1 f2 f3 f4
       f5 f6 f7 f8 f9 f10 f11 f12 f13 = f6 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word64 a) f f1 f2 f3 f4 f5 f6
       f7 f8 f9 f10 f11 f12 f13 = f7 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word10 a) f f1 f2 f3 f4 f5 f6
       f7 f8 f9 f10 f11 f12 f13 = f8 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word2 a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 f13 = f9 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word5 a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 f13 = f10 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word8 a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 f13 = f11 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word4 a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 f13 = f12 a)
  a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13.
    arm_prog.arm_data_CASE (arm_prog.arm_d_bool a) f f1 f2 f3 f4 f5 f6 f7
      f8 f9 f10 f11 f12 f13 = f13 a

M M' v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16
    v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
    v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
    M = M' (M' = arm_prog.arm_c_exception v = v')
    (M' = arm_prog.arm_c_VFPExtension v1 = v1')
    (M' = arm_prog.arm_c_SPSR_und v2 = v2')
    (M' = arm_prog.arm_c_SPSR_svc v3 = v3')
    (M' = arm_prog.arm_c_SPSR_mon v4 = v4')
    (M' = arm_prog.arm_c_SPSR_irq v5 = v5')
    (M' = arm_prog.arm_c_SPSR_hyp v6 = v6')
    (M' = arm_prog.arm_c_SPSR_fiq v7 = v7')
    (M' = arm_prog.arm_c_SPSR_abt v8 = v8')
    (a. M' = arm_prog.arm_c_REG a f a = f' a)
    (a. M' = arm_prog.arm_c_MEM a f1 a = f1' a)
    (a. M' = arm_prog.arm_c_Extensions a f2 a = f2' a)
    (M' = arm_prog.arm_c_ELR_hyp v9 = v9')
    (M' = arm_prog.arm_c_CP15 v10 = v10')
    (M' = arm_prog.arm_c_CP14 v11 = v11')
    (M' = arm_prog.arm_c_Architecture v12 = v12')
    (a. M' = arm_prog.arm_c_FP_REG a f3 a = f3' a)
    (M' = arm_prog.arm_c_FP_FPSCR_fpscr'rst v13 = v13')
    (M' = arm_prog.arm_c_FP_FPSCR_Z v14 = v14')
    (M' = arm_prog.arm_c_FP_FPSCR_V v15 = v15')
    (M' = arm_prog.arm_c_FP_FPSCR_UFE v16 = v16')
    (M' = arm_prog.arm_c_FP_FPSCR_UFC v17 = v17')
    (M' = arm_prog.arm_c_FP_FPSCR_RMode v18 = v18')
    (M' = arm_prog.arm_c_FP_FPSCR_QC v19 = v19')
    (M' = arm_prog.arm_c_FP_FPSCR_OFE v20 = v20')
    (M' = arm_prog.arm_c_FP_FPSCR_OFC v21 = v21')
    (M' = arm_prog.arm_c_FP_FPSCR_N v22 = v22')
    (M' = arm_prog.arm_c_FP_FPSCR_IXE v23 = v23')
    (M' = arm_prog.arm_c_FP_FPSCR_IXC v24 = v24')
    (M' = arm_prog.arm_c_FP_FPSCR_IOE v25 = v25')
    (M' = arm_prog.arm_c_FP_FPSCR_IOC v26 = v26')
    (M' = arm_prog.arm_c_FP_FPSCR_IDE v27 = v27')
    (M' = arm_prog.arm_c_FP_FPSCR_IDC v28 = v28')
    (M' = arm_prog.arm_c_FP_FPSCR_FZ v29 = v29')
    (M' = arm_prog.arm_c_FP_FPSCR_DZE v30 = v30')
    (M' = arm_prog.arm_c_FP_FPSCR_DZC v31 = v31')
    (M' = arm_prog.arm_c_FP_FPSCR_DN v32 = v32')
    (M' = arm_prog.arm_c_FP_FPSCR_C v33 = v33')
    (M' = arm_prog.arm_c_FP_FPSCR_AHP v34 = v34')
    (M' = arm_prog.arm_c_CPSR_psr'rst v35 = v35')
    (M' = arm_prog.arm_c_CPSR_Z v36 = v36')
    (M' = arm_prog.arm_c_CPSR_V v37 = v37')
    (M' = arm_prog.arm_c_CPSR_T v38 = v38')
    (M' = arm_prog.arm_c_CPSR_Q v39 = v39')
    (M' = arm_prog.arm_c_CPSR_N v40 = v40')
    (M' = arm_prog.arm_c_CPSR_M v41 = v41')
    (M' = arm_prog.arm_c_CPSR_J v42 = v42')
    (M' = arm_prog.arm_c_CPSR_IT v43 = v43')
    (M' = arm_prog.arm_c_CPSR_I v44 = v44')
    (M' = arm_prog.arm_c_CPSR_GE v45 = v45')
    (M' = arm_prog.arm_c_CPSR_F v46 = v46')
    (M' = arm_prog.arm_c_CPSR_E v47 = v47')
    (M' = arm_prog.arm_c_CPSR_C v48 = v48')
    (M' = arm_prog.arm_c_CPSR_A v49 = v49')
    arm_prog.arm_component_CASE M v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10
      v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26
      v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38 v39 v40 v41 v42 v43
      v44 v45 v46 v47 v48 v49 =
    arm_prog.arm_component_CASE M' v' v1' v2' v3' v4' v5' v6' v7' v8' f'
      f1' f2' v9' v10' v11' v12' f3' v13' v14' v15' v16' v17' v18' v19'
      v20' v21' v22' v23' v24' v25' v26' v27' v28' v29' v30' v31' v32' v33'
      v34' v35' v36' v37' v38' v39' v40' v41' v42' v43' v44' v45' v46' v47'
      v48' v49'

(a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_VFPExtension a'))
  (a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_PSR a'))
  (a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_word32 a'))
  (a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_CP15 a'))
  (a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_CP14 a'))
  (a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_Architecture a'))
  (a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_word64 a'))
  (a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_word10 a'))
  (a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_word2 a'))
  (a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_word5 a'))
  (a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_word8 a'))
  (a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_word4 a'))
  (a' a. ¬(arm_prog.arm_d_exception a = arm_prog.arm_d_bool a'))
  (a' a. ¬(arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_PSR a'))
  (a' a. ¬(arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_word32 a'))
  (a' a. ¬(arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_CP15 a'))
  (a' a. ¬(arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_CP14 a'))
  (a' a.
     ¬(arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_Architecture a'))
  (a' a. ¬(arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_word64 a'))
  (a' a. ¬(arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_word10 a'))
  (a' a. ¬(arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_word2 a'))
  (a' a. ¬(arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_word5 a'))
  (a' a. ¬(arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_word8 a'))
  (a' a. ¬(arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_word4 a'))
  (a' a. ¬(arm_prog.arm_d_VFPExtension a = arm_prog.arm_d_bool a'))
  (a' a. ¬(arm_prog.arm_d_PSR a = arm_prog.arm_d_word32 a'))
  (a' a. ¬(arm_prog.arm_d_PSR a = arm_prog.arm_d_CP15 a'))
  (a' a. ¬(arm_prog.arm_d_PSR a = arm_prog.arm_d_CP14 a'))
  (a' a. ¬(arm_prog.arm_d_PSR a = arm_prog.arm_d_Architecture a'))
  (a' a. ¬(arm_prog.arm_d_PSR a = arm_prog.arm_d_word64 a'))
  (a' a. ¬(arm_prog.arm_d_PSR a = arm_prog.arm_d_word10 a'))
  (a' a. ¬(arm_prog.arm_d_PSR a = arm_prog.arm_d_word2 a'))
  (a' a. ¬(arm_prog.arm_d_PSR a = arm_prog.arm_d_word5 a'))
  (a' a. ¬(arm_prog.arm_d_PSR a = arm_prog.arm_d_word8 a'))
  (a' a. ¬(arm_prog.arm_d_PSR a = arm_prog.arm_d_word4 a'))
  (a' a. ¬(arm_prog.arm_d_PSR a = arm_prog.arm_d_bool a'))
  (a' a. ¬(arm_prog.arm_d_word32 a = arm_prog.arm_d_CP15 a'))
  (a' a. ¬(arm_prog.arm_d_word32 a = arm_prog.arm_d_CP14 a'))
  (a' a. ¬(arm_prog.arm_d_word32 a = arm_prog.arm_d_Architecture a'))
  (a' a. ¬(arm_prog.arm_d_word32 a = arm_prog.arm_d_word64 a'))
  (a' a. ¬(arm_prog.arm_d_word32 a = arm_prog.arm_d_word10 a'))
  (a' a. ¬(arm_prog.arm_d_word32 a = arm_prog.arm_d_word2 a'))
  (a' a. ¬(arm_prog.arm_d_word32 a = arm_prog.arm_d_word5 a'))
  (a' a. ¬(arm_prog.arm_d_word32 a = arm_prog.arm_d_word8 a'))
  (a' a. ¬(arm_prog.arm_d_word32 a = arm_prog.arm_d_word4 a'))
  (a' a. ¬(arm_prog.arm_d_word32 a = arm_prog.arm_d_bool a'))
  (a' a. ¬(arm_prog.arm_d_CP15 a = arm_prog.arm_d_CP14 a'))
  (a' a. ¬(arm_prog.arm_d_CP15 a = arm_prog.arm_d_Architecture a'))
  (a' a. ¬(arm_prog.arm_d_CP15 a = arm_prog.arm_d_word64 a'))
  (a' a. ¬(arm_prog.arm_d_CP15 a = arm_prog.arm_d_word10 a'))
  (a' a. ¬(arm_prog.arm_d_CP15 a = arm_prog.arm_d_word2 a'))
  (a' a. ¬(arm_prog.arm_d_CP15 a = arm_prog.arm_d_word5 a'))
  (a' a. ¬(arm_prog.arm_d_CP15 a = arm_prog.arm_d_word8 a'))
  (a' a. ¬(arm_prog.arm_d_CP15 a = arm_prog.arm_d_word4 a'))
  (a' a. ¬(arm_prog.arm_d_CP15 a = arm_prog.arm_d_bool a'))
  (a' a. ¬(arm_prog.arm_d_CP14 a = arm_prog.arm_d_Architecture a'))
  (a' a. ¬(arm_prog.arm_d_CP14 a = arm_prog.arm_d_word64 a'))
  (a' a. ¬(arm_prog.arm_d_CP14 a = arm_prog.arm_d_word10 a'))
  (a' a. ¬(arm_prog.arm_d_CP14 a = arm_prog.arm_d_word2 a'))
  (a' a. ¬(arm_prog.arm_d_CP14 a = arm_prog.arm_d_word5 a'))
  (a' a. ¬(arm_prog.arm_d_CP14 a = arm_prog.arm_d_word8 a'))
  (a' a. ¬(arm_prog.arm_d_CP14 a = arm_prog.arm_d_word4 a'))
  (a' a. ¬(arm_prog.arm_d_CP14 a = arm_prog.arm_d_bool a'))
  (a' a. ¬(arm_prog.arm_d_Architecture a = arm_prog.arm_d_word64 a'))
  (a' a. ¬(arm_prog.arm_d_Architecture a = arm_prog.arm_d_word10 a'))
  (a' a. ¬(arm_prog.arm_d_Architecture a = arm_prog.arm_d_word2 a'))
  (a' a. ¬(arm_prog.arm_d_Architecture a = arm_prog.arm_d_word5 a'))
  (a' a. ¬(arm_prog.arm_d_Architecture a = arm_prog.arm_d_word8 a'))
  (a' a. ¬(arm_prog.arm_d_Architecture a = arm_prog.arm_d_word4 a'))
  (a' a. ¬(arm_prog.arm_d_Architecture a = arm_prog.arm_d_bool a'))
  (a' a. ¬(arm_prog.arm_d_word64 a = arm_prog.arm_d_word10 a'))
  (a' a. ¬(arm_prog.arm_d_word64 a = arm_prog.arm_d_word2 a'))
  (a' a. ¬(arm_prog.arm_d_word64 a = arm_prog.arm_d_word5 a'))
  (a' a. ¬(arm_prog.arm_d_word64 a = arm_prog.arm_d_word8 a'))
  (a' a. ¬(arm_prog.arm_d_word64 a = arm_prog.arm_d_word4 a'))
  (a' a. ¬(arm_prog.arm_d_word64 a = arm_prog.arm_d_bool a'))
  (a' a. ¬(arm_prog.arm_d_word10 a = arm_prog.arm_d_word2 a'))
  (a' a. ¬(arm_prog.arm_d_word10 a = arm_prog.arm_d_word5 a'))
  (a' a. ¬(arm_prog.arm_d_word10 a = arm_prog.arm_d_word8 a'))
  (a' a. ¬(arm_prog.arm_d_word10 a = arm_prog.arm_d_word4 a'))
  (a' a. ¬(arm_prog.arm_d_word10 a = arm_prog.arm_d_bool a'))
  (a' a. ¬(arm_prog.arm_d_word2 a = arm_prog.arm_d_word5 a'))
  (a' a. ¬(arm_prog.arm_d_word2 a = arm_prog.arm_d_word8 a'))
  (a' a. ¬(arm_prog.arm_d_word2 a = arm_prog.arm_d_word4 a'))
  (a' a. ¬(arm_prog.arm_d_word2 a = arm_prog.arm_d_bool a'))
  (a' a. ¬(arm_prog.arm_d_word5 a = arm_prog.arm_d_word8 a'))
  (a' a. ¬(arm_prog.arm_d_word5 a = arm_prog.arm_d_word4 a'))
  (a' a. ¬(arm_prog.arm_d_word5 a = arm_prog.arm_d_bool a'))
  (a' a. ¬(arm_prog.arm_d_word8 a = arm_prog.arm_d_word4 a'))
  (a' a. ¬(arm_prog.arm_d_word8 a = arm_prog.arm_d_bool a'))
  a' a. ¬(arm_prog.arm_d_word4 a = arm_prog.arm_d_bool a')

(v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_exception v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_VFPExtension v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v1)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_SPSR_und v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v2)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_SPSR_svc v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v3)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_SPSR_mon v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v4)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_SPSR_irq v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v5)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_SPSR_hyp v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v6)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_SPSR_fiq v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v7)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_SPSR_abt v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v8)
  (a v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16
     v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33
     v34 v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE (arm_prog.arm_c_REG a) v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = f a)
  (a v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16
     v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33
     v34 v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE (arm_prog.arm_c_MEM a) v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = f1 a)
  (a v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16
     v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33
     v34 v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE (arm_prog.arm_c_Extensions a) v v1 v2 v3
       v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = f2 a)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_ELR_hyp v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v9)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CP15 v v1 v2 v3 v4 v5 v6 v7
       v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22
       v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38 v39
       v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v10)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CP14 v v1 v2 v3 v4 v5 v6 v7
       v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22
       v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38 v39
       v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v11)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_Architecture v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v12)
  (a v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16
     v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33
     v34 v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE (arm_prog.arm_c_FP_REG a) v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = f3 a)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_fpscr'rst v v1 v2
       v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18
       v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35
       v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v13)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_Z v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v14)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_V v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v15)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_UFE v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v16)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_UFC v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v17)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_RMode v v1 v2 v3
       v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v18)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_QC v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v19)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_OFE v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v20)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_OFC v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v21)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_N v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v22)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_IXE v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v23)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_IXC v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v24)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_IOE v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v25)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_IOC v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v26)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_IDE v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v27)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_IDC v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v28)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_FZ v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v29)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_DZE v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v30)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_DZC v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v31)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_DN v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v32)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_C v v1 v2 v3 v4 v5
       v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20
       v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
       v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v33)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_FP_FPSCR_AHP v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v34)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_psr'rst v v1 v2 v3 v4
       v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19
       v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36
       v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v35)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_Z v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v36)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_V v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v37)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_T v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v38)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_Q v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v39)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_N v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v40)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_M v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v41)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_J v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v42)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_IT v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v43)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_I v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v44)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_GE v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v45)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_F v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v46)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_E v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v47)
  (v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
     v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34
     v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
     arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_C v v1 v2 v3 v4 v5 v6
       v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
       v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
       v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v48)
  v v1 v2 v3 v4 v5 v6 v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17
    v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35
    v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49.
    arm_prog.arm_component_CASE arm_prog.arm_c_CPSR_A v v1 v2 v3 v4 v5 v6
      v7 v8 f f1 f2 v9 v10 v11 v12 f3 v13 v14 v15 v16 v17 v18 v19 v20 v21
      v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38
      v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 = v49

¬(arm_prog.arm_c_exception = arm_prog.arm_c_VFPExtension)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_SPSR_und)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_SPSR_svc)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_SPSR_mon)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_SPSR_irq)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_SPSR_hyp)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_SPSR_fiq)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_SPSR_abt)
  (a. ¬(arm_prog.arm_c_exception = arm_prog.arm_c_REG a))
  (a. ¬(arm_prog.arm_c_exception = arm_prog.arm_c_MEM a))
  (a. ¬(arm_prog.arm_c_exception = arm_prog.arm_c_Extensions a))
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_ELR_hyp)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CP15)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CP14)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_Architecture)
  (a. ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_exception = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_SPSR_und)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_SPSR_svc)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_SPSR_mon)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_SPSR_irq)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_SPSR_hyp)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_SPSR_fiq)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_SPSR_abt)
  (a. ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_REG a))
  (a. ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_MEM a))
  (a. ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_Extensions a))
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_ELR_hyp)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CP15)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CP14)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_Architecture)
  (a. ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_VFPExtension = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_SPSR_svc)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_SPSR_mon)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_SPSR_irq)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_SPSR_hyp)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_SPSR_fiq)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_SPSR_abt)
  (a. ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_REG a))
  (a. ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_MEM a))
  (a. ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_Extensions a))
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_ELR_hyp)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CP15)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CP14)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_Architecture)
  (a. ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_SPSR_und = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_SPSR_mon)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_SPSR_irq)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_SPSR_hyp)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_SPSR_fiq)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_SPSR_abt)
  (a. ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_REG a))
  (a. ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_MEM a))
  (a. ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_Extensions a))
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_ELR_hyp)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CP15)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CP14)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_Architecture)
  (a. ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_SPSR_svc = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_SPSR_irq)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_SPSR_hyp)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_SPSR_fiq)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_SPSR_abt)
  (a. ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_REG a))
  (a. ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_MEM a))
  (a. ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_Extensions a))
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_ELR_hyp)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CP15)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CP14)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_Architecture)
  (a. ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_SPSR_mon = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_SPSR_hyp)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_SPSR_fiq)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_SPSR_abt)
  (a. ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_REG a))
  (a. ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_MEM a))
  (a. ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_Extensions a))
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_ELR_hyp)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CP15)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CP14)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_Architecture)
  (a. ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_SPSR_irq = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_SPSR_fiq)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_SPSR_abt)
  (a. ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_REG a))
  (a. ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_MEM a))
  (a. ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_Extensions a))
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_ELR_hyp)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CP15)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CP14)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_Architecture)
  (a. ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_SPSR_hyp = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_SPSR_abt)
  (a. ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_REG a))
  (a. ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_MEM a))
  (a. ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_Extensions a))
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_ELR_hyp)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CP15)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CP14)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_Architecture)
  (a. ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_SPSR_fiq = arm_prog.arm_c_CPSR_A)
  (a. ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_REG a))
  (a. ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_MEM a))
  (a. ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_Extensions a))
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_ELR_hyp)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CP15)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CP14)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_Architecture)
  (a. ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_SPSR_abt = arm_prog.arm_c_CPSR_A)
  (a' a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_MEM a'))
  (a' a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_Extensions a'))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_ELR_hyp))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CP15))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CP14))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_Architecture))
  (a' a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_REG a'))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_fpscr'rst))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_Z))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_V))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_UFE))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_UFC))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_RMode))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_QC))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_OFE))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_OFC))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_N))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_IXE))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_IXC))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_IOE))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_IOC))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_IDE))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_IDC))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_FZ))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_DZE))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_DZC))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_DN))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_C))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_FP_FPSCR_AHP))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_psr'rst))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_Z))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_V))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_T))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_Q))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_N))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_M))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_J))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_IT))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_I))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_GE))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_F))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_E))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_C))
  (a. ¬(arm_prog.arm_c_REG a = arm_prog.arm_c_CPSR_A))
  (a' a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_Extensions a'))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_ELR_hyp))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CP15))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CP14))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_Architecture))
  (a' a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_REG a'))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_fpscr'rst))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_Z))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_V))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_UFE))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_UFC))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_RMode))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_QC))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_OFE))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_OFC))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_N))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_IXE))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_IXC))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_IOE))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_IOC))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_IDE))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_IDC))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_FZ))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_DZE))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_DZC))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_DN))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_C))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_FP_FPSCR_AHP))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_psr'rst))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_Z))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_V))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_T))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_Q))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_N))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_M))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_J))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_IT))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_I))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_GE))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_F))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_E))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_C))
  (a. ¬(arm_prog.arm_c_MEM a = arm_prog.arm_c_CPSR_A))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_ELR_hyp))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CP15))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CP14))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_Architecture))
  (a' a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_REG a'))
  (a.
     ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_fpscr'rst))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_Z))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_V))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_UFE))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_UFC))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_RMode))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_QC))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_OFE))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_OFC))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_N))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_IXE))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_IXC))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_IOE))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_IOC))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_IDE))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_IDC))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_FZ))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_DZE))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_DZC))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_DN))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_C))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_FP_FPSCR_AHP))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_psr'rst))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_Z))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_V))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_T))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_Q))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_N))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_M))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_J))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_IT))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_I))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_GE))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_F))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_E))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_C))
  (a. ¬(arm_prog.arm_c_Extensions a = arm_prog.arm_c_CPSR_A))
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CP15)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CP14)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_Architecture)
  (a. ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_ELR_hyp = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CP14)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_Architecture)
  (a. ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CP15 = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_Architecture)
  (a. ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CP14 = arm_prog.arm_c_CPSR_A)
  (a. ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_REG a))
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_fpscr'rst)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_Architecture = arm_prog.arm_c_CPSR_A)
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_fpscr'rst))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_Z))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_V))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_UFE))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_UFC))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_RMode))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_QC))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_OFE))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_OFC))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_N))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_IXE))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_IXC))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_IOE))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_IOC))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_IDE))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_IDC))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_FZ))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_DZE))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_DZC))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_DN))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_C))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_FP_FPSCR_AHP))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_psr'rst))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_Z))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_V))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_T))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_Q))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_N))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_M))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_J))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_IT))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_I))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_GE))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_F))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_E))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_C))
  (a. ¬(arm_prog.arm_c_FP_REG a = arm_prog.arm_c_CPSR_A))
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_fpscr'rst = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_Z = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_UFE)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_V = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_UFC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_UFE = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_RMode)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_UFC = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_QC)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_RMode = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_OFE)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_QC = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_OFC)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_OFE = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_OFC = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_FP_FPSCR_IXE)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_N = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_FP_FPSCR_IXC)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_IXE = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_FP_FPSCR_IOE)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_IXC = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_FP_FPSCR_IOC)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_IOE = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_FP_FPSCR_IDE)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_IOC = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_FP_FPSCR_IDC)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_IDE = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_FP_FPSCR_FZ)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_IDC = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_FP_FPSCR_DZE)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_FZ = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_FP_FPSCR_DZC)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_DZE = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_FP_FPSCR_DN)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_DZC = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_FP_FPSCR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_DN = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_FP_FPSCR_AHP)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_C = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_psr'rst)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_FP_FPSCR_AHP = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_Z)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_psr'rst = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_V)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_Z = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_V = arm_prog.arm_c_CPSR_T)
  ¬(arm_prog.arm_c_CPSR_V = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_CPSR_V = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_CPSR_V = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_CPSR_V = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_CPSR_V = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_CPSR_V = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_CPSR_V = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_CPSR_V = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CPSR_V = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CPSR_V = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_V = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_T = arm_prog.arm_c_CPSR_Q)
  ¬(arm_prog.arm_c_CPSR_T = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_CPSR_T = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_CPSR_T = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_CPSR_T = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_CPSR_T = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_CPSR_T = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_CPSR_T = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CPSR_T = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CPSR_T = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_T = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_Q = arm_prog.arm_c_CPSR_N)
  ¬(arm_prog.arm_c_CPSR_Q = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_CPSR_Q = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_CPSR_Q = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_CPSR_Q = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_CPSR_Q = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_CPSR_Q = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CPSR_Q = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CPSR_Q = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_Q = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_N = arm_prog.arm_c_CPSR_M)
  ¬(arm_prog.arm_c_CPSR_N = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_CPSR_N = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_CPSR_N = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_CPSR_N = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_CPSR_N = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CPSR_N = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CPSR_N = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_N = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_M = arm_prog.arm_c_CPSR_J)
  ¬(arm_prog.arm_c_CPSR_M = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_CPSR_M = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_CPSR_M = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_CPSR_M = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CPSR_M = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CPSR_M = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_M = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_J = arm_prog.arm_c_CPSR_IT)
  ¬(arm_prog.arm_c_CPSR_J = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_CPSR_J = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_CPSR_J = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CPSR_J = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CPSR_J = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_J = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_IT = arm_prog.arm_c_CPSR_I)
  ¬(arm_prog.arm_c_CPSR_IT = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_CPSR_IT = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CPSR_IT = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CPSR_IT = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_IT = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_I = arm_prog.arm_c_CPSR_GE)
  ¬(arm_prog.arm_c_CPSR_I = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CPSR_I = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CPSR_I = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_I = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_GE = arm_prog.arm_c_CPSR_F)
  ¬(arm_prog.arm_c_CPSR_GE = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CPSR_GE = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_GE = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_F = arm_prog.arm_c_CPSR_E)
  ¬(arm_prog.arm_c_CPSR_F = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_F = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_E = arm_prog.arm_c_CPSR_C)
  ¬(arm_prog.arm_c_CPSR_E = arm_prog.arm_c_CPSR_A)
  ¬(arm_prog.arm_c_CPSR_C = arm_prog.arm_c_CPSR_A)

External Type Operators

External Constants

Assumptions

0 = 0

0 < words.dimword bool.the_value

pred_set.EMPTY x

x. x = x

t. t

bool.LET = λf x. f x

1 < words.dimword bool.the_value

arithmetic.DIV2 (bit1 x) = x

¬¬p p

x. ¬bool.IN x pred_set.EMPTY

x. id x = x

s. set_sep.SEP_F s

t. t ¬t

(¬) = λt. t

() = λP. P ((select) P)

t. (x. t) t

t. (λx. t x) = t

() = λP. P = λx.

¬(p q) p

x. x = x

fcp.dimindex bool.the_value = arithmetic.BIT2 3

fcp.dimindex bool.the_value = arithmetic.BIT2 (bit1 (arithmetic.BIT2 0))

¬(p q) ¬q

¬(p q) ¬p

¬(p q) ¬q

x. set_sep.SEP_EQ x = pred_set.INSERT x pred_set.EMPTY

A. A ¬A

t. (t ) ¬t

n. rich_list.COUNT_LIST n = list.GENLIST id n

n. rich_list.COUNT_LIST n = rich_list.COUNT_LIST_AUX n []

set_sep.SEP_EXISTS = λf s. y. f y s

x. set_sep.SEP_EQ x = λs. s = x

p. set_sep.SEP_HIDE p = set_sep.SEP_EXISTS (λx. p x)

() = λp q. p q p

t. t t

t. (t ) (t )

n. arithmetic.DIV2 n = n div arithmetic.BIT2 0

n. suc n = 1 + n

s.
    pred_set.DISJOINT pred_set.EMPTY s pred_set.DISJOINT s pred_set.EMPTY

x. (fst x, snd x) = x

x y. fst (x, y) = x

x y. snd (x, y) = y

h t. head (h :: t) = h

n. words.n2w n = fcp.FCP (λi. bit.BIT i n)

v. bitstring.v2w v = fcp.FCP (λi. bitstring.testbit i v)

fcp.dimindex bool.the_value = arithmetic.BIT2 15

n. words.n2w (n mod words.dimword bool.the_value) = words.n2w n

x c q. prog.SPEC x set_sep.SEP_F c q

x c q. temporal_state.TEMPORAL_NEXT x set_sep.SEP_F c q

x y. x = y y = x

A B. A B B A

s t. pred_set.INTER s t = pred_set.INTER t s

v w. words.word_add v w = words.word_add w v

p q. set_sep.STAR p q = set_sep.STAR q p

(¬A ) (A )

n. 0 < n 0 mod n = 0

w.
    words.word_2comp w = words.word_mul (words.word_2comp (words.n2w 1)) w

x y. pred_set.INSERT y pred_set.EMPTY x x = y

A B. A B ¬A B

m n. m < n suc m n

m n. ¬(m < n) n m

v w. words.word_sub v w = words.word_add v (words.word_2comp w)

() = λp q. (λf. f p q) = λf. f

P. ¬(x. P x) x. ¬P x

() = λP. q. (x. P x q) q

A B. ¬(A B) A ¬B

i n. bit.BIT i n bool.IN i (words.BIT_SET 0 n)

h l. words.word_extract h l = words.w2w words.word_bits h l

n k. k < n k mod n = k

v i. length v i ¬bitstring.testbit i v

s t. pred_set.DISJOINT s t pred_set.INTER s t = pred_set.EMPTY

s P.
    pred_set.BIGUNION (pred_set.INSERT s P) =
    pred_set.UNION s (pred_set.BIGUNION P)

f g x. (f g) x = f (g x)

m n. words.word_add (words.n2w m) (words.n2w n) = words.n2w (m + n)

w v. words.word_sub v w = words.n2w 0 v = w

instr c.
    prog.CODE_POOL instr c =
    pred_set.INSERT (pred_set.BIGUNION (pred_set.IMAGE instr c))
      pred_set.EMPTY

n.
    words.word_2comp (words.n2w n) =
    words.n2w
      (arithmetic.- (words.dimword bool.the_value)
         (n mod words.dimword bool.the_value))

i. i < fcp.dimindex bool.the_value fcp.fcp_index (fcp.FCP g) i = g i

f g. f = g x. f x = g x

f v. (x. x = v f x) f v

P a. (x. x = a P x) P a

P t. (x. x = t P x) () P

f x y. pair.UNCURRY f (x, y) = f x y

() = λt1 t2. t. (t1 t) (t2 t) t

x y.
    pred_set.INSERT x pred_set.EMPTY = pred_set.INSERT y pred_set.EMPTY
    x = y

t1 t2. (t1 t2) (t2 t1) (t1 t2)

(p ¬q) (p q) (¬q ¬p)

list.LIST_TO_SET [] = pred_set.EMPTY
  list.LIST_TO_SET (h :: t) = pred_set.INSERT h (list.LIST_TO_SET t)

list.GENLIST f 0 = [] list.GENLIST f n = list.GENLIST_AUX f n []

(s. pred_set.INTER pred_set.EMPTY s = pred_set.EMPTY)
  s. pred_set.INTER s pred_set.EMPTY = pred_set.EMPTY

(s. pred_set.UNION pred_set.EMPTY s = s)
  s. pred_set.UNION s pred_set.EMPTY = s

¬(¬A B) A ¬B

list.EL 0 = head list.EL (suc n) (l :: ls) = list.EL n ls

¬(A B) (A ) ¬B

x s t.
    pred_set.UNION (pred_set.INSERT x s) t =
    pred_set.INSERT x (pred_set.UNION s t)

t1 t2 t3. t1 t2 t3 t1 t2 t3

m n p. m + n m + p n p

m n p. m n n p m p

v w x.
    words.word_add v (words.word_add w x) =
    words.word_add (words.word_add v w) x

v w x.
    words.word_sub (words.word_add v w) x =
    words.word_add v (words.word_sub w x)

v w x. words.word_add v w = words.word_add v x w = x

v w x. words.word_add v w = words.word_add x w v = x

v w x. words.word_sub v w = words.word_sub x w v = x

x y.
    words.word_add x y =
    fcp.FCP (λi. blast.BSUM i (fcp.fcp_index x) (fcp.fcp_index y) )

p q r.
    set_sep.STAR p (set_sep.STAR q r) = set_sep.STAR (set_sep.STAR p q) r

t1 t2. (if then t1 else t2) = t1 (if then t1 else t2) = t2

n m. arithmetic.- n m = if m < n then numeral.iSUB n m else 0

n. all P (list.GENLIST f n) i. i < n P (f i)

length [] = 0 h t. length (h :: t) = suc (length t)

(w. words.word_add w (words.n2w 0) = w)
  w. words.word_add (words.n2w 0) w = w

x y s. pred_set.INSERT y s x x = y bool.IN x s

x y c. blast.bsum x y c (x ¬y) ¬c

f x s.
    pred_set.IMAGE f (pred_set.INSERT x s) =
    pred_set.INSERT (f x) (pred_set.IMAGE f s)

s t x. pred_set.INTER s t x bool.IN x s bool.IN x t

s t x. pred_set.UNION s t x bool.IN x s bool.IN x t

(t. ¬¬t t) (¬ ) (¬ )

x y s. bool.IN x (pred_set.INSERT y s) x = y bool.IN x s

A B C. A B C (A B) (A C)

A B C. B C A (B A) (C A)

s t x. bool.IN x (pred_set.UNION s t) bool.IN x s bool.IN x t

v w x.
    words.word_mul v (words.word_add w x) =
    words.word_add (words.word_mul v w) (words.word_mul v x)

v w x.
    words.word_mul (words.word_add v w) x =
    words.word_add (words.word_mul v x) (words.word_mul w x)

x y.
    words.word_sub x y =
    fcp.FCP (λi. blast.BSUM i (fcp.fcp_index x) ((¬) fcp.fcp_index y) )

m n.
    words.n2w m = words.n2w n
    m mod words.dimword bool.the_value = n mod words.dimword bool.the_value

a b.
    words.word_lo (words.n2w a) (words.n2w b)
    a mod words.dimword bool.the_value < b mod words.dimword bool.the_value

x y.
    words.word_lo x y
    ¬blast.BCARRY (fcp.dimindex bool.the_value) (fcp.fcp_index x)
        ((¬) fcp.fcp_index y)

x s t.
    pred_set.DISJOINT t (pred_set.INSERT x s)
    pred_set.DISJOINT t s ¬bool.IN x t

x y c. blast.bcarry x y c x y (x y) c

s u v.
    set_sep.SPLIT s (u, v) pred_set.UNION u v = s pred_set.DISJOINT u v

y s f. bool.IN y (pred_set.IMAGE f s) x. y = f x bool.IN x s

arithmetic.DIV2 0 = 0 (n. arithmetic.DIV2 (bit1 n) = n)
  n. arithmetic.DIV2 (arithmetic.BIT2 n) = suc n

x y.
    x = y
    i.
      i < fcp.dimindex bool.the_value
      fcp.fcp_index x i = fcp.fcp_index y i

(l. rich_list.COUNT_LIST_AUX 0 l = l)
  n l.
    rich_list.COUNT_LIST_AUX (suc n) l =
    rich_list.COUNT_LIST_AUX n (n :: l)

(l. list.EL 0 l = head l) l n. list.EL (suc n) l = list.EL n (tail l)

x y a b. (x, y) = (a, b) x = a y = b

p w.
    alignment.aligned p w
    p = 0 words.word_extract (arithmetic.- p 1) 0 w = words.n2w 0

v i.
    i < length v
    (bitstring.testbit i v
     list.EL (arithmetic.- (arithmetic.- (length v) 1) i) v)

w i.
    i < fcp.dimindex bool.the_value
    (fcp.fcp_index (words.w2w w) i
     i < fcp.dimindex bool.the_value fcp.fcp_index w i)

Fn. f. c i r. f (ind_type.CONSTR c i r) = Fn c i r (λn. f (r n))

n.
    numeral.iDUB (bit1 n) = arithmetic.BIT2 (numeral.iDUB n)
    numeral.iDUB (arithmetic.BIT2 n) = arithmetic.BIT2 (bit1 n)
    numeral.iDUB 0 = 0

p q. set_sep.STAR p q = λs. u v. set_sep.SPLIT s (u, v) p u q v

i x y c.
    blast.BSUM i x y c blast.bsum (x i) (y i) (blast.BCARRY i x y c)

(p q r) (p q) (p ¬r) (¬q r ¬p)

(p q r) (p ¬q) (p ¬r) (q r ¬p)

min 0 x = 0 min x 0 = 0 min x y = if x < y then x else y

x s t.
    pred_set.INTER (pred_set.INSERT x s) t =
    if bool.IN x t then pred_set.INSERT x (pred_set.INTER s t)
    else pred_set.INTER s t

(a f. ind_type.FCONS a f 0 = a)
  a f n. ind_type.FCONS a f (suc n) = f n

x x' y y'. (x x') (x' (y y')) (x y x' y')

n k r. (q. k = q * n + r r < n) k mod n = r

(p q r) (p ¬q ¬r) (q ¬p) (r ¬p)

suc 0 = 1 (n. suc (bit1 n) = arithmetic.BIT2 n)
  n. suc (arithmetic.BIT2 n) = bit1 (suc n)

x p c q g.
    prog.SPEC x (set_sep.STAR p (set_sep.cond g)) c q
    g prog.SPEC x p c q

x p c q g.
    temporal_state.TEMPORAL_NEXT x (set_sep.STAR p (set_sep.cond g)) c q
    g temporal_state.TEMPORAL_NEXT x p c q

A B. (¬(A B) ¬A ¬B) (¬(A B) ¬A ¬B)

(P. all P [] ) P h t. all P (h :: t) P h all P t

list.EL (bit1 n) (l :: ls) = list.EL (prim_rec.PRE (bit1 n)) ls
  list.EL (arithmetic.BIT2 n) (l :: ls) = list.EL (bit1 n) ls

n.
    even 0 even (arithmetic.BIT2 n) ¬even (bit1 n) ¬odd 0
    ¬odd (arithmetic.BIT2 n) odd (bit1 n)

a b c.
    pred_set.DISJOINT a b
    set_sep.STAR (pred_set.INSERT (pred_set.UNION a b) pred_set.EMPTY) c =
    set_sep.STAR
      (set_sep.STAR (pred_set.INSERT a pred_set.EMPTY)
         (pred_set.INSERT b pred_set.EMPTY)) c

h l.
    words.word_bits h l =
    λw.
      fcp.FCP
        (λi.
           i + l min h (arithmetic.- (fcp.dimindex bool.the_value) 1)
           fcp.fcp_index w (i + l))

bool.TYPE_DEFINITION =
  λP rep.
    (x' x''. rep x' = rep x'' x' = x'') x. P x x'. x = rep x'

t. (( t) t) ((t ) t) (( t) ¬t) ((t ) ¬t)

P.
    (rep. bool.TYPE_DEFINITION P rep)
    rep abs. (a. abs (rep a) = a) r. P r rep (abs r) = r

numeral.texp_help 0 acc = arithmetic.BIT2 acc
  numeral.texp_help (bit1 n) acc =
  numeral.texp_help (prim_rec.PRE (bit1 n)) (bit1 acc)
  numeral.texp_help (arithmetic.BIT2 n) acc =
  numeral.texp_help (bit1 n) (bit1 acc)

numeral.exactlog 0 = 0 (n. numeral.exactlog (bit1 n) = 0)
  n.
    numeral.exactlog (arithmetic.BIT2 n) =
    bool.LET (λx. if x = 0 then 0 else bit1 x) (numeral.onecount n 0)

(x. numeral.onecount 0 x = x)
  (n x. numeral.onecount (bit1 n) x = numeral.onecount n (suc x))
  n x. numeral.onecount (arithmetic.BIT2 n) x = 0

t. ( t t) (t t) ( t ) (t ) (t t t)

t. ( t ) (t ) ( t t) (t t) (t t t)

n i.
    words.BIT_SET i n =
    if n = 0 then pred_set.EMPTY
    else if odd n then
      pred_set.INSERT i (words.BIT_SET (suc i) (n div arithmetic.BIT2 0))
    else words.BIT_SET (suc i) (n div arithmetic.BIT2 0)

x p c q.
    prog.SPEC x (set_sep.STAR (prog.CODE_POOL (fst (snd (snd x))) c) p)
      pred_set.EMPTY
      (set_sep.STAR (prog.CODE_POOL (fst (snd (snd x))) c) q)
    prog.SPEC x p c q

x p c q.
    temporal_state.TEMPORAL_NEXT x
      (set_sep.STAR (prog.CODE_POOL (fst (snd (snd x))) c) p)
      pred_set.EMPTY
      (set_sep.STAR (prog.CODE_POOL (fst (snd (snd x))) c) q)
    temporal_state.TEMPORAL_NEXT x p c q

t. ( t t) (t ) ( t ) (t t ) (t ¬t)

s t u.
    (pred_set.DISJOINT (pred_set.UNION s t) u
     pred_set.DISJOINT s u pred_set.DISJOINT t u)
    (pred_set.DISJOINT u (pred_set.UNION s t)
     pred_set.DISJOINT s u pred_set.DISJOINT t u)

(s t.
     pred_set.DISJOINT (pred_set.BIGUNION s) t
     s'. bool.IN s' s pred_set.DISJOINT s' t)
  s t.
    pred_set.DISJOINT t (pred_set.BIGUNION s)
    s'. bool.IN s' s pred_set.DISJOINT t s'

P Q x x' y y'.
    (P Q) (Q x = x') (¬Q y = y')
    (if P then x else y) = if Q then x' else y'

(p q r) (p q r) (p ¬r ¬q) (q ¬r ¬p) (r ¬q ¬p)

(x y c. blast.BCARRY 0 x y c c)
  i x y c.
    blast.BCARRY (suc i) x y c
    blast.bcarry (x i) (y i) (blast.BCARRY i x y c)

words.dimword bool.the_value = arithmetic.BIT2 2147483647

f g.
    (n. g (suc n) = f n (suc n))
    (n. g (bit1 n) = f (arithmetic.- (bit1 n) 1) (bit1 n))
    n. g (arithmetic.BIT2 n) = f (bit1 n) (arithmetic.BIT2 n)

(m n.
     words.word_add (words.word_2comp (words.n2w m))
       (words.word_2comp (words.n2w n)) =
     words.word_2comp (words.n2w (m + n)))
  m n.
    words.word_add (words.n2w m) (words.word_2comp (words.n2w n)) =
    if n m then words.n2w (arithmetic.- m n)
    else words.word_2comp (words.n2w (arithmetic.- n m))

prim_rec.PRE 0 = 0 prim_rec.PRE 1 = 0
  (n.
     prim_rec.PRE (bit1 (bit1 n)) =
     arithmetic.BIT2 (prim_rec.PRE (bit1 n)))
  (n.
     prim_rec.PRE (bit1 (arithmetic.BIT2 n)) = arithmetic.BIT2 (bit1 n))
  n. prim_rec.PRE (arithmetic.BIT2 n) = bit1 n

f.
    (x y z. f x (f y z) = f (f x y) z) (x y. f x y = f y x)
    x y z. f x (f y z) = f y (f x z)

m n.
    0 * m = 0 m * 0 = 0 1 * m = m m * 1 = m suc m * n = m * n + n
    m * suc n = m + m * n

(f l. list.GENLIST_AUX f 0 l = l)
  (f n l.
     list.GENLIST_AUX f (bit1 n) l =
     list.GENLIST_AUX f (arithmetic.- (bit1 n) 1)
       (f (arithmetic.- (bit1 n) 1) :: l))
  f n l.
    list.GENLIST_AUX f (arithmetic.BIT2 n) l =
    list.GENLIST_AUX f (bit1 n) (f (bit1 n) :: l)

v w.
    words.word_mul (words.n2w 0) v = words.n2w 0
    words.word_mul v (words.n2w 0) = words.n2w 0
    words.word_mul (words.n2w 1) v = v
    words.word_mul v (words.n2w 1) = v
    words.word_mul (words.word_add v (words.n2w 1)) w =
    words.word_add (words.word_mul v w) w
    words.word_mul v (words.word_add w (words.n2w 1)) =
    words.word_add v (words.word_mul v w)

n m.
    (0 n ) (bit1 n 0 ) (arithmetic.BIT2 n 0 )
    (bit1 n bit1 m n m) (bit1 n arithmetic.BIT2 m n m)
    (arithmetic.BIT2 n bit1 m ¬(m n))
    (arithmetic.BIT2 n arithmetic.BIT2 m n m)

n m.
    (0 < bit1 n ) (0 < arithmetic.BIT2 n ) (n < 0 )
    (bit1 n < bit1 m n < m)
    (arithmetic.BIT2 n < arithmetic.BIT2 m n < m)
    (bit1 n < arithmetic.BIT2 m ¬(m < n))
    (arithmetic.BIT2 n < bit1 m n < m)

n m.
    (0 = bit1 n ) (bit1 n = 0 ) (0 = arithmetic.BIT2 n )
    (arithmetic.BIT2 n = 0 ) (bit1 n = arithmetic.BIT2 m )
    (arithmetic.BIT2 n = bit1 m ) (bit1 n = bit1 m n = m)
    (arithmetic.BIT2 n = arithmetic.BIT2 m n = m)

m next instr c p q.
    (y s.
       set_sep.STAR p (prog.CODE_POOL instr c) (state.SELECT_STATE m y s)
       v.
         next s = some v
         set_sep.STAR q (prog.CODE_POOL instr c)
           (state.SELECT_STATE m y v)
         state.FRAME_STATE m y s = state.FRAME_STATE m y v)
    prog.SPEC (state.STATE m, state.NEXT_REL (=) next, instr, (=), const )
      p c q

m next instr less avoid c p q.
    (y s.
       set_sep.STAR p (prog.CODE_POOL instr c) (state.SELECT_STATE m y s)
       v.
         next s = some v
         set_sep.STAR q (prog.CODE_POOL instr c)
           (state.SELECT_STATE m y v)
         state.FRAME_STATE m y s = state.FRAME_STATE m y v)
    temporal_state.TEMPORAL_NEXT
      (state.STATE m, state.NEXT_REL (=) next, instr, less, avoid) p c q

y x single_c map_c.
    (c d.
       single_c c d =
       pred_set.INSERT (pred_set.INSERT (x c, y d) pred_set.EMPTY)
         pred_set.EMPTY)
    (a b. x a = x b a = b)
    (df f.
       map_c df f =
       pred_set.INSERT
         (pred_set.BIGUNION
            (pred_set.GSPEC
               (λc. (pred_set.BIGUNION (single_c c (f c)), bool.IN c df))))
         pred_set.EMPTY)
    f df c d.
      bool.IN c df
      set_sep.STAR (single_c c d) (map_c (pred_set.DELETE df c) f) =
      map_c df (combin.UPDATE c d f)

0 * n = 0 n * 0 = 0
  bit1 x * bit1 y = numeral.internal_mult (bit1 x) (bit1 y)
  bit1 x * arithmetic.BIT2 y =
  bool.LET
    (λn.
       if odd n then
         numeral.texp_help (arithmetic.DIV2 n) (prim_rec.PRE (bit1 x))
       else numeral.internal_mult (bit1 x) (arithmetic.BIT2 y))
    (numeral.exactlog (arithmetic.BIT2 y))
  arithmetic.BIT2 x * bit1 y =
  bool.LET
    (λm.
       if odd m then
         numeral.texp_help (arithmetic.DIV2 m) (prim_rec.PRE (bit1 y))
       else numeral.internal_mult (arithmetic.BIT2 x) (bit1 y))
    (numeral.exactlog (arithmetic.BIT2 x))
  arithmetic.BIT2 x * arithmetic.BIT2 y =
  bool.LET
    (λm.
       bool.LET
         (λn.
            if odd m then
              numeral.texp_help (arithmetic.DIV2 m)
                (prim_rec.PRE (arithmetic.BIT2 y))
            else if odd n then
              numeral.texp_help (arithmetic.DIV2 n)
                (prim_rec.PRE (arithmetic.BIT2 x))
            else
              numeral.internal_mult (arithmetic.BIT2 x)
                (arithmetic.BIT2 y))
         (numeral.exactlog (arithmetic.BIT2 y)))
    (numeral.exactlog (arithmetic.BIT2 x))

P n x y single_c map_c.
    (c d.
       single_c c d =
       pred_set.INSERT
         (list.LIST_TO_SET (list.GENLIST (λi. (x c i, y d i)) n))
         pred_set.EMPTY)
    (a b i j.
       P a P b i < n j < n (x a i = x b j a = b i = j))
    (df f.
       map_c df f =
       pred_set.INSERT
         (pred_set.BIGUNION
            (pred_set.GSPEC
               (λc.
                  (pred_set.BIGUNION (single_c c (f c)),
                   bool.IN c df P c)))) pred_set.EMPTY)
    f df c d.
      bool.IN c df P c
      set_sep.STAR (single_c c d) (map_c (pred_set.DELETE df c) f) =
      map_c df (combin.UPDATE c d f)

b n m.
    numeral.iSUB b 0 x = 0 numeral.iSUB n 0 = n
    numeral.iSUB (bit1 n) 0 = numeral.iDUB n
    numeral.iSUB (bit1 n) (bit1 m) = numeral.iDUB (numeral.iSUB n m)
    numeral.iSUB (bit1 n) (bit1 m) = bit1 (numeral.iSUB n m)
    numeral.iSUB (bit1 n) (arithmetic.BIT2 m) =
    bit1 (numeral.iSUB n m)
    numeral.iSUB (bit1 n) (arithmetic.BIT2 m) =
    numeral.iDUB (numeral.iSUB n m)
    numeral.iSUB (arithmetic.BIT2 n) 0 = bit1 n
    numeral.iSUB (arithmetic.BIT2 n) (bit1 m) =
    bit1 (numeral.iSUB n m)
    numeral.iSUB (arithmetic.BIT2 n) (bit1 m) =
    numeral.iDUB (numeral.iSUB n m)
    numeral.iSUB (arithmetic.BIT2 n) (arithmetic.BIT2 m) =
    numeral.iDUB (numeral.iSUB n m)
    numeral.iSUB (arithmetic.BIT2 n) (arithmetic.BIT2 m) =
    bit1 (numeral.iSUB n m)

p q t c c'.
    set_sep.STAR (set_sep.SEP_EXISTS (λv. p v)) q =
    set_sep.SEP_EXISTS (λv. set_sep.STAR (p v) q)
    set_sep.STAR q (set_sep.SEP_EXISTS (λv. p v)) =
    set_sep.SEP_EXISTS (λv. set_sep.STAR q (p v))
    set_sep.SEP_DISJ (set_sep.SEP_EXISTS (λv. p v)) q =
    set_sep.SEP_EXISTS (λv. set_sep.SEP_DISJ (p v) q)
    set_sep.SEP_DISJ q (set_sep.SEP_EXISTS (λv. p v)) =
    set_sep.SEP_EXISTS (λv. set_sep.SEP_DISJ q (p v))
    set_sep.SEP_EXISTS (λv. q) = q
    set_sep.SEP_EXISTS (λv. set_sep.STAR (p v) (set_sep.cond (v = x))) =
    p x set_sep.SEP_DISJ q set_sep.SEP_F = q
    set_sep.SEP_DISJ set_sep.SEP_F q = q
    set_sep.STAR set_sep.SEP_F q = set_sep.SEP_F
    set_sep.STAR q set_sep.SEP_F = set_sep.SEP_F
    set_sep.SEP_DISJ r r = r
    set_sep.STAR q (set_sep.SEP_DISJ r t) =
    set_sep.SEP_DISJ (set_sep.STAR q r) (set_sep.STAR q t)
    set_sep.STAR (set_sep.SEP_DISJ r t) q =
    set_sep.SEP_DISJ (set_sep.STAR r q) (set_sep.STAR t q)
    set_sep.SEP_DISJ (set_sep.cond c) (set_sep.cond c') =
    set_sep.cond (c c')
    set_sep.STAR (set_sep.cond c) (set_sep.cond c') =
    set_sep.cond (c c') set_sep.cond = set_sep.emp
    set_sep.cond = set_sep.SEP_F set_sep.STAR set_sep.emp q = q
    set_sep.STAR q set_sep.emp = q

n m.
    numeral.iZ (0 + n) = n numeral.iZ (n + 0) = n
    numeral.iZ (bit1 n + bit1 m) = arithmetic.BIT2 (numeral.iZ (n + m))
    numeral.iZ (bit1 n + arithmetic.BIT2 m) = bit1 (suc (n + m))
    numeral.iZ (arithmetic.BIT2 n + bit1 m) = bit1 (suc (n + m))
    numeral.iZ (arithmetic.BIT2 n + arithmetic.BIT2 m) =
    arithmetic.BIT2 (suc (n + m)) suc (0 + n) = suc n
    suc (n + 0) = suc n suc (bit1 n + bit1 m) = bit1 (suc (n + m))
    suc (bit1 n + arithmetic.BIT2 m) = arithmetic.BIT2 (suc (n + m))
    suc (arithmetic.BIT2 n + bit1 m) = arithmetic.BIT2 (suc (n + m))
    suc (arithmetic.BIT2 n + arithmetic.BIT2 m) =
    bit1 (numeral.iiSUC (n + m))
    numeral.iiSUC (0 + n) = numeral.iiSUC n
    numeral.iiSUC (n + 0) = numeral.iiSUC n
    numeral.iiSUC (bit1 n + bit1 m) = arithmetic.BIT2 (suc (n + m))
    numeral.iiSUC (bit1 n + arithmetic.BIT2 m) =
    bit1 (numeral.iiSUC (n + m))
    numeral.iiSUC (arithmetic.BIT2 n + bit1 m) =
    bit1 (numeral.iiSUC (n + m))
    numeral.iiSUC (arithmetic.BIT2 n + arithmetic.BIT2 m) =
    arithmetic.BIT2 (numeral.iiSUC (n + m))

(n. 0 + n = n) (n. n + 0 = n) (n m. n + m = numeral.iZ (n + m))
  (n. 0 * n = 0) (n. n * 0 = 0) (n m. n * m = n * m)
  (n. arithmetic.- 0 n = 0) (n. arithmetic.- n 0 = n)
  (n m. arithmetic.- n m = arithmetic.- n m) (n. 0 bit1 n = 0)
  (n. 0 arithmetic.BIT2 n = 0) (n. n 0 = 1)
  (n m. n m = n m) suc 0 = 1 (n. suc n = suc n)
  prim_rec.PRE 0 = 0 (n. prim_rec.PRE n = prim_rec.PRE n)
  (n. n = 0 n = 0) (n. 0 = n n = 0) (n m. n = m n = m)
  (n. n < 0 ) (n. 0 < n 0 < n) (n m. n < m n < m)
  (n. 0 > n ) (n. n > 0 0 < n) (n m. n > m m < n)
  (n. 0 n ) (n. n 0 n 0) (n m. n m n m)
  (n. n 0 ) (n. 0 n n = 0) (n m. n m m n)
  (n. odd n odd n) (n. even n even n) ¬odd 0 even 0