theory Example_Valid_State

lemma pspace_distinct_s0:
  "pspace_distinct s0_internal" apply (clarsimp simp: pspace_distinct_def s0_internal_def) apply (drule kh0_SomeD)+ apply (case_tac "x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range") apply clarsimp apply (drule irq_node_offs_range_correct)+ apply clarsimp apply (clarsimp simp: s0_ptr_defs cte_level_bits_def) apply (case_tac "(ucast irq << 4) < (ucast irqa << 4)") apply (frule udvd_decr'[where K="0x10::32 word" and ua=0, simplified]) apply (simp add: shiftl_t2n uint_word_ariths) apply (subst mod_mult_mult1[where c="2^4" and b="2^28", simplified]) apply simp apply (simp add: shiftl_t2n uint_word_ariths) apply (subst mod_mult_mult1[where c="2^4" and b="2^28", simplified]) apply simp apply (simp add: shiftl_def uint_shiftl word_size bintrunc_shiftl) apply (simp add: shiftl_int_def take_bit_eq_mod push_bit_eq_mult) apply (frule_tac y="ucast irq << 4" in word_plus_mono_right[where x="0xE000800F"]) apply (simp add: shiftl_t2n) apply (case_tac "(1::32 word) \<le> ucast irqa") apply (drule_tac i=1 and k="0x10" in word_mult_le_mono1) apply simp apply (cut_tac x=irqa and 'a=32 in ucast_less) apply simp apply (simp add: word_less_nat_alt) apply (simp add: mult.commute) apply (drule_tac y="0x10" and x="0xE0007FFF" in word_plus_mono_right) apply (rule_tac sz=28 in machine_word_plus_mono_right_split) apply (simp add: unat_word_ariths mask_def) apply (cut_tac x=irqa and 'a=32 in ucast_less) apply simp apply (simp add: word_less_nat_alt) apply (simp add: word_bits_def) apply simp apply (simp add: lt1_neq0) apply (drule(1) order_trans_rules(23)) apply clarsimp apply (drule_tac a="0xE0008000 + (ucast irqa << 4)" and b="ucast irqa << 4"
                 and c="0xE0007FFF + (ucast irqa << 4)" and d="ucast irqa << 4" in word_sub_mono) apply simp apply simp apply (rule_tac sz=28 in machine_word_plus_mono_right_split) apply (simp add: unat_word_ariths mask_def shiftl_t2n) apply (cut_tac x=irqa and 'a=32 in ucast_less) apply simp apply (simp add: word_less_nat_alt) apply (simp add: word_bits_def) apply simp apply (rule_tac sz=28 in machine_word_plus_mono_right_split) apply (simp add: unat_word_ariths mask_def shiftl_t2n) apply (cut_tac x=irqa and 'a=32 in ucast_less) apply simp apply (simp add: word_less_nat_alt) apply (simp add: word_bits_def) apply simp apply (case_tac "(ucast irq << 4) > (ucast irqa << 4)") apply (frule udvd_decr'[where K="0x10::32 word" and ua=0, simplified]) apply (simp add: shiftl_t2n uint_word_ariths) apply (subst mod_mult_mult1[where c="2^4" and b="2^28", simplified]) apply simp apply (simp add: shiftl_t2n uint_word_ariths) apply (subst mod_mult_mult1[where c="2^4" and b="2^28", simplified]) apply simp apply (simp add: shiftl_def uint_shiftl word_size bintrunc_shiftl) apply (simp add: shiftl_int_def take_bit_eq_mod push_bit_eq_mult) apply (frule_tac y="ucast irqa << 4" in word_plus_mono_right[where x="0xE000800F"]) apply (simp add: shiftl_t2n) apply (case_tac "(1::32 word) \<le> ucast irq") apply (drule_tac i=1 and k="0x10" in word_mult_le_mono1) apply simp apply (cut_tac x=irq and 'a=32 in ucast_less) apply simp apply (simp add: word_less_nat_alt) apply (simp add: mult.commute) apply (drule_tac y="0x10" and x="0xE0007FFF" in word_plus_mono_right) apply (rule_tac sz=28 in machine_word_plus_mono_right_split) apply (simp add: unat_word_ariths mask_def) apply (cut_tac x=irq and 'a=32 in ucast_less) apply simp apply (simp add: word_less_nat_alt) apply (simp add: word_bits_def) apply simp apply (simp add: lt1_neq0) apply (drule(1) order_trans_rules(23)) apply clarsimp apply (drule_tac a="0xE0008000 + (ucast irq << 4)" and b="ucast irq << 4"
                 and c="0xE0007FFF + (ucast irq << 4)" and d="ucast irq << 4" in word_sub_mono) apply simp apply simp apply (rule_tac sz=28 in machine_word_plus_mono_right_split) apply (simp add: unat_word_ariths mask_def shiftl_t2n) apply (cut_tac x=irq and 'a=32 in ucast_less) apply simp apply (simp add: word_less_nat_alt) apply (simp add: word_bits_def) apply simp apply (rule_tac sz=28 in machine_word_plus_mono_right_split) apply (simp add: unat_word_ariths mask_def shiftl_t2n) apply (cut_tac x=irq and 'a=32 in ucast_less) apply simp apply (simp add: word_less_nat_alt) apply (simp add: word_bits_def) apply simp apply simp by ((simp | erule disjE | clarsimp simp: kh0_obj_def cte_level_bits_def s0_ptr_defs
        | clarsimp simp: irq_node_offs_range_def s0_ptr_defs,
          drule_tac x="0xF" in word_plus_strict_mono_right, simp, simp add: add.commute,
          drule(1) notE[rotated, OF less_trans, OF _ _ leD, rotated 2] |
          drule(1) notE[rotated, OF le_less_trans, OF _ _ leD, rotated 2], simp, assumption)+)

(* Proof state trace *)
proof (prove)
goal (1 subgoal):
 1. pspace_distinct s0_internal proof (prove)
goal (1 subgoal):
 1. \<And>x y ko ko'. \<lbrakk>kh0 x = Some ko; kh0 y = Some ko'; x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (1 subgoal):
 1. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (2 subgoals):
 1. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range\<rbrakk> \<Longrightarrow> False
 2. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (2 subgoals):
 1. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory ((\<lambda>_. InvalidPDE)(UCAST(32 \<rightarrow> 12) (kernel_base >> 20) := SectionPDE (addrFromPPtr kernel_base) {} 0 {}))) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory ((\<lambda>_. InvalidPDE)(UCAST(32 \<rightarrow> 12) (kernel_base >> 20) := SectionPDE (addrFromPPtr kernel_base) {} 0 {}))) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> ko' = CNode 0 (empty_cnode 0); x \<in> irq_node_offs_range; y \<in> irq_node_offs_range\<rbrakk> \<Longrightarrow> False
 2. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (2 subgoals):
 1. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory ((\<lambda>_. InvalidPDE)(UCAST(32 \<rightarrow> 12) (kernel_base >> 20) := SectionPDE (addrFromPPtr kernel_base) {} 0 {}))) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory ((\<lambda>_. InvalidPDE)(UCAST(32 \<rightarrow> 12) (kernel_base >> 20) := SectionPDE (addrFromPPtr kernel_base) {} 0 {}))) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> ko' = CNode 0 (empty_cnode 0); \<exists>irq. x = init_irq_node_ptr + (UCAST(10 \<rightarrow> 32) irq << cte_level_bits); \<exists>irq. y = init_irq_node_ptr + (UCAST(10 \<rightarrow> 32) irq << cte_level_bits)\<rbrakk> \<Longrightarrow> False
 2. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (2 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << cte_level_bits \<noteq> UCAST(10 \<rightarrow> 32) irqa << cte_level_bits; init_irq_node_ptr + (UCAST(10 \<rightarrow> 32) irq << cte_level_bits) \<le> init_irq_node_ptr + (UCAST(10 \<rightarrow> 32) irqa << cte_level_bits) + (2 ^ cte_level_bits - 1); init_irq_node_ptr + (UCAST(10 \<rightarrow> 32) irqa << cte_level_bits) \<le> init_irq_node_ptr + (UCAST(10 \<rightarrow> 32) irq << cte_level_bits) + (2 ^ cte_level_bits - 1); init_irq_node_ptr + (UCAST(10 \<rightarrow> 32) irq << cte_level_bits) \<le> init_irq_node_ptr + (UCAST(10 \<rightarrow> 32) irq << cte_level_bits) + (2 ^ cte_level_bits - 1); init_irq_node_ptr + (UCAST(10 \<rightarrow> 32) irqa << cte_level_bits) \<le> init_irq_node_ptr + (UCAST(10 \<rightarrow> 32) irqa << cte_level_bits) + (2 ^ cte_level_bits - 1)\<rbrakk> \<Longrightarrow> False
 2. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (2 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 2. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (3 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> ?'a43) irq << 4 < UCAST(10 \<rightarrow> ?'a43) irqa << 4\<rbrakk> \<Longrightarrow> False
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> ?'a43) irq << 4 < UCAST(10 \<rightarrow> ?'a43) irqa << 4\<rbrakk> \<Longrightarrow> False
 3. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irq << 4) = ?n44 irq irqa * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irqa << 4) = ?n'44 irq irqa * 16
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irqa << 4) = ?n'44 irq irqa * 16
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 16 * uint (UCAST(10 \<rightarrow> 32) irq) mod 4294967296 = ?n44 irq irqa * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irqa << 4) = ?n'44 irq irqa * 16
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irqa << 4) = ?n'44 irq irqa * 16
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 16 * (uint (UCAST(10 \<rightarrow> 32) irq) mod 268435456) = ?n57 irq irq irqa (?irqa56 irq irqa) * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irqa << 4) = ?n'44 irq irqa * 16
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irqa << 4) = ?n'44 irq irqa * 16
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irqa << 4) = ?n'44 irq irqa * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irqa << 4) = ?n'44 irq irqa * 16
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 16 * uint (UCAST(10 \<rightarrow> 32) irqa) mod 4294967296 = ?n'44 irq irqa * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irqa << 4) = ?n'44 irq irqa * 16
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 16 * (uint (UCAST(10 \<rightarrow> 32) irqa) mod 268435456) = ?n'61 irq irqa (?irq61 irq irqa) irqa * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irqa << 4) = ?n'61 irq irqa (?irq61 irq irqa) irqa * 16
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irqa << 4) = uint (UCAST(10 \<rightarrow> 32) irqa) mod 268435456 * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>push_bit 4 (UCAST(10 \<rightarrow> 32) irq) \<noteq> push_bit 4 (UCAST(10 \<rightarrow> 32) irqa); 0xE0008000 + push_bit 4 (UCAST(10 \<rightarrow> 32) irq) \<le> 0xE000800F + push_bit 4 (UCAST(10 \<rightarrow> 32) irqa); 0xE0008000 + push_bit 4 (UCAST(10 \<rightarrow> 32) irqa) \<le> 0xE000800F + push_bit 4 (UCAST(10 \<rightarrow> 32) irq); 0xE0008000 + push_bit 4 (UCAST(10 \<rightarrow> 32) irq) \<le> 0xE000800F + push_bit 4 (UCAST(10 \<rightarrow> 32) irq); 0xE0008000 + push_bit 4 (UCAST(10 \<rightarrow> 32) irqa) \<le> 0xE000800F + push_bit 4 (UCAST(10 \<rightarrow> 32) irqa); push_bit 4 (UCAST(10 \<rightarrow> 32) irq) < push_bit 4 (UCAST(10 \<rightarrow> 32) irqa)\<rbrakk> \<Longrightarrow> push_bit 4 (take_bit 28 (uint (UCAST(10 \<rightarrow> 32) irqa))) = uint (UCAST(10 \<rightarrow> 32) irqa) mod 268435456 * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (3 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 3. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (7 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10\<rbrakk> \<Longrightarrow> 0 < 0x10
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irqa) * unat 0x10 < 2 ^ LENGTH(32)
 3. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 1 * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 4. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 7. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irqa) * unat 0x10 < 2 ^ LENGTH(32)
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 1 * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 3. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (7 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10\<rbrakk> \<Longrightarrow> LENGTH(10) < LENGTH(32)
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; UCAST(10 \<rightarrow> 32) irqa < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irqa) * unat 0x10 < 2 ^ LENGTH(32)
 3. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 1 * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 4. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 7. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; UCAST(10 \<rightarrow> 32) irqa < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irqa) * unat 0x10 < 2 ^ LENGTH(32)
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 1 * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 3. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 1 * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10; 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10\<rbrakk> \<Longrightarrow> 0xE0007FFF \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10
 3. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (7 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10\<rbrakk> \<Longrightarrow> unat (0xE0007FFF && mask 28) + unat (UCAST(10 \<rightarrow> 32) irqa * 0x10) < 2 ^ 28
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10
 4. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 7. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (7 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irqa) * 16 mod 4294967296 < 268402689
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10
 4. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 7. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (8 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10\<rbrakk> \<Longrightarrow> LENGTH(10) < LENGTH(32)
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10; UCAST(10 \<rightarrow> 32) irqa < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irqa) * 16 mod 4294967296 < 268402689
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10\<rbrakk> \<Longrightarrow> 28 < word_bits
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10
 5. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 7. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 8. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (7 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10; UCAST(10 \<rightarrow> 32) irqa < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irqa) * 16 mod 4294967296 < 268402689
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10
 4. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 7. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10\<rbrakk> \<Longrightarrow> 28 < word_bits
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10
 3. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> UCAST(10 \<rightarrow> 32) irqa * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irqa * 0x10
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (3 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 3. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (3 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 3. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (3 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 3. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> UCAST(10 \<rightarrow> 32) irqa << 4 \<le> UCAST(10 \<rightarrow> 32) irqa << 4
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4)
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4)
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0008000 \<le> 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4)
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> unat (0xE0008000 && mask 28) + unat (UCAST(10 \<rightarrow> 32) irqa << 4) < 2 ^ 28
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 16 * unat (UCAST(10 \<rightarrow> 32) irqa) mod 4294967296 < 268402688
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (7 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> LENGTH(10) < LENGTH(32)
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa; UCAST(10 \<rightarrow> 32) irqa < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> 16 * unat (UCAST(10 \<rightarrow> 32) irqa) mod 4294967296 < 268402688
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 7. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa; UCAST(10 \<rightarrow> 32) irqa < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> 16 * unat (UCAST(10 \<rightarrow> 32) irqa) mod 4294967296 < 268402688
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> unat (0xE0007FFF && mask 28) + unat (UCAST(10 \<rightarrow> 32) irqa << 4) < 2 ^ 28
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> 16 * unat (UCAST(10 \<rightarrow> 32) irqa) mod 4294967296 < 268402689
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa\<rbrakk> \<Longrightarrow> LENGTH(10) < LENGTH(32)
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa; UCAST(10 \<rightarrow> 32) irqa < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> 16 * unat (UCAST(10 \<rightarrow> 32) irqa) mod 4294967296 < 268402689
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0x10 * UCAST(10 \<rightarrow> 32) irqa - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irqa; UCAST(10 \<rightarrow> 32) irqa < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> 16 * unat (UCAST(10 \<rightarrow> 32) irqa) mod 4294967296 < 268402689
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (3 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irq << 4 \<le> (UCAST(10 \<rightarrow> 32) irqa << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irqa << 4) - (UCAST(10 \<rightarrow> 32) irqa << 4)\<rbrakk> \<Longrightarrow> False
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 3. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (2 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4\<rbrakk> \<Longrightarrow> False
 2. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (3 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> ?'a94) irqa << 4 < UCAST(10 \<rightarrow> ?'a94) irq << 4\<rbrakk> \<Longrightarrow> False
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> ?'a94) irqa << 4 < UCAST(10 \<rightarrow> ?'a94) irq << 4\<rbrakk> \<Longrightarrow> False
 3. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irqa << 4) = ?n95 irq irqa * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irq << 4) = ?n'95 irq irqa * 16
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irq << 4) = ?n'95 irq irqa * 16
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 16 * uint (UCAST(10 \<rightarrow> 32) irqa) mod 4294967296 = ?n95 irq irqa * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irq << 4) = ?n'95 irq irqa * 16
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irq << 4) = ?n'95 irq irqa * 16
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 16 * (uint (UCAST(10 \<rightarrow> 32) irqa) mod 268435456) = ?n107 irq irqa (?irq107 irq irqa) irqa * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irq << 4) = ?n'95 irq irqa * 16
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irq << 4) = ?n'95 irq irqa * 16
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irq << 4) = ?n'95 irq irqa * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irq << 4) = ?n'95 irq irqa * 16
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 16 * uint (UCAST(10 \<rightarrow> 32) irq) mod 4294967296 = ?n'95 irq irqa * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irq << 4) = ?n'95 irq irqa * 16
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 16 * (uint (UCAST(10 \<rightarrow> 32) irq) mod 268435456) = ?n'112 irq irq irqa (?irqa111 irq irqa) * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irq << 4) = ?n'112 irq irq irqa (?irqa111 irq irqa) * 16
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> uint (UCAST(10 \<rightarrow> 32) irq << 4) = uint (UCAST(10 \<rightarrow> 32) irq) mod 268435456 * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>push_bit 4 (UCAST(10 \<rightarrow> 32) irq) \<noteq> push_bit 4 (UCAST(10 \<rightarrow> 32) irqa); 0xE0008000 + push_bit 4 (UCAST(10 \<rightarrow> 32) irq) \<le> 0xE000800F + push_bit 4 (UCAST(10 \<rightarrow> 32) irqa); 0xE0008000 + push_bit 4 (UCAST(10 \<rightarrow> 32) irqa) \<le> 0xE000800F + push_bit 4 (UCAST(10 \<rightarrow> 32) irq); 0xE0008000 + push_bit 4 (UCAST(10 \<rightarrow> 32) irq) \<le> 0xE000800F + push_bit 4 (UCAST(10 \<rightarrow> 32) irq); 0xE0008000 + push_bit 4 (UCAST(10 \<rightarrow> 32) irqa) \<le> 0xE000800F + push_bit 4 (UCAST(10 \<rightarrow> 32) irqa); \<not> push_bit 4 (UCAST(10 \<rightarrow> 32) irq) < push_bit 4 (UCAST(10 \<rightarrow> 32) irqa); push_bit 4 (UCAST(10 \<rightarrow> 32) irqa) < push_bit 4 (UCAST(10 \<rightarrow> 32) irq)\<rbrakk> \<Longrightarrow> push_bit 4 (take_bit 28 (uint (UCAST(10 \<rightarrow> 32) irq))) = uint (UCAST(10 \<rightarrow> 32) irq) mod 268435456 * 16
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (3 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10\<rbrakk> \<Longrightarrow> False
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 3. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (7 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10\<rbrakk> \<Longrightarrow> 0 < 0x10
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irq) * unat 0x10 < 2 ^ LENGTH(32)
 3. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 1 * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 4. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 7. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irq) * unat 0x10 < 2 ^ LENGTH(32)
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 1 * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 3. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (7 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10\<rbrakk> \<Longrightarrow> LENGTH(10) < LENGTH(32)
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; UCAST(10 \<rightarrow> 32) irq < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irq) * unat 0x10 < 2 ^ LENGTH(32)
 3. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 1 * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 4. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 7. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; UCAST(10 \<rightarrow> 32) irq < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irq) * unat 0x10 < 2 ^ LENGTH(32)
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 1 * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 3. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 1 * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10; 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10\<rbrakk> \<Longrightarrow> 0xE0007FFF \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10
 3. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (7 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10\<rbrakk> \<Longrightarrow> unat (0xE0007FFF && mask 28) + unat (UCAST(10 \<rightarrow> 32) irq * 0x10) < 2 ^ 28
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10
 4. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 7. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (7 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irq) * 16 mod 4294967296 < 268402689
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10
 4. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 7. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (8 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10\<rbrakk> \<Longrightarrow> LENGTH(10) < LENGTH(32)
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10; UCAST(10 \<rightarrow> 32) irq < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irq) * 16 mod 4294967296 < 268402689
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10\<rbrakk> \<Longrightarrow> 28 < word_bits
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10
 5. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 7. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 8. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (7 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10; UCAST(10 \<rightarrow> 32) irq < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> unat (UCAST(10 \<rightarrow> 32) irq) * 16 mod 4294967296 < 268402689
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10
 4. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 7. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10\<rbrakk> \<Longrightarrow> 28 < word_bits
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10
 3. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq * 0x10 \<noteq> UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irq * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irq * 0x10; 0xE0008000 + UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> 0xE000800F + UCAST(10 \<rightarrow> 32) irqa * 0x10; \<not> UCAST(10 \<rightarrow> 32) irq * 0x10 < UCAST(10 \<rightarrow> 32) irqa * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 < UCAST(10 \<rightarrow> 32) irq * 0x10; UCAST(10 \<rightarrow> 32) irqa * 0x10 \<le> UCAST(10 \<rightarrow> 32) irq * 0x10 - 0x10; 0xE0007FFF + 0x10 \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + UCAST(10 \<rightarrow> 32) irq * 0x10
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; \<not> 1 \<le> UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 0xE000800F \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (3 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 3. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (3 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + ((UCAST(10 \<rightarrow> 32) irq << 4) - 0x10)\<rbrakk> \<Longrightarrow> False
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 3. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (3 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 3. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> UCAST(10 \<rightarrow> 32) irq << 4 \<le> UCAST(10 \<rightarrow> 32) irq << 4
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4)
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4)
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0008000 \<le> 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4)
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> unat (0xE0008000 && mask 28) + unat (UCAST(10 \<rightarrow> 32) irq << 4) < 2 ^ 28
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 16 * unat (UCAST(10 \<rightarrow> 32) irq) mod 4294967296 < 268402688
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (7 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> LENGTH(10) < LENGTH(32)
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq; UCAST(10 \<rightarrow> 32) irq < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> 16 * unat (UCAST(10 \<rightarrow> 32) irq) mod 4294967296 < 268402688
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 6. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 7. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq; UCAST(10 \<rightarrow> 32) irq < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> 16 * unat (UCAST(10 \<rightarrow> 32) irq) mod 4294967296 < 268402688
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 0xE0007FFF \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> unat (0xE0007FFF && mask 28) + unat (UCAST(10 \<rightarrow> 32) irq << 4) < 2 ^ 28
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> 16 * unat (UCAST(10 \<rightarrow> 32) irq) mod 4294967296 < 268402689
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (6 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq\<rbrakk> \<Longrightarrow> LENGTH(10) < LENGTH(32)
 2. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq; UCAST(10 \<rightarrow> 32) irq < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> 16 * unat (UCAST(10 \<rightarrow> 32) irq) mod 4294967296 < 268402689
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 5. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 6. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (5 subgoals):
 1. \<And>irq irqa. \<lbrakk>0x10 * UCAST(10 \<rightarrow> 32) irq \<noteq> 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irq \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irq; 0xE0008000 + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa; \<not> 0x10 * UCAST(10 \<rightarrow> 32) irq < 0x10 * UCAST(10 \<rightarrow> 32) irqa; 0x10 * UCAST(10 \<rightarrow> 32) irqa < 0x10 * UCAST(10 \<rightarrow> 32) irq; 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0x10 * UCAST(10 \<rightarrow> 32) irq - 0x10; 0xE000800F + 0x10 * UCAST(10 \<rightarrow> 32) irqa \<le> 0xE0007FFF + 0x10 * UCAST(10 \<rightarrow> 32) irq; UCAST(10 \<rightarrow> 32) irq < 2 ^ LENGTH(10)\<rbrakk> \<Longrightarrow> 16 * unat (UCAST(10 \<rightarrow> 32) irq) mod 4294967296 < 268402689
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 4. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 5. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (4 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> 28 < word_bits
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 3. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 4. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (3 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4; UCAST(10 \<rightarrow> 32) irqa << 4 \<le> (UCAST(10 \<rightarrow> 32) irq << 4) - 0x10; 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE0007FFF + (UCAST(10 \<rightarrow> 32) irq << 4) - (UCAST(10 \<rightarrow> 32) irq << 4)\<rbrakk> \<Longrightarrow> False
 2. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 3. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (2 subgoals):
 1. \<And>irq irqa. \<lbrakk>UCAST(10 \<rightarrow> 32) irq << 4 \<noteq> UCAST(10 \<rightarrow> 32) irqa << 4; 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irq << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irq << 4); 0xE0008000 + (UCAST(10 \<rightarrow> 32) irqa << 4) \<le> 0xE000800F + (UCAST(10 \<rightarrow> 32) irqa << 4); \<not> UCAST(10 \<rightarrow> 32) irq << 4 < UCAST(10 \<rightarrow> 32) irqa << 4; \<not> UCAST(10 \<rightarrow> 32) irqa << 4 < UCAST(10 \<rightarrow> 32) irq << 4\<rbrakk> \<Longrightarrow> False
 2. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False proof (prove)
goal (1 subgoal):
 1. \<And>x y ko ko'. \<lbrakk>x \<noteq> y; x \<le> y + (2 ^ obj_bits ko' - 1); y \<le> x + (2 ^ obj_bits ko - 1); x \<le> x + (2 ^ obj_bits ko - 1); y \<le> y + (2 ^ obj_bits ko' - 1); x = init_globals_frame \<and> ko = ArchObj (DataPage False ARMSmallPage) \<or> x = init_global_pd \<and> ko = ArchObj (PageDirectory global_pd) \<or> x = idle_tcb_ptr \<and> ko = idle_tcb \<or> x = High_tcb_ptr \<and> ko = High_tcb \<or> x = Low_tcb_ptr \<and> ko = Low_tcb \<or> x = High_pt_ptr \<and> ko = High_pt \<or> x = Low_pt_ptr \<and> ko = Low_pt \<or> x = High_pd_ptr \<and> ko = High_pd \<or> x = Low_pd_ptr \<and> ko = Low_pd \<or> x = irq_cnode_ptr \<and> ko = irq_cnode \<or> x = ntfn_ptr \<and> ko = ntfn \<or> x = Silc_cnode_ptr \<and> ko = Silc_cnode \<or> x = High_cnode_ptr \<and> ko = High_cnode \<or> x = Low_cnode_ptr \<and> ko = Low_cnode \<or> x \<in> irq_node_offs_range \<and> ko = CNode 0 (empty_cnode 0); y = init_globals_frame \<and> ko' = ArchObj (DataPage False ARMSmallPage) \<or> y = init_global_pd \<and> ko' = ArchObj (PageDirectory global_pd) \<or> y = idle_tcb_ptr \<and> ko' = idle_tcb \<or> y = High_tcb_ptr \<and> ko' = High_tcb \<or> y = Low_tcb_ptr \<and> ko' = Low_tcb \<or> y = High_pt_ptr \<and> ko' = High_pt \<or> y = Low_pt_ptr \<and> ko' = Low_pt \<or> y = High_pd_ptr \<and> ko' = High_pd \<or> y = Low_pd_ptr \<and> ko' = Low_pd \<or> y = irq_cnode_ptr \<and> ko' = irq_cnode \<or> y = ntfn_ptr \<and> ko' = ntfn \<or> y = Silc_cnode_ptr \<and> ko' = Silc_cnode \<or> y = High_cnode_ptr \<and> ko' = High_cnode \<or> y = Low_cnode_ptr \<and> ko' = Low_cnode \<or> y \<in> irq_node_offs_range \<and> ko' = CNode 0 (empty_cnode 0); \<not> (x \<in> irq_node_offs_range \<and> y \<in> irq_node_offs_range)\<rbrakk> \<Longrightarrow> False