src/HOL/Word/More_Word.thy
author haftmann
Tue, 04 Aug 2020 09:33:05 +0000
changeset 72082 41393ecb57ac
parent 72079 8c355e2dd7db
child 72088 a36db1c8238e
permissions -rw-r--r--
uniform mask operation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
72079
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
     1
(*  Title:      HOL/Word/More_thy
70174
40fdd74b75f3 entry point for comprehensive word library
haftmann
parents:
diff changeset
     2
*)
40fdd74b75f3 entry point for comprehensive word library
haftmann
parents:
diff changeset
     3
71985
a1cf296a7786 moved to Word_Lib
haftmann
parents: 70174
diff changeset
     4
section \<open>Ancient comprehensive Word Library\<close>
70174
40fdd74b75f3 entry point for comprehensive word library
haftmann
parents:
diff changeset
     5
40fdd74b75f3 entry point for comprehensive word library
haftmann
parents:
diff changeset
     6
theory More_Word
40fdd74b75f3 entry point for comprehensive word library
haftmann
parents:
diff changeset
     7
imports
40fdd74b75f3 entry point for comprehensive word library
haftmann
parents:
diff changeset
     8
  Word
71986
76193dd4aec8 factored out ancient numeral representation
haftmann
parents: 71985
diff changeset
     9
  Ancient_Numeral
71997
4a013c92a091 factored out auxiliary theory
haftmann
parents: 71986
diff changeset
    10
  Misc_Auxiliary
4a013c92a091 factored out auxiliary theory
haftmann
parents: 71986
diff changeset
    11
  Misc_Arithmetic
72000
379d0c207c29 separation of traditional bit operations
haftmann
parents: 71997
diff changeset
    12
  Misc_set_bit
379d0c207c29 separation of traditional bit operations
haftmann
parents: 71997
diff changeset
    13
  Misc_lsb
70174
40fdd74b75f3 entry point for comprehensive word library
haftmann
parents:
diff changeset
    14
begin
40fdd74b75f3 entry point for comprehensive word library
haftmann
parents:
diff changeset
    15
72010
a851ce626b78 signed_take_bit
haftmann
parents: 72000
diff changeset
    16
declare signed_take_bit_Suc [simp]
a851ce626b78 signed_take_bit
haftmann
parents: 72000
diff changeset
    17
72079
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    18
lemmas bshiftr1_def = bshiftr1_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    19
lemmas is_down_def = is_down_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    20
lemmas is_up_def = is_up_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    21
lemmas mask_def = mask_eq_decr_exp
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    22
lemmas scast_def = scast_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    23
lemmas shiftl1_def = shiftl1_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    24
lemmas shiftr1_def = shiftr1_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    25
lemmas sshiftr1_def = sshiftr1_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    26
lemmas sshiftr_def = sshiftr_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    27
lemmas to_bl_def = to_bl_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    28
lemmas ucast_def = ucast_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    29
lemmas unat_def = unat_eq_nat_uint
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    30
lemmas word_cat_def = word_cat_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    31
lemmas word_reverse_def = word_reverse_eq_of_bl_rev_to_bl
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    32
lemmas word_roti_def = word_roti_eq_word_rotr_word_rotl
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    33
lemmas word_rotl_def = word_rotl_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    34
lemmas word_rotr_def = word_rotr_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    35
lemmas word_sle_def = word_sle_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    36
lemmas word_sless_def = word_sless_eq
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    37
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    38
lemma shiftl_transfer [transfer_rule]:
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    39
  includes lifting_syntax
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    40
  shows "(pcr_word ===> (=) ===> pcr_word) (<<) (<<)"
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    41
  by (auto intro!: rel_funI word_eqI simp add: word.pcr_cr_eq cr_word_def word_size nth_shiftl)
8c355e2dd7db more consequent transferability
haftmann
parents: 72010
diff changeset
    42
70174
40fdd74b75f3 entry point for comprehensive word library
haftmann
parents:
diff changeset
    43
end