Package arm-prog: ARM evaluator

Information

namearm-prog
version1.0
descriptionARM evaluator
authorHOL OpenTheory Packager <opentheory-packager@hol-theorem-prover.org>
licenseMIT
checksum2e69884d91d05b2025b9e831746f47ba8490d606
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_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_Extensions arm.Extension_VFP 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_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

x.
    (e. x = arm_prog.arm_d_exception e)
    (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

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)))

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_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.
    fn.
      (a. fn (arm_prog.arm_d_exception a) = f0 a)
      (a. fn (arm_prog.arm_d_PSR a) = f1 a)
      (a. fn (arm_prog.arm_d_word32 a) = f2 a)
      (a. fn (arm_prog.arm_d_CP15 a) = f3 a)
      (a. fn (arm_prog.arm_d_CP14 a) = f4 a)
      (a. fn (arm_prog.arm_d_Architecture a) = f5 a)
      (a. fn (arm_prog.arm_d_word64 a) = f6 a)
      (a. fn (arm_prog.arm_d_word10 a) = f7 a)
      (a. fn (arm_prog.arm_d_word2 a) = f8 a)
      (a. fn (arm_prog.arm_d_word5 a) = f9 a)
      (a. fn (arm_prog.arm_d_word8 a) = f10 a)
      (a. fn (arm_prog.arm_d_word4 a) = f11 a)
      a. fn (arm_prog.arm_d_bool a) = f12 a

(a a'.
     arm_prog.arm_d_exception a = arm_prog.arm_d_exception 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'

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_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

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

x.
    x = arm_prog.arm_c_exception 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_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)))

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

(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.
     arm_prog.arm_data_CASE (arm_prog.arm_d_exception a) f f1 f2 f3 f4 f5
       f6 f7 f8 f9 f10 f11 f12 = f a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12.
     arm_prog.arm_data_CASE (arm_prog.arm_d_PSR a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 = f1 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word32 a) f f1 f2 f3 f4 f5 f6
       f7 f8 f9 f10 f11 f12 = f2 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12.
     arm_prog.arm_data_CASE (arm_prog.arm_d_CP15 a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 = f3 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12.
     arm_prog.arm_data_CASE (arm_prog.arm_d_CP14 a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 = f4 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12.
     arm_prog.arm_data_CASE (arm_prog.arm_d_Architecture a) f f1 f2 f3 f4
       f5 f6 f7 f8 f9 f10 f11 f12 = f5 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word64 a) f f1 f2 f3 f4 f5 f6
       f7 f8 f9 f10 f11 f12 = f6 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word10 a) f f1 f2 f3 f4 f5 f6
       f7 f8 f9 f10 f11 f12 = f7 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word2 a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 = f8 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word5 a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 = f9 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word8 a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 = f10 a)
  (a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12.
     arm_prog.arm_data_CASE (arm_prog.arm_d_word4 a) f f1 f2 f3 f4 f5 f6 f7
       f8 f9 f10 f11 f12 = f11 a)
  a f f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12.
    arm_prog.arm_data_CASE (arm_prog.arm_d_bool a) f f1 f2 f3 f4 f5 f6 f7
      f8 f9 f10 f11 f12 = f12 a

rep.
    bool.TYPE_DEFINITION
      (λa0.
         'arm_data'.
           (a0.
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR 0
                   (a, bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB) (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR (suc 0)
                   (bool.ARB, a, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB) (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR (suc (suc 0))
                   (bool.ARB, bool.ARB, a, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB) (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR (suc (suc (suc 0)))
                   (bool.ARB, bool.ARB, bool.ARB, a, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB) (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR (suc (suc (suc (suc 0))))
                   (bool.ARB, bool.ARB, bool.ARB, bool.ARB, a, bool.ARB,
                    bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB) (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR (suc (suc (suc (suc (suc 0)))))
                   (bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB, a,
                    bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB) (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR (suc (suc (suc (suc (suc (suc 0))))))
                   (bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, a, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB) (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR
                   (suc (suc (suc (suc (suc (suc (suc 0)))))))
                   (bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB, a, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB) (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR
                   (suc (suc (suc (suc (suc (suc (suc (suc 0))))))))
                   (bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB, bool.ARB, a, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB) (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR
                   (suc (suc (suc (suc (suc (suc (suc (suc (suc 0)))))))))
                   (bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB, bool.ARB, bool.ARB, a, bool.ARB,
                    bool.ARB, bool.ARB) (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR
                   (suc
                      (suc
                         (suc
                            (suc (suc (suc (suc (suc (suc (suc 0))))))))))
                   (bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB, a,
                    bool.ARB, bool.ARB) (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc (suc (suc (suc (suc 0)))))))))))
                   (bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, a, bool.ARB) (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc (suc (suc 0))))))))))))
                   (bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB, bool.ARB, bool.ARB, bool.ARB,
                    bool.ARB, bool.ARB, a) (λn. ind_type.BOTTOM))
              'arm_data' a0) 'arm_data' a0) rep

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

(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_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')

rep.
    bool.TYPE_DEFINITION
      (λa0.
         'arm_component'.
           (a0.
              a0 =
              ind_type.CONSTR 0 (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR (suc 0)
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR (suc (suc 0))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR (suc (suc (suc 0)))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR (suc (suc (suc (suc 0))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR (suc (suc (suc (suc (suc 0)))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR (suc (suc (suc (suc (suc (suc 0))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR (suc (suc (suc (suc (suc (suc (suc 0)))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR
                   (suc (suc (suc (suc (suc (suc (suc (suc 0))))))))
                   (a, bool.ARB, bool.ARB, bool.ARB)
                   (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR
                   (suc (suc (suc (suc (suc (suc (suc (suc (suc 0)))))))))
                   (bool.ARB, a, bool.ARB, bool.ARB)
                   (λn. ind_type.BOTTOM))
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR
                   (suc
                      (suc
                         (suc
                            (suc (suc (suc (suc (suc (suc (suc 0))))))))))
                   (bool.ARB, bool.ARB, a, bool.ARB)
                   (λn. ind_type.BOTTOM))
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc (suc (suc (suc (suc (suc (suc 0)))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc (suc (suc (suc (suc 0))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc (suc (suc 0)))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc 0))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              (a.
                 a0 =
                 let a a in
                 ind_type.CONSTR
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                0)))))))))))))))
                   (bool.ARB, bool.ARB, bool.ARB, a)
                   (λn. ind_type.BOTTOM))
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                0))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   0)))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      0))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         0)))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            0))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               0)))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  0))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     0)))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        0))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           0)))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              0))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 0)))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    0))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       0)))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          0))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             0)))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                0))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   0)))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      0))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         0)))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            0))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               0)))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  0))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     0)))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        0))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        (suc
                                                                                                                                           0)))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        (suc
                                                                                                                                           (suc
                                                                                                                                              0))))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        (suc
                                                                                                                                           (suc
                                                                                                                                              (suc
                                                                                                                                                 0)))))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        (suc
                                                                                                                                           (suc
                                                                                                                                              (suc
                                                                                                                                                 (suc
                                                                                                                                                    0))))))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        (suc
                                                                                                                                           (suc
                                                                                                                                              (suc
                                                                                                                                                 (suc
                                                                                                                                                    (suc
                                                                                                                                                       0)))))))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        (suc
                                                                                                                                           (suc
                                                                                                                                              (suc
                                                                                                                                                 (suc
                                                                                                                                                    (suc
                                                                                                                                                       (suc
                                                                                                                                                          0))))))))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        (suc
                                                                                                                                           (suc
                                                                                                                                              (suc
                                                                                                                                                 (suc
                                                                                                                                                    (suc
                                                                                                                                                       (suc
                                                                                                                                                          (suc
                                                                                                                                                             0)))))))))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        (suc
                                                                                                                                           (suc
                                                                                                                                              (suc
                                                                                                                                                 (suc
                                                                                                                                                    (suc
                                                                                                                                                       (suc
                                                                                                                                                          (suc
                                                                                                                                                             (suc
                                                                                                                                                                0))))))))))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        (suc
                                                                                                                                           (suc
                                                                                                                                              (suc
                                                                                                                                                 (suc
                                                                                                                                                    (suc
                                                                                                                                                       (suc
                                                                                                                                                          (suc
                                                                                                                                                             (suc
                                                                                                                                                                (suc
                                                                                                                                                                   0)))))))))))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        (suc
                                                                                                                                           (suc
                                                                                                                                              (suc
                                                                                                                                                 (suc
                                                                                                                                                    (suc
                                                                                                                                                       (suc
                                                                                                                                                          (suc
                                                                                                                                                             (suc
                                                                                                                                                                (suc
                                                                                                                                                                   (suc
                                                                                                                                                                      0))))))))))))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        (suc
                                                                                                                                           (suc
                                                                                                                                              (suc
                                                                                                                                                 (suc
                                                                                                                                                    (suc
                                                                                                                                                       (suc
                                                                                                                                                          (suc
                                                                                                                                                             (suc
                                                                                                                                                                (suc
                                                                                                                                                                   (suc
                                                                                                                                                                      (suc
                                                                                                                                                                         0)))))))))))))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM)
              a0 =
              ind_type.CONSTR
                (suc
                   (suc
                      (suc
                         (suc
                            (suc
                               (suc
                                  (suc
                                     (suc
                                        (suc
                                           (suc
                                              (suc
                                                 (suc
                                                    (suc
                                                       (suc
                                                          (suc
                                                             (suc
                                                                (suc
                                                                   (suc
                                                                      (suc
                                                                         (suc
                                                                            (suc
                                                                               (suc
                                                                                  (suc
                                                                                     (suc
                                                                                        (suc
                                                                                           (suc
                                                                                              (suc
                                                                                                 (suc
                                                                                                    (suc
                                                                                                       (suc
                                                                                                          (suc
                                                                                                             (suc
                                                                                                                (suc
                                                                                                                   (suc
                                                                                                                      (suc
                                                                                                                         (suc
                                                                                                                            (suc
                                                                                                                               (suc
                                                                                                                                  (suc
                                                                                                                                     (suc
                                                                                                                                        (suc
                                                                                                                                           (suc
                                                                                                                                              (suc
                                                                                                                                                 (suc
                                                                                                                                                    (suc
                                                                                                                                                       (suc
                                                                                                                                                          (suc
                                                                                                                                                             (suc
                                                                                                                                                                (suc
                                                                                                                                                                   (suc
                                                                                                                                                                      (suc
                                                                                                                                                                         (suc
                                                                                                                                                                            0))))))))))))))))))))))))))))))))))))))))))))))))))))
                (bool.ARB, bool.ARB, bool.ARB, bool.ARB)
                (λn. ind_type.BOTTOM) 'arm_component' a0)
           'arm_component' a0) rep

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

¬(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_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