Package arm-prog: ARM evaluator
Information
name | arm-prog |
version | 1.0 |
description | ARM evaluator |
author | HOL OpenTheory Packager <opentheory-packager@hol-theorem-prover.org> |
license | MIT |
checksum | 2e69884d91d05b2025b9e831746f47ba8490d606 |
requires | base hol-base hol-words machine-code-hoare-logic machine-code-hoare-logic-state arm-model arm-step |
show | Data.Bool Data.List Data.Option Data.Pair Data.Unit Function HOL4 Number.Natural |
Files
- Package tarball arm-prog-1.0.tgz
- Theory source file arm-prog.thy (included in the package tarball)
Defined Type Operators
- HOL4
- arm_prog
- arm_prog.arm_component
- arm_prog.arm_data
- arm_prog
Defined Constants
- HOL4
- arm_prog
- arm_prog.aS
- arm_prog.arm_Architecture
- arm_prog.arm_BE_WORD
- arm_prog.arm_BE_WORD_MEMORY
- arm_prog.arm_CONFIG
- arm_prog.arm_CP14
- arm_prog.arm_CP15
- arm_prog.arm_CPSR_A
- arm_prog.arm_CPSR_C
- arm_prog.arm_CPSR_E
- arm_prog.arm_CPSR_F
- arm_prog.arm_CPSR_GE
- arm_prog.arm_CPSR_I
- arm_prog.arm_CPSR_IT
- arm_prog.arm_CPSR_J
- arm_prog.arm_CPSR_M
- arm_prog.arm_CPSR_N
- arm_prog.arm_CPSR_Q
- arm_prog.arm_CPSR_T
- arm_prog.arm_CPSR_V
- arm_prog.arm_CPSR_Z
- arm_prog.arm_CPSR_psr'rst
- arm_prog.arm_ELR_hyp
- arm_prog.arm_Extensions
- arm_prog.arm_FP_FPSCR_AHP
- arm_prog.arm_FP_FPSCR_C
- arm_prog.arm_FP_FPSCR_DN
- arm_prog.arm_FP_FPSCR_DZC
- arm_prog.arm_FP_FPSCR_DZE
- arm_prog.arm_FP_FPSCR_FZ
- arm_prog.arm_FP_FPSCR_IDC
- arm_prog.arm_FP_FPSCR_IDE
- arm_prog.arm_FP_FPSCR_IOC
- arm_prog.arm_FP_FPSCR_IOE
- arm_prog.arm_FP_FPSCR_IXC
- arm_prog.arm_FP_FPSCR_IXE
- arm_prog.arm_FP_FPSCR_N
- arm_prog.arm_FP_FPSCR_OFC
- arm_prog.arm_FP_FPSCR_OFE
- arm_prog.arm_FP_FPSCR_QC
- arm_prog.arm_FP_FPSCR_RMode
- arm_prog.arm_FP_FPSCR_UFC
- arm_prog.arm_FP_FPSCR_UFE
- arm_prog.arm_FP_FPSCR_V
- arm_prog.arm_FP_FPSCR_Z
- arm_prog.arm_FP_FPSCR_fpscr'rst
- arm_prog.arm_FP_REG
- arm_prog.arm_FP_REGISTERS
- arm_prog.arm_MEM
- arm_prog.arm_MEMORY
- arm_prog.arm_PC
- arm_prog.arm_REG
- arm_prog.arm_REGISTERS
- arm_prog.arm_SPSR_abt
- arm_prog.arm_SPSR_fiq
- arm_prog.arm_SPSR_hyp
- arm_prog.arm_SPSR_irq
- arm_prog.arm_SPSR_mon
- arm_prog.arm_SPSR_svc
- arm_prog.arm_SPSR_und
- arm_prog.arm_WORD
- arm_prog.arm_WORD_MEMORY
- arm_prog.arm_c_Architecture
- arm_prog.arm_c_CP14
- arm_prog.arm_c_CP15
- arm_prog.arm_c_CPSR_A
- arm_prog.arm_c_CPSR_C
- arm_prog.arm_c_CPSR_E
- arm_prog.arm_c_CPSR_F
- arm_prog.arm_c_CPSR_GE
- arm_prog.arm_c_CPSR_I
- arm_prog.arm_c_CPSR_IT
- arm_prog.arm_c_CPSR_J
- arm_prog.arm_c_CPSR_M
- arm_prog.arm_c_CPSR_N
- arm_prog.arm_c_CPSR_Q
- arm_prog.arm_c_CPSR_T
- arm_prog.arm_c_CPSR_V
- arm_prog.arm_c_CPSR_Z
- arm_prog.arm_c_CPSR_psr'rst
- arm_prog.arm_c_ELR_hyp
- arm_prog.arm_c_Extensions
- arm_prog.arm_c_FP_FPSCR_AHP
- arm_prog.arm_c_FP_FPSCR_C
- arm_prog.arm_c_FP_FPSCR_DN
- arm_prog.arm_c_FP_FPSCR_DZC
- arm_prog.arm_c_FP_FPSCR_DZE
- arm_prog.arm_c_FP_FPSCR_FZ
- arm_prog.arm_c_FP_FPSCR_IDC
- arm_prog.arm_c_FP_FPSCR_IDE
- arm_prog.arm_c_FP_FPSCR_IOC
- arm_prog.arm_c_FP_FPSCR_IOE
- arm_prog.arm_c_FP_FPSCR_IXC
- arm_prog.arm_c_FP_FPSCR_IXE
- arm_prog.arm_c_FP_FPSCR_N
- arm_prog.arm_c_FP_FPSCR_OFC
- arm_prog.arm_c_FP_FPSCR_OFE
- arm_prog.arm_c_FP_FPSCR_QC
- arm_prog.arm_c_FP_FPSCR_RMode
- arm_prog.arm_c_FP_FPSCR_UFC
- arm_prog.arm_c_FP_FPSCR_UFE
- arm_prog.arm_c_FP_FPSCR_V
- arm_prog.arm_c_FP_FPSCR_Z
- arm_prog.arm_c_FP_FPSCR_fpscr'rst
- arm_prog.arm_c_FP_REG
- arm_prog.arm_c_MEM
- arm_prog.arm_c_REG
- arm_prog.arm_c_SPSR_abt
- arm_prog.arm_c_SPSR_fiq
- arm_prog.arm_c_SPSR_hyp
- arm_prog.arm_c_SPSR_irq
- arm_prog.arm_c_SPSR_mon
- arm_prog.arm_c_SPSR_svc
- arm_prog.arm_c_SPSR_und
- arm_prog.arm_c_exception
- arm_prog.arm_component_CASE
- arm_prog.arm_component_size
- arm_prog.arm_d_Architecture
- arm_prog.arm_d_CP14
- arm_prog.arm_d_CP15
- arm_prog.arm_d_PSR
- arm_prog.arm_d_bool
- arm_prog.arm_d_exception
- arm_prog.arm_d_word10
- arm_prog.arm_d_word2
- arm_prog.arm_d_word32
- arm_prog.arm_d_word4
- arm_prog.arm_d_word5
- arm_prog.arm_d_word64
- arm_prog.arm_d_word8
- arm_prog.arm_data_CASE
- arm_prog.arm_data_size
- arm_prog.arm_exception
- arm_prog.arm_instr
- arm_prog.arm_proj
- arm_prog.ARM_MODEL
- arm_prog
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
- →
- bool
- Data
- List
- list
- Option
- option
- Pair
- ×
- Unit
- unit
- List
- HOL4
- arm
- arm.arm_state
- arm.exception
- arm.Architecture
- arm.CP14
- arm.CP15
- arm.Extensions
- arm.FP
- arm.FPSCR
- arm.PSR
- arm.RName
- bool
- bool.itself
- fcp
- fcp.bit0
- fcp.bit1
- fcp.cart
- ind_type
- ind_type.recspace
- arm
- Number
- Natural
- natural
- Natural
External Constants
- =
- select
- Data
- Bool
- ∀
- ∧
- ⇒
- ∃
- ∨
- ¬
- cond
- ⊥
- ⊤
- List
- ::
- []
- all
- head
- length
- tail
- Option
- some
- Pair
- ,
- fst
- snd
- Bool
- Function
- const
- id
- ∘
- HOL4
- alignment
- alignment.aligned
- arithmetic
- arithmetic.-
- arithmetic.BIT2
- arithmetic.DIV2
- arm
- arm.arm_state_Architecture
- arm.arm_state_CP14
- arm.arm_state_CP15
- arm.arm_state_CPSR
- arm.arm_state_ELR_hyp
- arm.arm_state_Extensions
- arm.arm_state_FP
- arm.arm_state_MEM
- arm.arm_state_REG
- arm.arm_state_SPSR_abt
- arm.arm_state_SPSR_fiq
- arm.arm_state_SPSR_hyp
- arm.arm_state_SPSR_irq
- arm.arm_state_SPSR_mon
- arm.arm_state_SPSR_svc
- arm.arm_state_SPSR_und
- arm.arm_state_exception
- arm.exception_size
- arm.Architecture_size
- arm.CP14_size
- arm.CP15_size
- arm.Extension_Security
- arm.Extension_VFP
- arm.Extensions_size
- arm.FPSCR_AHP
- arm.FPSCR_C
- arm.FPSCR_DN
- arm.FPSCR_DZC
- arm.FPSCR_DZE
- arm.FPSCR_FZ
- arm.FPSCR_IDC
- arm.FPSCR_IDE
- arm.FPSCR_IOC
- arm.FPSCR_IOE
- arm.FPSCR_IXC
- arm.FPSCR_IXE
- arm.FPSCR_N
- arm.FPSCR_OFC
- arm.FPSCR_OFE
- arm.FPSCR_QC
- arm.FPSCR_RMode
- arm.FPSCR_UFC
- arm.FPSCR_UFE
- arm.FPSCR_V
- arm.FPSCR_Z
- arm.FPSCR_fpscr'rst
- arm.FP_FPSCR
- arm.FP_REG
- arm.NoException
- arm.PSR_A
- arm.PSR_C
- arm.PSR_E
- arm.PSR_F
- arm.PSR_GE
- arm.PSR_I
- arm.PSR_IT
- arm.PSR_J
- arm.PSR_M
- arm.PSR_N
- arm.PSR_Q
- arm.PSR_T
- arm.PSR_V
- arm.PSR_Z
- arm.PSR_psr'rst
- arm.PSR_size
- arm.RName_PC
- arm.RName_size
- arm_step
- arm_step.GoodMode
- arm_step.NextStateARM
- basicSize
- basicSize.bool_size
- bit
- bit.BIT
- bitstring
- bitstring.testbit
- bitstring.v2w
- blast
- blast.bcarry
- blast.bsum
- blast.BCARRY
- blast.BSUM
- bool
- bool.the_value
- bool.ARB
- bool.IN
- bool.LET
- bool.TYPE_DEFINITION
- combin
- combin.UPDATE
- fcp
- fcp.dimindex
- fcp.fcp_index
- fcp.FCP
- ind_type
- ind_type.BOTTOM
- ind_type.CONSTR
- ind_type.FCONS
- list
- list.EL
- list.GENLIST
- list.GENLIST_AUX
- list.LIST_TO_SET
- numeral
- numeral.exactlog
- numeral.iDUB
- numeral.iSUB
- numeral.iZ
- numeral.iiSUC
- numeral.internal_mult
- numeral.onecount
- numeral.texp_help
- pair
- pair.UNCURRY
- pred_set
- pred_set.BIGUNION
- pred_set.DELETE
- pred_set.DISJOINT
- pred_set.EMPTY
- pred_set.GSPEC
- pred_set.IMAGE
- pred_set.INSERT
- pred_set.INTER
- pred_set.UNION
- prim_rec
- prim_rec.PRE
- prog
- prog.CODE_POOL
- prog.SPEC
- rich_list
- rich_list.COUNT_LIST
- rich_list.COUNT_LIST_AUX
- set_sep
- set_sep.cond
- set_sep.emp
- set_sep.SEP_DISJ
- set_sep.SEP_EQ
- set_sep.SEP_EXISTS
- set_sep.SEP_F
- set_sep.SEP_HIDE
- set_sep.SPLIT
- set_sep.STAR
- state
- state.FRAME_STATE
- state.NEXT_REL
- state.SELECT_STATE
- state.STATE
- temporal_state
- temporal_state.TEMPORAL_NEXT
- words
- words.dimword
- words.n2w
- words.w2w
- words.word_2comp
- words.word_add
- words.word_bits
- words.word_extract
- words.word_lo
- words.word_mul
- words.word_sub
- words.BIT_SET
- alignment
- Number
- Natural
- *
- +
- <
- ≤
- >
- ≥
- ↑
- bit1
- div
- even
- min
- mod
- odd
- suc
- zero
- Natural
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