]> matita.cs.unibo.it Git - helm.git/commitdiff
Extracted code. The main executable is medium_tests that runs the emulator on
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 11 Apr 2008 13:09:02 +0000 (13:09 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 11 Apr 2008 13:09:02 +0000 (13:09 +0000)
a few assembly programs with inputs of different sizes:
  * string reverse
  * counting sort
  * perfect numbers

44 files changed:
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/Makefile [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_datatypes_bool.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_datatypes_compare.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_datatypes_constructors.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_aux_bases.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_byte8.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_debug.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_exadecim.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_extra.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_load_write.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_medium_tests.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_medium_tests_lemmas.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_medium_tests_tools.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_abs.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_bits.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_func.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_struct.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_trees.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_micro_tests.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_model.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_multivm.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_opcode.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_status.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_HC05.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_HC08.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_HCS08.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_RS08.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_translation.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_word16.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_higher_order_defs_functions.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_list_list.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_logic_connectives.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_logic_equality.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_compare.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_div_and_mod.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_exp.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_factorial.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_minimization.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_minus.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_nat.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_plus.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_primes.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_sigma_and_pi.ml [new file with mode: 0644]
helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_times.ml [new file with mode: 0644]

diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/Makefile b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/Makefile
new file mode 100644 (file)
index 0000000..a1d2b83
--- /dev/null
@@ -0,0 +1,140 @@
+CC = ocamlopt.opt -w a
+
+all: medium_tests
+
+# base
+
+matita_datatypes_bool:
+       $(CC) -c $@.ml
+
+matita_datatypes_compare:
+       $(CC) -c $@.ml
+
+matita_datatypes_constructors:
+       $(CC) -c $@.ml
+
+matita_higher_order_defs_functions:
+       $(CC) -c $@.ml
+
+matita_logic_connectives:
+       $(CC) -c $@.ml
+
+matita_logic_equality:
+       $(CC) -c $@.ml
+
+matita_nat_nat:
+       $(CC) -c $@.ml
+
+matita_nat_minus: matita_nat_nat
+       $(CC) -c $@.ml
+
+matita_nat_plus: matita_nat_nat
+       $(CC) -c $@.ml
+
+matita_nat_times: matita_nat_plus matita_nat_nat
+       $(CC) -c $@.ml
+
+matita_nat_exp: matita_nat_times matita_nat_nat
+       $(CC) -c $@.ml
+
+matita_nat_factorial: matita_nat_times matita_nat_nat
+       $(CC) -c $@.ml
+
+matita_nat_sigma_and_pi: matita_nat_times matita_nat_plus matita_nat_nat
+       $(CC) -c $@.ml
+
+matita_nat_minimization: matita_nat_nat matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_nat_compare: matita_nat_nat matita_datatypes_compare matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_nat_div_and_mod: matita_nat_nat matita_nat_minus matita_nat_compare matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_nat_primes: matita_nat_nat matita_nat_minimization matita_nat_div_and_mod matita_nat_compare matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_list_list: matita_nat_nat
+       $(CC) -c $@.ml
+
+# FREESCALE
+
+matita_freescale_extra: matita_nat_nat matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_exadecim: matita_nat_nat matita_freescale_extra matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_byte8: matita_nat_times matita_nat_plus matita_nat_nat matita_nat_div_and_mod matita_freescale_extra matita_freescale_exadecim matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_word16: matita_nat_times matita_nat_plus matita_nat_nat matita_nat_div_and_mod matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_aux_bases: matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8
+       $(CC) -c $@.ml
+
+matita_freescale_opcode: matita_nat_nat matita_list_list matita_freescale_word16 matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_table_HC05: matita_list_list matita_freescale_opcode matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases
+       $(CC) -c $@.ml
+
+matita_freescale_table_HC08: matita_list_list matita_freescale_word16 matita_freescale_opcode matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases
+       $(CC) -c $@.ml
+
+matita_freescale_table_HCS08: matita_list_list matita_freescale_word16 matita_freescale_opcode matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases
+       $(CC) -c $@.ml
+
+matita_freescale_table_RS08: matita_list_list matita_freescale_opcode matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases
+       $(CC) -c $@.ml
+
+matita_freescale_translation: matita_logic_connectives matita_list_list matita_freescale_word16 matita_freescale_table_RS08 matita_freescale_table_HCS08 matita_freescale_table_HC08 matita_freescale_table_HC05 matita_freescale_opcode matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_memory_struct: matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_memory_func: matita_list_list matita_freescale_word16 matita_freescale_memory_struct matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_memory_trees: matita_list_list matita_freescale_word16 matita_freescale_memory_struct matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_memory_bits: matita_list_list matita_freescale_word16 matita_freescale_memory_trees matita_freescale_memory_struct matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_memory_abs: matita_freescale_memory_trees matita_freescale_memory_struct matita_freescale_memory_func matita_freescale_memory_bits matita_freescale_extra matita_datatypes_constructors
+       $(CC) -c $@.ml
+
+matita_freescale_status: matita_nat_nat matita_freescale_word16 matita_freescale_opcode matita_freescale_memory_abs matita_freescale_extra matita_freescale_byte8 matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_model: matita_list_list matita_freescale_word16 matita_freescale_status matita_freescale_opcode matita_freescale_memory_struct matita_freescale_memory_abs matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_load_write: matita_nat_nat matita_freescale_word16 matita_freescale_translation matita_freescale_status matita_freescale_opcode matita_freescale_memory_struct matita_freescale_memory_abs matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_multivm: matita_nat_nat matita_freescale_word16 matita_freescale_status matita_freescale_opcode matita_freescale_load_write matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_datatypes_constructors matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_medium_tests_tools: matita_nat_nat matita_list_list matita_freescale_word16 matita_freescale_memory_struct matita_freescale_memory_abs matita_freescale_exadecim matita_freescale_byte8
+       $(CC) -c $@.ml
+
+matita_freescale_medium_tests_lemmas: matita_nat_nat matita_freescale_word16 matita_freescale_status matita_freescale_opcode matita_freescale_multivm matita_freescale_memory_trees matita_freescale_memory_abs matita_freescale_load_write matita_freescale_exadecim matita_freescale_byte8 matita_datatypes_bool
+       $(CC) -c $@.ml
+
+matita_freescale_debug: matita_datatypes_bool matita_datatypes_constructors matita_list_list matita_freescale_exadecim matita_freescale_byte8 matita_freescale_word16
+       $(CC) -c $@.ml
+
+matita_freescale_medium_tests: matita_nat_times matita_nat_sigma_and_pi matita_nat_primes matita_nat_plus matita_nat_nat matita_nat_minus matita_nat_minimization matita_nat_factorial matita_nat_exp matita_nat_div_and_mod matita_nat_compare matita_logic_equality matita_logic_connectives matita_list_list matita_higher_order_defs_functions matita_freescale_word16 matita_freescale_translation matita_freescale_table_RS08 matita_freescale_table_HCS08 matita_freescale_table_HC08 matita_freescale_table_HC05 matita_freescale_status matita_freescale_opcode matita_freescale_multivm matita_freescale_model matita_freescale_memory_trees matita_freescale_memory_struct matita_freescale_memory_func matita_freescale_memory_bits matita_freescale_memory_abs matita_freescale_medium_tests_tools matita_freescale_medium_tests_lemmas matita_freescale_load_write matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases matita_datatypes_constructors matita_datatypes_compare matita_datatypes_bool matita_freescale_debug
+       $(CC) -c $@.ml
+
+medium_tests: matita_nat_times matita_nat_sigma_and_pi matita_nat_primes matita_nat_plus matita_nat_nat matita_nat_minus matita_nat_minimization matita_nat_factorial matita_nat_exp matita_nat_div_and_mod matita_nat_compare matita_logic_equality matita_logic_connectives matita_list_list matita_higher_order_defs_functions matita_freescale_word16 matita_freescale_translation matita_freescale_table_RS08 matita_freescale_table_HCS08 matita_freescale_table_HC08 matita_freescale_table_HC05 matita_freescale_status matita_freescale_opcode matita_freescale_multivm matita_freescale_model matita_freescale_memory_trees matita_freescale_memory_struct matita_freescale_memory_func matita_freescale_memory_bits matita_freescale_memory_abs matita_freescale_medium_tests_tools matita_freescale_medium_tests_lemmas matita_freescale_load_write matita_freescale_extra matita_freescale_exadecim matita_freescale_byte8 matita_freescale_aux_bases matita_datatypes_constructors matita_datatypes_compare matita_datatypes_bool matita_freescale_medium_tests matita_freescale_debug
+       $(CC) -o $@ matita_datatypes_bool.cmx matita_datatypes_compare.cmx matita_datatypes_constructors.cmx matita_higher_order_defs_functions.cmx matita_logic_connectives.cmx matita_logic_equality.cmx matita_nat_nat.cmx matita_nat_minus.cmx matita_nat_plus.cmx matita_nat_times.cmx matita_nat_exp.cmx matita_nat_factorial.cmx matita_nat_sigma_and_pi.cmx matita_nat_minimization.cmx matita_nat_compare.cmx matita_nat_div_and_mod.cmx matita_nat_primes.cmx matita_list_list.cmx matita_freescale_extra.cmx matita_freescale_exadecim.cmx matita_freescale_byte8.cmx matita_freescale_word16.cmx matita_freescale_aux_bases.cmx matita_freescale_opcode.cmx matita_freescale_table_HC05.cmx matita_freescale_table_HC08.cmx matita_freescale_table_HCS08.cmx matita_freescale_table_RS08.cmx matita_freescale_translation.cmx matita_freescale_memory_struct.cmx matita_freescale_memory_func.cmx matita_freescale_memory_trees.cmx matita_freescale_memory_bits.cmx matita_freescale_memory_abs.cmx matita_freescale_status.cmx matita_freescale_model.cmx matita_freescale_load_write.cmx matita_freescale_multivm.cmx matita_freescale_medium_tests_tools.cmx matita_freescale_medium_tests_lemmas.cmx matita_freescale_debug.cmx matita_freescale_medium_tests.cmx
+
+clean:
+       rm -f *.cm[ixo]
+       rm -f *.o
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_datatypes_bool.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_datatypes_bool.ml
new file mode 100644 (file)
index 0000000..2fead65
--- /dev/null
@@ -0,0 +1,45 @@
+type bool =
+True
+ | False
+;;
+
+let bool_rec =
+(function p -> (function p1 -> (function b -> 
+(match b with 
+   True -> p
+ | False -> p1)
+)))
+;;
+
+let bool_rect =
+(function p -> (function p1 -> (function b -> 
+(match b with 
+   True -> p
+ | False -> p1)
+)))
+;;
+
+let notb =
+(function b -> 
+(match b with 
+   True -> False
+ | False -> True)
+)
+;;
+
+let andb =
+(function b1 -> (function b2 -> 
+(match b1 with 
+   True -> b2
+ | False -> False)
+))
+;;
+
+let orb =
+(function b1 -> (function b2 -> 
+(match b1 with 
+   True -> True
+ | False -> b2)
+))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_datatypes_compare.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_datatypes_compare.ml
new file mode 100644 (file)
index 0000000..66e19cd
--- /dev/null
@@ -0,0 +1,33 @@
+type compare =
+LT
+ | EQ
+ | GT
+;;
+
+let compare_rec =
+(function p -> (function p1 -> (function p2 -> (function c -> 
+(match c with 
+   LT -> p
+ | EQ -> p1
+ | GT -> p2)
+))))
+;;
+
+let compare_rect =
+(function p -> (function p1 -> (function p2 -> (function c -> 
+(match c with 
+   LT -> p
+ | EQ -> p1
+ | GT -> p2)
+))))
+;;
+
+let compare_invert =
+(function c -> 
+(match c with 
+   LT -> GT
+ | EQ -> EQ
+ | GT -> LT)
+)
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_datatypes_constructors.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_datatypes_constructors.ml
new file mode 100644 (file)
index 0000000..ff2e7cd
--- /dev/null
@@ -0,0 +1,103 @@
+type void = unit (* empty type *)
+;;
+
+let void_rec =
+(function v -> assert false)
+;;
+
+let void_rect =
+(function v -> assert false)
+;;
+
+type unit =
+Something
+;;
+
+let unit_rec =
+(function p -> (function u -> 
+(match u with 
+   Something -> p)
+))
+;;
+
+let unit_rect =
+(function p -> (function u -> 
+(match u with 
+   Something -> p)
+))
+;;
+
+type ('a,'b) prod =
+Pair of 'a * 'b
+;;
+
+let prod_rec =
+(function f -> (function p -> 
+(match p with 
+   Pair(t,t1) -> (f t t1))
+))
+;;
+
+let prod_rect =
+(function f -> (function p -> 
+(match p with 
+   Pair(t,t1) -> (f t t1))
+))
+;;
+
+let fst =
+(function p -> 
+(match p with 
+   Pair(a,b) -> a)
+)
+;;
+
+let snd =
+(function p -> 
+(match p with 
+   Pair(a,b) -> b)
+)
+;;
+
+type ('a,'b) sum =
+Inl of 'a
+ | Inr of 'b
+;;
+
+let sum_rec =
+(function f -> (function f1 -> (function s -> 
+(match s with 
+   Inl(t) -> (f t)
+ | Inr(t) -> (f1 t))
+)))
+;;
+
+let sum_rect =
+(function f -> (function f1 -> (function s -> 
+(match s with 
+   Inl(t) -> (f t)
+ | Inr(t) -> (f1 t))
+)))
+;;
+
+type ('a) option =
+None
+ | Some of 'a
+;;
+
+let option_rec =
+(function p -> (function f -> (function o -> 
+(match o with 
+   None -> p
+ | Some(t) -> (f t))
+)))
+;;
+
+let option_rect =
+(function p -> (function f -> (function o -> 
+(match o with 
+   None -> p
+ | Some(t) -> (f t))
+)))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_aux_bases.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_aux_bases.ml
new file mode 100644 (file)
index 0000000..03f769c
--- /dev/null
@@ -0,0 +1,218 @@
+type oct =
+O0
+ | O1
+ | O2
+ | O3
+ | O4
+ | O5
+ | O6
+ | O7
+;;
+
+let oct_rec =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function p5 -> (function p6 -> (function p7 -> (function o -> 
+(match o with 
+   O0 -> p
+ | O1 -> p1
+ | O2 -> p2
+ | O3 -> p3
+ | O4 -> p4
+ | O5 -> p5
+ | O6 -> p6
+ | O7 -> p7)
+)))))))))
+;;
+
+let oct_rect =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function p5 -> (function p6 -> (function p7 -> (function o -> 
+(match o with 
+   O0 -> p
+ | O1 -> p1
+ | O2 -> p2
+ | O3 -> p3
+ | O4 -> p4
+ | O5 -> p5
+ | O6 -> p6
+ | O7 -> p7)
+)))))))))
+;;
+
+let exadecim_of_oct =
+(function o -> 
+(match o with 
+   O0 -> Matita_freescale_exadecim.X0
+ | O1 -> Matita_freescale_exadecim.X1
+ | O2 -> Matita_freescale_exadecim.X2
+ | O3 -> Matita_freescale_exadecim.X3
+ | O4 -> Matita_freescale_exadecim.X4
+ | O5 -> Matita_freescale_exadecim.X5
+ | O6 -> Matita_freescale_exadecim.X6
+ | O7 -> Matita_freescale_exadecim.X7)
+)
+;;
+
+let nat_OF_oct =
+(function a -> (Matita_freescale_exadecim.nat_of_exadecim (exadecim_of_oct a)))
+;;
+
+let forall_oct =
+(function p -> (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (p O0) (p O1)) (p O2)) (p O3)) (p O4)) (p O5)) (p O6)) (p O7)))
+;;
+
+type bitrigesim =
+T00
+ | T01
+ | T02
+ | T03
+ | T04
+ | T05
+ | T06
+ | T07
+ | T08
+ | T09
+ | T0A
+ | T0B
+ | T0C
+ | T0D
+ | T0E
+ | T0F
+ | T10
+ | T11
+ | T12
+ | T13
+ | T14
+ | T15
+ | T16
+ | T17
+ | T18
+ | T19
+ | T1A
+ | T1B
+ | T1C
+ | T1D
+ | T1E
+ | T1F
+;;
+
+let bitrigesim_rec =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function p5 -> (function p6 -> (function p7 -> (function p8 -> (function p9 -> (function p10 -> (function p11 -> (function p12 -> (function p13 -> (function p14 -> (function p15 -> (function p16 -> (function p17 -> (function p18 -> (function p19 -> (function p20 -> (function p21 -> (function p22 -> (function p23 -> (function p24 -> (function p25 -> (function p26 -> (function p27 -> (function p28 -> (function p29 -> (function p30 -> (function p31 -> (function b -> 
+(match b with 
+   T00 -> p
+ | T01 -> p1
+ | T02 -> p2
+ | T03 -> p3
+ | T04 -> p4
+ | T05 -> p5
+ | T06 -> p6
+ | T07 -> p7
+ | T08 -> p8
+ | T09 -> p9
+ | T0A -> p10
+ | T0B -> p11
+ | T0C -> p12
+ | T0D -> p13
+ | T0E -> p14
+ | T0F -> p15
+ | T10 -> p16
+ | T11 -> p17
+ | T12 -> p18
+ | T13 -> p19
+ | T14 -> p20
+ | T15 -> p21
+ | T16 -> p22
+ | T17 -> p23
+ | T18 -> p24
+ | T19 -> p25
+ | T1A -> p26
+ | T1B -> p27
+ | T1C -> p28
+ | T1D -> p29
+ | T1E -> p30
+ | T1F -> p31)
+)))))))))))))))))))))))))))))))))
+;;
+
+let bitrigesim_rect =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function p5 -> (function p6 -> (function p7 -> (function p8 -> (function p9 -> (function p10 -> (function p11 -> (function p12 -> (function p13 -> (function p14 -> (function p15 -> (function p16 -> (function p17 -> (function p18 -> (function p19 -> (function p20 -> (function p21 -> (function p22 -> (function p23 -> (function p24 -> (function p25 -> (function p26 -> (function p27 -> (function p28 -> (function p29 -> (function p30 -> (function p31 -> (function b -> 
+(match b with 
+   T00 -> p
+ | T01 -> p1
+ | T02 -> p2
+ | T03 -> p3
+ | T04 -> p4
+ | T05 -> p5
+ | T06 -> p6
+ | T07 -> p7
+ | T08 -> p8
+ | T09 -> p9
+ | T0A -> p10
+ | T0B -> p11
+ | T0C -> p12
+ | T0D -> p13
+ | T0E -> p14
+ | T0F -> p15
+ | T10 -> p16
+ | T11 -> p17
+ | T12 -> p18
+ | T13 -> p19
+ | T14 -> p20
+ | T15 -> p21
+ | T16 -> p22
+ | T17 -> p23
+ | T18 -> p24
+ | T19 -> p25
+ | T1A -> p26
+ | T1B -> p27
+ | T1C -> p28
+ | T1D -> p29
+ | T1E -> p30
+ | T1F -> p31)
+)))))))))))))))))))))))))))))))))
+;;
+
+let byte8_of_bitrigesim =
+(function t -> 
+(match t with 
+   T00 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | T01 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))
+ | T02 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))
+ | T03 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))
+ | T04 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))
+ | T05 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))
+ | T06 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))
+ | T07 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7))
+ | T08 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))
+ | T09 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))
+ | T0A -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))
+ | T0B -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB))
+ | T0C -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC))
+ | T0D -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD))
+ | T0E -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))
+ | T0F -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF))
+ | T10 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0))
+ | T11 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1))
+ | T12 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2))
+ | T13 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3))
+ | T14 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4))
+ | T15 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5))
+ | T16 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6))
+ | T17 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7))
+ | T18 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8))
+ | T19 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9))
+ | T1A -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA))
+ | T1B -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB))
+ | T1C -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC))
+ | T1D -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD))
+ | T1E -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE))
+ | T1F -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)))
+)
+;;
+
+let nat_OF_bitrigesim =
+(function a -> (Matita_freescale_byte8.nat_of_byte8 (byte8_of_bitrigesim a)))
+;;
+
+let forall_bitrigesim =
+(function p -> (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (p T00) (p T01)) (p T02)) (p T03)) (p T04)) (p T05)) (p T06)) (p T07)) (p T08)) (p T09)) (p T0A)) (p T0B)) (p T0C)) (p T0D)) (p T0E)) (p T0F)) (p T10)) (p T11)) (p T12)) (p T13)) (p T14)) (p T15)) (p T16)) (p T17)) (p T18)) (p T19)) (p T1A)) (p T1B)) (p T1C)) (p T1D)) (p T1E)) (p T1F)))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_byte8.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_byte8.ml
new file mode 100644 (file)
index 0000000..8c92bff
--- /dev/null
@@ -0,0 +1,550 @@
+type byte8 =
+Mk_byte8 of Matita_freescale_exadecim.exadecim * Matita_freescale_exadecim.exadecim
+;;
+
+let byte8_rec =
+(function f -> (function b -> 
+(match b with 
+   Mk_byte8(e,e1) -> (f e e1))
+))
+;;
+
+let byte8_rect =
+(function f -> (function b -> 
+(match b with 
+   Mk_byte8(e,e1) -> (f e e1))
+))
+;;
+
+let b8h =
+(function w -> 
+(match w with 
+   Mk_byte8(b8h,b8l) -> b8h)
+)
+;;
+
+let b8l =
+(function w -> 
+(match w with 
+   Mk_byte8(b8h,b8l) -> b8l)
+)
+;;
+
+let eq_b8 =
+(function b1 -> (function b2 -> (Matita_freescale_extra.and_bool (Matita_freescale_exadecim.eq_ex (b8h b1) (b8h b2)) (Matita_freescale_exadecim.eq_ex (b8l b1) (b8l b2)))))
+;;
+
+let lt_b8 =
+(function b1 -> (function b2 -> 
+(match (Matita_freescale_exadecim.lt_ex (b8h b1) (b8h b2)) with 
+   Matita_datatypes_bool.True -> Matita_datatypes_bool.True
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_exadecim.gt_ex (b8h b1) (b8h b2)) with 
+   Matita_datatypes_bool.True -> Matita_datatypes_bool.False
+ | Matita_datatypes_bool.False -> (Matita_freescale_exadecim.lt_ex (b8l b1) (b8l b2)))
+)
+))
+;;
+
+let le_b8 =
+(function b1 -> (function b2 -> (Matita_freescale_extra.or_bool (eq_b8 b1 b2) (lt_b8 b1 b2))))
+;;
+
+let gt_b8 =
+(function b1 -> (function b2 -> (Matita_freescale_extra.not_bool (le_b8 b1 b2))))
+;;
+
+let ge_b8 =
+(function b1 -> (function b2 -> (Matita_freescale_extra.not_bool (lt_b8 b1 b2))))
+;;
+
+let and_b8 =
+(function b1 -> (function b2 -> (Mk_byte8((Matita_freescale_exadecim.and_ex (b8h b1) (b8h b2)),(Matita_freescale_exadecim.and_ex (b8l b1) (b8l b2))))))
+;;
+
+let or_b8 =
+(function b1 -> (function b2 -> (Mk_byte8((Matita_freescale_exadecim.or_ex (b8h b1) (b8h b2)),(Matita_freescale_exadecim.or_ex (b8l b1) (b8l b2))))))
+;;
+
+let xor_b8 =
+(function b1 -> (function b2 -> (Mk_byte8((Matita_freescale_exadecim.xor_ex (b8h b1) (b8h b2)),(Matita_freescale_exadecim.xor_ex (b8l b1) (b8l b2))))))
+;;
+
+let rcr_b8 =
+(function b -> (function c -> 
+(match (Matita_freescale_exadecim.rcr_ex (b8h b) c) with 
+   Matita_datatypes_constructors.Pair(bh',c') -> 
+(match (Matita_freescale_exadecim.rcr_ex (b8l b) c') with 
+   Matita_datatypes_constructors.Pair(bl',c'') -> (Matita_datatypes_constructors.Pair((Mk_byte8(bh',bl')),c'')))
+)
+))
+;;
+
+let shr_b8 =
+(function b -> 
+(match (Matita_freescale_exadecim.rcr_ex (b8h b) Matita_datatypes_bool.False) with 
+   Matita_datatypes_constructors.Pair(bh',c') -> 
+(match (Matita_freescale_exadecim.rcr_ex (b8l b) c') with 
+   Matita_datatypes_constructors.Pair(bl',c'') -> (Matita_datatypes_constructors.Pair((Mk_byte8(bh',bl')),c'')))
+)
+)
+;;
+
+let ror_b8 =
+(function b -> 
+(match (Matita_freescale_exadecim.rcr_ex (b8h b) Matita_datatypes_bool.False) with 
+   Matita_datatypes_constructors.Pair(bh',c') -> 
+(match (Matita_freescale_exadecim.rcr_ex (b8l b) c') with 
+   Matita_datatypes_constructors.Pair(bl',c'') -> 
+(match c'' with 
+   Matita_datatypes_bool.True -> (Mk_byte8((Matita_freescale_exadecim.or_ex Matita_freescale_exadecim.X8 bh'),bl'))
+ | Matita_datatypes_bool.False -> (Mk_byte8(bh',bl')))
+)
+)
+)
+;;
+
+let ror_b8_n =
+let rec ror_b8_n = 
+(function b -> (function n -> 
+(match n with 
+   Matita_nat_nat.O -> b
+ | Matita_nat_nat.S(n') -> (ror_b8_n (ror_b8 b) n'))
+)) in ror_b8_n
+;;
+
+let rcl_b8 =
+(function b -> (function c -> 
+(match (Matita_freescale_exadecim.rcl_ex (b8l b) c) with 
+   Matita_datatypes_constructors.Pair(bl',c') -> 
+(match (Matita_freescale_exadecim.rcl_ex (b8h b) c') with 
+   Matita_datatypes_constructors.Pair(bh',c'') -> (Matita_datatypes_constructors.Pair((Mk_byte8(bh',bl')),c'')))
+)
+))
+;;
+
+let shl_b8 =
+(function b -> 
+(match (Matita_freescale_exadecim.rcl_ex (b8l b) Matita_datatypes_bool.False) with 
+   Matita_datatypes_constructors.Pair(bl',c') -> 
+(match (Matita_freescale_exadecim.rcl_ex (b8h b) c') with 
+   Matita_datatypes_constructors.Pair(bh',c'') -> (Matita_datatypes_constructors.Pair((Mk_byte8(bh',bl')),c'')))
+)
+)
+;;
+
+let rol_b8 =
+(function b -> 
+(match (Matita_freescale_exadecim.rcl_ex (b8l b) Matita_datatypes_bool.False) with 
+   Matita_datatypes_constructors.Pair(bl',c') -> 
+(match (Matita_freescale_exadecim.rcl_ex (b8h b) c') with 
+   Matita_datatypes_constructors.Pair(bh',c'') -> 
+(match c'' with 
+   Matita_datatypes_bool.True -> (Mk_byte8(bh',(Matita_freescale_exadecim.or_ex Matita_freescale_exadecim.X1 bl')))
+ | Matita_datatypes_bool.False -> (Mk_byte8(bh',bl')))
+)
+)
+)
+;;
+
+let rol_b8_n =
+let rec rol_b8_n = 
+(function b -> (function n -> 
+(match n with 
+   Matita_nat_nat.O -> b
+ | Matita_nat_nat.S(n') -> (rol_b8_n (rol_b8 b) n'))
+)) in rol_b8_n
+;;
+
+let not_b8 =
+(function b -> (Mk_byte8((Matita_freescale_exadecim.not_ex (b8h b)),(Matita_freescale_exadecim.not_ex (b8l b)))))
+;;
+
+let plus_b8 =
+(function b1 -> (function b2 -> (function c -> 
+(match (Matita_freescale_exadecim.plus_ex (b8l b1) (b8l b2) c) with 
+   Matita_datatypes_constructors.Pair(l,c') -> 
+(match (Matita_freescale_exadecim.plus_ex (b8h b1) (b8h b2) c') with 
+   Matita_datatypes_constructors.Pair(h,c'') -> (Matita_datatypes_constructors.Pair((Mk_byte8(h,l)),c'')))
+)
+)))
+;;
+
+let plus_b8nc =
+(function b1 -> (function b2 -> (Matita_datatypes_constructors.fst (plus_b8 b1 b2 Matita_datatypes_bool.False))))
+;;
+
+let plus_b8c =
+(function b1 -> (function b2 -> (Matita_datatypes_constructors.snd (plus_b8 b1 b2 Matita_datatypes_bool.False))))
+;;
+
+let mSB_b8 =
+(function b -> (Matita_freescale_exadecim.eq_ex Matita_freescale_exadecim.X8 (Matita_freescale_exadecim.and_ex Matita_freescale_exadecim.X8 (b8h b))))
+;;
+
+let nat_of_byte8 =
+(function b -> (Matita_nat_plus.plus (Matita_nat_times.times (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))))))))))))))))))))))))))))) (Matita_freescale_exadecim.nat_of_exadecim (b8h b))) (Matita_freescale_exadecim.nat_of_exadecim (b8l b))))
+;;
+
+let byte8_of_nat =
+(function n -> (Mk_byte8((Matita_freescale_exadecim.exadecim_of_nat (Matita_nat_div_and_mod.div n (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))))))))))))))))))))))))))))))),(Matita_freescale_exadecim.exadecim_of_nat n))))
+;;
+
+let pred_b8 =
+(function b -> 
+(match (Matita_freescale_exadecim.eq_ex (b8l b) Matita_freescale_exadecim.X0) with 
+   Matita_datatypes_bool.True -> (Mk_byte8((Matita_freescale_exadecim.pred_ex (b8h b)),(Matita_freescale_exadecim.pred_ex (b8l b))))
+ | Matita_datatypes_bool.False -> (Mk_byte8((b8h b),(Matita_freescale_exadecim.pred_ex (b8l b)))))
+)
+;;
+
+let succ_b8 =
+(function b -> 
+(match (Matita_freescale_exadecim.eq_ex (b8l b) Matita_freescale_exadecim.XF) with 
+   Matita_datatypes_bool.True -> (Mk_byte8((Matita_freescale_exadecim.succ_ex (b8h b)),(Matita_freescale_exadecim.succ_ex (b8l b))))
+ | Matita_datatypes_bool.False -> (Mk_byte8((b8h b),(Matita_freescale_exadecim.succ_ex (b8l b)))))
+)
+;;
+
+let compl_b8 =
+(function b -> 
+(match (mSB_b8 b) with 
+   Matita_datatypes_bool.True -> (succ_b8 (not_b8 b))
+ | Matita_datatypes_bool.False -> (not_b8 (pred_b8 b)))
+)
+;;
+
+let mul_ex =
+(function e1 -> (function e2 -> 
+(match e1 with 
+   Matita_freescale_exadecim.X0 -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))
+
+ | Matita_freescale_exadecim.X1 -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)))
+
+ | Matita_freescale_exadecim.X2 -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)))
+
+ | Matita_freescale_exadecim.X3 -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)))
+
+ | Matita_freescale_exadecim.X4 -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)))
+
+ | Matita_freescale_exadecim.X5 -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)))
+
+ | Matita_freescale_exadecim.X6 -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)))
+
+ | Matita_freescale_exadecim.X7 -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)))
+
+ | Matita_freescale_exadecim.X8 -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)))
+
+ | Matita_freescale_exadecim.X9 -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)))
+
+ | Matita_freescale_exadecim.XA -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)))
+
+ | Matita_freescale_exadecim.XB -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)))
+
+ | Matita_freescale_exadecim.XC -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)))
+
+ | Matita_freescale_exadecim.XD -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)))
+
+ | Matita_freescale_exadecim.XE -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)))
+
+ | Matita_freescale_exadecim.XF -> 
+(match e2 with 
+   Matita_freescale_exadecim.X0 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | Matita_freescale_exadecim.X1 -> (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF))
+ | Matita_freescale_exadecim.X2 -> (Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE))
+ | Matita_freescale_exadecim.X3 -> (Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD))
+ | Matita_freescale_exadecim.X4 -> (Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC))
+ | Matita_freescale_exadecim.X5 -> (Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB))
+ | Matita_freescale_exadecim.X6 -> (Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA))
+ | Matita_freescale_exadecim.X7 -> (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9))
+ | Matita_freescale_exadecim.X8 -> (Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8))
+ | Matita_freescale_exadecim.X9 -> (Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7))
+ | Matita_freescale_exadecim.XA -> (Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6))
+ | Matita_freescale_exadecim.XB -> (Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5))
+ | Matita_freescale_exadecim.XC -> (Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4))
+ | Matita_freescale_exadecim.XD -> (Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3))
+ | Matita_freescale_exadecim.XE -> (Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2))
+ | Matita_freescale_exadecim.XF -> (Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)))
+)
+))
+;;
+
+let daa_b8 =
+(function h -> (function c -> (function x -> 
+(match (lt_b8 x (Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA))) with 
+   Matita_datatypes_bool.True -> (let x' = 
+(match (Matita_freescale_extra.and_bool (Matita_freescale_exadecim.lt_ex (b8l x) Matita_freescale_exadecim.XA) (Matita_freescale_extra.not_bool h)) with 
+   Matita_datatypes_bool.True -> x
+ | Matita_datatypes_bool.False -> (plus_b8nc x (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))))
+ in (let x'' = 
+(match c with 
+   Matita_datatypes_bool.True -> (plus_b8nc x' (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))
+ | Matita_datatypes_bool.False -> x')
+ in (Matita_datatypes_constructors.Pair(x'',c))))
+ | Matita_datatypes_bool.False -> (let x' = 
+(match (Matita_freescale_extra.and_bool (Matita_freescale_exadecim.lt_ex (b8l x) Matita_freescale_exadecim.XA) (Matita_freescale_extra.not_bool h)) with 
+   Matita_datatypes_bool.True -> x
+ | Matita_datatypes_bool.False -> (plus_b8nc x (Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))))
+ in (let x'' = (plus_b8nc x' (Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0))) in (Matita_datatypes_constructors.Pair(x'',Matita_datatypes_bool.True)))))
+)))
+;;
+
+let forall_byte8 =
+(function p -> (Matita_freescale_exadecim.forall_exadecim (function bh -> (Matita_freescale_exadecim.forall_exadecim (function bl -> (p (Mk_byte8(bh,bl))))))))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_debug.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_debug.ml
new file mode 100644 (file)
index 0000000..1853e05
--- /dev/null
@@ -0,0 +1,111 @@
+
+let ord256 =
+(Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+let ord512 = (Matita_list_list.append ord256 ord256);;
+let ord1024 = (Matita_list_list.append ord512 ord512);;
+let ord2048 = (Matita_list_list.append ord1024 ord1024);;
+let ord3072 = (Matita_list_list.append ord1024 ord2048);; 
+
+let print_bool =
+(function b ->
+ (match b with
+   Matita_datatypes_bool.True -> print_string("1")
+| Matita_datatypes_bool.False -> print_string("0")));;
+
+let print_exadecim =
+(function e ->
+ (match e with
+  Matita_freescale_exadecim.X0 -> print_string("0")
+| Matita_freescale_exadecim.X1 -> print_string("1")
+| Matita_freescale_exadecim.X2 -> print_string("2")
+| Matita_freescale_exadecim.X3 -> print_string("3")
+| Matita_freescale_exadecim.X4 -> print_string("4")
+| Matita_freescale_exadecim.X5 -> print_string("5")
+| Matita_freescale_exadecim.X6 -> print_string("6")
+| Matita_freescale_exadecim.X7 -> print_string("7")
+| Matita_freescale_exadecim.X8 -> print_string("8")
+| Matita_freescale_exadecim.X9 -> print_string("9")
+| Matita_freescale_exadecim.XA -> print_string("A")
+| Matita_freescale_exadecim.XB -> print_string("B")
+| Matita_freescale_exadecim.XC -> print_string("C")
+| Matita_freescale_exadecim.XD -> print_string("D")
+| Matita_freescale_exadecim.XE -> print_string("E")
+| Matita_freescale_exadecim.XF -> print_string("F")));;
+
+let print_byte8 =
+(function b ->
+ print_string("0x") ;
+ print_exadecim(Matita_freescale_byte8.b8h(b)) ;
+ print_exadecim(Matita_freescale_byte8.b8l(b)));;
+
+let print_word16 =
+(function w ->
+ print_string("0x") ;
+ print_exadecim(Matita_freescale_byte8.b8h(Matita_freescale_word16.w16h(w))) ;
+ print_exadecim(Matita_freescale_byte8.b8l(Matita_freescale_word16.w16h(w))) ;
+ print_exadecim(Matita_freescale_byte8.b8h(Matita_freescale_word16.w16l(w))) ;
+ print_exadecim(Matita_freescale_byte8.b8l(Matita_freescale_word16.w16l(w))));;
+
+let print_list_byte8_aux =
+let rec print_list_byte8_aux =
+(function l ->
+ (match l with
+   Matita_list_list.Nil -> print_string("]")
+ | Matita_list_list.Cons(hd,tl) -> print_string(" ") ; print_byte8(hd) ; print_list_byte8_aux tl))
+in print_list_byte8_aux;;
+
+let print_list_byte8 =
+(function l -> print_string("[") ; print_list_byte8_aux(l));;
+
+let print_option_bool =
+(function o ->
+ (match o with
+   Matita_datatypes_constructors.None -> print_string("none")
+ | Matita_datatypes_constructors.Some(x) -> print_bool(x)));;
+
+let print_option_byte8 =
+(function o ->
+ (match o with
+   Matita_datatypes_constructors.None -> print_string("none")
+ | Matita_datatypes_constructors.Some(x) -> print_byte8(x)));;
+
+let print_option_word16 =
+(function o ->
+ (match o with
+   Matita_datatypes_constructors.None -> print_string("none")
+ | Matita_datatypes_constructors.Some(x) -> print_word16(x)));;
+
+let print_CPU =
+(function m -> (function t -> (function s ->
+ print_string("{ A_reg=") ; print_byte8(Matita_freescale_status.get_acc_8_low_reg m t s) ;
+ print_string(" ; H_reg=") ; print_option_byte8(Matita_freescale_status.get_indX_8_high_reg m t s) ;
+ print_string(" ; X_reg=") ; print_option_byte8(Matita_freescale_status.get_indX_8_low_reg m t s) ;
+ print_string(" ; SP_reg=") ; print_option_word16(Matita_freescale_status.get_sp_reg m t s) ;
+ print_string(" ; PC_reg=") ; print_word16(Matita_freescale_status.get_pc_reg m t s) ;
+ print_string(" ; SPC_reg=") ; print_option_word16(Matita_freescale_status.get_spc_reg m t s) ;
+ print_string(" ; X_map=") ; print_option_byte8(Matita_freescale_status.get_x_map m t s ) ;
+ print_string(" ; PS_map=") ; print_option_byte8(Matita_freescale_status.get_ps_map m t s) ;
+ print_string(" ; V_flag=") ; print_option_bool(Matita_freescale_status.get_v_flag m t s ) ;
+ print_string(" ; H_flag=") ; print_option_bool(Matita_freescale_status.get_h_flag m t s ) ;
+ print_string(" ; I_flag=") ; print_option_bool(Matita_freescale_status.get_i_flag m t s ) ;
+ print_string(" ; N_flag=") ; print_option_bool(Matita_freescale_status.get_n_flag m t s ) ;
+ print_string(" ; Z_flag=") ; print_bool(Matita_freescale_status.get_z_flag m t s ) ;
+ print_string(" ; C_flag=") ; print_bool(Matita_freescale_status.get_c_flag m t s ) ;
+ print_string(" ; IRQ_flag=") ; print_option_bool(Matita_freescale_status.get_irq_flag m t s ) ;
+ print_string(" }") ; print_newline())));;
+
+let compare_CPU_RAM =
+(function m -> (function t -> (function s1 -> (function s2 ->
+(match s1 with
+  Matita_datatypes_constructors.None -> print_string("None") ; print_newline()
+ | Matita_datatypes_constructors.Some(s) -> print_CPU Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s;
+match s2 with
+  Matita_datatypes_constructors.None -> print_string("None") ; print_newline()
+ | Matita_datatypes_constructors.Some(s) -> print_CPU Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s;
+match s1 with
+  Matita_datatypes_constructors.None -> print_string("None") ; print_newline()
+ | Matita_datatypes_constructors.Some(s) -> print_list_byte8(Matita_freescale_medium_tests_tools.byte8_hexdump Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s) (Matita_freescale_word16.Mk_word16(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1),Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))) (Matita_freescale_word16.nat_of_word16(Matita_freescale_word16.Mk_word16(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC),Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))); print_newline();
+match s2 with
+  Matita_datatypes_constructors.None -> print_string("None") ; print_newline()
+ | Matita_datatypes_constructors.Some(s) -> print_list_byte8(Matita_freescale_medium_tests_tools.byte8_hexdump Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s) (Matita_freescale_word16.Mk_word16(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1),Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))) (Matita_freescale_word16.nat_of_word16(Matita_freescale_word16.Mk_word16(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC),Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))) ; print_newline())))));;
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_exadecim.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_exadecim.ml
new file mode 100644 (file)
index 0000000..71a546b
--- /dev/null
@@ -0,0 +1,3570 @@
+type exadecim =
+X0
+ | X1
+ | X2
+ | X3
+ | X4
+ | X5
+ | X6
+ | X7
+ | X8
+ | X9
+ | XA
+ | XB
+ | XC
+ | XD
+ | XE
+ | XF
+;;
+
+let exadecim_rec =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function p5 -> (function p6 -> (function p7 -> (function p8 -> (function p9 -> (function p10 -> (function p11 -> (function p12 -> (function p13 -> (function p14 -> (function p15 -> (function e -> 
+(match e with 
+   X0 -> p
+ | X1 -> p1
+ | X2 -> p2
+ | X3 -> p3
+ | X4 -> p4
+ | X5 -> p5
+ | X6 -> p6
+ | X7 -> p7
+ | X8 -> p8
+ | X9 -> p9
+ | XA -> p10
+ | XB -> p11
+ | XC -> p12
+ | XD -> p13
+ | XE -> p14
+ | XF -> p15)
+)))))))))))))))))
+;;
+
+let exadecim_rect =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function p5 -> (function p6 -> (function p7 -> (function p8 -> (function p9 -> (function p10 -> (function p11 -> (function p12 -> (function p13 -> (function p14 -> (function p15 -> (function e -> 
+(match e with 
+   X0 -> p
+ | X1 -> p1
+ | X2 -> p2
+ | X3 -> p3
+ | X4 -> p4
+ | X5 -> p5
+ | X6 -> p6
+ | X7 -> p7
+ | X8 -> p8
+ | X9 -> p9
+ | XA -> p10
+ | XB -> p11
+ | XC -> p12
+ | XD -> p13
+ | XE -> p14
+ | XF -> p15)
+)))))))))))))))))
+;;
+
+let eq_ex =
+(function e1 -> (function e2 -> 
+(match e1 with 
+   X0 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X1 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X2 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X3 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X4 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X5 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X6 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X7 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X8 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X9 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XA -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XB -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XC -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XD -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XE -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.False)
+
+ | XF -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.True)
+)
+))
+;;
+
+let lt_ex =
+(function e1 -> (function e2 -> 
+(match e1 with 
+   X0 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X1 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X2 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X3 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X4 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X5 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X6 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X7 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X8 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X9 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | XA -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | XB -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | XC -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | XD -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | XE -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.True)
+
+ | XF -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+)
+))
+;;
+
+let le_ex =
+(function e1 -> (function e2 -> 
+(match e1 with 
+   X0 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X1 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X2 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X3 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X4 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X5 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X6 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X7 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X8 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | X9 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | XA -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | XB -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | XC -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | XD -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | XE -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+
+ | XF -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.True)
+)
+))
+;;
+
+let gt_ex =
+(function e1 -> (function e2 -> 
+(match e1 with 
+   X0 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X1 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X2 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X3 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X4 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X5 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X6 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X7 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X8 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X9 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XA -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XB -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XC -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XD -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XE -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XF -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.False)
+)
+))
+;;
+
+let ge_ex =
+(function e1 -> (function e2 -> 
+(match e1 with 
+   X0 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X1 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X2 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X3 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X4 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X5 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X6 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X7 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.False
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X8 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.False
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | X9 -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.False
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XA -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.False
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XB -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.False
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XC -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.False
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XD -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.False
+ | XF -> Matita_datatypes_bool.False)
+
+ | XE -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.False)
+
+ | XF -> 
+(match e2 with 
+   X0 -> Matita_datatypes_bool.True
+ | X1 -> Matita_datatypes_bool.True
+ | X2 -> Matita_datatypes_bool.True
+ | X3 -> Matita_datatypes_bool.True
+ | X4 -> Matita_datatypes_bool.True
+ | X5 -> Matita_datatypes_bool.True
+ | X6 -> Matita_datatypes_bool.True
+ | X7 -> Matita_datatypes_bool.True
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+)
+))
+;;
+
+let and_ex =
+(function e1 -> (function e2 -> 
+(match e1 with 
+   X0 -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X0
+ | X2 -> X0
+ | X3 -> X0
+ | X4 -> X0
+ | X5 -> X0
+ | X6 -> X0
+ | X7 -> X0
+ | X8 -> X0
+ | X9 -> X0
+ | XA -> X0
+ | XB -> X0
+ | XC -> X0
+ | XD -> X0
+ | XE -> X0
+ | XF -> X0)
+
+ | X1 -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X1
+ | X2 -> X0
+ | X3 -> X1
+ | X4 -> X0
+ | X5 -> X1
+ | X6 -> X0
+ | X7 -> X1
+ | X8 -> X0
+ | X9 -> X1
+ | XA -> X0
+ | XB -> X1
+ | XC -> X0
+ | XD -> X1
+ | XE -> X0
+ | XF -> X1)
+
+ | X2 -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X0
+ | X2 -> X2
+ | X3 -> X2
+ | X4 -> X0
+ | X5 -> X0
+ | X6 -> X2
+ | X7 -> X2
+ | X8 -> X0
+ | X9 -> X0
+ | XA -> X2
+ | XB -> X2
+ | XC -> X0
+ | XD -> X0
+ | XE -> X2
+ | XF -> X2)
+
+ | X3 -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X1
+ | X2 -> X2
+ | X3 -> X3
+ | X4 -> X0
+ | X5 -> X1
+ | X6 -> X2
+ | X7 -> X3
+ | X8 -> X0
+ | X9 -> X1
+ | XA -> X2
+ | XB -> X3
+ | XC -> X0
+ | XD -> X1
+ | XE -> X2
+ | XF -> X3)
+
+ | X4 -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X0
+ | X2 -> X0
+ | X3 -> X0
+ | X4 -> X4
+ | X5 -> X4
+ | X6 -> X4
+ | X7 -> X4
+ | X8 -> X0
+ | X9 -> X0
+ | XA -> X0
+ | XB -> X0
+ | XC -> X4
+ | XD -> X4
+ | XE -> X4
+ | XF -> X4)
+
+ | X5 -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X1
+ | X2 -> X0
+ | X3 -> X1
+ | X4 -> X4
+ | X5 -> X5
+ | X6 -> X4
+ | X7 -> X5
+ | X8 -> X0
+ | X9 -> X1
+ | XA -> X0
+ | XB -> X1
+ | XC -> X4
+ | XD -> X5
+ | XE -> X4
+ | XF -> X5)
+
+ | X6 -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X0
+ | X2 -> X2
+ | X3 -> X2
+ | X4 -> X4
+ | X5 -> X4
+ | X6 -> X6
+ | X7 -> X6
+ | X8 -> X0
+ | X9 -> X0
+ | XA -> X2
+ | XB -> X2
+ | XC -> X4
+ | XD -> X4
+ | XE -> X6
+ | XF -> X6)
+
+ | X7 -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X1
+ | X2 -> X2
+ | X3 -> X3
+ | X4 -> X4
+ | X5 -> X5
+ | X6 -> X6
+ | X7 -> X7
+ | X8 -> X0
+ | X9 -> X1
+ | XA -> X2
+ | XB -> X3
+ | XC -> X4
+ | XD -> X5
+ | XE -> X6
+ | XF -> X7)
+
+ | X8 -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X0
+ | X2 -> X0
+ | X3 -> X0
+ | X4 -> X0
+ | X5 -> X0
+ | X6 -> X0
+ | X7 -> X0
+ | X8 -> X8
+ | X9 -> X8
+ | XA -> X8
+ | XB -> X8
+ | XC -> X8
+ | XD -> X8
+ | XE -> X8
+ | XF -> X8)
+
+ | X9 -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X1
+ | X2 -> X0
+ | X3 -> X1
+ | X4 -> X0
+ | X5 -> X1
+ | X6 -> X0
+ | X7 -> X1
+ | X8 -> X8
+ | X9 -> X9
+ | XA -> X8
+ | XB -> X9
+ | XC -> X8
+ | XD -> X9
+ | XE -> X8
+ | XF -> X9)
+
+ | XA -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X0
+ | X2 -> X2
+ | X3 -> X2
+ | X4 -> X0
+ | X5 -> X0
+ | X6 -> X2
+ | X7 -> X2
+ | X8 -> X8
+ | X9 -> X8
+ | XA -> XA
+ | XB -> XA
+ | XC -> X8
+ | XD -> X8
+ | XE -> XA
+ | XF -> XA)
+
+ | XB -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X1
+ | X2 -> X2
+ | X3 -> X3
+ | X4 -> X0
+ | X5 -> X1
+ | X6 -> X2
+ | X7 -> X3
+ | X8 -> X8
+ | X9 -> X9
+ | XA -> XA
+ | XB -> XB
+ | XC -> X8
+ | XD -> X9
+ | XE -> XA
+ | XF -> XB)
+
+ | XC -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X0
+ | X2 -> X0
+ | X3 -> X0
+ | X4 -> X4
+ | X5 -> X4
+ | X6 -> X4
+ | X7 -> X4
+ | X8 -> X8
+ | X9 -> X8
+ | XA -> X8
+ | XB -> X8
+ | XC -> XC
+ | XD -> XC
+ | XE -> XC
+ | XF -> XC)
+
+ | XD -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X1
+ | X2 -> X0
+ | X3 -> X1
+ | X4 -> X4
+ | X5 -> X5
+ | X6 -> X4
+ | X7 -> X5
+ | X8 -> X8
+ | X9 -> X9
+ | XA -> X8
+ | XB -> X9
+ | XC -> XC
+ | XD -> XD
+ | XE -> XC
+ | XF -> XD)
+
+ | XE -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X0
+ | X2 -> X2
+ | X3 -> X2
+ | X4 -> X4
+ | X5 -> X4
+ | X6 -> X6
+ | X7 -> X6
+ | X8 -> X8
+ | X9 -> X8
+ | XA -> XA
+ | XB -> XA
+ | XC -> XC
+ | XD -> XC
+ | XE -> XE
+ | XF -> XE)
+
+ | XF -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X1
+ | X2 -> X2
+ | X3 -> X3
+ | X4 -> X4
+ | X5 -> X5
+ | X6 -> X6
+ | X7 -> X7
+ | X8 -> X8
+ | X9 -> X9
+ | XA -> XA
+ | XB -> XB
+ | XC -> XC
+ | XD -> XD
+ | XE -> XE
+ | XF -> XF)
+)
+))
+;;
+
+let or_ex =
+(function e1 -> (function e2 -> 
+(match e1 with 
+   X0 -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X1
+ | X2 -> X2
+ | X3 -> X3
+ | X4 -> X4
+ | X5 -> X5
+ | X6 -> X6
+ | X7 -> X7
+ | X8 -> X8
+ | X9 -> X9
+ | XA -> XA
+ | XB -> XB
+ | XC -> XC
+ | XD -> XD
+ | XE -> XE
+ | XF -> XF)
+
+ | X1 -> 
+(match e2 with 
+   X0 -> X1
+ | X1 -> X1
+ | X2 -> X3
+ | X3 -> X3
+ | X4 -> X5
+ | X5 -> X5
+ | X6 -> X7
+ | X7 -> X7
+ | X8 -> X9
+ | X9 -> X9
+ | XA -> XB
+ | XB -> XB
+ | XC -> XD
+ | XD -> XD
+ | XE -> XF
+ | XF -> XF)
+
+ | X2 -> 
+(match e2 with 
+   X0 -> X2
+ | X1 -> X3
+ | X2 -> X2
+ | X3 -> X3
+ | X4 -> X6
+ | X5 -> X7
+ | X6 -> X6
+ | X7 -> X7
+ | X8 -> XA
+ | X9 -> XB
+ | XA -> XA
+ | XB -> XB
+ | XC -> XE
+ | XD -> XF
+ | XE -> XE
+ | XF -> XF)
+
+ | X3 -> 
+(match e2 with 
+   X0 -> X3
+ | X1 -> X3
+ | X2 -> X3
+ | X3 -> X3
+ | X4 -> X7
+ | X5 -> X7
+ | X6 -> X7
+ | X7 -> X7
+ | X8 -> XB
+ | X9 -> XB
+ | XA -> XB
+ | XB -> XB
+ | XC -> XF
+ | XD -> XF
+ | XE -> XF
+ | XF -> XF)
+
+ | X4 -> 
+(match e2 with 
+   X0 -> X4
+ | X1 -> X5
+ | X2 -> X6
+ | X3 -> X7
+ | X4 -> X4
+ | X5 -> X5
+ | X6 -> X6
+ | X7 -> X7
+ | X8 -> XC
+ | X9 -> XD
+ | XA -> XE
+ | XB -> XF
+ | XC -> XC
+ | XD -> XD
+ | XE -> XE
+ | XF -> XF)
+
+ | X5 -> 
+(match e2 with 
+   X0 -> X5
+ | X1 -> X5
+ | X2 -> X7
+ | X3 -> X7
+ | X4 -> X5
+ | X5 -> X5
+ | X6 -> X7
+ | X7 -> X7
+ | X8 -> XD
+ | X9 -> XD
+ | XA -> XF
+ | XB -> XF
+ | XC -> XD
+ | XD -> XD
+ | XE -> XF
+ | XF -> XF)
+
+ | X6 -> 
+(match e2 with 
+   X0 -> X6
+ | X1 -> X7
+ | X2 -> X6
+ | X3 -> X7
+ | X4 -> X6
+ | X5 -> X7
+ | X6 -> X6
+ | X7 -> X7
+ | X8 -> XE
+ | X9 -> XF
+ | XA -> XE
+ | XB -> XF
+ | XC -> XE
+ | XD -> XF
+ | XE -> XE
+ | XF -> XF)
+
+ | X7 -> 
+(match e2 with 
+   X0 -> X7
+ | X1 -> X7
+ | X2 -> X7
+ | X3 -> X7
+ | X4 -> X7
+ | X5 -> X7
+ | X6 -> X7
+ | X7 -> X7
+ | X8 -> XF
+ | X9 -> XF
+ | XA -> XF
+ | XB -> XF
+ | XC -> XF
+ | XD -> XF
+ | XE -> XF
+ | XF -> XF)
+
+ | X8 -> 
+(match e2 with 
+   X0 -> X8
+ | X1 -> X9
+ | X2 -> XA
+ | X3 -> XB
+ | X4 -> XC
+ | X5 -> XD
+ | X6 -> XE
+ | X7 -> XF
+ | X8 -> X8
+ | X9 -> X9
+ | XA -> XA
+ | XB -> XB
+ | XC -> XC
+ | XD -> XD
+ | XE -> XE
+ | XF -> XF)
+
+ | X9 -> 
+(match e2 with 
+   X0 -> X9
+ | X1 -> X9
+ | X2 -> XB
+ | X3 -> XB
+ | X4 -> XD
+ | X5 -> XD
+ | X6 -> XF
+ | X7 -> XF
+ | X8 -> X9
+ | X9 -> X9
+ | XA -> XB
+ | XB -> XB
+ | XC -> XD
+ | XD -> XD
+ | XE -> XF
+ | XF -> XF)
+
+ | XA -> 
+(match e2 with 
+   X0 -> XA
+ | X1 -> XB
+ | X2 -> XA
+ | X3 -> XB
+ | X4 -> XE
+ | X5 -> XF
+ | X6 -> XE
+ | X7 -> XF
+ | X8 -> XA
+ | X9 -> XB
+ | XA -> XA
+ | XB -> XB
+ | XC -> XE
+ | XD -> XF
+ | XE -> XE
+ | XF -> XF)
+
+ | XB -> 
+(match e2 with 
+   X0 -> XB
+ | X1 -> XB
+ | X2 -> XB
+ | X3 -> XB
+ | X4 -> XF
+ | X5 -> XF
+ | X6 -> XF
+ | X7 -> XF
+ | X8 -> XB
+ | X9 -> XB
+ | XA -> XB
+ | XB -> XB
+ | XC -> XF
+ | XD -> XF
+ | XE -> XF
+ | XF -> XF)
+
+ | XC -> 
+(match e2 with 
+   X0 -> XC
+ | X1 -> XD
+ | X2 -> XE
+ | X3 -> XF
+ | X4 -> XC
+ | X5 -> XD
+ | X6 -> XE
+ | X7 -> XF
+ | X8 -> XC
+ | X9 -> XD
+ | XA -> XE
+ | XB -> XF
+ | XC -> XC
+ | XD -> XD
+ | XE -> XE
+ | XF -> XF)
+
+ | XD -> 
+(match e2 with 
+   X0 -> XD
+ | X1 -> XD
+ | X2 -> XF
+ | X3 -> XF
+ | X4 -> XD
+ | X5 -> XD
+ | X6 -> XF
+ | X7 -> XF
+ | X8 -> XD
+ | X9 -> XD
+ | XA -> XF
+ | XB -> XF
+ | XC -> XD
+ | XD -> XD
+ | XE -> XF
+ | XF -> XF)
+
+ | XE -> 
+(match e2 with 
+   X0 -> XE
+ | X1 -> XF
+ | X2 -> XE
+ | X3 -> XF
+ | X4 -> XE
+ | X5 -> XF
+ | X6 -> XE
+ | X7 -> XF
+ | X8 -> XE
+ | X9 -> XF
+ | XA -> XE
+ | XB -> XF
+ | XC -> XE
+ | XD -> XF
+ | XE -> XE
+ | XF -> XF)
+
+ | XF -> 
+(match e2 with 
+   X0 -> XF
+ | X1 -> XF
+ | X2 -> XF
+ | X3 -> XF
+ | X4 -> XF
+ | X5 -> XF
+ | X6 -> XF
+ | X7 -> XF
+ | X8 -> XF
+ | X9 -> XF
+ | XA -> XF
+ | XB -> XF
+ | XC -> XF
+ | XD -> XF
+ | XE -> XF
+ | XF -> XF)
+)
+))
+;;
+
+let xor_ex =
+(function e1 -> (function e2 -> 
+(match e1 with 
+   X0 -> 
+(match e2 with 
+   X0 -> X0
+ | X1 -> X1
+ | X2 -> X2
+ | X3 -> X3
+ | X4 -> X4
+ | X5 -> X5
+ | X6 -> X6
+ | X7 -> X7
+ | X8 -> X8
+ | X9 -> X9
+ | XA -> XA
+ | XB -> XB
+ | XC -> XC
+ | XD -> XD
+ | XE -> XE
+ | XF -> XF)
+
+ | X1 -> 
+(match e2 with 
+   X0 -> X1
+ | X1 -> X0
+ | X2 -> X3
+ | X3 -> X2
+ | X4 -> X5
+ | X5 -> X4
+ | X6 -> X7
+ | X7 -> X6
+ | X8 -> X9
+ | X9 -> X8
+ | XA -> XB
+ | XB -> XA
+ | XC -> XD
+ | XD -> XC
+ | XE -> XF
+ | XF -> XE)
+
+ | X2 -> 
+(match e2 with 
+   X0 -> X2
+ | X1 -> X3
+ | X2 -> X0
+ | X3 -> X1
+ | X4 -> X6
+ | X5 -> X7
+ | X6 -> X4
+ | X7 -> X5
+ | X8 -> XA
+ | X9 -> XB
+ | XA -> X8
+ | XB -> X9
+ | XC -> XE
+ | XD -> XF
+ | XE -> XC
+ | XF -> XD)
+
+ | X3 -> 
+(match e2 with 
+   X0 -> X3
+ | X1 -> X2
+ | X2 -> X1
+ | X3 -> X0
+ | X4 -> X7
+ | X5 -> X6
+ | X6 -> X5
+ | X7 -> X4
+ | X8 -> XB
+ | X9 -> XA
+ | XA -> X9
+ | XB -> X8
+ | XC -> XF
+ | XD -> XE
+ | XE -> XD
+ | XF -> XC)
+
+ | X4 -> 
+(match e2 with 
+   X0 -> X4
+ | X1 -> X5
+ | X2 -> X6
+ | X3 -> X7
+ | X4 -> X0
+ | X5 -> X1
+ | X6 -> X2
+ | X7 -> X3
+ | X8 -> XC
+ | X9 -> XD
+ | XA -> XE
+ | XB -> XF
+ | XC -> X8
+ | XD -> X9
+ | XE -> XA
+ | XF -> XB)
+
+ | X5 -> 
+(match e2 with 
+   X0 -> X5
+ | X1 -> X4
+ | X2 -> X7
+ | X3 -> X6
+ | X4 -> X1
+ | X5 -> X0
+ | X6 -> X3
+ | X7 -> X2
+ | X8 -> XD
+ | X9 -> XC
+ | XA -> XF
+ | XB -> XE
+ | XC -> X9
+ | XD -> X8
+ | XE -> XB
+ | XF -> XA)
+
+ | X6 -> 
+(match e2 with 
+   X0 -> X6
+ | X1 -> X7
+ | X2 -> X4
+ | X3 -> X5
+ | X4 -> X2
+ | X5 -> X3
+ | X6 -> X0
+ | X7 -> X1
+ | X8 -> XE
+ | X9 -> XF
+ | XA -> XC
+ | XB -> XD
+ | XC -> XA
+ | XD -> XB
+ | XE -> X8
+ | XF -> X9)
+
+ | X7 -> 
+(match e2 with 
+   X0 -> X7
+ | X1 -> X6
+ | X2 -> X5
+ | X3 -> X4
+ | X4 -> X3
+ | X5 -> X2
+ | X6 -> X1
+ | X7 -> X0
+ | X8 -> XF
+ | X9 -> XE
+ | XA -> XD
+ | XB -> XC
+ | XC -> XB
+ | XD -> XA
+ | XE -> X9
+ | XF -> X8)
+
+ | X8 -> 
+(match e2 with 
+   X0 -> X8
+ | X1 -> X9
+ | X2 -> XA
+ | X3 -> XB
+ | X4 -> XC
+ | X5 -> XD
+ | X6 -> XE
+ | X7 -> XF
+ | X8 -> X0
+ | X9 -> X1
+ | XA -> X2
+ | XB -> X3
+ | XC -> X4
+ | XD -> X5
+ | XE -> X6
+ | XF -> X7)
+
+ | X9 -> 
+(match e2 with 
+   X0 -> X9
+ | X1 -> X8
+ | X2 -> XB
+ | X3 -> XA
+ | X4 -> XD
+ | X5 -> XC
+ | X6 -> XF
+ | X7 -> XE
+ | X8 -> X1
+ | X9 -> X0
+ | XA -> X3
+ | XB -> X2
+ | XC -> X5
+ | XD -> X4
+ | XE -> X7
+ | XF -> X6)
+
+ | XA -> 
+(match e2 with 
+   X0 -> XA
+ | X1 -> XB
+ | X2 -> X8
+ | X3 -> X9
+ | X4 -> XE
+ | X5 -> XF
+ | X6 -> XC
+ | X7 -> XD
+ | X8 -> X2
+ | X9 -> X3
+ | XA -> X0
+ | XB -> X1
+ | XC -> X6
+ | XD -> X7
+ | XE -> X4
+ | XF -> X5)
+
+ | XB -> 
+(match e2 with 
+   X0 -> XB
+ | X1 -> XA
+ | X2 -> X9
+ | X3 -> X8
+ | X4 -> XF
+ | X5 -> XE
+ | X6 -> XD
+ | X7 -> XC
+ | X8 -> X3
+ | X9 -> X2
+ | XA -> X1
+ | XB -> X0
+ | XC -> X7
+ | XD -> X6
+ | XE -> X5
+ | XF -> X4)
+
+ | XC -> 
+(match e2 with 
+   X0 -> XC
+ | X1 -> XD
+ | X2 -> XE
+ | X3 -> XF
+ | X4 -> X8
+ | X5 -> X9
+ | X6 -> XA
+ | X7 -> XB
+ | X8 -> X4
+ | X9 -> X5
+ | XA -> X6
+ | XB -> X7
+ | XC -> X0
+ | XD -> X1
+ | XE -> X2
+ | XF -> X3)
+
+ | XD -> 
+(match e2 with 
+   X0 -> XD
+ | X1 -> XC
+ | X2 -> XF
+ | X3 -> XE
+ | X4 -> X9
+ | X5 -> X8
+ | X6 -> XB
+ | X7 -> XA
+ | X8 -> X5
+ | X9 -> X4
+ | XA -> X7
+ | XB -> X6
+ | XC -> X1
+ | XD -> X0
+ | XE -> X3
+ | XF -> X2)
+
+ | XE -> 
+(match e2 with 
+   X0 -> XE
+ | X1 -> XF
+ | X2 -> XC
+ | X3 -> XD
+ | X4 -> XA
+ | X5 -> XB
+ | X6 -> X8
+ | X7 -> X9
+ | X8 -> X6
+ | X9 -> X7
+ | XA -> X4
+ | XB -> X5
+ | XC -> X2
+ | XD -> X3
+ | XE -> X0
+ | XF -> X1)
+
+ | XF -> 
+(match e2 with 
+   X0 -> XF
+ | X1 -> XE
+ | X2 -> XD
+ | X3 -> XC
+ | X4 -> XB
+ | X5 -> XA
+ | X6 -> X9
+ | X7 -> X8
+ | X8 -> X7
+ | X9 -> X6
+ | XA -> X5
+ | XB -> X4
+ | XC -> X3
+ | XD -> X2
+ | XE -> X1
+ | XF -> X0)
+)
+))
+;;
+
+let rcr_ex =
+(function e -> (function c -> 
+(match c with 
+   Matita_datatypes_bool.True -> 
+(match e with 
+   X0 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | X2 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | X4 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | XD -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XF -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.True)))
+
+ | Matita_datatypes_bool.False -> 
+(match e with 
+   X0 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X2 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X4 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | XD -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | XF -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True)))
+)
+))
+;;
+
+let shr_ex =
+(function e -> 
+(match e with 
+   X0 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X2 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X4 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | XD -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | XF -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True)))
+)
+;;
+
+let ror_ex =
+(function e -> 
+(match e with 
+   X0 -> X0
+ | X1 -> X8
+ | X2 -> X1
+ | X3 -> X9
+ | X4 -> X2
+ | X5 -> XA
+ | X6 -> X3
+ | X7 -> XB
+ | X8 -> X4
+ | X9 -> XC
+ | XA -> X5
+ | XB -> XD
+ | XC -> X6
+ | XD -> XE
+ | XE -> X7
+ | XF -> XF)
+)
+;;
+
+let ror_ex_n =
+let rec ror_ex_n = 
+(function e -> (function n -> 
+(match n with 
+   Matita_nat_nat.O -> e
+ | Matita_nat_nat.S(n') -> (ror_ex_n (ror_ex e) n'))
+)) in ror_ex_n
+;;
+
+let rcl_ex =
+(function e -> (function c -> 
+(match c with 
+   Matita_datatypes_bool.True -> 
+(match e with 
+   X0 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.True)))
+
+ | Matita_datatypes_bool.False -> 
+(match e with 
+   X0 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.True)))
+)
+))
+;;
+
+let shl_ex =
+(function e -> 
+(match e with 
+   X0 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.True)))
+)
+;;
+
+let rol_ex =
+(function e -> 
+(match e with 
+   X0 -> X0
+ | X1 -> X2
+ | X2 -> X4
+ | X3 -> X6
+ | X4 -> X8
+ | X5 -> XA
+ | X6 -> XC
+ | X7 -> XE
+ | X8 -> X1
+ | X9 -> X3
+ | XA -> X5
+ | XB -> X7
+ | XC -> X9
+ | XD -> XB
+ | XE -> XD
+ | XF -> XF)
+)
+;;
+
+let rol_ex_n =
+let rec rol_ex_n = 
+(function e -> (function n -> 
+(match n with 
+   Matita_nat_nat.O -> e
+ | Matita_nat_nat.S(n') -> (rol_ex_n (rol_ex e) n'))
+)) in rol_ex_n
+;;
+
+let not_ex =
+(function e -> 
+(match e with 
+   X0 -> XF
+ | X1 -> XE
+ | X2 -> XD
+ | X3 -> XC
+ | X4 -> XB
+ | X5 -> XA
+ | X6 -> X9
+ | X7 -> X8
+ | X8 -> X7
+ | X9 -> X6
+ | XA -> X5
+ | XB -> X4
+ | XC -> X3
+ | XD -> X2
+ | XE -> X1
+ | XF -> X0)
+)
+;;
+
+let plus_ex =
+(function e1 -> (function e2 -> (function c -> 
+(match c with 
+   Matita_datatypes_bool.True -> 
+(match e1 with 
+   X0 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | XC -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | XD -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | XE -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XF -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True)))
+
+ | X1 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | XC -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | XD -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XE -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True)))
+
+ | X2 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | XC -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XD -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True)))
+
+ | X3 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XC -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True)))
+
+ | X4 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True)))
+
+ | X5 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True)))
+
+ | X6 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True)))
+
+ | X7 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True)))
+
+ | X8 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True)))
+
+ | X9 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True)))
+
+ | XA -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True)))
+
+ | XB -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X5 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.True)))
+
+ | XC -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X4 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X5 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.True)))
+
+ | XD -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X3 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X4 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X5 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.True)))
+
+ | XE -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X2 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X3 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X4 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X5 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.True)))
+
+ | XF -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X1 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X2 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X3 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X4 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | X5 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.True)))
+)
+
+ | Matita_datatypes_bool.False -> 
+(match e1 with 
+   X0 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | XC -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | XD -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | XE -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | XF -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False)))
+
+ | X1 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | XC -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | XD -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | XE -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XF -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True)))
+
+ | X2 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | XC -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | XD -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XE -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True)))
+
+ | X3 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | XC -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XD -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True)))
+
+ | X4 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XC -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True)))
+
+ | X5 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XB -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True)))
+
+ | X6 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | XA -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True)))
+
+ | X7 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X9 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True)))
+
+ | X8 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X8 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True)))
+
+ | X9 -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X7 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True)))
+
+ | XA -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X6 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True)))
+
+ | XB -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X5 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True)))
+
+ | XC -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X4 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X5 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.True)))
+
+ | XD -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X3 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X4 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X5 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.True)))
+
+ | XE -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X2 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X3 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X4 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X5 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.True)))
+
+ | XF -> 
+(match e2 with 
+   X0 -> (Matita_datatypes_constructors.Pair(XF,Matita_datatypes_bool.False))
+ | X1 -> (Matita_datatypes_constructors.Pair(X0,Matita_datatypes_bool.True))
+ | X2 -> (Matita_datatypes_constructors.Pair(X1,Matita_datatypes_bool.True))
+ | X3 -> (Matita_datatypes_constructors.Pair(X2,Matita_datatypes_bool.True))
+ | X4 -> (Matita_datatypes_constructors.Pair(X3,Matita_datatypes_bool.True))
+ | X5 -> (Matita_datatypes_constructors.Pair(X4,Matita_datatypes_bool.True))
+ | X6 -> (Matita_datatypes_constructors.Pair(X5,Matita_datatypes_bool.True))
+ | X7 -> (Matita_datatypes_constructors.Pair(X6,Matita_datatypes_bool.True))
+ | X8 -> (Matita_datatypes_constructors.Pair(X7,Matita_datatypes_bool.True))
+ | X9 -> (Matita_datatypes_constructors.Pair(X8,Matita_datatypes_bool.True))
+ | XA -> (Matita_datatypes_constructors.Pair(X9,Matita_datatypes_bool.True))
+ | XB -> (Matita_datatypes_constructors.Pair(XA,Matita_datatypes_bool.True))
+ | XC -> (Matita_datatypes_constructors.Pair(XB,Matita_datatypes_bool.True))
+ | XD -> (Matita_datatypes_constructors.Pair(XC,Matita_datatypes_bool.True))
+ | XE -> (Matita_datatypes_constructors.Pair(XD,Matita_datatypes_bool.True))
+ | XF -> (Matita_datatypes_constructors.Pair(XE,Matita_datatypes_bool.True)))
+)
+)
+)))
+;;
+
+let plus_exnc =
+(function e1 -> (function e2 -> (Matita_datatypes_constructors.fst (plus_ex e1 e2 Matita_datatypes_bool.False))))
+;;
+
+let plus_exc =
+(function e1 -> (function e2 -> (Matita_datatypes_constructors.snd (plus_ex e1 e2 Matita_datatypes_bool.False))))
+;;
+
+let mSB_ex =
+(function e -> 
+(match e with 
+   X0 -> Matita_datatypes_bool.False
+ | X1 -> Matita_datatypes_bool.False
+ | X2 -> Matita_datatypes_bool.False
+ | X3 -> Matita_datatypes_bool.False
+ | X4 -> Matita_datatypes_bool.False
+ | X5 -> Matita_datatypes_bool.False
+ | X6 -> Matita_datatypes_bool.False
+ | X7 -> Matita_datatypes_bool.False
+ | X8 -> Matita_datatypes_bool.True
+ | X9 -> Matita_datatypes_bool.True
+ | XA -> Matita_datatypes_bool.True
+ | XB -> Matita_datatypes_bool.True
+ | XC -> Matita_datatypes_bool.True
+ | XD -> Matita_datatypes_bool.True
+ | XE -> Matita_datatypes_bool.True
+ | XF -> Matita_datatypes_bool.True)
+)
+;;
+
+let nat_of_exadecim =
+(function e -> 
+(match e with 
+   X0 -> Matita_nat_nat.O
+ | X1 -> (Matita_nat_nat.S(Matita_nat_nat.O))
+ | X2 -> (Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))
+ | X3 -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))
+ | X4 -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))
+ | X5 -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))
+ | X6 -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))
+ | X7 -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))
+ | X8 -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))))
+ | X9 -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))))))
+ | XA -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))))))))
+ | XB -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))))))))))
+ | XC -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))))))))))))
+ | XD -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))))))))))))))
+ | XE -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))))))))))))))))
+ | XF -> (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))))))))))))))))))))))))))))
+)
+;;
+
+let exadecim_of_nat =
+let rec exadecim_of_nat = 
+(function n -> 
+(match n with 
+   Matita_nat_nat.O -> X0
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> X1
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> X2
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> X3
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> X4
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> X5
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> X6
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> X7
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> X8
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> X9
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> XA
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> XB
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> XC
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> XD
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> XE
+ | Matita_nat_nat.S(n) -> 
+(match n with 
+   Matita_nat_nat.O -> XF
+ | Matita_nat_nat.S(n) -> (exadecim_of_nat n))
+)
+)
+)
+)
+)
+)
+)
+)
+)
+)
+)
+)
+)
+)
+)
+) in exadecim_of_nat
+;;
+
+let pred_ex =
+(function e -> 
+(match e with 
+   X0 -> XF
+ | X1 -> X0
+ | X2 -> X1
+ | X3 -> X2
+ | X4 -> X3
+ | X5 -> X4
+ | X6 -> X5
+ | X7 -> X6
+ | X8 -> X7
+ | X9 -> X8
+ | XA -> X9
+ | XB -> XA
+ | XC -> XB
+ | XD -> XC
+ | XE -> XD
+ | XF -> XE)
+)
+;;
+
+let succ_ex =
+(function e -> 
+(match e with 
+   X0 -> X1
+ | X1 -> X2
+ | X2 -> X3
+ | X3 -> X4
+ | X4 -> X5
+ | X5 -> X6
+ | X6 -> X7
+ | X7 -> X8
+ | X8 -> X9
+ | X9 -> XA
+ | XA -> XB
+ | XB -> XC
+ | XC -> XD
+ | XD -> XE
+ | XE -> XF
+ | XF -> X0)
+)
+;;
+
+let compl_ex =
+(function e -> 
+(match e with 
+   X0 -> X0
+ | X1 -> XF
+ | X2 -> XE
+ | X3 -> XD
+ | X4 -> XC
+ | X5 -> XB
+ | X6 -> XA
+ | X7 -> X9
+ | X8 -> X8
+ | X9 -> X7
+ | XA -> X6
+ | XB -> X5
+ | XC -> X4
+ | XD -> X3
+ | XE -> X2
+ | XF -> X1)
+)
+;;
+
+let forall_exadecim =
+(function p -> (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (p X0) (p X1)) (p X2)) (p X3)) (p X4)) (p X5)) (p X6)) (p X7)) (p X8)) (p X9)) (p XA)) (p XB)) (p XC)) (p XD)) (p XE)) (p XF)))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_extra.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_extra.ml
new file mode 100644 (file)
index 0000000..e460052
--- /dev/null
@@ -0,0 +1,194 @@
+let not_bool =
+(function b -> 
+(match b with 
+   Matita_datatypes_bool.True -> Matita_datatypes_bool.False
+ | Matita_datatypes_bool.False -> Matita_datatypes_bool.True)
+)
+;;
+
+let and_bool =
+(function b1 -> (function b2 -> 
+(match b1 with 
+   Matita_datatypes_bool.True -> b2
+ | Matita_datatypes_bool.False -> Matita_datatypes_bool.False)
+))
+;;
+
+let or_bool =
+(function b1 -> (function b2 -> 
+(match b1 with 
+   Matita_datatypes_bool.True -> Matita_datatypes_bool.True
+ | Matita_datatypes_bool.False -> b2)
+))
+;;
+
+let xor_bool =
+(function b1 -> (function b2 -> 
+(match b1 with 
+   Matita_datatypes_bool.True -> (not_bool b2)
+ | Matita_datatypes_bool.False -> b2)
+))
+;;
+
+let eq_bool =
+(function b1 -> (function b2 -> 
+(match b1 with 
+   Matita_datatypes_bool.True -> b2
+ | Matita_datatypes_bool.False -> (not_bool b2))
+))
+;;
+
+type ('t1,'t2,'t3) prod3T =
+TripleT of 't1 * 't2 * 't3
+;;
+
+let prod3T_rec =
+(function f -> (function p -> 
+(match p with 
+   TripleT(t,t1,t2) -> (f t t1 t2))
+))
+;;
+
+let prod3T_rect =
+(function f -> (function p -> 
+(match p with 
+   TripleT(t,t1,t2) -> (f t t1 t2))
+))
+;;
+
+let fst3T =
+(function p -> 
+(match p with 
+   TripleT(x,_,_) -> x)
+)
+;;
+
+let snd3T =
+(function p -> 
+(match p with 
+   TripleT(_,x,_) -> x)
+)
+;;
+
+let thd3T =
+(function p -> 
+(match p with 
+   TripleT(_,_,x) -> x)
+)
+;;
+
+type ('t1,'t2,'t3,'t4) prod4T =
+QuadrupleT of 't1 * 't2 * 't3 * 't4
+;;
+
+let prod4T_rec =
+(function f -> (function p -> 
+(match p with 
+   QuadrupleT(t,t1,t2,t3) -> (f t t1 t2 t3))
+))
+;;
+
+let prod4T_rect =
+(function f -> (function p -> 
+(match p with 
+   QuadrupleT(t,t1,t2,t3) -> (f t t1 t2 t3))
+))
+;;
+
+let fst4T =
+(function p -> 
+(match p with 
+   QuadrupleT(x,_,_,_) -> x)
+)
+;;
+
+let snd4T =
+(function p -> 
+(match p with 
+   QuadrupleT(_,x,_,_) -> x)
+)
+;;
+
+let thd4T =
+(function p -> 
+(match p with 
+   QuadrupleT(_,_,x,_) -> x)
+)
+;;
+
+let fth4T =
+(function p -> 
+(match p with 
+   QuadrupleT(_,_,_,x) -> x)
+)
+;;
+
+type ('t1,'t2,'t3,'t4,'t5) prod5T =
+QuintupleT of 't1 * 't2 * 't3 * 't4 * 't5
+;;
+
+let prod5T_rec =
+(function f -> (function p -> 
+(match p with 
+   QuintupleT(t,t1,t2,t3,t4) -> (f t t1 t2 t3 t4))
+))
+;;
+
+let prod5T_rect =
+(function f -> (function p -> 
+(match p with 
+   QuintupleT(t,t1,t2,t3,t4) -> (f t t1 t2 t3 t4))
+))
+;;
+
+let fst5T =
+(function p -> 
+(match p with 
+   QuintupleT(x,_,_,_,_) -> x)
+)
+;;
+
+let snd5T =
+(function p -> 
+(match p with 
+   QuintupleT(_,x,_,_,_) -> x)
+)
+;;
+
+let thd5T =
+(function p -> 
+(match p with 
+   QuintupleT(_,_,x,_,_) -> x)
+)
+;;
+
+let frth5T =
+(function p -> 
+(match p with 
+   QuintupleT(_,_,_,x,_) -> x)
+)
+;;
+
+let ffth5T =
+(function p -> 
+(match p with 
+   QuintupleT(_,_,_,_,x) -> x)
+)
+;;
+
+let opt_map =
+(function t -> (function f -> 
+(match t with 
+   Matita_datatypes_constructors.None -> (Matita_datatypes_constructors.None)
+ | Matita_datatypes_constructors.Some(x) -> (f x))
+))
+;;
+
+let nat_of_bool =
+(function b -> 
+(match b with 
+   Matita_datatypes_bool.True -> (Matita_nat_nat.S(Matita_nat_nat.O))
+ | Matita_datatypes_bool.False -> Matita_nat_nat.O)
+)
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_load_write.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_load_write.ml
new file mode 100644 (file)
index 0000000..2287697
--- /dev/null
@@ -0,0 +1,575 @@
+type error_type =
+ILL_OP
+ | ILL_FETCH_AD
+ | ILL_EX_AD
+;;
+
+let error_type_rec =
+(function p -> (function p1 -> (function p2 -> (function e -> 
+(match e with 
+   ILL_OP -> p
+ | ILL_FETCH_AD -> p1
+ | ILL_EX_AD -> p2)
+))))
+;;
+
+let error_type_rect =
+(function p -> (function p1 -> (function p2 -> (function e -> 
+(match e with 
+   ILL_OP -> p
+ | ILL_FETCH_AD -> p1
+ | ILL_EX_AD -> p2)
+))))
+;;
+
+type ('a) fetch_result =
+FetchERR of error_type
+ | FetchOK of 'a * Matita_freescale_word16.word16
+;;
+
+let fetch_result_rec =
+(function f -> (function f1 -> (function f2 -> 
+(match f2 with 
+   FetchERR(e) -> (f e)
+ | FetchOK(t,w) -> (f1 t w))
+)))
+;;
+
+let fetch_result_rect =
+(function f -> (function f1 -> (function f2 -> 
+(match f2 with 
+   FetchERR(e) -> (f e)
+ | FetchOK(t,w) -> (f1 t w))
+)))
+;;
+
+let rS08_memory_filter_read_aux =
+(function t -> (function s -> (function addr -> (function fREG -> (function fMEM -> 
+(match s with 
+   Matita_freescale_status.Mk_any_status(alu,mem,chk,_) -> 
+(match Obj.magic(alu) with 
+   Matita_freescale_status.Mk_alu_RS08(_,_,_,_,xm,psm,_,_) -> 
+(match (Matita_freescale_extra.or_bool (Matita_freescale_extra.or_bool (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF))))) (Matita_freescale_extra.and_bool (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))))) (Matita_freescale_byte8.eq_b8 xm (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF))))) (Matita_freescale_extra.and_bool (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF))))) (Matita_freescale_byte8.eq_b8 psm (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))) with 
+   Matita_datatypes_bool.True -> (fREG xm)
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_extra.or_bool (Matita_freescale_extra.or_bool (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF))))) (Matita_freescale_extra.and_bool (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))))) (Matita_freescale_byte8.eq_b8 xm (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF))))) (Matita_freescale_extra.and_bool (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF))))) (Matita_freescale_byte8.eq_b8 psm (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))) with 
+   Matita_datatypes_bool.True -> (fREG psm)
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))))) with 
+   Matita_datatypes_bool.True -> (fMEM mem chk (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),xm)))
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_word16.in_range addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)))) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))))) with 
+   Matita_datatypes_bool.True -> (fMEM mem chk (Matita_freescale_word16.or_w16 (Matita_datatypes_constructors.fst (Matita_freescale_word16.shr_w16 (Matita_datatypes_constructors.fst (Matita_freescale_word16.shr_w16 (Matita_freescale_word16.Mk_word16(psm,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))))))) (Matita_freescale_word16.and_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))))))
+ | Matita_datatypes_bool.False -> (fMEM mem chk addr))
+)
+)
+)
+)
+)
+)))))
+;;
+
+let rS08_memory_filter_read =
+(function t -> (function s -> (function addr -> (rS08_memory_filter_read_aux t s addr (function b -> (Matita_datatypes_constructors.Some(b))) (function m -> (function c -> (function a -> (Matita_freescale_memory_abs.mem_read t m c a))))))))
+;;
+
+let rS08_memory_filter_read_bit =
+(function t -> (function s -> (function addr -> (function sub -> (rS08_memory_filter_read_aux t s addr (function b -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T sub (Matita_freescale_memory_struct.bits_of_byte8 b))))) (function m -> (function c -> (function a -> (Matita_freescale_memory_abs.mem_read_bit t m c a sub)))))))))
+;;
+
+let memory_filter_read =
+(function m -> (function t -> 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function s -> (function addr -> (Matita_freescale_memory_abs.mem_read t (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HC05 t s) (Matita_freescale_status.get_chk_desc Matita_freescale_opcode.HC05 t s) addr))))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function s -> (function addr -> (Matita_freescale_memory_abs.mem_read t (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HC08 t s) (Matita_freescale_status.get_chk_desc Matita_freescale_opcode.HC08 t s) addr))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function s -> (function addr -> (Matita_freescale_memory_abs.mem_read t (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HCS08 t s) (Matita_freescale_status.get_chk_desc Matita_freescale_opcode.HCS08 t s) addr))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function s -> (function addr -> (rS08_memory_filter_read t s addr)))))
+))
+;;
+
+let memory_filter_read_bit =
+(function m -> (function t -> 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function s -> (function addr -> (function sub -> (Matita_freescale_memory_abs.mem_read_bit t (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HC05 t s) (Matita_freescale_status.get_chk_desc Matita_freescale_opcode.HC05 t s) addr sub)))))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function s -> (function addr -> (function sub -> (Matita_freescale_memory_abs.mem_read_bit t (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HC08 t s) (Matita_freescale_status.get_chk_desc Matita_freescale_opcode.HC08 t s) addr sub)))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function s -> (function addr -> (function sub -> (Matita_freescale_memory_abs.mem_read_bit t (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HCS08 t s) (Matita_freescale_status.get_chk_desc Matita_freescale_opcode.HCS08 t s) addr sub)))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function s -> (function addr -> (function sub -> (rS08_memory_filter_read_bit t s addr sub))))))
+))
+;;
+
+let rS08_memory_filter_write_aux =
+(function t -> (function s -> (function addr -> (function fREG -> (function fMEM -> 
+(match s with 
+   Matita_freescale_status.Mk_any_status(alu,mem,chk,clk) -> 
+(match Obj.magic(alu) with 
+   Matita_freescale_status.Mk_alu_RS08(acclow,pc,pcm,spc,xm,psm,zfl,cfl) -> 
+(match (Matita_freescale_extra.or_bool (Matita_freescale_extra.or_bool (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF))))) (Matita_freescale_extra.and_bool (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))))) (Matita_freescale_byte8.eq_b8 xm (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF))))) (Matita_freescale_extra.and_bool (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF))))) (Matita_freescale_byte8.eq_b8 psm (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))) with 
+   Matita_datatypes_bool.True -> (Matita_datatypes_constructors.Some((Matita_freescale_status.Mk_any_status((Obj.magic(Matita_freescale_status.Mk_alu_RS08(acclow,pc,pcm,spc,(fREG xm),psm,zfl,cfl))),mem,chk,clk))))
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_extra.or_bool (Matita_freescale_extra.or_bool (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF))))) (Matita_freescale_extra.and_bool (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))))) (Matita_freescale_byte8.eq_b8 xm (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF))))) (Matita_freescale_extra.and_bool (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF))))) (Matita_freescale_byte8.eq_b8 psm (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))) with 
+   Matita_datatypes_bool.True -> (Matita_datatypes_constructors.Some((Matita_freescale_status.Mk_any_status((Obj.magic(Matita_freescale_status.Mk_alu_RS08(acclow,pc,pcm,spc,xm,(fREG psm),zfl,cfl))),mem,chk,clk))))
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_word16.eq_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))))) with 
+   Matita_datatypes_bool.True -> (Matita_freescale_extra.opt_map (fMEM mem chk (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),xm))) (function mem' -> (Matita_datatypes_constructors.Some((Matita_freescale_status.Mk_any_status((Obj.magic(Matita_freescale_status.Mk_alu_RS08(acclow,pc,pcm,spc,xm,psm,zfl,cfl))),mem',chk,clk))))))
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_word16.in_range addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)))) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))))) with 
+   Matita_datatypes_bool.True -> (Matita_freescale_extra.opt_map (fMEM mem chk (Matita_freescale_word16.or_w16 (Matita_datatypes_constructors.fst (Matita_freescale_word16.shr_w16 (Matita_datatypes_constructors.fst (Matita_freescale_word16.shr_w16 (Matita_freescale_word16.Mk_word16(psm,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))))))) (Matita_freescale_word16.and_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF))))))) (function mem' -> (Matita_datatypes_constructors.Some((Matita_freescale_status.Mk_any_status((Obj.magic(Matita_freescale_status.Mk_alu_RS08(acclow,pc,pcm,spc,xm,psm,zfl,cfl))),mem',chk,clk))))))
+ | Matita_datatypes_bool.False -> (Matita_freescale_extra.opt_map (fMEM mem chk addr) (function mem' -> (Matita_datatypes_constructors.Some((Matita_freescale_status.Mk_any_status((Obj.magic(Matita_freescale_status.Mk_alu_RS08(acclow,pc,pcm,spc,xm,psm,zfl,cfl))),mem',chk,clk)))))))
+)
+)
+)
+)
+)
+)))))
+;;
+
+let rS08_memory_filter_write =
+(function t -> (function s -> (function addr -> (function val_ -> (rS08_memory_filter_write_aux t s addr (function b -> val_) (function m -> (function c -> (function a -> (Matita_freescale_memory_abs.mem_update t m c a val_)))))))))
+;;
+
+let rS08_memory_filter_write_bit =
+(function t -> (function s -> (function addr -> (function sub -> (function val_ -> (rS08_memory_filter_write_aux t s addr (function b -> (Matita_freescale_memory_struct.byte8_of_bits (Matita_freescale_memory_struct.setn_array8T sub (Matita_freescale_memory_struct.bits_of_byte8 b) val_))) (function m -> (function c -> (function a -> (Matita_freescale_memory_abs.mem_update_bit t m c a sub val_))))))))))
+;;
+
+let memory_filter_write =
+(function m -> (function t -> 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function s -> (function addr -> (function val_ -> (Matita_freescale_extra.opt_map (Matita_freescale_memory_abs.mem_update t (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HC05 t s) (Matita_freescale_status.get_chk_desc Matita_freescale_opcode.HC05 t s) addr val_) (function mem -> (Matita_datatypes_constructors.Some((Matita_freescale_status.set_mem_desc Matita_freescale_opcode.HC05 t s mem)))))))))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function s -> (function addr -> (function val_ -> (Matita_freescale_extra.opt_map (Matita_freescale_memory_abs.mem_update t (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HC08 t s) (Matita_freescale_status.get_chk_desc Matita_freescale_opcode.HC08 t s) addr val_) (function mem -> (Matita_datatypes_constructors.Some((Matita_freescale_status.set_mem_desc Matita_freescale_opcode.HC08 t s mem)))))))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function s -> (function addr -> (function val_ -> (Matita_freescale_extra.opt_map (Matita_freescale_memory_abs.mem_update t (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HCS08 t s) (Matita_freescale_status.get_chk_desc Matita_freescale_opcode.HCS08 t s) addr val_) (function mem -> (Matita_datatypes_constructors.Some((Matita_freescale_status.set_mem_desc Matita_freescale_opcode.HCS08 t s mem)))))))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function s -> (function addr -> (function val_ -> (rS08_memory_filter_write t s addr val_))))))
+))
+;;
+
+let memory_filter_write_bit =
+(function m -> (function t -> 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function s -> (function addr -> (function sub -> (function val_ -> (Matita_freescale_extra.opt_map (Matita_freescale_memory_abs.mem_update_bit t (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HC05 t s) (Matita_freescale_status.get_chk_desc Matita_freescale_opcode.HC05 t s) addr sub val_) (function mem -> (Matita_datatypes_constructors.Some((Matita_freescale_status.set_mem_desc Matita_freescale_opcode.HC05 t s mem))))))))))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function s -> (function addr -> (function sub -> (function val_ -> (Matita_freescale_extra.opt_map (Matita_freescale_memory_abs.mem_update_bit t (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HC08 t s) (Matita_freescale_status.get_chk_desc Matita_freescale_opcode.HC08 t s) addr sub val_) (function mem -> (Matita_datatypes_constructors.Some((Matita_freescale_status.set_mem_desc Matita_freescale_opcode.HC08 t s mem))))))))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function s -> (function addr -> (function sub -> (function val_ -> (Matita_freescale_extra.opt_map (Matita_freescale_memory_abs.mem_update_bit t (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HCS08 t s) (Matita_freescale_status.get_chk_desc Matita_freescale_opcode.HCS08 t s) addr sub val_) (function mem -> (Matita_datatypes_constructors.Some((Matita_freescale_status.set_mem_desc Matita_freescale_opcode.HCS08 t s mem))))))))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function s -> (function addr -> (function sub -> (function val_ -> (rS08_memory_filter_write_bit t s addr sub val_)))))))
+))
+;;
+
+let filtered_inc_w16 =
+(function m -> (function t -> (function s -> (function w -> (Matita_freescale_status.get_pc_reg m t (Matita_freescale_status.set_pc_reg m t s (Matita_freescale_word16.succ_w16 w)))))))
+;;
+
+let filtered_plus_w16 =
+let rec filtered_plus_w16 = 
+(function m -> (function t -> (function s -> (function w -> (function n -> 
+(match n with 
+   Matita_nat_nat.O -> w
+ | Matita_nat_nat.S(n') -> (filtered_plus_w16 m t s (filtered_inc_w16 m t s w) n'))
+))))) in filtered_plus_w16
+;;
+
+let fetch =
+(function m -> (function t -> (function s -> (let pc = (Matita_freescale_status.get_pc_reg m t s) in (let pc_next1 = (filtered_inc_w16 m t s pc) in (let pc_next2 = (filtered_inc_w16 m t s pc_next1) in 
+(match (memory_filter_read m t s pc) with 
+   Matita_datatypes_constructors.None -> (FetchERR(ILL_FETCH_AD))
+ | Matita_datatypes_constructors.Some(bh) -> 
+(match (Matita_freescale_translation.full_info_of_word16 m (Matita_freescale_opcode.Byte(bh))) with 
+   Matita_datatypes_constructors.None -> 
+(match m with 
+   Matita_freescale_opcode.HC05 -> (FetchERR(ILL_OP))
+ | Matita_freescale_opcode.HC08 -> 
+(match (Matita_freescale_byte8.eq_b8 bh (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE))) with 
+   Matita_datatypes_bool.True -> 
+(match (memory_filter_read m t s pc_next1) with 
+   Matita_datatypes_constructors.None -> (FetchERR(ILL_FETCH_AD))
+ | Matita_datatypes_constructors.Some(bl) -> 
+(match (Matita_freescale_translation.full_info_of_word16 m (Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16(bh,bl))))) with 
+   Matita_datatypes_constructors.None -> (FetchERR(ILL_OP))
+ | Matita_datatypes_constructors.Some(info) -> (FetchOK(info,pc_next2)))
+)
+
+ | Matita_datatypes_bool.False -> (FetchERR(ILL_OP)))
+
+ | Matita_freescale_opcode.HCS08 -> 
+(match (Matita_freescale_byte8.eq_b8 bh (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE))) with 
+   Matita_datatypes_bool.True -> 
+(match (memory_filter_read m t s pc_next1) with 
+   Matita_datatypes_constructors.None -> (FetchERR(ILL_FETCH_AD))
+ | Matita_datatypes_constructors.Some(bl) -> 
+(match (Matita_freescale_translation.full_info_of_word16 m (Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16(bh,bl))))) with 
+   Matita_datatypes_constructors.None -> (FetchERR(ILL_OP))
+ | Matita_datatypes_constructors.Some(info) -> (FetchOK(info,pc_next2)))
+)
+
+ | Matita_datatypes_bool.False -> (FetchERR(ILL_OP)))
+
+ | Matita_freescale_opcode.RS08 -> (FetchERR(ILL_OP)))
+
+ | Matita_datatypes_constructors.Some(info) -> (FetchOK(info,pc_next1)))
+)
+))))))
+;;
+
+let loadb_from =
+(function m -> (function t -> (function s -> (function addr -> (function cur_pc -> (function fetched -> (Matita_freescale_extra.opt_map (memory_filter_read m t s addr) (function b -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,b,(filtered_plus_w16 m t s cur_pc fetched)))))))))))))
+;;
+
+let loadbit_from =
+(function m -> (function t -> (function s -> (function addr -> (function sub -> (function cur_pc -> (function fetched -> (Matita_freescale_extra.opt_map (memory_filter_read_bit m t s addr sub) (function b -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,b,(filtered_plus_w16 m t s cur_pc fetched))))))))))))))
+;;
+
+let loadw_from =
+(function m -> (function t -> (function s -> (function addr -> (function cur_pc -> (function fetched -> (Matita_freescale_extra.opt_map (memory_filter_read m t s addr) (function bh -> (Matita_freescale_extra.opt_map (memory_filter_read m t s (Matita_freescale_word16.succ_w16 addr)) (function bl -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.Mk_word16(bh,bl)),(filtered_plus_w16 m t s cur_pc fetched)))))))))))))))
+;;
+
+let writeb_to =
+(function m -> (function t -> (function s -> (function addr -> (function cur_pc -> (function fetched -> (function writeb -> (Matita_freescale_extra.opt_map (memory_filter_write m t s addr writeb) (function tmps -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(tmps,(filtered_plus_w16 m t s cur_pc fetched))))))))))))))
+;;
+
+let writebit_to =
+(function m -> (function t -> (function s -> (function addr -> (function sub -> (function cur_pc -> (function fetched -> (function writeb -> (Matita_freescale_extra.opt_map (memory_filter_write_bit m t s addr sub writeb) (function tmps -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(tmps,(filtered_plus_w16 m t s cur_pc fetched)))))))))))))))
+;;
+
+let writew_to =
+(function m -> (function t -> (function s -> (function addr -> (function cur_pc -> (function fetched -> (function writew -> (Matita_freescale_extra.opt_map (memory_filter_write m t s addr (Matita_freescale_word16.w16h writew)) (function tmps1 -> (Matita_freescale_extra.opt_map (memory_filter_write m t tmps1 (Matita_freescale_word16.succ_w16 addr) (Matita_freescale_word16.w16l writew)) (function tmps2 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(tmps2,(filtered_plus_w16 m t tmps2 cur_pc fetched))))))))))))))))
+;;
+
+type aux_load_typing = (Matita_freescale_status.any_status -> (Matita_freescale_word16.word16 -> (Matita_freescale_word16.word16 -> (Matita_nat_nat.nat -> ((Matita_freescale_status.any_status,unit (* TOO POLYMORPHIC TYPE *),Matita_freescale_word16.word16) Matita_freescale_extra.prod3T) Matita_datatypes_constructors.option))))
+;;
+
+let aux_load =
+(function m -> (function t -> (function byteflag -> 
+(match byteflag with 
+   Matita_datatypes_bool.True -> Obj.magic ((loadb_from m t))
+ | Matita_datatypes_bool.False -> Obj.magic ((loadw_from m t)))
+)))
+;;
+
+type aux_write_typing = (Matita_freescale_status.any_status -> (Matita_freescale_word16.word16 -> (Matita_freescale_word16.word16 -> (Matita_nat_nat.nat -> (unit (* TOO POLYMORPHIC TYPE *) -> ((Matita_freescale_status.any_status,Matita_freescale_word16.word16) Matita_datatypes_constructors.prod) Matita_datatypes_constructors.option)))))
+;;
+
+let aux_write =
+(function m -> (function t -> (function byteflag -> 
+(match byteflag with 
+   Matita_datatypes_bool.True -> Obj.magic ((writeb_to m t))
+ | Matita_datatypes_bool.False -> Obj.magic ((writew_to m t)))
+)))
+;;
+
+let mode_IMM1_load =
+(function m -> (function t -> (function s -> (function cur_pc -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function b -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,b,(filtered_inc_w16 m t s cur_pc)))))))))))
+;;
+
+let mode_IMM1EXT_load =
+(function m -> (function t -> (function s -> (function cur_pc -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function b -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),b)),(filtered_inc_w16 m t s cur_pc)))))))))))
+;;
+
+let mode_IMM2_load =
+(function m -> (function t -> (function s -> (function cur_pc -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function bh -> (Matita_freescale_extra.opt_map (memory_filter_read m t s (filtered_inc_w16 m t s cur_pc)) (function bl -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.Mk_word16(bh,bl)),(filtered_plus_w16 m t s cur_pc (Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))))))))))))))
+;;
+
+let mode_DIR1_load =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function addr -> (aux_load m t byteflag s (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),addr)) cur_pc (Matita_nat_nat.S(Matita_nat_nat.O))))))))))
+;;
+
+let mode_DIR1n_load =
+(function m -> (function t -> (function s -> (function cur_pc -> (function sub -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function addr -> (loadbit_from m t s (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),addr)) sub cur_pc (Matita_nat_nat.S(Matita_nat_nat.O))))))))))
+;;
+
+let mode_DIR1_write =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (function writebw -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function addr -> (aux_write m t byteflag s (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),addr)) cur_pc (Matita_nat_nat.S(Matita_nat_nat.O)) writebw)))))))))
+;;
+
+let mode_DIR1n_write =
+(function m -> (function t -> (function s -> (function cur_pc -> (function sub -> (function writeb -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function addr -> (writebit_to m t s (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),addr)) sub cur_pc (Matita_nat_nat.S(Matita_nat_nat.O)) writeb)))))))))
+;;
+
+let mode_DIR2_load =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function addrh -> (Matita_freescale_extra.opt_map (memory_filter_read m t s (filtered_inc_w16 m t s cur_pc)) (function addrl -> (aux_load m t byteflag s (Matita_freescale_word16.Mk_word16(addrh,addrl)) cur_pc (Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))
+;;
+
+let mode_DIR2_write =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (function writebw -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function addrh -> (Matita_freescale_extra.opt_map (memory_filter_read m t s (filtered_inc_w16 m t s cur_pc)) (function addrl -> (aux_write m t byteflag s (Matita_freescale_word16.Mk_word16(addrh,addrl)) cur_pc (Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))) writebw)))))))))))
+;;
+
+let get_IX =
+(function m -> (function t -> (function s -> 
+(match m with 
+   Matita_freescale_opcode.HC05 -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_low_reg m t s) (function indx -> (Matita_datatypes_constructors.Some((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),indx))))))
+ | Matita_freescale_opcode.HC08 -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_16_reg m t s) (function indx -> (Matita_datatypes_constructors.Some(indx))))
+ | Matita_freescale_opcode.HCS08 -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_16_reg m t s) (function indx -> (Matita_datatypes_constructors.Some(indx))))
+ | Matita_freescale_opcode.RS08 -> (Matita_datatypes_constructors.None))
+)))
+;;
+
+let mode_IX0_load =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (Matita_freescale_extra.opt_map (get_IX m t s) (function addr -> (aux_load m t byteflag s addr cur_pc Matita_nat_nat.O))))))))
+;;
+
+let mode_IX0_write =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (function writebw -> (Matita_freescale_extra.opt_map (get_IX m t s) (function addr -> (aux_write m t byteflag s addr cur_pc Matita_nat_nat.O writebw)))))))))
+;;
+
+let mode_IX1_load =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (Matita_freescale_extra.opt_map (get_IX m t s) (function addr -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function offs -> (aux_load m t byteflag s (Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),offs))) cur_pc (Matita_nat_nat.S(Matita_nat_nat.O))))))))))))
+;;
+
+let mode_IX1ADD_load =
+(function m -> (function t -> (function s -> (function cur_pc -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function b -> (Matita_freescale_extra.opt_map (get_IX m t s) (function addr -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),b))),(filtered_inc_w16 m t s cur_pc)))))))))))))
+;;
+
+let mode_IX1_write =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (function writebw -> (Matita_freescale_extra.opt_map (get_IX m t s) (function addr -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function offs -> (aux_write m t byteflag s (Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),offs))) cur_pc (Matita_nat_nat.S(Matita_nat_nat.O)) writebw)))))))))))
+;;
+
+let mode_IX2_load =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (Matita_freescale_extra.opt_map (get_IX m t s) (function addr -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function offsh -> (Matita_freescale_extra.opt_map (memory_filter_read m t s (filtered_inc_w16 m t s cur_pc)) (function offsl -> (aux_load m t byteflag s (Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16(offsh,offsl))) cur_pc (Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))))
+;;
+
+let mode_IX2ADD_load =
+(function m -> (function t -> (function s -> (function cur_pc -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function bh -> (Matita_freescale_extra.opt_map (memory_filter_read m t s (filtered_inc_w16 m t s cur_pc)) (function bl -> (Matita_freescale_extra.opt_map (get_IX m t s) (function addr -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16(bh,bl))),(filtered_plus_w16 m t s cur_pc (Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))))))))))))))))
+;;
+
+let mode_IX2_write =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (function writebw -> (Matita_freescale_extra.opt_map (get_IX m t s) (function addr -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function offsh -> (Matita_freescale_extra.opt_map (memory_filter_read m t s (filtered_inc_w16 m t s cur_pc)) (function offsl -> (aux_write m t byteflag s (Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16(offsh,offsl))) cur_pc (Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))) writebw)))))))))))))
+;;
+
+let mode_SP1_load =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_sp_reg m t s) (function addr -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function offs -> (aux_load m t byteflag s (Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),offs))) cur_pc (Matita_nat_nat.S(Matita_nat_nat.O))))))))))))
+;;
+
+let mode_SP1_write =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (function writebw -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_sp_reg m t s) (function addr -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function offs -> (aux_write m t byteflag s (Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),offs))) cur_pc (Matita_nat_nat.S(Matita_nat_nat.O)) writebw)))))))))))
+;;
+
+let mode_SP2_load =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_sp_reg m t s) (function addr -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function offsh -> (Matita_freescale_extra.opt_map (memory_filter_read m t s (filtered_inc_w16 m t s cur_pc)) (function offsl -> (aux_load m t byteflag s (Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16(offsh,offsl))) cur_pc (Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))))
+;;
+
+let mode_SP2_write =
+(function byteflag -> (function m -> (function t -> (function s -> (function cur_pc -> (function writebw -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_sp_reg m t s) (function addr -> (Matita_freescale_extra.opt_map (memory_filter_read m t s cur_pc) (function offsh -> (Matita_freescale_extra.opt_map (memory_filter_read m t s (filtered_inc_w16 m t s cur_pc)) (function offsl -> (aux_write m t byteflag s (Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16(offsh,offsl))) cur_pc (Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))) writebw)))))))))))))
+;;
+
+let aux_inc_indX_16 =
+(function m -> (function t -> (function s -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_16_reg m t s) (function x_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_16_reg m t s (Matita_freescale_word16.succ_w16 x_op)) (function s_tmp -> (Matita_datatypes_constructors.Some(s_tmp)))))))))
+;;
+
+let multi_mode_load =
+(function byteflag -> (function m -> (function t -> 
+(match byteflag with 
+   Matita_datatypes_bool.True -> Obj.magic ((function s -> (function cur_pc -> (function i -> 
+(match i with 
+   Matita_freescale_opcode.MODE_INH -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHA -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_status.get_acc_8_low_reg m t s),cur_pc))))
+ | Matita_freescale_opcode.MODE_INHX -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_low_reg m t s) (function indx -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,indx,cur_pc))))))
+ | Matita_freescale_opcode.MODE_INHH -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_high_reg m t s) (function indx -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,indx,cur_pc))))))
+ | Matita_freescale_opcode.MODE_INHX0ADD -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHX1ADD -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHX2ADD -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM1 -> (mode_IMM1_load m t s cur_pc)
+ | Matita_freescale_opcode.MODE_IMM1EXT -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM2 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIR1 -> (mode_DIR1_load Matita_datatypes_bool.True m t s cur_pc)
+ | Matita_freescale_opcode.MODE_DIR2 -> (mode_DIR2_load Matita_datatypes_bool.True m t s cur_pc)
+ | Matita_freescale_opcode.MODE_IX0 -> (mode_IX0_load Matita_datatypes_bool.True m t s cur_pc)
+ | Matita_freescale_opcode.MODE_IX1 -> (mode_IX1_load Matita_datatypes_bool.True m t s cur_pc)
+ | Matita_freescale_opcode.MODE_IX2 -> (mode_IX2_load Matita_datatypes_bool.True m t s cur_pc)
+ | Matita_freescale_opcode.MODE_SP1 -> (mode_SP1_load Matita_datatypes_bool.True m t s cur_pc)
+ | Matita_freescale_opcode.MODE_SP2 -> (mode_SP2_load Matita_datatypes_bool.True m t s cur_pc)
+ | Matita_freescale_opcode.MODE_DIR1_to_DIR1 -> (mode_DIR1_load Matita_datatypes_bool.True m t s cur_pc)
+ | Matita_freescale_opcode.MODE_IMM1_to_DIR1 -> (mode_IMM1_load m t s cur_pc)
+ | Matita_freescale_opcode.MODE_IX0p_to_DIR1 -> (mode_IX0_load Matita_datatypes_bool.True m t s cur_pc)
+ | Matita_freescale_opcode.MODE_DIR1_to_IX0p -> (mode_DIR1_load Matita_datatypes_bool.True m t s cur_pc)
+ | Matita_freescale_opcode.MODE_INHA_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHX_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM1_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIR1_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IX0_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IX0p_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IX1_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IX1p_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_SP1_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIRn(_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIRn_and_IMM1(_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_TNY(e) -> (Matita_freescale_extra.opt_map (memory_filter_read m t s (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,e))))) (function b -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,b,cur_pc))))))
+ | Matita_freescale_opcode.MODE_SRT(e) -> (Matita_freescale_extra.opt_map (memory_filter_read m t s (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_aux_bases.byte8_of_bitrigesim e)))) (function b -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,b,cur_pc)))))))
+))))
+ | Matita_datatypes_bool.False -> Obj.magic ((function s -> (function cur_pc -> (function i -> 
+(match i with 
+   Matita_freescale_opcode.MODE_INH -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHA -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHX -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHH -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHX0ADD -> (Matita_freescale_extra.opt_map (get_IX m t s) (function w -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,w,cur_pc))))))
+ | Matita_freescale_opcode.MODE_INHX1ADD -> (mode_IX1ADD_load m t s cur_pc)
+ | Matita_freescale_opcode.MODE_INHX2ADD -> (mode_IX2ADD_load m t s cur_pc)
+ | Matita_freescale_opcode.MODE_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM1EXT -> (mode_IMM1EXT_load m t s cur_pc)
+ | Matita_freescale_opcode.MODE_IMM2 -> (mode_IMM2_load m t s cur_pc)
+ | Matita_freescale_opcode.MODE_DIR1 -> (mode_DIR1_load Matita_datatypes_bool.False m t s cur_pc)
+ | Matita_freescale_opcode.MODE_DIR2 -> (mode_DIR2_load Matita_datatypes_bool.False m t s cur_pc)
+ | Matita_freescale_opcode.MODE_IX0 -> (mode_IX0_load Matita_datatypes_bool.False m t s cur_pc)
+ | Matita_freescale_opcode.MODE_IX1 -> (mode_IX1_load Matita_datatypes_bool.False m t s cur_pc)
+ | Matita_freescale_opcode.MODE_IX2 -> (mode_IX2_load Matita_datatypes_bool.False m t s cur_pc)
+ | Matita_freescale_opcode.MODE_SP1 -> (mode_SP1_load Matita_datatypes_bool.False m t s cur_pc)
+ | Matita_freescale_opcode.MODE_SP2 -> (mode_SP2_load Matita_datatypes_bool.False m t s cur_pc)
+ | Matita_freescale_opcode.MODE_DIR1_to_DIR1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM1_to_DIR1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IX0p_to_DIR1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIR1_to_IX0p -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHA_and_IMM1 -> (Matita_freescale_extra.opt_map (mode_IMM1_load m t s cur_pc) (function s_immb_and_PC -> 
+(match s_immb_and_PC with 
+   Matita_freescale_extra.TripleT(_,immb,cur_pc') -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.Mk_word16((Matita_freescale_status.get_acc_8_low_reg m t s),immb)),cur_pc')))))
+))
+ | Matita_freescale_opcode.MODE_INHX_and_IMM1 -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_low_reg m t s) (function x_op -> (Matita_freescale_extra.opt_map (mode_IMM1_load m t s cur_pc) (function s_immb_and_PC -> 
+(match s_immb_and_PC with 
+   Matita_freescale_extra.TripleT(_,immb,cur_pc') -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.Mk_word16(x_op,immb)),cur_pc')))))
+))))
+ | Matita_freescale_opcode.MODE_IMM1_and_IMM1 -> (Matita_freescale_extra.opt_map (mode_IMM1_load m t s cur_pc) (function s_immb1_and_PC -> 
+(match s_immb1_and_PC with 
+   Matita_freescale_extra.TripleT(_,immb1,cur_pc') -> (Matita_freescale_extra.opt_map (mode_IMM1_load m t s cur_pc') (function s_immb2_and_PC -> 
+(match s_immb2_and_PC with 
+   Matita_freescale_extra.TripleT(_,immb2,cur_pc'') -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.Mk_word16(immb1,immb2)),cur_pc'')))))
+)))
+))
+ | Matita_freescale_opcode.MODE_DIR1_and_IMM1 -> (Matita_freescale_extra.opt_map (mode_DIR1_load Matita_datatypes_bool.True m t s cur_pc) (function s_dirb_and_PC -> 
+(match s_dirb_and_PC with 
+   Matita_freescale_extra.TripleT(_,dirb,cur_pc') -> (Matita_freescale_extra.opt_map (mode_IMM1_load m t s cur_pc') (function s_immb_and_PC -> 
+(match s_immb_and_PC with 
+   Matita_freescale_extra.TripleT(_,immb,cur_pc'') -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.Mk_word16(dirb,immb)),cur_pc'')))))
+)))
+))
+ | Matita_freescale_opcode.MODE_IX0_and_IMM1 -> (Matita_freescale_extra.opt_map (mode_IX0_load Matita_datatypes_bool.True m t s cur_pc) (function s_ixb_and_PC -> 
+(match s_ixb_and_PC with 
+   Matita_freescale_extra.TripleT(_,ixb,cur_pc') -> (Matita_freescale_extra.opt_map (mode_IMM1_load m t s cur_pc') (function s_immb_and_PC -> 
+(match s_immb_and_PC with 
+   Matita_freescale_extra.TripleT(_,immb,cur_pc'') -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.Mk_word16(ixb,immb)),cur_pc'')))))
+)))
+))
+ | Matita_freescale_opcode.MODE_IX0p_and_IMM1 -> (Matita_freescale_extra.opt_map (mode_IX0_load Matita_datatypes_bool.True m t s cur_pc) (function s_ixb_and_PC -> 
+(match s_ixb_and_PC with 
+   Matita_freescale_extra.TripleT(_,ixb,cur_pc') -> (Matita_freescale_extra.opt_map (mode_IMM1_load m t s cur_pc') (function s_immb_and_PC -> 
+(match s_immb_and_PC with 
+   Matita_freescale_extra.TripleT(_,immb,cur_pc'') -> (Matita_freescale_extra.opt_map (aux_inc_indX_16 m t s) (function s' -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s',(Matita_freescale_word16.Mk_word16(ixb,immb)),cur_pc'')))))))
+)))
+))
+ | Matita_freescale_opcode.MODE_IX1_and_IMM1 -> (Matita_freescale_extra.opt_map (mode_IX1_load Matita_datatypes_bool.True m t s cur_pc) (function s_ixb_and_PC -> 
+(match s_ixb_and_PC with 
+   Matita_freescale_extra.TripleT(_,ixb,cur_pc') -> (Matita_freescale_extra.opt_map (mode_IMM1_load m t s cur_pc') (function s_immb_and_PC -> 
+(match s_immb_and_PC with 
+   Matita_freescale_extra.TripleT(_,immb,cur_pc'') -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.Mk_word16(ixb,immb)),cur_pc'')))))
+)))
+))
+ | Matita_freescale_opcode.MODE_IX1p_and_IMM1 -> (Matita_freescale_extra.opt_map (mode_IX1_load Matita_datatypes_bool.True m t s cur_pc) (function s_ixb_and_PC -> 
+(match s_ixb_and_PC with 
+   Matita_freescale_extra.TripleT(_,ixb,cur_pc') -> (Matita_freescale_extra.opt_map (mode_IMM1_load m t s cur_pc') (function s_immb_and_PC -> 
+(match s_immb_and_PC with 
+   Matita_freescale_extra.TripleT(_,immb,cur_pc'') -> (Matita_freescale_extra.opt_map (aux_inc_indX_16 m t s) (function s' -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s',(Matita_freescale_word16.Mk_word16(ixb,immb)),cur_pc'')))))))
+)))
+))
+ | Matita_freescale_opcode.MODE_SP1_and_IMM1 -> (Matita_freescale_extra.opt_map (mode_SP1_load Matita_datatypes_bool.True m t s cur_pc) (function s_spb_and_PC -> 
+(match s_spb_and_PC with 
+   Matita_freescale_extra.TripleT(_,spb,cur_pc') -> (Matita_freescale_extra.opt_map (mode_IMM1_load m t s cur_pc') (function s_immb_and_PC -> 
+(match s_immb_and_PC with 
+   Matita_freescale_extra.TripleT(_,immb,cur_pc'') -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.Mk_word16(spb,immb)),cur_pc'')))))
+)))
+))
+ | Matita_freescale_opcode.MODE_DIRn(_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIRn_and_IMM1(msk) -> (Matita_freescale_extra.opt_map (mode_DIR1n_load m t s cur_pc msk) (function s_dirbn_and_PC -> 
+(match s_dirbn_and_PC with 
+   Matita_freescale_extra.TripleT(_,dirbn,cur_pc') -> (Matita_freescale_extra.opt_map (mode_IMM1_load m t s cur_pc') (function s_immb_and_PC -> 
+(match s_immb_and_PC with 
+   Matita_freescale_extra.TripleT(_,immb,cur_pc'') -> (Matita_datatypes_constructors.Some((Matita_freescale_extra.TripleT(s,(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,
+(match dirbn with 
+   Matita_datatypes_bool.True -> Matita_freescale_exadecim.X1
+ | Matita_datatypes_bool.False -> Matita_freescale_exadecim.X0)
+)),immb)),cur_pc'')))))
+)))
+))
+ | Matita_freescale_opcode.MODE_TNY(_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_SRT(_) -> (Matita_datatypes_constructors.None))
+)))))
+)))
+;;
+
+let multi_mode_write =
+(function byteflag -> (function m -> (function t -> 
+(match byteflag with 
+   Matita_datatypes_bool.True -> Obj.magic ((function s -> (function cur_pc -> (function i -> (function writeb -> 
+(match i with 
+   Matita_freescale_opcode.MODE_INH -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHA -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.set_acc_8_low_reg m t s writeb),cur_pc))))
+ | Matita_freescale_opcode.MODE_INHX -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_8_low_reg m t s writeb) (function tmps -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(tmps,cur_pc))))))
+ | Matita_freescale_opcode.MODE_INHH -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_8_high_reg m t s writeb) (function tmps -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(tmps,cur_pc))))))
+ | Matita_freescale_opcode.MODE_INHX0ADD -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHX1ADD -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHX2ADD -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM1EXT -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM2 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIR1 -> (mode_DIR1_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_DIR2 -> (mode_DIR2_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_IX0 -> (mode_IX0_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_IX1 -> (mode_IX1_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_IX2 -> (mode_IX2_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_SP1 -> (mode_SP1_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_SP2 -> (mode_SP2_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_DIR1_to_DIR1 -> (mode_DIR1_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_IMM1_to_DIR1 -> (mode_DIR1_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_IX0p_to_DIR1 -> (Matita_freescale_extra.opt_map (mode_DIR1_write Matita_datatypes_bool.True m t s cur_pc writeb) (function s_and_PC -> 
+(match s_and_PC with 
+   Matita_datatypes_constructors.Pair(s_op,pC_op) -> (Matita_freescale_extra.opt_map (aux_inc_indX_16 m t s_op) (function s_op' -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_op',pC_op)))))))
+))
+ | Matita_freescale_opcode.MODE_DIR1_to_IX0p -> (Matita_freescale_extra.opt_map (mode_IX0_write Matita_datatypes_bool.True m t s cur_pc writeb) (function s_and_PC -> 
+(match s_and_PC with 
+   Matita_datatypes_constructors.Pair(s_op,pC_op) -> (Matita_freescale_extra.opt_map (aux_inc_indX_16 m t s_op) (function s_op' -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_op',pC_op)))))))
+))
+ | Matita_freescale_opcode.MODE_INHA_and_IMM1 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.set_acc_8_low_reg m t s writeb),cur_pc))))
+ | Matita_freescale_opcode.MODE_INHX_and_IMM1 -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_8_low_reg m t s writeb) (function tmps -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(tmps,cur_pc))))))
+ | Matita_freescale_opcode.MODE_IMM1_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIR1_and_IMM1 -> (mode_DIR1_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_IX0_and_IMM1 -> (mode_IX0_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_IX0p_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IX1_and_IMM1 -> (mode_IX1_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_IX1p_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_SP1_and_IMM1 -> (mode_SP1_write Matita_datatypes_bool.True m t s cur_pc writeb)
+ | Matita_freescale_opcode.MODE_DIRn(msk) -> (mode_DIR1n_write m t s cur_pc msk (Matita_freescale_memory_struct.getn_array8T msk (Matita_freescale_memory_struct.bits_of_byte8 writeb)))
+ | Matita_freescale_opcode.MODE_DIRn_and_IMM1(_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_TNY(e) -> (Matita_freescale_extra.opt_map (memory_filter_write m t s (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,e)))) writeb) (function tmps -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(tmps,cur_pc))))))
+ | Matita_freescale_opcode.MODE_SRT(e) -> (Matita_freescale_extra.opt_map (memory_filter_write m t s (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_aux_bases.byte8_of_bitrigesim e))) writeb) (function tmps -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(tmps,cur_pc)))))))
+)))))
+ | Matita_datatypes_bool.False -> Obj.magic ((function s -> (function cur_pc -> (function i -> (function writew -> 
+(match i with 
+   Matita_freescale_opcode.MODE_INH -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHA -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHX -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHH -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHX0ADD -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHX1ADD -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHX2ADD -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM1EXT -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM2 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIR1 -> (mode_DIR1_write Matita_datatypes_bool.False m t s cur_pc writew)
+ | Matita_freescale_opcode.MODE_DIR2 -> (mode_DIR2_write Matita_datatypes_bool.False m t s cur_pc writew)
+ | Matita_freescale_opcode.MODE_IX0 -> (mode_IX0_write Matita_datatypes_bool.False m t s cur_pc writew)
+ | Matita_freescale_opcode.MODE_IX1 -> (mode_IX1_write Matita_datatypes_bool.False m t s cur_pc writew)
+ | Matita_freescale_opcode.MODE_IX2 -> (mode_IX2_write Matita_datatypes_bool.False m t s cur_pc writew)
+ | Matita_freescale_opcode.MODE_SP1 -> (mode_SP1_write Matita_datatypes_bool.False m t s cur_pc writew)
+ | Matita_freescale_opcode.MODE_SP2 -> (mode_SP2_write Matita_datatypes_bool.False m t s cur_pc writew)
+ | Matita_freescale_opcode.MODE_DIR1_to_DIR1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM1_to_DIR1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IX0p_to_DIR1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIR1_to_IX0p -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHA_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_INHX_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IMM1_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIR1_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IX0_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IX0p_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IX1_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_IX1p_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_SP1_and_IMM1 -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIRn(_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_DIRn_and_IMM1(_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_TNY(_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_opcode.MODE_SRT(_) -> (Matita_datatypes_constructors.None))
+))))))
+)))
+;;
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_medium_tests.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_medium_tests.ml
new file mode 100644 (file)
index 0000000..bd31cde
--- /dev/null
@@ -0,0 +1,690 @@
+let dTest_HCS08_sReverse_source =
+(function elems -> (let m = Matita_freescale_opcode.HCS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.LDA Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.LDA Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.STA Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.STA Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIS (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.RTS Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaIMM2(elems))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BRA (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.ADD (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.SUB (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.STA Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.SBC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.LDX Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIX (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TXA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.ADD (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDX (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BSR (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIS (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.INC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.INC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHA Matita_freescale_opcode.LSR Matita_freescale_translation.MaINHA) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDX (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX Matita_freescale_opcode.ROR Matita_freescale_translation.MaINHX) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.CPHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BHI (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_HCS08_sReverse_status =
+(function t -> (function a_op -> (function hX_op -> (function elems -> (function data -> (Matita_freescale_status.set_acc_8_low_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_z_flag Matita_freescale_opcode.HCS08 t (Matita_freescale_status.setweak_sp_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.setweak_indX_16_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08GB60)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) (dTest_HCS08_sReverse_source elems) Matita_freescale_medium_tests_tools.dTest_HCS08_prog) data Matita_freescale_medium_tests_tools.dTest_HCS08_RAM) (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08GB60)) t) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0))))) hX_op) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA))))) Matita_datatypes_bool.True) a_op))))))
+;;
+
+let sReverseCalc =
+(function string -> 
+(match (Matita_freescale_multivm.execute Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_multivm.TickOK((dTest_HCS08_sReverse_status Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)))) (Matita_freescale_medium_tests_tools.byte8_strlen string) string))) (Matita_nat_plus.plus (Matita_nat_plus.plus (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (Matita_nat_times.times (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (Matita_freescale_word16.nat_of_word16 (Matita_freescale_medium_tests_tools.byte8_strlen string)))) (Matita_nat_times.times (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))))))) (Matita_nat_div_and_mod.div (Matita_freescale_word16.nat_of_word16 (Matita_freescale_medium_tests_tools.byte8_strlen string)) (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) with 
+   Matita_freescale_multivm.TickERR(s,_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_multivm.TickSUSP(s,_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_multivm.TickOK(s) -> (Matita_datatypes_constructors.Some((Matita_freescale_status.set_mem_desc Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s (Matita_freescale_memory_abs.load_from_source_at Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s) Matita_freescale_medium_tests_tools.dTest_zeros (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))))))))
+)
+;;
+
+let sReverseCalcAux =
+(function string -> 
+(match (Matita_freescale_multivm.execute Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_multivm.TickOK((dTest_HCS08_sReverse_status Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)))) (Matita_freescale_medium_tests_tools.byte8_strlen string) string)))
+(
+Matita_freescale_word16.nat_of_word16(Matita_freescale_word16.Mk_word16(
+Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF),
+Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)))
+
+)) with 
+   Matita_freescale_multivm.TickERR(s,_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_multivm.TickSUSP(s,_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_multivm.TickOK(s) -> (Matita_datatypes_constructors.Some(s)))
+)
+;;
+
+let sReverseNoCalc =
+(function string -> (Matita_datatypes_constructors.Some((Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE (dTest_HCS08_sReverse_status Matita_freescale_memory_abs.MEM_TREE (Matita_datatypes_constructors.fst(Matita_freescale_byte8.shr_b8(Matita_freescale_word16.w16h(Matita_freescale_medium_tests_tools.byte8_strlen string)))) (Matita_datatypes_constructors.fst (Matita_freescale_word16.shr_w16 (Matita_freescale_medium_tests_tools.byte8_strlen string))) (Matita_freescale_medium_tests_tools.byte8_strlen string) (Matita_freescale_medium_tests_tools.byte8_reverse string)) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB))))))))
+;;
+
+let dTest_HCS08_cSort_source =
+(function elems -> (let m = Matita_freescale_opcode.HCS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BRA (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX2 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHA Matita_freescale_opcode.ASL Matita_freescale_translation.MaINHA) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX Matita_freescale_opcode.CLR Matita_freescale_translation.MaINHX) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX Matita_freescale_opcode.ROL Matita_freescale_translation.MaINHX) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.ADD (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TXA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.INC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.INC Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.INC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.INC Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.CPHX (Matita_freescale_translation.MaIMM2(elems))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BCS (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.CLR (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.CLR Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BRA (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX2 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIX (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDX (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX Matita_freescale_opcode.ASL Matita_freescale_translation.MaINHX) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHA Matita_freescale_opcode.ROL Matita_freescale_translation.MaINHA) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX2 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaIX2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIX (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX2 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX2 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.CPHX (Matita_freescale_translation.MaIMM2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.INC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.INC Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.CPHX (Matita_freescale_translation.MaIMM2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8))))) (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.STOP Matita_freescale_translation.MaINH))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_HCS08_cSort_status =
+(function t -> (function i_op -> (function a_op -> (function hX_op -> (function elems -> (function data -> (Matita_freescale_status.setweak_i_flag Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_acc_8_low_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_z_flag Matita_freescale_opcode.HCS08 t (Matita_freescale_status.setweak_sp_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.setweak_indX_16_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08GB60)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) (dTest_HCS08_cSort_source elems) Matita_freescale_medium_tests_tools.dTest_HCS08_prog) data Matita_freescale_medium_tests_tools.dTest_HCS08_RAM) (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08GB60)) t) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) Matita_freescale_medium_tests_tools.dTest_HCS08_prog) hX_op) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB))))) Matita_datatypes_bool.True) a_op) i_op)))))))
+;;
+
+let cSortCalc =
+(function string -> 
+(match (Matita_freescale_multivm.execute Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_multivm.TickOK((dTest_HCS08_cSort_status Matita_freescale_memory_abs.MEM_TREE Matita_datatypes_bool.True (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)))) (Matita_freescale_medium_tests_tools.byte8_strlen string) string))) (Matita_nat_plus.plus (Matita_freescale_word16.nat_of_word16 (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4))))) (Matita_nat_times.times (Matita_freescale_byte8.nat_of_byte8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6))) (Matita_freescale_word16.nat_of_word16 (Matita_freescale_medium_tests_tools.byte8_strlen string))))) with 
+   Matita_freescale_multivm.TickERR(s,_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_multivm.TickSUSP(s,_) -> (Matita_datatypes_constructors.Some((Matita_freescale_status.set_mem_desc Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s (Matita_freescale_memory_abs.load_from_source_at Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s) Matita_freescale_medium_tests_tools.dTest_zeros (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))))
+ | Matita_freescale_multivm.TickOK(s) -> (Matita_datatypes_constructors.None))
+)
+;;
+
+let cSortNoCalc =
+(function string -> (Matita_datatypes_constructors.Some((Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE (dTest_HCS08_cSort_status Matita_freescale_memory_abs.MEM_TREE Matita_datatypes_bool.False (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) (Matita_freescale_medium_tests_tools.byte8_strlen string) (Matita_freescale_medium_tests_tools.byte8_list_ordering string)) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC))))))))
+;;
+
+let dTest_HCS08_gNum_source =
+(function elems -> (let m = Matita_freescale_opcode.HCS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIS (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.CLR (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.CLR (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.CLR (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.CLR Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.CLR (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.CLR (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.JSR (Matita_freescale_translation.MaIMM2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BRA (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BSR (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BRA (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.JSR (Matita_freescale_translation.MaIMM2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIS (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.CPHX (Matita_freescale_translation.MaIMM2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDX (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHA Matita_freescale_opcode.CLR Matita_freescale_translation.MaINHA) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIX (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.JSR (Matita_freescale_translation.MaIMM2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIX (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.JSR (Matita_freescale_translation.MaIMM2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIS (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR2 Matita_freescale_opcode.STA (Matita_freescale_translation.MaDIR2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.INC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.INC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.CPHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BHI (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.CPHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIX (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX Matita_freescale_opcode.ASL Matita_freescale_translation.MaINHX) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHH Matita_freescale_opcode.CLR Matita_freescale_translation.MaINHH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX2 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX2 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.INC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.INC Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.CPHX (Matita_freescale_translation.MaIMM2(elems))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BCS (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIS (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.STOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX Matita_freescale_opcode.CLR Matita_freescale_translation.MaINHX) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHH Matita_freescale_opcode.CLR Matita_freescale_translation.MaINHH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHH Matita_freescale_opcode.CLR Matita_freescale_translation.MaINHH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX Matita_freescale_opcode.INC Matita_freescale_translation.MaINHX) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.RTS Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.LDHX Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.LDHX Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX0ADD Matita_freescale_opcode.JMP Matita_freescale_translation.MaINHX0ADD) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.JMP (Matita_freescale_translation.MaIMM2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.TST (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDX (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHH Matita_freescale_opcode.CLR Matita_freescale_translation.MaINHH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.DIV Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.DIV Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.CLR (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.RTS Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHA Matita_freescale_opcode.CLR Matita_freescale_translation.MaINHA) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.LDX (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.CLC Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.ROL (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.ROL (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.ROL (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.CMP (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BHI (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BNE (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.CMP (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BHI (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.SUB (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.SBC (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.SEC Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX_and_IMM1 Matita_freescale_opcode.DBNZ (Matita_freescale_translation.MaINHX_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHA Matita_freescale_opcode.ROL Matita_freescale_translation.MaINHA) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.CLR (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.RTS Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.TSX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.ADD (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIS (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.RTS Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIS (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.STHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.JSR (Matita_freescale_translation.MaIMM2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIS (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.RTS Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.JSR (Matita_freescale_translation.MaIMM2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.JSR (Matita_freescale_translation.MaIMM2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PSHA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.STA Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULA Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULH Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.PULX Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.AIS (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))))) (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX0ADD Matita_freescale_opcode.JMP Matita_freescale_translation.MaINHX0ADD)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_HCS08_gNum_status =
+(function t -> (function i_op -> (function a_op -> (function hX_op -> (function pC_op -> (function addr -> (function elems -> (function data -> (Matita_freescale_status.setweak_i_flag Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_acc_8_low_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_z_flag Matita_freescale_opcode.HCS08 t (Matita_freescale_status.setweak_sp_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.setweak_indX_16_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08GB60)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) (dTest_HCS08_gNum_source elems) addr) data Matita_freescale_medium_tests_tools.dTest_HCS08_RAM) (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08GB60)) t) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) pC_op) hX_op) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF))))) Matita_datatypes_bool.True) a_op) i_op)))))))))
+;;
+
+let dTest_HCS08_gNum_aurei =
+(function num -> (Matita_list_list.append 
+(match (Matita_freescale_word16.gt_w16 num (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0))))) with 
+   Matita_datatypes_bool.True -> (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Nil)))))))))))))))))
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_word16.gt_w16 num (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0))))) with 
+   Matita_datatypes_bool.True -> (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Nil)))))))))))))))))
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_word16.gt_w16 num (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC))))) with 
+   Matita_datatypes_bool.True -> (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Nil)))))))))))))))))
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_word16.gt_w16 num (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))))) with 
+   Matita_datatypes_bool.True -> (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Nil)))))))))))))))))
+ | Matita_datatypes_bool.False -> (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Nil))))))))))))))))))
+)
+)
+)
+ (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_HCS08_gNum_execute1 =
+let rec dTest_HCS08_gNum_execute1 = 
+(function m -> (function t -> (function s -> (function n -> (function ntot -> 
+(match s with 
+   Matita_freescale_multivm.TickERR(s',error) -> (Matita_freescale_multivm.TickERR(s',error))
+ | Matita_freescale_multivm.TickSUSP(s',susp) -> (Matita_freescale_multivm.TickSUSP(s',susp))
+ | Matita_freescale_multivm.TickOK(s') -> 
+(match n with 
+   Matita_nat_nat.O -> (Matita_freescale_multivm.TickOK(s'))
+ | Matita_nat_nat.S(n') -> (dTest_HCS08_gNum_execute1 m t (Matita_freescale_multivm.execute m t (Matita_freescale_multivm.TickOK(s')) (Matita_nat_plus.plus ntot (Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))) n' ntot))
+)
+))))) in dTest_HCS08_gNum_execute1
+;;
+
+let dTest_HCS08_gNum_execute2 =
+let rec dTest_HCS08_gNum_execute2 = 
+(function m -> (function t -> (function s -> (function n -> (function ntot -> 
+(match s with 
+   Matita_freescale_multivm.TickERR(s',error) -> (Matita_freescale_multivm.TickERR(s',error))
+ | Matita_freescale_multivm.TickSUSP(s',susp) -> (Matita_freescale_multivm.TickSUSP(s',susp))
+ | Matita_freescale_multivm.TickOK(s') -> 
+(match n with 
+   Matita_nat_nat.O -> (Matita_freescale_multivm.TickOK(s'))
+ | Matita_nat_nat.S(n') -> (dTest_HCS08_gNum_execute2 m t (dTest_HCS08_gNum_execute1 m t (Matita_freescale_multivm.TickOK(s')) (Matita_nat_plus.plus ntot (Matita_nat_nat.S(Matita_nat_nat.O))) ntot) n' ntot))
+)
+))))) in dTest_HCS08_gNum_execute2
+;;
+
+let dTest_HCS08_gNum_execute3 =
+let rec dTest_HCS08_gNum_execute3 = 
+(function m -> (function t -> (function s -> (function n -> (function ntot -> 
+(match s with 
+   Matita_freescale_multivm.TickERR(s',error) -> (Matita_freescale_multivm.TickERR(s',error))
+ | Matita_freescale_multivm.TickSUSP(s',susp) -> (Matita_freescale_multivm.TickSUSP(s',susp))
+ | Matita_freescale_multivm.TickOK(s') -> 
+(match n with 
+   Matita_nat_nat.O -> (Matita_freescale_multivm.TickOK(s'))
+ | Matita_nat_nat.S(n') -> (dTest_HCS08_gNum_execute3 m t (dTest_HCS08_gNum_execute2 m t (Matita_freescale_multivm.TickOK(s')) ntot ntot) n' ntot))
+)
+))))) in dTest_HCS08_gNum_execute3
+;;
+
+let dTest_HCS08_gNum_execute4 =
+(function m -> (function t -> (function s -> (function ntot -> 
+(match s with 
+   Matita_freescale_multivm.TickERR(s',error) -> (Matita_freescale_multivm.TickERR(s',error))
+ | Matita_freescale_multivm.TickSUSP(s',susp) -> (Matita_freescale_multivm.TickSUSP(s',susp))
+ | Matita_freescale_multivm.TickOK(s') -> (Matita_freescale_multivm.execute m t (dTest_HCS08_gNum_execute3 m t (Matita_freescale_multivm.TickOK(s')) (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))))))))))))))))))) ntot) (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+))))
+;;
+
+let gNumCalc =
+(function num -> 
+(match (dTest_HCS08_gNum_execute4 Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_multivm.TickOK((dTest_HCS08_gNum_status Matita_freescale_memory_abs.MEM_TREE Matita_datatypes_bool.True (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)))) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)))) num Matita_freescale_medium_tests_tools.dTest_zeros))) (Matita_freescale_word16.nat_of_word16 num)) with 
+   Matita_freescale_multivm.TickERR(s,_) -> (Matita_datatypes_constructors.None)
+ | Matita_freescale_multivm.TickSUSP(s,_) -> (Matita_datatypes_constructors.Some((Matita_freescale_status.set_mem_desc Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s (Matita_freescale_memory_abs.load_from_source_at Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s) Matita_freescale_medium_tests_tools.dTest_zeros3K (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0))))))))
+ | Matita_freescale_multivm.TickOK(s) -> (Matita_datatypes_constructors.None))
+)
+;;
+
+let gNumNoCalc =
+(function num -> (Matita_datatypes_constructors.Some((dTest_HCS08_gNum_status Matita_freescale_memory_abs.MEM_TREE Matita_datatypes_bool.False (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) num (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)))) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)))) num (dTest_HCS08_gNum_aurei num)))))
+;;
+
+(* CHANGED: COMPUTE RESULTS *)
+
+print_string("evaluating sReverseCalc32");;
+print_newline();;
+let sReverseCalc32 =
+(sReverseCalc Matita_freescale_medium_tests_tools.dTest_random_32)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating sReverseCalc64");;
+print_newline();;
+let sReverseCalc64 =
+(sReverseCalc Matita_freescale_medium_tests_tools.dTest_random_64)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating sReverseCalc128");;
+print_newline();;
+let sReverseCalc128 =
+(sReverseCalc Matita_freescale_medium_tests_tools.dTest_random_128)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating sReverseCalc256");;
+print_newline();;
+let sReverseCalc256 =
+(sReverseCalc Matita_freescale_medium_tests_tools.dTest_random_256)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating sReverseCalc512");;
+print_newline();;
+let sReverseCalc512 =
+(sReverseCalc Matita_freescale_medium_tests_tools.dTest_random_512)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating sReverseCalc1024");;
+print_newline();;
+let sReverseCalc1024 =
+(sReverseCalc Matita_freescale_medium_tests_tools.dTest_random_1024)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating sReverseCalc2048");;
+print_newline();;
+let sReverseCalc2048 =
+(sReverseCalc Matita_freescale_medium_tests_tools.dTest_random_2048)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating sReverseCalc3072");;
+print_newline();;
+let sReverseCalc3072 =
+(sReverseCalc Matita_freescale_medium_tests_tools.dTest_random_3072)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating sReverseNoCalc...");;
+print_newline();;
+print_newline();;
+
+let sReverseNoCalc32 =
+(sReverseNoCalc Matita_freescale_medium_tests_tools.dTest_random_32)
+;;
+
+let sReverseNoCalc64 =
+(sReverseNoCalc Matita_freescale_medium_tests_tools.dTest_random_64)
+;;
+
+let sReverseNoCalc128 =
+(sReverseNoCalc Matita_freescale_medium_tests_tools.dTest_random_128)
+;;
+
+let sReverseNoCalc256 =
+(sReverseNoCalc Matita_freescale_medium_tests_tools.dTest_random_256)
+;;
+
+let sReverseNoCalc512 =
+(sReverseNoCalc Matita_freescale_medium_tests_tools.dTest_random_512)
+;;
+
+let sReverseNoCalc1024 =
+(sReverseNoCalc Matita_freescale_medium_tests_tools.dTest_random_1024)
+;;
+
+let sReverseNoCalc2048 =
+(sReverseNoCalc Matita_freescale_medium_tests_tools.dTest_random_2048)
+;;
+
+let sReverseNoCalc3072 =
+(sReverseNoCalc Matita_freescale_medium_tests_tools.dTest_random_3072)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating cSortCalc32");;
+print_newline();;
+let cSortCalc32 =
+(cSortCalc Matita_freescale_medium_tests_tools.dTest_random_32)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating cSortCalc64");;
+print_newline();;
+let cSortCalc64 =
+(cSortCalc Matita_freescale_medium_tests_tools.dTest_random_64)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating cSortCalc128");;
+print_newline();;
+let cSortCalc128 =
+(cSortCalc Matita_freescale_medium_tests_tools.dTest_random_128)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating cSortCalc256");;
+print_newline();;
+let cSortCalc256 =
+(cSortCalc Matita_freescale_medium_tests_tools.dTest_random_256)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating cSortCalc512");;
+print_newline();;
+let cSortCalc512 =
+(cSortCalc Matita_freescale_medium_tests_tools.dTest_random_512)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating cSortCalc1024");;
+print_newline();;
+let cSortCalc1024 =
+(cSortCalc Matita_freescale_medium_tests_tools.dTest_random_1024)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating cSortCalc2048");;
+print_newline();;
+let cSortCalc2048 =
+(cSortCalc Matita_freescale_medium_tests_tools.dTest_random_2048)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating cSortCalc3072");;
+print_newline();;
+let cSortCalc3072 =
+(cSortCalc Matita_freescale_medium_tests_tools.dTest_random_3072)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating cSortNoCalc...");;
+print_newline();;
+print_newline();;
+
+let cSortNoCalc32 =
+(cSortNoCalc Matita_freescale_medium_tests_tools.dTest_random_32)
+;;
+
+let cSortNoCalc64 =
+(cSortNoCalc Matita_freescale_medium_tests_tools.dTest_random_64)
+;;
+
+let cSortNoCalc128 =
+(cSortNoCalc Matita_freescale_medium_tests_tools.dTest_random_128)
+;;
+
+let cSortNoCalc256 =
+(cSortNoCalc Matita_freescale_medium_tests_tools.dTest_random_256)
+;;
+
+let cSortNoCalc512 =
+(cSortNoCalc Matita_freescale_medium_tests_tools.dTest_random_512)
+;;
+
+let cSortNoCalc1024 =
+(cSortNoCalc Matita_freescale_medium_tests_tools.dTest_random_1024)
+;;
+
+let cSortNoCalc2048 =
+(cSortNoCalc Matita_freescale_medium_tests_tools.dTest_random_2048)
+;;
+
+let cSortNoCalc3072 =
+(cSortNoCalc Matita_freescale_medium_tests_tools.dTest_random_3072)
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating gNumCalc1");;
+print_newline();;
+let gNumCalc1 =
+(gNumCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))))
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating gNumCalc2");;
+print_newline();;
+let gNumCalc2 =
+(gNumCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))))
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating gNumCalc5");;
+print_newline();;
+let gNumCalc5 =
+(gNumCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))))
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating gNumCalc10");;
+print_newline();;
+let gNumCalc10 =
+(gNumCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)))))
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating gNumCalc20");;
+print_newline();;
+let gNumCalc20 =
+(gNumCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)))))
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating gNumCalc50");;
+print_newline();;
+let gNumCalc50 =
+(gNumCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)))))
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating gNumCalc100");;
+print_newline();;
+let gNumCalc100 =
+(gNumCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)))))
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating gNumCalc250");;
+print_newline();;
+let gNumCalc250 =
+(gNumCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)))))
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating gNumCalc500");;
+print_newline();;
+let gNumCalc500 =
+(gNumCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)))))
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating gNumCalc1000");;
+print_newline();;
+let gNumCalc1000 =
+(gNumCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)))))
+;;
+print_newline();;
+print_newline();;
+
+print_string("evaluating gNumNoCalc...");;
+print_newline();;
+print_newline();;
+
+let gNumNoCalc1 =
+(gNumNoCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))))
+;;
+
+let gNumNoCalc2 =
+(gNumNoCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))))
+;;
+
+let gNumNoCalc5 =
+(gNumNoCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))))
+;;
+
+let gNumNoCalc10 =
+(gNumNoCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)))))
+;;
+
+let gNumNoCalc20 =
+(gNumNoCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)))))
+;;
+
+let gNumNoCalc50 =
+(gNumNoCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)))))
+;;
+
+let gNumNoCalc100 =
+(gNumNoCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)))))
+;;
+
+let gNumNoCalc250 =
+(gNumNoCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)))))
+;;
+
+let gNumNoCalc500 =
+(gNumNoCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)))))
+;;
+
+let gNumNoCalc1000 =
+(gNumNoCalc (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)))))
+;;
+
+(* CHANGED: COMPARE RESULTS *)
+
+let medium_tests_show_CPU_RAM = Matita_datatypes_bool.True;;
+
+if sReverseCalc32 = sReverseNoCalc32
+then print_string("sReverse32 OK")
+else print_string("sReverse32 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE sReverseCalc32 sReverseNoCalc32;;
+print_newline();;
+
+if sReverseCalc64 = sReverseNoCalc64
+then print_string("sReverse64 OK")
+else print_string("sReverse64 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE sReverseCalc64 sReverseNoCalc64;;
+print_newline();;
+
+if sReverseCalc128 = sReverseNoCalc128
+then print_string("sReverse128 OK")
+else print_string("sReverse128 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE sReverseCalc128 sReverseNoCalc128;;
+print_newline();;
+
+if sReverseCalc256 = sReverseNoCalc256
+then print_string("sReverse256 OK")
+else print_string("sReverse256 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE sReverseCalc256 sReverseNoCalc256;;
+print_newline();;
+
+if sReverseCalc512 = sReverseNoCalc512
+then print_string("sReverse512 OK")
+else print_string("sReverse512 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE sReverseCalc512 sReverseNoCalc512;;
+print_newline();;
+
+if sReverseCalc1024 = sReverseNoCalc1024
+then print_string("sReverse1024 OK")
+else print_string("sReverse1024 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE sReverseCalc1024 sReverseNoCalc1024;;
+print_newline();;
+
+if sReverseCalc2048 = sReverseNoCalc2048
+then print_string("sReverse2048 OK")
+else print_string("sReverse2048 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE sReverseCalc2048 sReverseNoCalc2048;;
+print_newline();;
+
+if sReverseCalc3072 = sReverseNoCalc3072
+then print_string("sReverse3072 OK")
+else print_string("sReverse3072 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE sReverseCalc3072 sReverseNoCalc3072;;
+print_newline();;
+
+if cSortCalc32 = cSortNoCalc32
+then print_string("cSort32 OK")
+else print_string("cSort32 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE cSortCalc32 cSortNoCalc32;;
+print_newline();;
+
+if cSortCalc64 = cSortNoCalc64
+then print_string("cSort64 OK")
+else print_string("cSort64 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE cSortCalc64 cSortNoCalc64;;
+print_newline();;
+
+if cSortCalc128 = cSortNoCalc128
+then print_string("cSort128 OK")
+else print_string("cSort128 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE cSortCalc128 cSortNoCalc128;;
+print_newline();;
+
+if cSortCalc256 = cSortNoCalc256
+then print_string("cSort256 OK")
+else print_string("cSort256 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE cSortCalc256 cSortNoCalc256;;
+print_newline();;
+
+if cSortCalc512 = cSortNoCalc512
+then print_string("cSort512 OK")
+else print_string("cSort512 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE cSortCalc512 cSortNoCalc512;;
+print_newline();;
+
+if cSortCalc1024 = cSortNoCalc1024
+then print_string("cSort1024 OK")
+else print_string("cSort1024 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE cSortCalc1024 cSortNoCalc1024;;
+print_newline();;
+
+if cSortCalc2048 = cSortNoCalc2048
+then print_string("cSort2048 OK")
+else print_string("cSort2048 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE cSortCalc2048 cSortNoCalc2048;;
+print_newline();;
+
+if cSortCalc3072 = cSortNoCalc3072
+then print_string("cSort3072 OK")
+else print_string("cSort3072 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE cSortCalc3072 cSortNoCalc3072;;
+print_newline();;
+
+if gNumCalc1 = gNumNoCalc1
+then print_string("gNum1 OK")
+else print_string("gNum1 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE gNumCalc1 gNumCalc1;;
+print_newline();;
+
+if gNumCalc2 = gNumNoCalc2
+then print_string("gNum2 OK")
+else print_string("gNum2 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE gNumCalc2 gNumNoCalc2;;
+print_newline();;
+
+if gNumCalc5 = gNumNoCalc5
+then print_string("gNum5 OK")
+else print_string("gNum5 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE gNumCalc5 gNumNoCalc5;;
+print_newline();;
+
+if gNumCalc10 = gNumNoCalc10
+then print_string("gNum10 OK")
+else print_string("gNum10 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE gNumCalc10 gNumNoCalc10;;
+print_newline();;
+
+if gNumCalc20 = gNumNoCalc20
+then print_string("gNum20 OK")
+else print_string("gNum20 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE gNumCalc20 gNumNoCalc20;;
+print_newline();;
+
+if gNumCalc50 = gNumNoCalc50
+then print_string("gNum50 OK")
+else print_string("gNum50 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE gNumCalc50 gNumNoCalc50;;
+print_newline();;
+
+if gNumCalc100 = gNumNoCalc100
+then print_string("gNum100 OK")
+else print_string("gNum100 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE gNumCalc100 gNumNoCalc100;;
+print_newline();;
+
+if gNumCalc250 = gNumNoCalc250
+then print_string("gNum250 OK")
+else print_string("gNum250 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE gNumCalc250 gNumNoCalc250;;
+print_newline();;
+
+if gNumCalc500 = gNumNoCalc500
+then print_string("gNum500 OK")
+else print_string("gNum500 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE gNumCalc500 gNumNoCalc500;;
+print_newline();;
+
+if gNumCalc1000 = gNumNoCalc1000
+then print_string("gNum1000 OK")
+else print_string("gNum1000 KO");;
+print_newline();;
+if (medium_tests_show_CPU_RAM = Matita_datatypes_bool.True)
+ then Matita_freescale_debug.compare_CPU_RAM Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE gNumCalc1000 gNumNoCalc1000;;
+print_newline();;
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_medium_tests_lemmas.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_medium_tests_lemmas.ml
new file mode 100644 (file)
index 0000000..c57b321
--- /dev/null
@@ -0,0 +1,4 @@
+let execute_HCS08_STHX_maSP1_aux =
+(function s -> (function blow -> (Matita_freescale_multivm.TickOK((Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_status.setweak_v_flag Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_status.setweak_n_flag Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_status.set_z_flag Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE (Matita_freescale_status.set_mem_desc Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s (Obj.magic(Matita_freescale_memory_trees.mt_update (Matita_freescale_memory_trees.mt_update (Obj.magic(Matita_freescale_status.get_mem_desc Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s)) (Matita_freescale_word16.plus_w16nc (Matita_freescale_status.sp_reg_HC08 (Obj.magic(Matita_freescale_status.alu Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s))) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),blow))) (Matita_freescale_status.indX_high_reg_HC08 (Obj.magic(Matita_freescale_status.alu Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s)))) (Matita_freescale_word16.succ_w16 (Matita_freescale_word16.plus_w16nc (Matita_freescale_status.sp_reg_HC08 (Obj.magic(Matita_freescale_status.alu Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s))) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),blow)))) (Matita_freescale_status.indX_low_reg_HC08 (Obj.magic(Matita_freescale_status.alu Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s)))))) (Matita_freescale_word16.eq_w16 (Matita_freescale_word16.Mk_word16((Matita_freescale_status.indX_high_reg_HC08 (Obj.magic(Matita_freescale_status.alu Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s))),(Matita_freescale_status.indX_low_reg_HC08 (Obj.magic(Matita_freescale_status.alu Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s))))) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))))) (Matita_freescale_byte8.mSB_b8 (Matita_freescale_status.indX_high_reg_HC08 (Obj.magic(Matita_freescale_status.alu Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s))))) Matita_datatypes_bool.False) (Matita_freescale_load_write.filtered_plus_w16 Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s (Matita_freescale_status.get_pc_reg Matita_freescale_opcode.HCS08 Matita_freescale_memory_abs.MEM_TREE s) (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_medium_tests_tools.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_medium_tests_tools.ml
new file mode 100644 (file)
index 0000000..f87b82e
--- /dev/null
@@ -0,0 +1,509 @@
+let dTest_HCS08_RAM =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))
+;;
+
+let dTest_HCS08_prog =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8))))
+;;
+
+let dTest_visit =
+(function data -> (function addr -> (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8l addr) (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8h addr) data))))
+;;
+
+let dTest_update =
+(function data -> (function addr -> (function v -> (let lev2 = (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8h addr) data) in (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h addr) data (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8l addr) lev2 v))))))
+;;
+
+let dTest_zero_array =
+(let elem = (Matita_list_list.Nil) in (let lev2 = (Matita_freescale_memory_struct.Array_16T(elem,elem,elem,elem,elem,elem,elem,elem,elem,elem,elem,elem,elem,elem,elem,elem)) in (let lev1 = (Matita_freescale_memory_struct.Array_16T(lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2)) in lev1)))
+;;
+
+let dTest_inc =
+(function data -> (function addr -> (dTest_update data addr (Matita_list_list.append (dTest_visit data addr) (Matita_list_list.Cons(addr,(Matita_list_list.Nil)))))))
+;;
+
+let dTest_build_list_from_count =
+(function data -> (let aux1 = (function param1 -> 
+(match param1 with 
+   Matita_freescale_memory_struct.Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15) -> (Matita_list_list.append e00 (Matita_list_list.append e01 (Matita_list_list.append e02 (Matita_list_list.append e03 (Matita_list_list.append e04 (Matita_list_list.append e05 (Matita_list_list.append e06 (Matita_list_list.append e07 (Matita_list_list.append e08 (Matita_list_list.append e09 (Matita_list_list.append e10 (Matita_list_list.append e11 (Matita_list_list.append e12 (Matita_list_list.append e13 (Matita_list_list.append e14 e15))))))))))))))))
+) in (let aux2 = (function param2 -> 
+(match param2 with 
+   Matita_freescale_memory_struct.Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15) -> (Matita_list_list.append (aux1 e00) (Matita_list_list.append (aux1 e01) (Matita_list_list.append (aux1 e02) (Matita_list_list.append (aux1 e03) (Matita_list_list.append (aux1 e04) (Matita_list_list.append (aux1 e05) (Matita_list_list.append (aux1 e06) (Matita_list_list.append (aux1 e07) (Matita_list_list.append (aux1 e08) (Matita_list_list.append (aux1 e09) (Matita_list_list.append (aux1 e10) (Matita_list_list.append (aux1 e11) (Matita_list_list.append (aux1 e12) (Matita_list_list.append (aux1 e13) (Matita_list_list.append (aux1 e14) (aux1 e15)))))))))))))))))
+) in (aux2 data))))
+;;
+
+let byte8_list_ordering_aux =
+let rec byte8_list_ordering_aux = 
+(function source -> (function count -> 
+(match source with 
+   Matita_list_list.Nil -> (dTest_build_list_from_count count)
+ | Matita_list_list.Cons(hd,tl) -> (byte8_list_ordering_aux tl (dTest_inc count hd)))
+)) in byte8_list_ordering_aux
+;;
+
+let byte8_list_ordering =
+(function source -> (byte8_list_ordering_aux source dTest_zero_array))
+;;
+
+let byte8_strlen_aux =
+let rec byte8_strlen_aux = 
+(function source -> (function count -> 
+(match source with 
+   Matita_list_list.Nil -> count
+ | Matita_list_list.Cons(_,tl) -> (byte8_strlen_aux tl (Matita_freescale_word16.succ_w16 count)))
+)) in byte8_strlen_aux
+;;
+
+let byte8_strlen =
+(function source -> (byte8_strlen_aux source (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))
+;;
+
+let byte8_reverse =
+let rec byte8_reverse = 
+(function source -> 
+(match source with 
+   Matita_list_list.Nil -> (Matita_list_list.Nil)
+ | Matita_list_list.Cons(hd,tl) -> (Matita_list_list.append (byte8_reverse tl) (Matita_list_list.Cons(hd,(Matita_list_list.Nil)))))
+) in byte8_reverse
+;;
+
+let byte8_hexdump_aux =
+let rec byte8_hexdump_aux = 
+(function t -> (function mem -> (function inf -> (function count -> (function out -> 
+(match count with 
+   Matita_nat_nat.O -> out
+ | Matita_nat_nat.S(n) -> (byte8_hexdump_aux t mem (Matita_freescale_word16.succ_w16 inf) n (Matita_list_list.append out (Matita_list_list.Cons((Matita_freescale_memory_abs.mem_read_abs t mem inf),(Matita_list_list.Nil))))))
+))))) in byte8_hexdump_aux
+;;
+
+let byte8_hexdump =
+(function t -> (function mem -> (function inf -> (function count -> (byte8_hexdump_aux t mem inf count (Matita_list_list.Nil))))))
+;;
+
+let dTest_random_ex00 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex01 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex02 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex03 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex04 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex05 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex06 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex07 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex08 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex09 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex0A =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex0B =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex0C =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex0D =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex0E =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex0F =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex10 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex11 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex12 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex13 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex14 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex15 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex16 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex17 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex18 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex19 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex1A =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex1B =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex1C =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex1D =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex1E =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex1F =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex20 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex21 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex22 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex23 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex24 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex25 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex26 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex27 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex28 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex29 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex2A =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex2B =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex2C =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex2D =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex2E =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex2F =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex30 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex31 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex32 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex33 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex34 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex35 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex36 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex37 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex38 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex39 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex3A =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex3B =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex3C =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex3D =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex3E =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex3F =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex40 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex41 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex42 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex43 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex44 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex45 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex46 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex47 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex48 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex49 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex4A =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex4B =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex4C =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex4D =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex4E =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex4F =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex50 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex51 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex52 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex53 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex54 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex55 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex56 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex57 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex58 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex59 =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex5A =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex5B =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex5C =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex5D =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex5E =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_ex5F =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_32 =
+dTest_random_ex00
+;;
+
+let dTest_random_64 =
+(Matita_list_list.append dTest_random_32 dTest_random_ex01)
+;;
+
+let dTest_random_128 =
+(Matita_list_list.append dTest_random_64 (Matita_list_list.append dTest_random_ex02 dTest_random_ex03))
+;;
+
+let dTest_random_256 =
+(Matita_list_list.append dTest_random_128 (Matita_list_list.append dTest_random_ex04 (Matita_list_list.append dTest_random_ex05 (Matita_list_list.append dTest_random_ex06 dTest_random_ex07))))
+;;
+
+let dTest_random_512 =
+(Matita_list_list.append dTest_random_256 (Matita_list_list.append dTest_random_ex08 (Matita_list_list.append dTest_random_ex09 (Matita_list_list.append dTest_random_ex0A (Matita_list_list.append dTest_random_ex0B (Matita_list_list.append dTest_random_ex0C (Matita_list_list.append dTest_random_ex0D (Matita_list_list.append dTest_random_ex0E dTest_random_ex0F))))))))
+;;
+
+let dTest_random_1024 =
+(Matita_list_list.append dTest_random_512 (Matita_list_list.append dTest_random_ex10 (Matita_list_list.append dTest_random_ex11 (Matita_list_list.append dTest_random_ex12 (Matita_list_list.append dTest_random_ex13 (Matita_list_list.append dTest_random_ex14 (Matita_list_list.append dTest_random_ex15 (Matita_list_list.append dTest_random_ex16 (Matita_list_list.append dTest_random_ex17 (Matita_list_list.append dTest_random_ex18 (Matita_list_list.append dTest_random_ex19 (Matita_list_list.append dTest_random_ex1A (Matita_list_list.append dTest_random_ex1B (Matita_list_list.append dTest_random_ex1C (Matita_list_list.append dTest_random_ex1D (Matita_list_list.append dTest_random_ex1E dTest_random_ex1F))))))))))))))))
+;;
+
+let dTest_random_2048 =
+(Matita_list_list.append dTest_random_1024 (Matita_list_list.append dTest_random_ex20 (Matita_list_list.append dTest_random_ex21 (Matita_list_list.append dTest_random_ex22 (Matita_list_list.append dTest_random_ex23 (Matita_list_list.append dTest_random_ex24 (Matita_list_list.append dTest_random_ex25 (Matita_list_list.append dTest_random_ex26 (Matita_list_list.append dTest_random_ex27 (Matita_list_list.append dTest_random_ex28 (Matita_list_list.append dTest_random_ex29 (Matita_list_list.append dTest_random_ex2A (Matita_list_list.append dTest_random_ex2B (Matita_list_list.append dTest_random_ex2C (Matita_list_list.append dTest_random_ex2D (Matita_list_list.append dTest_random_ex2E (Matita_list_list.append dTest_random_ex2F (Matita_list_list.append dTest_random_ex30 (Matita_list_list.append dTest_random_ex31 (Matita_list_list.append dTest_random_ex32 (Matita_list_list.append dTest_random_ex33 (Matita_list_list.append dTest_random_ex34 (Matita_list_list.append dTest_random_ex35 (Matita_list_list.append dTest_random_ex36 (Matita_list_list.append dTest_random_ex37 (Matita_list_list.append dTest_random_ex38 (Matita_list_list.append dTest_random_ex39 (Matita_list_list.append dTest_random_ex3A (Matita_list_list.append dTest_random_ex3B (Matita_list_list.append dTest_random_ex3C (Matita_list_list.append dTest_random_ex3D (Matita_list_list.append dTest_random_ex3E dTest_random_ex3F))))))))))))))))))))))))))))))))
+;;
+
+let dTest_random_3072 =
+(Matita_list_list.append dTest_random_2048 (Matita_list_list.append dTest_random_ex40 (Matita_list_list.append dTest_random_ex41 (Matita_list_list.append dTest_random_ex42 (Matita_list_list.append dTest_random_ex43 (Matita_list_list.append dTest_random_ex44 (Matita_list_list.append dTest_random_ex45 (Matita_list_list.append dTest_random_ex46 (Matita_list_list.append dTest_random_ex47 (Matita_list_list.append dTest_random_ex48 (Matita_list_list.append dTest_random_ex49 (Matita_list_list.append dTest_random_ex4A (Matita_list_list.append dTest_random_ex4B (Matita_list_list.append dTest_random_ex4C (Matita_list_list.append dTest_random_ex4D (Matita_list_list.append dTest_random_ex4E (Matita_list_list.append dTest_random_ex4F (Matita_list_list.append dTest_random_ex50 (Matita_list_list.append dTest_random_ex51 (Matita_list_list.append dTest_random_ex52 (Matita_list_list.append dTest_random_ex53 (Matita_list_list.append dTest_random_ex54 (Matita_list_list.append dTest_random_ex55 (Matita_list_list.append dTest_random_ex56 (Matita_list_list.append dTest_random_ex57 (Matita_list_list.append dTest_random_ex58 (Matita_list_list.append dTest_random_ex59 (Matita_list_list.append dTest_random_ex5A (Matita_list_list.append dTest_random_ex5B (Matita_list_list.append dTest_random_ex5C (Matita_list_list.append dTest_random_ex5D (Matita_list_list.append dTest_random_ex5E dTest_random_ex5F))))))))))))))))))))))))))))))))
+;;
+
+let dTest_bytes_aux =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let dTest_zeros =
+(Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux dTest_bytes_aux))))))
+;;
+
+let dTest_zeros3K =
+(Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux (Matita_list_list.append dTest_bytes_aux dTest_bytes_aux)))))))))))))))))))))))
+;;
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_abs.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_abs.ml
new file mode 100644 (file)
index 0000000..cfda798
--- /dev/null
@@ -0,0 +1,129 @@
+type memory_impl =
+MEM_FUNC
+ | MEM_TREE
+ | MEM_BITS
+;;
+
+let memory_impl_rec =
+(function p -> (function p1 -> (function p2 -> (function m -> 
+(match m with 
+   MEM_FUNC -> p
+ | MEM_TREE -> p1
+ | MEM_BITS -> p2)
+))))
+;;
+
+let memory_impl_rect =
+(function p -> (function p1 -> (function p2 -> (function m -> 
+(match m with 
+   MEM_FUNC -> p
+ | MEM_TREE -> p1
+ | MEM_BITS -> p2)
+))))
+;;
+
+type aux_mem_type = unit (* TOO POLYMORPHIC TYPE *)
+;;
+
+type aux_chk_type = unit (* TOO POLYMORPHIC TYPE *)
+;;
+
+let out_of_bound_memory =
+(function t -> 
+(match t with 
+   MEM_FUNC -> Obj.magic (Matita_freescale_memory_func.mf_out_of_bound_memory)
+ | MEM_TREE -> Obj.magic (Matita_freescale_memory_trees.mt_out_of_bound_memory)
+ | MEM_BITS -> Obj.magic (Matita_freescale_memory_bits.mb_out_of_bound_memory))
+)
+;;
+
+let zero_memory =
+(function t -> 
+(match t with 
+   MEM_FUNC -> Obj.magic (Matita_freescale_memory_func.mf_zero_memory)
+ | MEM_TREE -> Obj.magic (Matita_freescale_memory_trees.mt_zero_memory)
+ | MEM_BITS -> Obj.magic (Matita_freescale_memory_bits.mb_zero_memory))
+)
+;;
+
+let mem_read_abs =
+(function t -> 
+(match t with 
+   MEM_FUNC -> Obj.magic ((function m -> (function addr -> (m addr))))
+ | MEM_TREE -> Obj.magic ((function m -> (function addr -> (Matita_freescale_memory_trees.mt_visit m addr))))
+ | MEM_BITS -> Obj.magic ((function m -> (function addr -> (Matita_freescale_memory_struct.byte8_of_bits (Matita_freescale_memory_trees.mt_visit m addr))))))
+)
+;;
+
+let chk_get =
+(function t -> (function c -> (function addr -> (
+(match t with 
+   MEM_FUNC -> Obj.magic (Matita_freescale_memory_func.mf_chk_get)
+ | MEM_TREE -> Obj.magic (Matita_freescale_memory_trees.mt_chk_get)
+ | MEM_BITS -> Obj.magic (Matita_freescale_memory_bits.mb_chk_get))
+ c addr))))
+;;
+
+let mem_read =
+(function t -> (function m -> (function c -> (function addr -> (
+(match t with 
+   MEM_FUNC -> Obj.magic (Matita_freescale_memory_func.mf_mem_read)
+ | MEM_TREE -> Obj.magic (Matita_freescale_memory_trees.mt_mem_read)
+ | MEM_BITS -> Obj.magic (Matita_freescale_memory_bits.mb_mem_read))
+ m c addr)))))
+;;
+
+let mem_read_bit =
+(function t -> 
+(match t with 
+   MEM_FUNC -> Obj.magic ((function m -> (function c -> (function addr -> (function o -> (Matita_freescale_extra.opt_map (Matita_freescale_memory_func.mf_mem_read m c addr) (function b -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T o (Matita_freescale_memory_struct.bits_of_byte8 b)))))))))))
+ | MEM_TREE -> Obj.magic ((function m -> (function c -> (function addr -> (function o -> (Matita_freescale_extra.opt_map (Matita_freescale_memory_trees.mt_mem_read m c addr) (function b -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T o (Matita_freescale_memory_struct.bits_of_byte8 b)))))))))))
+ | MEM_BITS -> Obj.magic ((function m -> (function c -> (function addr -> (function o -> (Matita_freescale_memory_bits.mb_mem_read_bit m c addr o)))))))
+)
+;;
+
+let mem_update =
+(function t -> (function m -> (function c -> (function addr -> (function v -> (
+(match t with 
+   MEM_FUNC -> Obj.magic (Matita_freescale_memory_func.mf_mem_update)
+ | MEM_TREE -> Obj.magic (Matita_freescale_memory_trees.mt_mem_update)
+ | MEM_BITS -> Obj.magic (Matita_freescale_memory_bits.mb_mem_update))
+ m (chk_get t c addr) addr v))))))
+;;
+
+let mem_update_bit =
+(function t -> 
+(match t with 
+   MEM_FUNC -> Obj.magic ((function m -> (function c -> (function addr -> (function o -> (function v -> (Matita_freescale_extra.opt_map (Matita_freescale_memory_func.mf_mem_read m c addr) (function b -> (Matita_freescale_memory_func.mf_mem_update m (chk_get MEM_FUNC c addr) addr (Matita_freescale_memory_struct.byte8_of_bits (Matita_freescale_memory_struct.setn_array8T o (Matita_freescale_memory_struct.bits_of_byte8 b) v)))))))))))
+ | MEM_TREE -> Obj.magic ((function m -> (function c -> (function addr -> (function o -> (function v -> (Matita_freescale_extra.opt_map (Matita_freescale_memory_trees.mt_mem_read m c addr) (function b -> (Matita_freescale_memory_trees.mt_mem_update m (chk_get MEM_TREE c addr) addr (Matita_freescale_memory_struct.byte8_of_bits (Matita_freescale_memory_struct.setn_array8T o (Matita_freescale_memory_struct.bits_of_byte8 b) v)))))))))))
+ | MEM_BITS -> Obj.magic ((function m -> (function c -> (function addr -> (function o -> (function v -> (Matita_freescale_memory_bits.mb_mem_update_bit m c addr o v))))))))
+)
+;;
+
+let load_from_source_at =
+(function t -> (function m -> (function l -> (function addr -> (
+(match t with 
+   MEM_FUNC -> Obj.magic (Matita_freescale_memory_func.mf_load_from_source_at)
+ | MEM_TREE -> Obj.magic (Matita_freescale_memory_trees.mt_load_from_source_at)
+ | MEM_BITS -> Obj.magic (Matita_freescale_memory_bits.mb_load_from_source_at))
+ m l addr)))))
+;;
+
+let check_update_ranged =
+(function t -> 
+(match t with 
+   MEM_FUNC -> Obj.magic ((function c -> (function inf -> (function sup -> (function v -> (Matita_freescale_memory_func.mf_check_update_ranged c inf sup v))))))
+ | MEM_TREE -> Obj.magic ((function c -> (function inf -> (function sup -> (function v -> (Matita_freescale_memory_trees.mt_update_ranged c inf sup v))))))
+ | MEM_BITS -> Obj.magic ((function c -> (function inf -> (function sup -> (function v -> (Matita_freescale_memory_trees.mt_update_ranged c inf sup (Matita_freescale_memory_struct.Array_8T(v,v,v,v,v,v,v,v)))))))))
+)
+;;
+
+let check_update_bit =
+(function t -> 
+(match t with 
+   MEM_FUNC -> Obj.magic ((function c -> (function addr -> (function o -> (function v -> c)))))
+ | MEM_TREE -> Obj.magic ((function c -> (function addr -> (function o -> (function v -> c)))))
+ | MEM_BITS -> Obj.magic ((function c -> (function addr -> (function o -> (function v -> (Matita_freescale_memory_bits.mb_chk_update_bit c addr o v)))))))
+)
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_bits.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_bits.ml
new file mode 100644 (file)
index 0000000..85f7acb
--- /dev/null
@@ -0,0 +1,135 @@
+let mb_out_of_bound_memory =
+(let base = (Matita_freescale_memory_struct.Array_8T(Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND)) in (let lev4 = (Matita_freescale_memory_struct.Array_16T(base,base,base,base,base,base,base,base,base,base,base,base,base,base,base,base)) in (let lev3 = (Matita_freescale_memory_struct.Array_16T(lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4)) in (let lev2 = (Matita_freescale_memory_struct.Array_16T(lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3)) in (let lev1 = (Matita_freescale_memory_struct.Array_16T(lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2)) in lev1)))))
+;;
+
+let mb_zero_memory =
+(let base = (Matita_freescale_memory_struct.Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False)) in (let lev4 = (Matita_freescale_memory_struct.Array_16T(base,base,base,base,base,base,base,base,base,base,base,base,base,base,base,base)) in (let lev3 = (Matita_freescale_memory_struct.Array_16T(lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4)) in (let lev2 = (Matita_freescale_memory_struct.Array_16T(lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3)) in (let lev1 = (Matita_freescale_memory_struct.Array_16T(lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2)) in lev1)))))
+;;
+
+let mb_mem_update_bit =
+(function mem -> (function chk -> (function addr -> (function sub -> (function v -> 
+(match (Matita_freescale_memory_struct.getn_array8T sub (Matita_freescale_memory_trees.mt_visit chk addr)) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some(mem))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_trees.mt_update mem addr (Matita_freescale_memory_struct.setn_array8T sub (Matita_freescale_memory_trees.mt_visit mem addr) v))))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+)))))
+;;
+
+let mb_chk_update_bit =
+(function chk -> (function addr -> (function sub -> (function v -> (Matita_freescale_memory_trees.mt_update chk addr (Matita_freescale_memory_struct.setn_array8T sub (Matita_freescale_memory_trees.mt_visit chk addr) v))))))
+;;
+
+let mb_mem_read_bit =
+(function mem -> (function chk -> (function addr -> (function sub -> 
+(match (Matita_freescale_memory_struct.getn_array8T sub (Matita_freescale_memory_trees.mt_visit chk addr)) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T sub (Matita_freescale_memory_trees.mt_visit mem addr))))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T sub (Matita_freescale_memory_trees.mt_visit mem addr))))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+))))
+;;
+
+let mb_chk_get =
+(function chk -> (function addr -> (let c = (Matita_freescale_memory_trees.mt_visit chk addr) in (Matita_freescale_memory_struct.Array_8T((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O7 c),(Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O6 c),(Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O5 c),(Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O4 c),(Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O3 c),(Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O2 c),(Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O1 c),(Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O0 c))))))
+;;
+
+let mb_mem_update =
+(function mem -> (function chk -> (function addr -> (function v -> (let old_value = (Matita_freescale_memory_trees.mt_visit mem addr) in (let new_value = (Matita_freescale_memory_struct.bits_of_byte8 v) in (let newbit0 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O0 chk) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O0 old_value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O0 new_value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit1 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O1 chk) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O1 old_value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O1 new_value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit2 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O2 chk) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O2 old_value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O2 new_value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit3 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O3 chk) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O3 old_value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O3 new_value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit4 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O4 chk) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O4 old_value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O4 new_value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit5 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O5 chk) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O5 old_value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O5 new_value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit6 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O6 chk) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O6 old_value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O6 new_value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit7 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O7 chk) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O7 old_value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O7 new_value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (Matita_freescale_extra.opt_map newbit0 (function nb0 -> (Matita_freescale_extra.opt_map newbit1 (function nb1 -> (Matita_freescale_extra.opt_map newbit2 (function nb2 -> (Matita_freescale_extra.opt_map newbit3 (function nb3 -> (Matita_freescale_extra.opt_map newbit4 (function nb4 -> (Matita_freescale_extra.opt_map newbit5 (function nb5 -> (Matita_freescale_extra.opt_map newbit6 (function nb6 -> (Matita_freescale_extra.opt_map newbit7 (function nb7 -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_trees.mt_update mem addr (Matita_freescale_memory_struct.Array_8T(nb7,nb6,nb5,nb4,nb3,nb2,nb1,nb0)))))))))))))))))))))))))))))))))))
+;;
+
+let mb_mem_read =
+(function mem -> (function chk -> (function addr -> (let bit_types = (Matita_freescale_memory_trees.mt_visit chk addr) in (let value = (Matita_freescale_memory_trees.mt_visit mem addr) in (let newbit0 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O0 bit_types) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O0 value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O0 value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit1 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O1 bit_types) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O1 value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O1 value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit2 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O2 bit_types) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O2 value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O2 value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit3 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O3 bit_types) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O3 value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O3 value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit4 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O4 bit_types) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O4 value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O4 value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit5 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O5 bit_types) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O5 value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O5 value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit6 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O6 bit_types) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O6 value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O6 value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (let newbit7 = 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O7 bit_types) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O7 value)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O7 value)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+ in (Matita_freescale_extra.opt_map newbit0 (function nb0 -> (Matita_freescale_extra.opt_map newbit1 (function nb1 -> (Matita_freescale_extra.opt_map newbit2 (function nb2 -> (Matita_freescale_extra.opt_map newbit3 (function nb3 -> (Matita_freescale_extra.opt_map newbit4 (function nb4 -> (Matita_freescale_extra.opt_map newbit5 (function nb5 -> (Matita_freescale_extra.opt_map newbit6 (function nb6 -> (Matita_freescale_extra.opt_map newbit7 (function nb7 -> (Matita_datatypes_constructors.Some((Matita_freescale_memory_struct.byte8_of_bits (Matita_freescale_memory_struct.Array_8T(nb7,nb6,nb5,nb4,nb3,nb2,nb1,nb0))))))))))))))))))))))))))))))))))
+;;
+
+let mb_load_from_source_at =
+let rec mb_load_from_source_at = 
+(function old_mem -> (function source -> (function addr -> 
+(match source with 
+   Matita_list_list.Nil -> old_mem
+ | Matita_list_list.Cons(hd,tl) -> 
+(match (Matita_freescale_word16.lt_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))))) with 
+   Matita_datatypes_bool.True -> (mb_load_from_source_at (Matita_freescale_memory_trees.mt_update old_mem addr (Matita_freescale_memory_struct.bits_of_byte8 hd)) tl (Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))))
+ | Matita_datatypes_bool.False -> (Matita_freescale_memory_trees.mt_update old_mem addr (Matita_freescale_memory_struct.bits_of_byte8 hd)))
+)
+))) in mb_load_from_source_at
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_func.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_func.ml
new file mode 100644 (file)
index 0000000..6f4abfd
--- /dev/null
@@ -0,0 +1,64 @@
+let mf_check_update_ranged =
+(function f -> (function i -> (function s -> (function v -> (function x -> 
+(match (Matita_freescale_word16.in_range x i s) with 
+   Matita_datatypes_bool.True -> v
+ | Matita_datatypes_bool.False -> (f x))
+)))))
+;;
+
+let mf_out_of_bound_memory =
+(function _ -> Matita_freescale_memory_struct.MEM_OUT_OF_BOUND)
+;;
+
+let mf_chk_get =
+(function c -> (function a -> 
+(match (c a) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_freescale_memory_struct.Array_8T(Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_freescale_memory_struct.Array_8T(Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_freescale_memory_struct.Array_8T(Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND)))
+))
+;;
+
+let mf_mem_update =
+(function f -> (function c -> (function a -> (function v -> 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O0 c) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some(f))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((function x -> 
+(match (Matita_freescale_word16.eq_w16 x a) with 
+   Matita_datatypes_bool.True -> v
+ | Matita_datatypes_bool.False -> (f x))
+)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+))))
+;;
+
+let mf_zero_memory =
+(function _ -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))
+;;
+
+let mf_mem_read =
+(function f -> (function c -> (function a -> 
+(match (c a) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((f a)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((f a)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+)))
+;;
+
+let mf_load_from_source_at =
+let rec mf_load_from_source_at = 
+(function old_mem -> (function source -> (function addr -> 
+(match source with 
+   Matita_list_list.Nil -> old_mem
+ | Matita_list_list.Cons(hd,tl) -> (function x -> 
+(match (Matita_freescale_word16.lt_w16 x addr) with 
+   Matita_datatypes_bool.True -> (old_mem x)
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_word16.eq_w16 x addr) with 
+   Matita_datatypes_bool.True -> hd
+ | Matita_datatypes_bool.False -> (mf_load_from_source_at old_mem tl (Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) x))
+)
+))
+))) in mf_load_from_source_at
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_struct.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_struct.ml
new file mode 100644 (file)
index 0000000..c656149
--- /dev/null
@@ -0,0 +1,834 @@
+type memory_type =
+MEM_READ_ONLY
+ | MEM_READ_WRITE
+ | MEM_OUT_OF_BOUND
+;;
+
+let memory_type_rec =
+(function p -> (function p1 -> (function p2 -> (function m -> 
+(match m with 
+   MEM_READ_ONLY -> p
+ | MEM_READ_WRITE -> p1
+ | MEM_OUT_OF_BOUND -> p2)
+))))
+;;
+
+let memory_type_rect =
+(function p -> (function p1 -> (function p2 -> (function m -> 
+(match m with 
+   MEM_READ_ONLY -> p
+ | MEM_READ_WRITE -> p1
+ | MEM_OUT_OF_BOUND -> p2)
+))))
+;;
+
+type ('t) prod16T =
+Array_16T of 't * 't * 't * 't * 't * 't * 't * 't * 't * 't * 't * 't * 't * 't * 't * 't
+;;
+
+let prod16T_rec =
+(function f -> (function p -> 
+(match p with 
+   Array_16T(t,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15) -> (f t t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15))
+))
+;;
+
+let prod16T_rect =
+(function f -> (function p -> 
+(match p with 
+   Array_16T(t,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15) -> (f t t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15))
+))
+;;
+
+let getn_array16T =
+(function n -> (function p -> 
+(match p with 
+   Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15) -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> e00
+ | Matita_freescale_exadecim.X1 -> e01
+ | Matita_freescale_exadecim.X2 -> e02
+ | Matita_freescale_exadecim.X3 -> e03
+ | Matita_freescale_exadecim.X4 -> e04
+ | Matita_freescale_exadecim.X5 -> e05
+ | Matita_freescale_exadecim.X6 -> e06
+ | Matita_freescale_exadecim.X7 -> e07
+ | Matita_freescale_exadecim.X8 -> e08
+ | Matita_freescale_exadecim.X9 -> e09
+ | Matita_freescale_exadecim.XA -> e10
+ | Matita_freescale_exadecim.XB -> e11
+ | Matita_freescale_exadecim.XC -> e12
+ | Matita_freescale_exadecim.XD -> e13
+ | Matita_freescale_exadecim.XE -> e14
+ | Matita_freescale_exadecim.XF -> e15)
+)
+))
+;;
+
+let setn_array16T =
+(function n -> (function p -> (function v -> 
+(match p with 
+   Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15) -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> (Array_16T(v,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X1 -> (Array_16T(e00,v,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X2 -> (Array_16T(e00,e01,v,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X3 -> (Array_16T(e00,e01,e02,v,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X4 -> (Array_16T(e00,e01,e02,e03,v,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X5 -> (Array_16T(e00,e01,e02,e03,e04,v,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X6 -> (Array_16T(e00,e01,e02,e03,e04,e05,v,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X7 -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,v,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X8 -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,v,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X9 -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,v,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XA -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,v,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XB -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,v)))
+)
+)))
+;;
+
+let setmn_array16T =
+(function m -> (function n -> (function p -> (function v -> 
+(match p with 
+   Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15) -> 
+(match m with 
+   Matita_freescale_exadecim.X0 -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> (Array_16T(v,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X1 -> (Array_16T(v,v,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X2 -> (Array_16T(v,v,v,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X3 -> (Array_16T(v,v,v,v,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X4 -> (Array_16T(v,v,v,v,v,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X5 -> (Array_16T(v,v,v,v,v,v,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X6 -> (Array_16T(v,v,v,v,v,v,v,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X7 -> (Array_16T(v,v,v,v,v,v,v,v,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X8 -> (Array_16T(v,v,v,v,v,v,v,v,v,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X9 -> (Array_16T(v,v,v,v,v,v,v,v,v,v,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XA -> (Array_16T(v,v,v,v,v,v,v,v,v,v,v,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XB -> (Array_16T(v,v,v,v,v,v,v,v,v,v,v,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(v,v,v,v,v,v,v,v,v,v,v,v,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(v,v,v,v,v,v,v,v,v,v,v,v,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v)))
+
+ | Matita_freescale_exadecim.X1 -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> (Array_16T(e00,v,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X2 -> (Array_16T(e00,v,v,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X3 -> (Array_16T(e00,v,v,v,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X4 -> (Array_16T(e00,v,v,v,v,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X5 -> (Array_16T(e00,v,v,v,v,v,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X6 -> (Array_16T(e00,v,v,v,v,v,v,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X7 -> (Array_16T(e00,v,v,v,v,v,v,v,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X8 -> (Array_16T(e00,v,v,v,v,v,v,v,v,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X9 -> (Array_16T(e00,v,v,v,v,v,v,v,v,v,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XA -> (Array_16T(e00,v,v,v,v,v,v,v,v,v,v,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XB -> (Array_16T(e00,v,v,v,v,v,v,v,v,v,v,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,v,v,v,v,v,v,v,v,v,v,v,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,v,v,v,v,v,v,v,v,v,v,v,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,v,v,v,v,v,v,v,v,v,v,v,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v)))
+
+ | Matita_freescale_exadecim.X2 -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> (Array_16T(e00,e01,v,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X3 -> (Array_16T(e00,e01,v,v,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X4 -> (Array_16T(e00,e01,v,v,v,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X5 -> (Array_16T(e00,e01,v,v,v,v,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X6 -> (Array_16T(e00,e01,v,v,v,v,v,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X7 -> (Array_16T(e00,e01,v,v,v,v,v,v,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X8 -> (Array_16T(e00,e01,v,v,v,v,v,v,v,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X9 -> (Array_16T(e00,e01,v,v,v,v,v,v,v,v,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XA -> (Array_16T(e00,e01,v,v,v,v,v,v,v,v,v,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XB -> (Array_16T(e00,e01,v,v,v,v,v,v,v,v,v,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,e01,v,v,v,v,v,v,v,v,v,v,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,v,v,v,v,v,v,v,v,v,v,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,v,v,v,v,v,v,v,v,v,v,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,v,v,v,v,v,v,v,v,v,v,v,v,v,v)))
+
+ | Matita_freescale_exadecim.X3 -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> (Array_16T(e00,e01,e02,v,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X4 -> (Array_16T(e00,e01,e02,v,v,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X5 -> (Array_16T(e00,e01,e02,v,v,v,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X6 -> (Array_16T(e00,e01,e02,v,v,v,v,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X7 -> (Array_16T(e00,e01,e02,v,v,v,v,v,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X8 -> (Array_16T(e00,e01,e02,v,v,v,v,v,v,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X9 -> (Array_16T(e00,e01,e02,v,v,v,v,v,v,v,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XA -> (Array_16T(e00,e01,e02,v,v,v,v,v,v,v,v,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XB -> (Array_16T(e00,e01,e02,v,v,v,v,v,v,v,v,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,e01,e02,v,v,v,v,v,v,v,v,v,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,e02,v,v,v,v,v,v,v,v,v,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,v,v,v,v,v,v,v,v,v,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,v,v,v,v,v,v,v,v,v,v,v,v,v)))
+
+ | Matita_freescale_exadecim.X4 -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> p
+ | Matita_freescale_exadecim.X4 -> (Array_16T(e00,e01,e02,e03,v,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X5 -> (Array_16T(e00,e01,e02,e03,v,v,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X6 -> (Array_16T(e00,e01,e02,e03,v,v,v,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X7 -> (Array_16T(e00,e01,e02,e03,v,v,v,v,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X8 -> (Array_16T(e00,e01,e02,e03,v,v,v,v,v,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X9 -> (Array_16T(e00,e01,e02,e03,v,v,v,v,v,v,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XA -> (Array_16T(e00,e01,e02,e03,v,v,v,v,v,v,v,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XB -> (Array_16T(e00,e01,e02,e03,v,v,v,v,v,v,v,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,e01,e02,e03,v,v,v,v,v,v,v,v,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,e02,e03,v,v,v,v,v,v,v,v,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,e03,v,v,v,v,v,v,v,v,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,v,v,v,v,v,v,v,v,v,v,v,v)))
+
+ | Matita_freescale_exadecim.X5 -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> p
+ | Matita_freescale_exadecim.X4 -> p
+ | Matita_freescale_exadecim.X5 -> (Array_16T(e00,e01,e02,e03,e04,v,e06,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X6 -> (Array_16T(e00,e01,e02,e03,e04,v,v,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X7 -> (Array_16T(e00,e01,e02,e03,e04,v,v,v,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X8 -> (Array_16T(e00,e01,e02,e03,e04,v,v,v,v,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X9 -> (Array_16T(e00,e01,e02,e03,e04,v,v,v,v,v,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XA -> (Array_16T(e00,e01,e02,e03,e04,v,v,v,v,v,v,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XB -> (Array_16T(e00,e01,e02,e03,e04,v,v,v,v,v,v,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,e01,e02,e03,e04,v,v,v,v,v,v,v,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,e02,e03,e04,v,v,v,v,v,v,v,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,e03,e04,v,v,v,v,v,v,v,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,e04,v,v,v,v,v,v,v,v,v,v,v)))
+
+ | Matita_freescale_exadecim.X6 -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> p
+ | Matita_freescale_exadecim.X4 -> p
+ | Matita_freescale_exadecim.X5 -> p
+ | Matita_freescale_exadecim.X6 -> (Array_16T(e00,e01,e02,e03,e04,e05,v,e07,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X7 -> (Array_16T(e00,e01,e02,e03,e04,e05,v,v,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X8 -> (Array_16T(e00,e01,e02,e03,e04,e05,v,v,v,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X9 -> (Array_16T(e00,e01,e02,e03,e04,e05,v,v,v,v,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XA -> (Array_16T(e00,e01,e02,e03,e04,e05,v,v,v,v,v,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XB -> (Array_16T(e00,e01,e02,e03,e04,e05,v,v,v,v,v,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,e01,e02,e03,e04,e05,v,v,v,v,v,v,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,e02,e03,e04,e05,v,v,v,v,v,v,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,e03,e04,e05,v,v,v,v,v,v,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,e04,e05,v,v,v,v,v,v,v,v,v,v)))
+
+ | Matita_freescale_exadecim.X7 -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> p
+ | Matita_freescale_exadecim.X4 -> p
+ | Matita_freescale_exadecim.X5 -> p
+ | Matita_freescale_exadecim.X6 -> p
+ | Matita_freescale_exadecim.X7 -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,v,e08,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X8 -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,v,v,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X9 -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,v,v,v,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XA -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,v,v,v,v,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XB -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,v,v,v,v,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,v,v,v,v,v,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,v,v,v,v,v,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,v,v,v,v,v,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,v,v,v,v,v,v,v,v,v)))
+
+ | Matita_freescale_exadecim.X8 -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> p
+ | Matita_freescale_exadecim.X4 -> p
+ | Matita_freescale_exadecim.X5 -> p
+ | Matita_freescale_exadecim.X6 -> p
+ | Matita_freescale_exadecim.X7 -> p
+ | Matita_freescale_exadecim.X8 -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,v,e09,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.X9 -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,v,v,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XA -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,v,v,v,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XB -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,v,v,v,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,v,v,v,v,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,v,v,v,v,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,v,v,v,v,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,v,v,v,v,v,v,v,v)))
+
+ | Matita_freescale_exadecim.X9 -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> p
+ | Matita_freescale_exadecim.X4 -> p
+ | Matita_freescale_exadecim.X5 -> p
+ | Matita_freescale_exadecim.X6 -> p
+ | Matita_freescale_exadecim.X7 -> p
+ | Matita_freescale_exadecim.X8 -> p
+ | Matita_freescale_exadecim.X9 -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,v,e10,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XA -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,v,v,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XB -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,v,v,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,v,v,v,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,v,v,v,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,v,v,v,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,v,v,v,v,v,v,v)))
+
+ | Matita_freescale_exadecim.XA -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> p
+ | Matita_freescale_exadecim.X4 -> p
+ | Matita_freescale_exadecim.X5 -> p
+ | Matita_freescale_exadecim.X6 -> p
+ | Matita_freescale_exadecim.X7 -> p
+ | Matita_freescale_exadecim.X8 -> p
+ | Matita_freescale_exadecim.X9 -> p
+ | Matita_freescale_exadecim.XA -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,v,e11,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XB -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,v,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,v,v,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,v,v,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,v,v,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,v,v,v,v,v,v)))
+
+ | Matita_freescale_exadecim.XB -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> p
+ | Matita_freescale_exadecim.X4 -> p
+ | Matita_freescale_exadecim.X5 -> p
+ | Matita_freescale_exadecim.X6 -> p
+ | Matita_freescale_exadecim.X7 -> p
+ | Matita_freescale_exadecim.X8 -> p
+ | Matita_freescale_exadecim.X9 -> p
+ | Matita_freescale_exadecim.XA -> p
+ | Matita_freescale_exadecim.XB -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,v,e12,e13,e14,e15))
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,v,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,v,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,v,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,v,v,v,v,v)))
+
+ | Matita_freescale_exadecim.XC -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> p
+ | Matita_freescale_exadecim.X4 -> p
+ | Matita_freescale_exadecim.X5 -> p
+ | Matita_freescale_exadecim.X6 -> p
+ | Matita_freescale_exadecim.X7 -> p
+ | Matita_freescale_exadecim.X8 -> p
+ | Matita_freescale_exadecim.X9 -> p
+ | Matita_freescale_exadecim.XA -> p
+ | Matita_freescale_exadecim.XB -> p
+ | Matita_freescale_exadecim.XC -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,v,e13,e14,e15))
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,v,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,v,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,v,v,v,v)))
+
+ | Matita_freescale_exadecim.XD -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> p
+ | Matita_freescale_exadecim.X4 -> p
+ | Matita_freescale_exadecim.X5 -> p
+ | Matita_freescale_exadecim.X6 -> p
+ | Matita_freescale_exadecim.X7 -> p
+ | Matita_freescale_exadecim.X8 -> p
+ | Matita_freescale_exadecim.X9 -> p
+ | Matita_freescale_exadecim.XA -> p
+ | Matita_freescale_exadecim.XB -> p
+ | Matita_freescale_exadecim.XC -> p
+ | Matita_freescale_exadecim.XD -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,v,e14,e15))
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,v,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,v,v,v)))
+
+ | Matita_freescale_exadecim.XE -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> p
+ | Matita_freescale_exadecim.X4 -> p
+ | Matita_freescale_exadecim.X5 -> p
+ | Matita_freescale_exadecim.X6 -> p
+ | Matita_freescale_exadecim.X7 -> p
+ | Matita_freescale_exadecim.X8 -> p
+ | Matita_freescale_exadecim.X9 -> p
+ | Matita_freescale_exadecim.XA -> p
+ | Matita_freescale_exadecim.XB -> p
+ | Matita_freescale_exadecim.XC -> p
+ | Matita_freescale_exadecim.XD -> p
+ | Matita_freescale_exadecim.XE -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,v,e15))
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,v,v)))
+
+ | Matita_freescale_exadecim.XF -> 
+(match n with 
+   Matita_freescale_exadecim.X0 -> p
+ | Matita_freescale_exadecim.X1 -> p
+ | Matita_freescale_exadecim.X2 -> p
+ | Matita_freescale_exadecim.X3 -> p
+ | Matita_freescale_exadecim.X4 -> p
+ | Matita_freescale_exadecim.X5 -> p
+ | Matita_freescale_exadecim.X6 -> p
+ | Matita_freescale_exadecim.X7 -> p
+ | Matita_freescale_exadecim.X8 -> p
+ | Matita_freescale_exadecim.X9 -> p
+ | Matita_freescale_exadecim.XA -> p
+ | Matita_freescale_exadecim.XB -> p
+ | Matita_freescale_exadecim.XC -> p
+ | Matita_freescale_exadecim.XD -> p
+ | Matita_freescale_exadecim.XE -> p
+ | Matita_freescale_exadecim.XF -> (Array_16T(e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,v)))
+)
+)
+))))
+;;
+
+let setmn_array16T_succ_pred =
+(function m -> (function n -> (function p -> (function v -> 
+(match (Matita_freescale_exadecim.lt_ex m Matita_freescale_exadecim.XF) with 
+   Matita_datatypes_bool.True -> 
+(match (Matita_freescale_exadecim.gt_ex n Matita_freescale_exadecim.X0) with 
+   Matita_datatypes_bool.True -> (setmn_array16T (Matita_freescale_exadecim.succ_ex m) (Matita_freescale_exadecim.pred_ex n) p v)
+ | Matita_datatypes_bool.False -> p)
+
+ | Matita_datatypes_bool.False -> p)
+))))
+;;
+
+let setmn_array16T_succ =
+(function m -> (function p -> (function v -> 
+(match (Matita_freescale_exadecim.lt_ex m Matita_freescale_exadecim.XF) with 
+   Matita_datatypes_bool.True -> (setmn_array16T (Matita_freescale_exadecim.succ_ex m) Matita_freescale_exadecim.XF p v)
+ | Matita_datatypes_bool.False -> p)
+)))
+;;
+
+let setmn_array16T_pred =
+(function n -> (function p -> (function v -> 
+(match (Matita_freescale_exadecim.gt_ex n Matita_freescale_exadecim.X0) with 
+   Matita_datatypes_bool.True -> (setmn_array16T Matita_freescale_exadecim.X0 (Matita_freescale_exadecim.pred_ex n) p v)
+ | Matita_datatypes_bool.False -> p)
+)))
+;;
+
+type ('t) prod8T =
+Array_8T of 't * 't * 't * 't * 't * 't * 't * 't
+;;
+
+let prod8T_rec =
+(function f -> (function p -> 
+(match p with 
+   Array_8T(t,t1,t2,t3,t4,t5,t6,t7) -> (f t t1 t2 t3 t4 t5 t6 t7))
+))
+;;
+
+let prod8T_rect =
+(function f -> (function p -> 
+(match p with 
+   Array_8T(t,t1,t2,t3,t4,t5,t6,t7) -> (f t t1 t2 t3 t4 t5 t6 t7))
+))
+;;
+
+let getn_array8T =
+(function n -> (function p -> 
+(match p with 
+   Array_8T(e07,e06,e05,e04,e03,e02,e01,e00) -> 
+(match n with 
+   Matita_freescale_aux_bases.O0 -> e00
+ | Matita_freescale_aux_bases.O1 -> e01
+ | Matita_freescale_aux_bases.O2 -> e02
+ | Matita_freescale_aux_bases.O3 -> e03
+ | Matita_freescale_aux_bases.O4 -> e04
+ | Matita_freescale_aux_bases.O5 -> e05
+ | Matita_freescale_aux_bases.O6 -> e06
+ | Matita_freescale_aux_bases.O7 -> e07)
+)
+))
+;;
+
+let setn_array8T =
+(function n -> (function p -> (function v -> 
+(match p with 
+   Array_8T(e07,e06,e05,e04,e03,e02,e01,e00) -> 
+(match n with 
+   Matita_freescale_aux_bases.O0 -> (Array_8T(e07,e06,e05,e04,e03,e02,e01,v))
+ | Matita_freescale_aux_bases.O1 -> (Array_8T(e07,e06,e05,e04,e03,e02,v,e00))
+ | Matita_freescale_aux_bases.O2 -> (Array_8T(e07,e06,e05,e04,e03,v,e01,e00))
+ | Matita_freescale_aux_bases.O3 -> (Array_8T(e07,e06,e05,e04,v,e02,e01,e00))
+ | Matita_freescale_aux_bases.O4 -> (Array_8T(e07,e06,e05,v,e03,e02,e01,e00))
+ | Matita_freescale_aux_bases.O5 -> (Array_8T(e07,e06,v,e04,e03,e02,e01,e00))
+ | Matita_freescale_aux_bases.O6 -> (Array_8T(e07,v,e05,e04,e03,e02,e01,e00))
+ | Matita_freescale_aux_bases.O7 -> (Array_8T(v,e06,e05,e04,e03,e02,e01,e00)))
+)
+)))
+;;
+
+let byte8_of_bits =
+(function p -> 
+(match p with 
+   Array_8T(e07,e06,e05,e04,e03,e02,e01,e00) -> (Matita_freescale_byte8.Mk_byte8((Matita_freescale_exadecim.or_ex 
+(match e07 with 
+   Matita_datatypes_bool.True -> Matita_freescale_exadecim.X8
+ | Matita_datatypes_bool.False -> Matita_freescale_exadecim.X0)
+ (Matita_freescale_exadecim.or_ex 
+(match e06 with 
+   Matita_datatypes_bool.True -> Matita_freescale_exadecim.X4
+ | Matita_datatypes_bool.False -> Matita_freescale_exadecim.X0)
+ (Matita_freescale_exadecim.or_ex 
+(match e05 with 
+   Matita_datatypes_bool.True -> Matita_freescale_exadecim.X2
+ | Matita_datatypes_bool.False -> Matita_freescale_exadecim.X0)
+(match e04 with 
+   Matita_datatypes_bool.True -> Matita_freescale_exadecim.X1
+ | Matita_datatypes_bool.False -> Matita_freescale_exadecim.X0)
+))),(Matita_freescale_exadecim.or_ex 
+(match e03 with 
+   Matita_datatypes_bool.True -> Matita_freescale_exadecim.X8
+ | Matita_datatypes_bool.False -> Matita_freescale_exadecim.X0)
+ (Matita_freescale_exadecim.or_ex 
+(match e02 with 
+   Matita_datatypes_bool.True -> Matita_freescale_exadecim.X4
+ | Matita_datatypes_bool.False -> Matita_freescale_exadecim.X0)
+ (Matita_freescale_exadecim.or_ex 
+(match e01 with 
+   Matita_datatypes_bool.True -> Matita_freescale_exadecim.X2
+ | Matita_datatypes_bool.False -> Matita_freescale_exadecim.X0)
+(match e00 with 
+   Matita_datatypes_bool.True -> Matita_freescale_exadecim.X1
+ | Matita_datatypes_bool.False -> Matita_freescale_exadecim.X0)
+))))))
+)
+;;
+
+let bits_of_byte8 =
+(function p -> 
+(match (Matita_freescale_byte8.b8h p) with 
+   Matita_freescale_exadecim.X0 -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.X1 -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.X2 -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.X3 -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.X4 -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.X5 -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.X6 -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.X7 -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.X8 -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.X9 -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.XA -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.XB -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.XC -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.XD -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.XE -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+
+ | Matita_freescale_exadecim.XF -> 
+(match (Matita_freescale_byte8.b8l p) with 
+   Matita_freescale_exadecim.X0 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X1 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X2 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X3 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X4 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X5 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X6 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X7 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.X8 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.X9 -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XA -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XB -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XC -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XD -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False,Matita_datatypes_bool.True))
+ | Matita_freescale_exadecim.XE -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.False))
+ | Matita_freescale_exadecim.XF -> (Array_8T(Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True,Matita_datatypes_bool.True)))
+)
+)
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_trees.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_trees.ml
new file mode 100644 (file)
index 0000000..1155447
--- /dev/null
@@ -0,0 +1,88 @@
+let mt_out_of_bound_memory =
+(let lev4 = (Matita_freescale_memory_struct.Array_16T(Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND)) in (let lev3 = (Matita_freescale_memory_struct.Array_16T(lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4)) in (let lev2 = (Matita_freescale_memory_struct.Array_16T(lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3)) in (let lev1 = (Matita_freescale_memory_struct.Array_16T(lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2)) in lev1))))
+;;
+
+let mt_zero_memory =
+(let lev4 = (Matita_freescale_memory_struct.Array_16T((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let lev3 = (Matita_freescale_memory_struct.Array_16T(lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4,lev4)) in (let lev2 = (Matita_freescale_memory_struct.Array_16T(lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3,lev3)) in (let lev1 = (Matita_freescale_memory_struct.Array_16T(lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2,lev2)) in lev1))))
+;;
+
+let mt_visit =
+(function data -> (function addr -> 
+(match addr with 
+   Matita_freescale_word16.Mk_word16(wh,wl) -> (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8l wl) (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8h wl) (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8l wh) (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8h wh) data)))))
+))
+;;
+
+let mt_update =
+(function data -> (function addr -> (function v -> 
+(match addr with 
+   Matita_freescale_word16.Mk_word16(wh,wl) -> (let lev2 = (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8h wh) data) in (let lev3 = (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8l wh) lev2) in (let lev4 = (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8h wl) lev3) in (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h wh) data (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8l wh) lev2 (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h wl) lev3 (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8l wl) lev4 v))))))))
+)))
+;;
+
+let mt_update_ranged =
+(function data -> (function i -> (function s -> (function v -> 
+(match (Matita_freescale_word16.le_w16 i s) with 
+   Matita_datatypes_bool.True -> 
+(match i with 
+   Matita_freescale_word16.Mk_word16(ih,il) -> 
+(match s with 
+   Matita_freescale_word16.Mk_word16(sh,sl) -> (let ilev2 = (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8h ih) data) in (let ilev3 = (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8l ih) ilev2) in (let ilev4 = (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8h il) ilev3) in (let slev2 = (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8h sh) data) in (let slev3 = (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8l sh) slev2) in (let slev4 = (Matita_freescale_memory_struct.getn_array16T (Matita_freescale_byte8.b8h sl) slev3) in (let vlev4 = (Matita_freescale_memory_struct.Array_16T(v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v)) in (let vlev3 = (Matita_freescale_memory_struct.Array_16T(vlev4,vlev4,vlev4,vlev4,vlev4,vlev4,vlev4,vlev4,vlev4,vlev4,vlev4,vlev4,vlev4,vlev4,vlev4,vlev4)) in (let vlev2 = (Matita_freescale_memory_struct.Array_16T(vlev3,vlev3,vlev3,vlev3,vlev3,vlev3,vlev3,vlev3,vlev3,vlev3,vlev3,vlev3,vlev3,vlev3,vlev3,vlev3)) in 
+(match (Matita_freescale_exadecim.eq_ex (Matita_freescale_byte8.b8h ih) (Matita_freescale_byte8.b8h sh)) with 
+   Matita_datatypes_bool.True -> 
+(match (Matita_freescale_exadecim.eq_ex (Matita_freescale_byte8.b8l ih) (Matita_freescale_byte8.b8l sh)) with 
+   Matita_datatypes_bool.True -> 
+(match (Matita_freescale_exadecim.eq_ex (Matita_freescale_byte8.b8h il) (Matita_freescale_byte8.b8h sl)) with 
+   Matita_datatypes_bool.True -> (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h ih) data (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8l ih) ilev2 (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h il) ilev3 (Matita_freescale_memory_struct.setmn_array16T (Matita_freescale_byte8.b8l il) (Matita_freescale_byte8.b8l sl) ilev4 v))))
+ | Matita_datatypes_bool.False -> (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h ih) data (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8l ih) ilev2 (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h sl) (Matita_freescale_memory_struct.setmn_array16T_succ_pred (Matita_freescale_byte8.b8h il) (Matita_freescale_byte8.b8h sl) (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h il) ilev3 (Matita_freescale_memory_struct.setmn_array16T (Matita_freescale_byte8.b8l il) Matita_freescale_exadecim.XF ilev4 v)) vlev4) (Matita_freescale_memory_struct.setmn_array16T Matita_freescale_exadecim.X0 (Matita_freescale_byte8.b8l sl) slev4 v)))))
+
+ | Matita_datatypes_bool.False -> (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h ih) data (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8l sh) (Matita_freescale_memory_struct.setmn_array16T_succ_pred (Matita_freescale_byte8.b8l ih) (Matita_freescale_byte8.b8l sh) (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8l ih) ilev2 (Matita_freescale_memory_struct.setmn_array16T_succ (Matita_freescale_byte8.b8h il) (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h il) ilev3 (Matita_freescale_memory_struct.setmn_array16T (Matita_freescale_byte8.b8l il) Matita_freescale_exadecim.XF ilev4 v)) vlev4)) vlev3) (Matita_freescale_memory_struct.setmn_array16T_pred (Matita_freescale_byte8.b8h sl) (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h sl) slev3 (Matita_freescale_memory_struct.setmn_array16T Matita_freescale_exadecim.X0 (Matita_freescale_byte8.b8l sl) slev4 v)) vlev4))))
+
+ | Matita_datatypes_bool.False -> (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h sh) (Matita_freescale_memory_struct.setmn_array16T_succ_pred (Matita_freescale_byte8.b8h ih) (Matita_freescale_byte8.b8h sh) (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h ih) data (Matita_freescale_memory_struct.setmn_array16T_succ (Matita_freescale_byte8.b8l ih) (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8l ih) ilev2 (Matita_freescale_memory_struct.setmn_array16T_succ (Matita_freescale_byte8.b8h il) (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h il) ilev3 (Matita_freescale_memory_struct.setmn_array16T (Matita_freescale_byte8.b8l il) Matita_freescale_exadecim.XF ilev4 v)) vlev4)) vlev3)) vlev2) (Matita_freescale_memory_struct.setmn_array16T_pred (Matita_freescale_byte8.b8l sh) (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8l sh) slev2 (Matita_freescale_memory_struct.setmn_array16T_pred (Matita_freescale_byte8.b8h sl) (Matita_freescale_memory_struct.setn_array16T (Matita_freescale_byte8.b8h sl) slev3 (Matita_freescale_memory_struct.setmn_array16T Matita_freescale_exadecim.X0 (Matita_freescale_byte8.b8l sl) slev4 v)) vlev4)) vlev3)))
+))))))))))
+)
+
+ | Matita_datatypes_bool.False -> data)
+))))
+;;
+
+let mt_chk_get =
+(function chk -> (function addr -> 
+(match (mt_visit chk addr) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_freescale_memory_struct.Array_8T(Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY,Matita_freescale_memory_struct.MEM_READ_ONLY))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_freescale_memory_struct.Array_8T(Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE,Matita_freescale_memory_struct.MEM_READ_WRITE))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_freescale_memory_struct.Array_8T(Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND,Matita_freescale_memory_struct.MEM_OUT_OF_BOUND)))
+))
+;;
+
+let mt_mem_update =
+(function mem -> (function chk -> (function addr -> (function v -> 
+(match (Matita_freescale_memory_struct.getn_array8T Matita_freescale_aux_bases.O0 chk) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some(mem))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((mt_update mem addr v)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+))))
+;;
+
+let mt_mem_read =
+(function mem -> (function chk -> (function addr -> 
+(match (mt_visit chk addr) with 
+   Matita_freescale_memory_struct.MEM_READ_ONLY -> (Matita_datatypes_constructors.Some((mt_visit mem addr)))
+ | Matita_freescale_memory_struct.MEM_READ_WRITE -> (Matita_datatypes_constructors.Some((mt_visit mem addr)))
+ | Matita_freescale_memory_struct.MEM_OUT_OF_BOUND -> (Matita_datatypes_constructors.None))
+)))
+;;
+
+let mt_load_from_source_at =
+let rec mt_load_from_source_at = 
+(function old_mem -> (function source -> (function addr -> 
+(match source with 
+   Matita_list_list.Nil -> old_mem
+ | Matita_list_list.Cons(hd,tl) -> 
+(match (Matita_freescale_word16.lt_w16 addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))))) with 
+   Matita_datatypes_bool.True -> (mt_load_from_source_at (mt_update old_mem addr hd) tl (Matita_freescale_word16.plus_w16nc addr (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))))
+ | Matita_datatypes_bool.False -> (mt_update old_mem addr hd))
+)
+))) in mt_load_from_source_at
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_micro_tests.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_micro_tests.ml
new file mode 100644 (file)
index 0000000..c299686
--- /dev/null
@@ -0,0 +1,132 @@
+let mTest_bytes =
+(Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.append (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))) (Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let mTest_HC05_RAM =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_HC05_prog =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_HC05_data =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_HC08_RAM =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_HC08_prog =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_HC08_data =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_HCS08_RAM =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_HCS08_prog =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_HCS08_data =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_RS08_RAM =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_RS08_prog =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_RS08_data =
+(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_HCS08_ADC_source =
+(let m = Matita_freescale_opcode.HCS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaDIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR2 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaDIR2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX2 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaIX2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaIX1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0 Matita_freescale_opcode.ADC Matita_freescale_translation.MaIX0) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP2 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaSP2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1))))))) (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1 Matita_freescale_opcode.ADC (Matita_freescale_translation.MaSP1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4))))))))))))))
+;;
+
+let mTest_HCS08_ADC_status =
+(function t -> (Matita_freescale_status.set_c_flag Matita_freescale_opcode.HCS08 t (Matita_freescale_status.setweak_sp_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.setweak_indX_16_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) mTest_HCS08_ADC_source mTest_HCS08_prog) mTest_bytes mTest_HCS08_RAM) mTest_bytes mTest_HCS08_data) (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) mTest_HCS08_prog) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0))))) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0))))) Matita_datatypes_bool.True))
+;;
+
+let mTest_HCS08_MOV_source =
+(let m = Matita_freescale_opcode.HCS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1_to_DIR1 Matita_freescale_opcode.MOV (Matita_freescale_translation.MaIMM1_to_DIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1_to_DIR1 Matita_freescale_opcode.MOV (Matita_freescale_translation.MaDIR1_to_DIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0p_to_DIR1 Matita_freescale_opcode.MOV (Matita_freescale_translation.MaIX0p_to_DIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2))))) (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1_to_IX0p Matita_freescale_opcode.MOV (Matita_freescale_translation.MaDIR1_to_IX0p((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2))))))))))
+;;
+
+let mTest_HCS08_MOV_status =
+(function t -> (function b1 -> (function b2 -> (function b3 -> (Matita_freescale_status.setweak_indX_16_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) mTest_HCS08_MOV_source mTest_HCS08_prog) (Matita_list_list.Cons(b1,(Matita_list_list.Cons(b2,(Matita_list_list.Cons(b3,(Matita_list_list.Nil))))))) mTest_HCS08_RAM) (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) mTest_HCS08_prog) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)))))))))
+;;
+
+let mTest_HCS08_ROL_ROR_source =
+(let m = Matita_freescale_opcode.HCS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM2 Matita_freescale_opcode.LDHX (Matita_freescale_translation.MaIMM2((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4))))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHA Matita_freescale_opcode.ROL Matita_freescale_translation.MaINHA) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX Matita_freescale_opcode.ROL Matita_freescale_translation.MaINHX) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHA Matita_freescale_opcode.ROR Matita_freescale_translation.MaINHA) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX Matita_freescale_opcode.ROR Matita_freescale_translation.MaINHX) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHA Matita_freescale_opcode.CLR Matita_freescale_translation.MaINHA) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX Matita_freescale_opcode.CLR Matita_freescale_translation.MaINHX) (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHH Matita_freescale_opcode.CLR Matita_freescale_translation.MaINHH)))))))))))
+;;
+
+let mTest_HCS08_ROL_ROR_status =
+(function t -> (Matita_freescale_status.set_z_flag Matita_freescale_opcode.HCS08 t (Matita_freescale_status.setweak_indX_16_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) mTest_HCS08_ROL_ROR_source mTest_HCS08_prog) (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) mTest_HCS08_prog) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))) Matita_datatypes_bool.True))
+;;
+
+let mTest_HCS08_CBEQ_DBNZ_source =
+(let m = Matita_freescale_opcode.HCS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1_and_IMM1 Matita_freescale_opcode.CBEQA (Matita_freescale_translation.MaDIR1_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1_and_IMM1 Matita_freescale_opcode.CBEQA (Matita_freescale_translation.MaIMM1_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1_and_IMM1 Matita_freescale_opcode.CBEQX (Matita_freescale_translation.MaIMM1_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1p_and_IMM1 Matita_freescale_opcode.CBEQA (Matita_freescale_translation.MaIX1p_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0p_and_IMM1 Matita_freescale_opcode.CBEQA (Matita_freescale_translation.MaIX0p_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1_and_IMM1 Matita_freescale_opcode.CBEQA (Matita_freescale_translation.MaSP1_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1_and_IMM1 Matita_freescale_opcode.DBNZ (Matita_freescale_translation.MaDIR1_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHA_and_IMM1 Matita_freescale_opcode.DBNZ (Matita_freescale_translation.MaINHA_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INHX_and_IMM1 Matita_freescale_opcode.DBNZ (Matita_freescale_translation.MaINHX_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX1_and_IMM1 Matita_freescale_opcode.DBNZ (Matita_freescale_translation.MaIX1_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IX0_and_IMM1 Matita_freescale_opcode.DBNZ (Matita_freescale_translation.MaIX0_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_SP1_and_IMM1 Matita_freescale_opcode.DBNZ (Matita_freescale_translation.MaSP1_and_IMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH))))))))))))))))))))))))))
+;;
+
+let mTest_HCS08_CBEQ_DBNZ_status =
+(function t -> (function b1 -> (function b2 -> (function b3 -> (Matita_freescale_status.setweak_sp_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.setweak_indX_16_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) mTest_HCS08_CBEQ_DBNZ_source mTest_HCS08_prog) mTest_bytes mTest_HCS08_RAM) (Matita_list_list.Cons(b1,(Matita_list_list.Cons(b2,(Matita_list_list.Cons(b3,(Matita_list_list.Nil))))))) mTest_HCS08_RAM) (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) mTest_HCS08_prog) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF))))) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)))))))))
+;;
+
+let mTest_HCS08_BSETn_BCLRn_source =
+(let m = Matita_freescale_opcode.HCS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O0)) Matita_freescale_opcode.BSETn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O0,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O1)) Matita_freescale_opcode.BSETn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O1,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O2)) Matita_freescale_opcode.BSETn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O2,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O3)) Matita_freescale_opcode.BSETn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O3,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O4)) Matita_freescale_opcode.BSETn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O4,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O5)) Matita_freescale_opcode.BSETn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O5,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O6)) Matita_freescale_opcode.BSETn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O6,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O7)) Matita_freescale_opcode.BSETn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O7,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O0)) Matita_freescale_opcode.BCLRn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O0,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O1)) Matita_freescale_opcode.BCLRn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O1,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O2)) Matita_freescale_opcode.BCLRn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O2,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O3)) Matita_freescale_opcode.BCLRn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O3,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O4)) Matita_freescale_opcode.BCLRn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O4,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O5)) Matita_freescale_opcode.BCLRn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O5,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O6)) Matita_freescale_opcode.BCLRn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O6,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))) (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O7)) Matita_freescale_opcode.BCLRn (Matita_freescale_translation.MaDIRn(Matita_freescale_aux_bases.O7,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0))))))))))))))))))))))
+;;
+
+let mTest_HCS08_BSETn_BCLRn_status =
+(function t -> (function b1 -> (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) mTest_HCS08_BSETn_BCLRn_source mTest_HCS08_prog) (Matita_list_list.Cons(b1,(Matita_list_list.Nil))) mTest_HCS08_RAM) (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) mTest_HCS08_prog)))
+;;
+
+let mTest_HCS08_BRSETn_BRCLRn_source =
+(let m = Matita_freescale_opcode.HCS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O0)) Matita_freescale_opcode.BRSETn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O0,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O1)) Matita_freescale_opcode.BRSETn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O1,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O2)) Matita_freescale_opcode.BRSETn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O2,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O3)) Matita_freescale_opcode.BRSETn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O3,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O4)) Matita_freescale_opcode.BRSETn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O4,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O5)) Matita_freescale_opcode.BRSETn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O5,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O6)) Matita_freescale_opcode.BRSETn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O6,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O7)) Matita_freescale_opcode.BRSETn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O7,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O0)) Matita_freescale_opcode.BRCLRn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O0,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O1)) Matita_freescale_opcode.BRCLRn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O1,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O2)) Matita_freescale_opcode.BRCLRn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O2,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O3)) Matita_freescale_opcode.BRCLRn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O3,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O4)) Matita_freescale_opcode.BRCLRn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O4,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O5)) Matita_freescale_opcode.BRCLRn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O5,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O6)) Matita_freescale_opcode.BRCLRn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O6,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O7)) Matita_freescale_opcode.BRCLRn (Matita_freescale_translation.MaDIRn_and_IMM1(Matita_freescale_aux_bases.O7,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH))))))))))))))))))))))))))))))))))
+;;
+
+let mTest_HCS08_BRSETn_BRCLRn_status =
+(function t -> (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) mTest_HCS08_BRSETn_BRCLRn_source mTest_HCS08_prog) mTest_bytes mTest_HCS08_RAM) (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) mTest_HCS08_prog))
+;;
+
+let mTest_RS08_TNY_source =
+(let m = Matita_freescale_opcode.RS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XD)) Matita_freescale_opcode.ADD (Matita_freescale_translation.MaTNY(Matita_freescale_exadecim.XD))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XE)) Matita_freescale_opcode.ADD (Matita_freescale_translation.MaTNY(Matita_freescale_exadecim.XE))) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XF)) Matita_freescale_opcode.ADD (Matita_freescale_translation.MaTNY(Matita_freescale_exadecim.XF))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1 Matita_freescale_opcode.ADD (Matita_freescale_translation.MaDIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF))))) (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1 Matita_freescale_opcode.ADD (Matita_freescale_translation.MaDIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)))))))))))
+;;
+
+let mTest_RS08_TNY_status =
+(function t -> (Matita_freescale_status.setweak_x_map Matita_freescale_opcode.RS08 t (Matita_freescale_status.setweak_ps_map Matita_freescale_opcode.RS08 t (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.RS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyRS08(Matita_freescale_model.MC9RS08KA2)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) mTest_RS08_TNY_source mTest_RS08_prog) mTest_bytes (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyRS08(Matita_freescale_model.MC9RS08KA2)) t) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) mTest_RS08_prog) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0))))
+;;
+
+let mTest_RS08_SRT_source =
+(let m = Matita_freescale_opcode.RS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1F)) Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSRT(Matita_freescale_aux_bases.T1F))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.SUB (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BEQ (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m (Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0E)) Matita_freescale_opcode.LDA (Matita_freescale_translation.MaSRT(Matita_freescale_aux_bases.T0E))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.SUB (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BEQ (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaDIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.SUB (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BEQ (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))))) (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_INH Matita_freescale_opcode.NOP Matita_freescale_translation.MaINH))))))))))))))
+;;
+
+let mTest_RS08_SRT_status =
+(function t -> (Matita_freescale_status.setweak_x_map Matita_freescale_opcode.RS08 t (Matita_freescale_status.setweak_ps_map Matita_freescale_opcode.RS08 t (Matita_freescale_status.set_z_flag Matita_freescale_opcode.RS08 t (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.RS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyRS08(Matita_freescale_model.MC9RS08KA2)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) mTest_RS08_SRT_source mTest_RS08_prog) mTest_bytes mTest_RS08_data) (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyRS08(Matita_freescale_model.MC9RS08KA2)) t) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) mTest_RS08_prog) Matita_datatypes_bool.True) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE))) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF))))
+;;
+
+let mTest_RS08_mult_source =
+(let m = Matita_freescale_opcode.RS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1 Matita_freescale_opcode.CLR (Matita_freescale_translation.MaDIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1 Matita_freescale_opcode.CLR (Matita_freescale_translation.MaDIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaDIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BEQ (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1 Matita_freescale_opcode.LDA (Matita_freescale_translation.MaDIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1 Matita_freescale_opcode.DEC (Matita_freescale_translation.MaDIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1 Matita_freescale_opcode.ADD (Matita_freescale_translation.MaDIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BCC (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1 Matita_freescale_opcode.INC (Matita_freescale_translation.MaDIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2))))) (Matita_list_list.append (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_DIR1 Matita_freescale_opcode.STA (Matita_freescale_translation.MaDIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3))))) (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1 Matita_freescale_opcode.BRA (Matita_freescale_translation.MaIMM1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)))))))))))))))))
+;;
+
+let mTest_RS08_mult_status =
+(function t -> (function b1 -> (function b2 -> (function b3 -> (function b4 -> (Matita_freescale_status.set_z_flag Matita_freescale_opcode.RS08 t (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.RS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyRS08(Matita_freescale_model.MC9RS08KA2)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) mTest_RS08_mult_source mTest_RS08_prog) (Matita_list_list.Cons(b1,(Matita_list_list.Cons(b2,(Matita_list_list.Cons(b3,(Matita_list_list.Cons(b4,(Matita_list_list.Nil))))))))) mTest_RS08_RAM) (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyRS08(Matita_freescale_model.MC9RS08KA2)) t) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) mTest_RS08_prog) Matita_datatypes_bool.True))))))
+;;
+
+let mTest_bits_source =
+(let m = Matita_freescale_opcode.HCS08 in (Matita_freescale_translation.source_to_byte8 m (Matita_freescale_translation.compile m Matita_freescale_opcode.MODE_IMM1_to_DIR1 Matita_freescale_opcode.MOV (Matita_freescale_translation.MaIMM1_to_DIR1((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)))))))
+;;
+
+let mTest_bits_status =
+(function t -> (function sub -> (function b -> (Matita_freescale_status.setweak_n_flag Matita_freescale_opcode.HCS08 t (Matita_freescale_status.set_pc_reg Matita_freescale_opcode.HCS08 t (Matita_freescale_model.start_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.load_from_source_at t (Matita_freescale_memory_abs.zero_memory t) mTest_bits_source mTest_HCS08_prog) (Matita_list_list.Cons(b,(Matita_list_list.Nil))) mTest_HCS08_RAM) (Matita_freescale_memory_abs.check_update_bit t (Matita_freescale_model.build_memory_type_of_mcu_version (Matita_freescale_model.FamilyHCS08(Matita_freescale_model.MC9S08AW60)) t) mTest_HCS08_RAM sub Matita_freescale_memory_struct.MEM_READ_ONLY) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False Matita_datatypes_bool.False) mTest_HCS08_prog) Matita_datatypes_bool.True))))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_model.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_model.ml
new file mode 100644 (file)
index 0000000..2c3359b
--- /dev/null
@@ -0,0 +1,347 @@
+type hC05_mcu_model =
+MC68HC05J5A
+;;
+
+let hC05_mcu_model_rec =
+(function p -> (function h -> 
+(match h with 
+   MC68HC05J5A -> p)
+))
+;;
+
+let hC05_mcu_model_rect =
+(function p -> (function h -> 
+(match h with 
+   MC68HC05J5A -> p)
+))
+;;
+
+type hC08_mcu_model =
+MC68HC08AB16A
+;;
+
+let hC08_mcu_model_rec =
+(function p -> (function h -> 
+(match h with 
+   MC68HC08AB16A -> p)
+))
+;;
+
+let hC08_mcu_model_rect =
+(function p -> (function h -> 
+(match h with 
+   MC68HC08AB16A -> p)
+))
+;;
+
+type hCS08_mcu_model =
+MC9S08AW60
+ | MC9S08GB60
+ | MC9S08GT60
+ | MC9S08GB32
+ | MC9S08GT32
+ | MC9S08GT16
+ | MC9S08GB60A
+ | MC9S08GT60A
+ | MC9S08GB32A
+ | MC9S08GT32A
+ | MC9S08GT16A
+ | MC9S08GT8A
+ | MC9S08LC60
+ | MC9S08LC36
+ | MC9S08QD4
+ | MC9S08QD2
+ | MC9S08QG8
+ | MC9S08QG4
+ | MC9S08RC60
+ | MC9S08RD60
+ | MC9S08RE60
+ | MC9S08RG60
+ | MC9S08RC32
+ | MC9S08RD32
+ | MC9S08RE32
+ | MC9S08RG32
+ | MC9S08RC16
+ | MC9S08RD16
+ | MC9S08RE16
+ | MC9S08RC8
+ | MC9S08RD8
+ | MC9S08RE8
+;;
+
+let hCS08_mcu_model_rec =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function p5 -> (function p6 -> (function p7 -> (function p8 -> (function p9 -> (function p10 -> (function p11 -> (function p12 -> (function p13 -> (function p14 -> (function p15 -> (function p16 -> (function p17 -> (function p18 -> (function p19 -> (function p20 -> (function p21 -> (function p22 -> (function p23 -> (function p24 -> (function p25 -> (function p26 -> (function p27 -> (function p28 -> (function p29 -> (function p30 -> (function p31 -> (function h -> 
+(match h with 
+   MC9S08AW60 -> p
+ | MC9S08GB60 -> p1
+ | MC9S08GT60 -> p2
+ | MC9S08GB32 -> p3
+ | MC9S08GT32 -> p4
+ | MC9S08GT16 -> p5
+ | MC9S08GB60A -> p6
+ | MC9S08GT60A -> p7
+ | MC9S08GB32A -> p8
+ | MC9S08GT32A -> p9
+ | MC9S08GT16A -> p10
+ | MC9S08GT8A -> p11
+ | MC9S08LC60 -> p12
+ | MC9S08LC36 -> p13
+ | MC9S08QD4 -> p14
+ | MC9S08QD2 -> p15
+ | MC9S08QG8 -> p16
+ | MC9S08QG4 -> p17
+ | MC9S08RC60 -> p18
+ | MC9S08RD60 -> p19
+ | MC9S08RE60 -> p20
+ | MC9S08RG60 -> p21
+ | MC9S08RC32 -> p22
+ | MC9S08RD32 -> p23
+ | MC9S08RE32 -> p24
+ | MC9S08RG32 -> p25
+ | MC9S08RC16 -> p26
+ | MC9S08RD16 -> p27
+ | MC9S08RE16 -> p28
+ | MC9S08RC8 -> p29
+ | MC9S08RD8 -> p30
+ | MC9S08RE8 -> p31)
+)))))))))))))))))))))))))))))))))
+;;
+
+let hCS08_mcu_model_rect =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function p5 -> (function p6 -> (function p7 -> (function p8 -> (function p9 -> (function p10 -> (function p11 -> (function p12 -> (function p13 -> (function p14 -> (function p15 -> (function p16 -> (function p17 -> (function p18 -> (function p19 -> (function p20 -> (function p21 -> (function p22 -> (function p23 -> (function p24 -> (function p25 -> (function p26 -> (function p27 -> (function p28 -> (function p29 -> (function p30 -> (function p31 -> (function h -> 
+(match h with 
+   MC9S08AW60 -> p
+ | MC9S08GB60 -> p1
+ | MC9S08GT60 -> p2
+ | MC9S08GB32 -> p3
+ | MC9S08GT32 -> p4
+ | MC9S08GT16 -> p5
+ | MC9S08GB60A -> p6
+ | MC9S08GT60A -> p7
+ | MC9S08GB32A -> p8
+ | MC9S08GT32A -> p9
+ | MC9S08GT16A -> p10
+ | MC9S08GT8A -> p11
+ | MC9S08LC60 -> p12
+ | MC9S08LC36 -> p13
+ | MC9S08QD4 -> p14
+ | MC9S08QD2 -> p15
+ | MC9S08QG8 -> p16
+ | MC9S08QG4 -> p17
+ | MC9S08RC60 -> p18
+ | MC9S08RD60 -> p19
+ | MC9S08RE60 -> p20
+ | MC9S08RG60 -> p21
+ | MC9S08RC32 -> p22
+ | MC9S08RD32 -> p23
+ | MC9S08RE32 -> p24
+ | MC9S08RG32 -> p25
+ | MC9S08RC16 -> p26
+ | MC9S08RD16 -> p27
+ | MC9S08RE16 -> p28
+ | MC9S08RC8 -> p29
+ | MC9S08RD8 -> p30
+ | MC9S08RE8 -> p31)
+)))))))))))))))))))))))))))))))))
+;;
+
+type rS08_mcu_model =
+MC9RS08KA1
+ | MC9RS08KA2
+;;
+
+let rS08_mcu_model_rec =
+(function p -> (function p1 -> (function r -> 
+(match r with 
+   MC9RS08KA1 -> p
+ | MC9RS08KA2 -> p1)
+)))
+;;
+
+let rS08_mcu_model_rect =
+(function p -> (function p1 -> (function r -> 
+(match r with 
+   MC9RS08KA1 -> p
+ | MC9RS08KA2 -> p1)
+)))
+;;
+
+type any_mcu_model =
+FamilyHC05 of hC05_mcu_model
+ | FamilyHC08 of hC08_mcu_model
+ | FamilyHCS08 of hCS08_mcu_model
+ | FamilyRS08 of rS08_mcu_model
+;;
+
+let any_mcu_model_rec =
+(function f -> (function f1 -> (function f2 -> (function f3 -> (function a -> 
+(match a with 
+   FamilyHC05(h) -> (f h)
+ | FamilyHC08(h) -> (f1 h)
+ | FamilyHCS08(h) -> (f2 h)
+ | FamilyRS08(r) -> (f3 r))
+)))))
+;;
+
+let any_mcu_model_rect =
+(function f -> (function f1 -> (function f2 -> (function f3 -> (function a -> 
+(match a with 
+   FamilyHC05(h) -> (f h)
+ | FamilyHC08(h) -> (f1 h)
+ | FamilyHCS08(h) -> (f2 h)
+ | FamilyRS08(r) -> (f3 r))
+)))))
+;;
+
+let memory_type_of_FamilyHC05 =
+(function m -> 
+(match m with 
+   MC68HC05J5A -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil))))))))
+)
+;;
+
+let memory_type_of_FamilyHC08 =
+(function m -> 
+(match m with 
+   MC68HC08AB16A -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil))))))))))))
+)
+;;
+
+let memory_type_of_FamilyHCS08 =
+(function m -> 
+(match m with 
+   MC9S08AW60 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))))
+ | MC9S08GB60 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))))
+ | MC9S08GT60 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))))
+ | MC9S08GB32 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08GT32 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08GT16 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08GB60A -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))))
+ | MC9S08GT60A -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))))
+ | MC9S08GB32A -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08GT32A -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08GT16A -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08GT8A -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08LC60 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))))
+ | MC9S08LC36 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))))
+ | MC9S08QD4 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08QD2 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08QG8 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08QG4 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08RC60 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))))
+ | MC9S08RD60 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))))
+ | MC9S08RE60 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))))
+ | MC9S08RG60 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))))
+ | MC9S08RC32 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08RD32 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08RE32 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08RG32 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08RC16 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08RD16 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08RE16 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08RC8 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08RD8 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))
+ | MC9S08RE8 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil))))))
+)
+;;
+
+let memory_type_of_FamilyRS08 =
+(function m -> 
+(match m with 
+   MC9RS08KA1 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil)))))))))))))
+ | MC9RS08KA2 -> (Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_WRITE)),(Matita_list_list.Cons((Matita_freescale_extra.TripleT((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),Matita_freescale_memory_struct.MEM_READ_ONLY)),(Matita_list_list.Nil))))))))))))))
+)
+;;
+
+let memory_type_of_mcu_version =
+(function mcu -> 
+(match mcu with 
+   FamilyHC05(m) -> (memory_type_of_FamilyHC05 m)
+ | FamilyHC08(m) -> (memory_type_of_FamilyHC08 m)
+ | FamilyHCS08(m) -> (memory_type_of_FamilyHCS08 m)
+ | FamilyRS08(m) -> (memory_type_of_FamilyRS08 m))
+)
+;;
+
+let build_memory_type_of_mcu_version =
+(function mcu -> (function t -> (let rec aux = 
+(function param -> (function result -> 
+(match param with 
+   Matita_list_list.Nil -> result
+ | Matita_list_list.Cons(hd,tl) -> (aux tl (Matita_freescale_memory_abs.check_update_ranged t result (Matita_freescale_extra.fst3T hd) (Matita_freescale_extra.snd3T hd) (Matita_freescale_extra.thd3T hd))))
+)) in aux (memory_type_of_mcu_version mcu) (Matita_freescale_memory_abs.out_of_bound_memory t))))
+;;
+
+let memory_of_mcu_version =
+(function mcu -> (function t -> 
+(match mcu with 
+   FamilyHC05(m) -> 
+(match m with 
+   MC68HC05J5A -> (Matita_freescale_memory_abs.zero_memory t))
+
+ | FamilyHC08(m) -> 
+(match m with 
+   MC68HC08AB16A -> (Matita_freescale_memory_abs.zero_memory t))
+
+ | FamilyHCS08(_) -> (Matita_freescale_memory_abs.zero_memory t)
+ | FamilyRS08(_) -> (Matita_freescale_memory_abs.zero_memory t))
+))
+;;
+
+let mcu_of_model =
+(function m -> 
+(match m with 
+   FamilyHC05(_) -> Matita_freescale_opcode.HC05
+ | FamilyHC08(_) -> Matita_freescale_opcode.HC08
+ | FamilyHCS08(_) -> Matita_freescale_opcode.HCS08
+ | FamilyRS08(_) -> Matita_freescale_opcode.RS08)
+)
+;;
+
+let start_of_mcu_version =
+(function mcu -> (function t -> (let pc_reset_h = (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)))) in (let pc_reset_l = (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))) in (let pc_RS08_reset = (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)))) in (let sp_reset = (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))) in 
+(match mcu with 
+   FamilyHC05(m) -> Obj.magic ((function mem -> (function chk -> (function ndby1 -> (function ndby2 -> (function irqfl -> (function ndbo1 -> (function ndbo2 -> (function ndbo3 -> (function ndbo4 -> (function ndbo5 -> (let build = (function spm -> (function spf -> (function pcm -> (let fetched_pc = (Matita_freescale_word16.Mk_word16((Matita_freescale_memory_abs.mem_read_abs t mem (Matita_freescale_word16.and_w16 pc_reset_h pcm)),(Matita_freescale_memory_abs.mem_read_abs t mem (Matita_freescale_word16.and_w16 pc_reset_l pcm)))) in (Matita_freescale_status.Mk_any_status(Obj.magic((Matita_freescale_status.Mk_alu_HC05(ndby1,ndby2,(Matita_freescale_word16.or_w16 (Matita_freescale_word16.and_w16 sp_reset spm) spf),spm,spf,(Matita_freescale_word16.and_w16 fetched_pc pcm),pcm,ndbo1,Matita_datatypes_bool.True,ndbo2,ndbo3,ndbo4,irqfl))),mem,chk,(Matita_datatypes_constructors.None))))))) in 
+(match m with 
+   MC68HC05J5A -> (build (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)))) (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))))))
+))))))))))))
+ | FamilyHC08(m) -> Obj.magic ((function mem -> (function chk -> (function ndby1 -> (function ndby2 -> (function irqfl -> (function ndbo1 -> (function ndbo2 -> (function ndbo3 -> (function ndbo4 -> (function ndbo5 -> (let build = (let fetched_pc = (Matita_freescale_word16.Mk_word16((Matita_freescale_memory_abs.mem_read_abs t mem pc_reset_h),(Matita_freescale_memory_abs.mem_read_abs t mem pc_reset_l))) in (Matita_freescale_status.Mk_any_status(Obj.magic((Matita_freescale_status.Mk_alu_HC08(ndby1,ndby2,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),sp_reset,fetched_pc,ndbo1,ndbo2,Matita_datatypes_bool.True,ndbo3,ndbo4,ndbo5,irqfl))),mem,chk,(Matita_datatypes_constructors.None)))) in build))))))))))))
+ | FamilyHCS08(m) -> Obj.magic ((function mem -> (function chk -> (function ndby1 -> (function ndby2 -> (function irqfl -> (function ndbo1 -> (function ndbo2 -> (function ndbo3 -> (function ndbo4 -> (function ndbo5 -> (let build = (let fetched_pc = (Matita_freescale_word16.Mk_word16((Matita_freescale_memory_abs.mem_read_abs t mem pc_reset_h),(Matita_freescale_memory_abs.mem_read_abs t mem pc_reset_l))) in (Matita_freescale_status.Mk_any_status(Obj.magic((Matita_freescale_status.Mk_alu_HC08(ndby1,ndby2,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),sp_reset,fetched_pc,ndbo1,ndbo2,Matita_datatypes_bool.True,ndbo3,ndbo4,ndbo5,irqfl))),mem,chk,(Matita_datatypes_constructors.None)))) in build))))))))))))
+ | FamilyRS08(m) -> Obj.magic ((function mem -> (function chk -> (function ndby1 -> (function ndby2 -> (function irqfl -> (function ndbo1 -> (function ndbo2 -> (function ndbo3 -> (function ndbo4 -> (function ndbo5 -> (let build = (function pcm -> (Matita_freescale_status.Mk_any_status(Obj.magic((Matita_freescale_status.Mk_alu_RS08((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_word16.and_w16 pc_RS08_reset pcm),pcm,(Matita_freescale_word16.and_w16 pc_RS08_reset pcm),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),Matita_datatypes_bool.False,Matita_datatypes_bool.False))),mem,chk,(Matita_datatypes_constructors.None)))) in (build (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))))))))))))))))))
+))))))
+;;
+
+let reset_of_mcu =
+(function m -> (function t -> (let pc_reset_h = (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)))) in (let pc_reset_l = (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))) in (let pc_RS08_reset = (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)))) in (let sp_reset = (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))) in 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function s -> 
+(match s with 
+   Matita_freescale_status.Mk_any_status(alu,mem,chk,clk) -> 
+(match Obj.magic(alu) with 
+   Matita_freescale_status.Mk_alu_HC05(acclow,indxlow,_,spm,spf,_,pcm,hfl,_,nfl,zfl,cfl,irqfl) -> (let fetched_pc = (Matita_freescale_word16.Mk_word16((Matita_freescale_memory_abs.mem_read_abs t mem (Matita_freescale_word16.and_w16 pc_reset_h pcm)),(Matita_freescale_memory_abs.mem_read_abs t mem (Matita_freescale_word16.and_w16 pc_reset_l pcm)))) in (Matita_freescale_status.Mk_any_status(Obj.magic((Matita_freescale_status.Mk_alu_HC05(acclow,indxlow,(Matita_freescale_word16.or_w16 (Matita_freescale_word16.and_w16 sp_reset spm) spf),spm,spf,(Matita_freescale_word16.and_w16 fetched_pc pcm),pcm,hfl,Matita_datatypes_bool.True,nfl,zfl,cfl,irqfl))),mem,chk,(Matita_datatypes_constructors.None)))))
+)
+))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function s -> 
+(match s with 
+   Matita_freescale_status.Mk_any_status(alu,mem,chk,clk) -> 
+(match Obj.magic(alu) with 
+   Matita_freescale_status.Mk_alu_HC08(acclow,indxlow,_,_,_,vfl,hfl,_,nfl,zfl,cfl,irqfl) -> (let fetched_pc = (Matita_freescale_word16.Mk_word16((Matita_freescale_memory_abs.mem_read_abs t mem pc_reset_h),(Matita_freescale_memory_abs.mem_read_abs t mem pc_reset_l))) in (Matita_freescale_status.Mk_any_status(Obj.magic((Matita_freescale_status.Mk_alu_HC08(acclow,indxlow,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),sp_reset,fetched_pc,vfl,hfl,Matita_datatypes_bool.True,nfl,zfl,cfl,irqfl))),mem,chk,(Matita_datatypes_constructors.None)))))
+)
+))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function s -> 
+(match s with 
+   Matita_freescale_status.Mk_any_status(alu,mem,chk,clk) -> 
+(match Obj.magic(alu) with 
+   Matita_freescale_status.Mk_alu_HC08(acclow,indxlow,_,_,_,vfl,hfl,_,nfl,zfl,cfl,irqfl) -> (let fetched_pc = (Matita_freescale_word16.Mk_word16((Matita_freescale_memory_abs.mem_read_abs t mem pc_reset_h),(Matita_freescale_memory_abs.mem_read_abs t mem pc_reset_l))) in (Matita_freescale_status.Mk_any_status(Obj.magic((Matita_freescale_status.Mk_alu_HC08(acclow,indxlow,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),sp_reset,fetched_pc,vfl,hfl,Matita_datatypes_bool.True,nfl,zfl,cfl,irqfl))),mem,chk,(Matita_datatypes_constructors.None)))))
+)
+))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function s -> 
+(match s with 
+   Matita_freescale_status.Mk_any_status(alu,mem,chk,clk) -> 
+(match Obj.magic(alu) with 
+   Matita_freescale_status.Mk_alu_RS08(_,_,pcm,_,_,_,_,_) -> (Matita_freescale_status.Mk_any_status(Obj.magic((Matita_freescale_status.Mk_alu_RS08((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_word16.and_w16 pc_RS08_reset pcm),pcm,(Matita_freescale_word16.and_w16 pc_RS08_reset pcm),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),Matita_datatypes_bool.False,Matita_datatypes_bool.False))),mem,chk,(Matita_datatypes_constructors.None))))
+)
+)))
+))))))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_multivm.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_multivm.ml
new file mode 100644 (file)
index 0000000..607ecd1
--- /dev/null
@@ -0,0 +1,894 @@
+let execute_ADC_ADD_aux =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (function setflag -> (function fAMC -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (let a_op = (Matita_freescale_status.get_acc_8_low_reg m t s_tmp1) in 
+(match (fAMC a_op m_op (Matita_freescale_status.get_c_flag m t s_tmp1)) with 
+   Matita_datatypes_constructors.Pair(r_op,carry) -> (let a7 = (Matita_freescale_byte8.mSB_b8 a_op) in (let m7 = (Matita_freescale_byte8.mSB_b8 m_op) in (let r7 = (Matita_freescale_byte8.mSB_b8 r_op) in (let a3 = (Matita_freescale_exadecim.mSB_ex (Matita_freescale_byte8.b8l a_op)) in (let m3 = (Matita_freescale_exadecim.mSB_ex (Matita_freescale_byte8.b8l m_op)) in (let r3 = (Matita_freescale_exadecim.mSB_ex (Matita_freescale_byte8.b8l r_op)) in (let s_tmp2 = 
+(match setflag with 
+   Matita_datatypes_bool.True -> (Matita_freescale_status.set_acc_8_low_reg m t s_tmp1 r_op)
+ | Matita_datatypes_bool.False -> s_tmp1)
+ in (let s_tmp3 = (Matita_freescale_status.set_z_flag m t s_tmp2 (Matita_freescale_byte8.eq_b8 r_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp4 = (Matita_freescale_status.set_c_flag m t s_tmp3 (Matita_freescale_extra.or_bool (Matita_freescale_extra.or_bool (Matita_freescale_extra.and_bool a7 m7) (Matita_freescale_extra.and_bool m7 (Matita_freescale_extra.not_bool r7))) (Matita_freescale_extra.and_bool (Matita_freescale_extra.not_bool r7) a7))) in (let s_tmp5 = (Matita_freescale_status.setweak_n_flag m t s_tmp4 r7) in (let s_tmp6 = (Matita_freescale_status.setweak_h_flag m t s_tmp5 (Matita_freescale_extra.or_bool (Matita_freescale_extra.or_bool (Matita_freescale_extra.and_bool a3 m3) (Matita_freescale_extra.and_bool m3 (Matita_freescale_extra.not_bool r3))) (Matita_freescale_extra.and_bool (Matita_freescale_extra.not_bool r3) a3))) in (let s_tmp7 = (Matita_freescale_status.setweak_v_flag m t s_tmp6 (Matita_freescale_extra.or_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool a7 m7) (Matita_freescale_extra.not_bool r7)) (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.not_bool a7) (Matita_freescale_extra.not_bool m7)) r7))) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp7,new_pc)))))))))))))))))
+))
+)))))))))
+;;
+
+let execute_AND_BIT_EOR_ORA_aux =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (function setflag -> (function fAM -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (let r_op = (fAM (Matita_freescale_status.get_acc_8_low_reg m t s_tmp1) m_op) in (let s_tmp2 = 
+(match setflag with 
+   Matita_datatypes_bool.True -> (Matita_freescale_status.set_acc_8_low_reg m t s_tmp1 r_op)
+ | Matita_datatypes_bool.False -> s_tmp1)
+ in (let s_tmp3 = (Matita_freescale_status.set_z_flag m t s_tmp2 (Matita_freescale_byte8.eq_b8 r_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp4 = (Matita_freescale_status.setweak_n_flag m t s_tmp3 (Matita_freescale_byte8.mSB_b8 r_op)) in (let s_tmp5 = (Matita_freescale_status.setweak_v_flag m t s_tmp4 Matita_datatypes_bool.False) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp5,new_pc))))))))))
+)))))))))
+;;
+
+let execute_ASL_ASR_LSR_ROL_ROR_aux =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (function fMC -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,_) -> 
+(match (fMC m_op (Matita_freescale_status.get_c_flag m t s_tmp1)) with 
+   Matita_datatypes_constructors.Pair(r_op,carry) -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_write Matita_datatypes_bool.True m t s_tmp1 cur_pc i r_op) (function s_PC -> 
+(match s_PC with 
+   Matita_datatypes_constructors.Pair(s_tmp2,new_pc) -> (let s_tmp3 = (Matita_freescale_status.set_c_flag m t s_tmp2 carry) in (let s_tmp4 = (Matita_freescale_status.set_z_flag m t s_tmp3 (Matita_freescale_byte8.eq_b8 r_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp5 = (Matita_freescale_status.setweak_n_flag m t s_tmp4 (Matita_freescale_byte8.mSB_b8 r_op)) in (let s_tmp6 = (Matita_freescale_status.setweak_v_flag m t s_tmp5 (Matita_freescale_extra.xor_bool (Matita_freescale_byte8.mSB_b8 r_op) carry)) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp6,new_pc)))))))))
+)))
+)
+))))))))
+;;
+
+let byte_extension =
+(function b -> (Matita_freescale_word16.Mk_word16(
+(match (Matita_freescale_byte8.mSB_b8 b) with 
+   Matita_datatypes_bool.True -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))
+ | Matita_datatypes_bool.False -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))
+,b)))
+;;
+
+let branched_pc =
+(function m -> (function t -> (function s -> (function cur_pc -> (function b -> (Matita_freescale_status.get_pc_reg m t (Matita_freescale_status.set_pc_reg m t s (Matita_freescale_word16.plus_w16nc cur_pc (byte_extension b)))))))))
+;;
+
+let execute_any_BRANCH =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (function fCOND -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> 
+(match fCOND with 
+   Matita_datatypes_bool.True -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,(branched_pc m t s_tmp1 new_pc m_op)))))
+ | Matita_datatypes_bool.False -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,new_pc)))))
+)
+))))))))
+;;
+
+let execute_BCLRn_BSETn_aux =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (function optval -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_write Matita_datatypes_bool.True m t s cur_pc i optval) (function s_PC -> 
+(match s_PC with 
+   Matita_datatypes_constructors.Pair(s_tmp1,new_pc) -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,new_pc)))))
+))))))))
+;;
+
+let execute_BRCLRn_BRSETn_aux =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (function fCOND -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.False m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> 
+(match m_op with 
+   Matita_freescale_word16.Mk_word16(mH_op,mL_op) -> 
+(match (fCOND mH_op) with 
+   Matita_datatypes_bool.True -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,(branched_pc m t s_tmp1 new_pc mL_op)))))
+ | Matita_datatypes_bool.False -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,new_pc)))))
+)
+)
+))))))))
+;;
+
+let execute_COM_DEC_INC_NEG_aux =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (function fM -> (function fV -> (function fC -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,_) -> (let r_op = (fM m_op) in (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_write Matita_datatypes_bool.True m t s_tmp1 cur_pc i r_op) (function s_PC -> 
+(match s_PC with 
+   Matita_datatypes_constructors.Pair(s_tmp2,new_pc) -> (let s_tmp3 = (Matita_freescale_status.set_c_flag m t s_tmp2 (fC (Matita_freescale_status.get_c_flag m t s_tmp2) r_op)) in (let s_tmp4 = (Matita_freescale_status.set_z_flag m t s_tmp3 (Matita_freescale_byte8.eq_b8 r_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp5 = (Matita_freescale_status.setweak_n_flag m t s_tmp4 (Matita_freescale_byte8.mSB_b8 r_op)) in (let s_tmp6 = (Matita_freescale_status.setweak_v_flag m t s_tmp5 (fV (Matita_freescale_byte8.mSB_b8 m_op) (Matita_freescale_byte8.mSB_b8 r_op))) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp6,new_pc)))))))))
+))))
+))))))))))
+;;
+
+let execute_SBC_SUB_aux =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (function setflag -> (function fAMC -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (let a_op = (Matita_freescale_status.get_acc_8_low_reg m t s_tmp1) in 
+(match (fAMC a_op m_op (Matita_freescale_status.get_c_flag m t s_tmp1)) with 
+   Matita_datatypes_constructors.Pair(r_op,carry) -> (let a7 = (Matita_freescale_byte8.mSB_b8 a_op) in (let m7 = (Matita_freescale_byte8.mSB_b8 m_op) in (let r7 = (Matita_freescale_byte8.mSB_b8 r_op) in (let s_tmp2 = 
+(match setflag with 
+   Matita_datatypes_bool.True -> (Matita_freescale_status.set_acc_8_low_reg m t s_tmp1 r_op)
+ | Matita_datatypes_bool.False -> s_tmp1)
+ in (let s_tmp3 = (Matita_freescale_status.set_z_flag m t s_tmp2 (Matita_freescale_byte8.eq_b8 r_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp4 = (Matita_freescale_status.set_c_flag m t s_tmp3 (Matita_freescale_extra.or_bool (Matita_freescale_extra.or_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.not_bool a7) m7) (Matita_freescale_extra.and_bool m7 r7)) (Matita_freescale_extra.and_bool r7 (Matita_freescale_extra.not_bool a7)))) in (let s_tmp5 = (Matita_freescale_status.setweak_n_flag m t s_tmp4 r7) in (let s_tmp6 = (Matita_freescale_status.setweak_v_flag m t s_tmp5 (Matita_freescale_extra.or_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool a7 (Matita_freescale_extra.not_bool m7)) (Matita_freescale_extra.not_bool r7)) (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.not_bool a7) m7) r7))) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp6,new_pc)))))))))))))
+))
+)))))))))
+;;
+
+let aux_push =
+(function m -> (function t -> (function s -> (function val_ -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_sp_reg m t s) (function sP_op -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.memory_filter_write m t s sP_op val_) (function s_tmp1 -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_sp_reg m t s_tmp1 (Matita_freescale_word16.pred_w16 sP_op)) (function s_tmp2 -> (Matita_datatypes_constructors.Some(s_tmp2))))))))))))
+;;
+
+let aux_pop =
+(function m -> (function t -> (function s -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_sp_reg m t s) (function sP_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_sp_reg m t s (Matita_freescale_word16.succ_w16 sP_op)) (function s_tmp1 -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_sp_reg m t s_tmp1) (function sP_op' -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.memory_filter_read m t s_tmp1 sP_op') (function val_ -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,val_)))))))))))))))
+;;
+
+let aux_get_CCR =
+(function m -> (function t -> (function s -> (let v_comp = 
+(match (Matita_freescale_status.get_v_flag m t s) with 
+   Matita_datatypes_constructors.None -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0))
+ | Matita_datatypes_constructors.Some(v_val) -> 
+(match v_val with 
+   Matita_datatypes_bool.True -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0))
+ | Matita_datatypes_bool.False -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))
+)
+ in (let h_comp = 
+(match (Matita_freescale_status.get_h_flag m t s) with 
+   Matita_datatypes_constructors.None -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0))
+ | Matita_datatypes_constructors.Some(h_val) -> 
+(match h_val with 
+   Matita_datatypes_bool.True -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0))
+ | Matita_datatypes_bool.False -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))
+)
+ in (let i_comp = 
+(match (Matita_freescale_status.get_i_flag m t s) with 
+   Matita_datatypes_constructors.None -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))
+ | Matita_datatypes_constructors.Some(i_val) -> 
+(match i_val with 
+   Matita_datatypes_bool.True -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))
+ | Matita_datatypes_bool.False -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))
+)
+ in (let n_comp = 
+(match (Matita_freescale_status.get_n_flag m t s) with 
+   Matita_datatypes_constructors.None -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))
+ | Matita_datatypes_constructors.Some(n_val) -> 
+(match n_val with 
+   Matita_datatypes_bool.True -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))
+ | Matita_datatypes_bool.False -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))
+)
+ in (let z_comp = 
+(match (Matita_freescale_status.get_z_flag m t s) with 
+   Matita_datatypes_bool.True -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))
+ | Matita_datatypes_bool.False -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))
+ in (let c_comp = 
+(match (Matita_freescale_status.get_c_flag m t s) with 
+   Matita_datatypes_bool.True -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))
+ | Matita_datatypes_bool.False -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))
+ in (Matita_freescale_byte8.or_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.or_b8 v_comp (Matita_freescale_byte8.or_b8 h_comp (Matita_freescale_byte8.or_b8 i_comp (Matita_freescale_byte8.or_b8 n_comp (Matita_freescale_byte8.or_b8 z_comp c_comp)))))))))))))))
+;;
+
+let aux_set_CCR =
+(function m -> (function t -> (function s -> (function cCR -> (let s_tmp1 = (Matita_freescale_status.set_c_flag m t s (Matita_freescale_byte8.eq_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)) (Matita_freescale_byte8.and_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)) cCR))) in (let s_tmp2 = (Matita_freescale_status.set_z_flag m t s_tmp1 (Matita_freescale_byte8.eq_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)) (Matita_freescale_byte8.and_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)) cCR))) in (let s_tmp3 = (Matita_freescale_status.setweak_n_flag m t s_tmp2 (Matita_freescale_byte8.eq_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)) (Matita_freescale_byte8.and_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)) cCR))) in (let s_tmp4 = (Matita_freescale_status.setweak_i_flag m t s_tmp3 (Matita_freescale_byte8.eq_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)) (Matita_freescale_byte8.and_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)) cCR))) in (let s_tmp5 = (Matita_freescale_status.setweak_h_flag m t s_tmp4 (Matita_freescale_byte8.eq_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.and_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)) cCR))) in (let s_tmp6 = (Matita_freescale_status.setweak_v_flag m t s_tmp5 (Matita_freescale_byte8.eq_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.and_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)) cCR))) in s_tmp6))))))))))
+;;
+
+let execute_ADC =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_ADC_ADD_aux m t s i cur_pc Matita_datatypes_bool.True (function a_op -> (function m_op -> (function c_op -> (Matita_freescale_byte8.plus_b8 a_op m_op c_op))))))))))
+;;
+
+let execute_ADD =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_ADC_ADD_aux m t s i cur_pc Matita_datatypes_bool.True (function a_op -> (function m_op -> (function c_op -> (Matita_freescale_byte8.plus_b8 a_op m_op Matita_datatypes_bool.False))))))))))
+;;
+
+let execute_AIS =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_sp_reg m t s_tmp1) (function sP_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_sp_reg m t s_tmp1 (Matita_freescale_word16.plus_w16nc sP_op (byte_extension m_op))) (function s_tmp2 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp2,new_pc)))))))))
+)))))))
+;;
+
+let execute_AIX =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_16_reg m t s_tmp1) (function hX_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_16_reg m t s_tmp1 (Matita_freescale_word16.plus_w16nc hX_op (byte_extension m_op))) (function s_tmp2 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp2,new_pc)))))))))
+)))))))
+;;
+
+let execute_AND =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_AND_BIT_EOR_ORA_aux m t s i cur_pc Matita_datatypes_bool.True Matita_freescale_byte8.and_b8))))))
+;;
+
+let execute_ASL =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_ASL_ASR_LSR_ROL_ROR_aux m t s i cur_pc (function m_op -> (function c_op -> (Matita_freescale_byte8.rcl_b8 m_op Matita_datatypes_bool.False)))))))))
+;;
+
+let execute_ASR =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_ASL_ASR_LSR_ROL_ROR_aux m t s i cur_pc (function m_op -> (function c_op -> (Matita_freescale_byte8.rcr_b8 m_op (Matita_freescale_byte8.mSB_b8 m_op))))))))))
+;;
+
+let execute_BCC =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_extra.not_bool (Matita_freescale_status.get_c_flag m t s))))))))
+;;
+
+let execute_BCLRn =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_BCLRn_BSETn_aux m t s i cur_pc (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))))
+;;
+
+let execute_BCS =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_status.get_c_flag m t s)))))))
+;;
+
+let execute_BEQ =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_status.get_z_flag m t s)))))))
+;;
+
+let execute_BGE =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_n_flag m t s) (function n_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_v_flag m t s) (function v_op -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_extra.not_bool (Matita_freescale_extra.xor_bool n_op v_op))))))))))))
+;;
+
+let execute_BGND =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s,cur_pc)))))))))
+;;
+
+let execute_BGT =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_n_flag m t s) (function n_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_v_flag m t s) (function v_op -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_extra.not_bool (Matita_freescale_extra.or_bool (Matita_freescale_status.get_z_flag m t s) (Matita_freescale_extra.xor_bool n_op v_op)))))))))))))
+;;
+
+let execute_BHCC =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_h_flag m t s) (function h_op -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_extra.not_bool h_op)))))))))
+;;
+
+let execute_BHCS =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_h_flag m t s) (function h_op -> (execute_any_BRANCH m t s i cur_pc h_op))))))))
+;;
+
+let execute_BHI =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_extra.not_bool (Matita_freescale_extra.or_bool (Matita_freescale_status.get_c_flag m t s) (Matita_freescale_status.get_z_flag m t s)))))))))
+;;
+
+let execute_BIH =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_irq_flag m t s) (function iRQ_op -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_extra.not_bool iRQ_op)))))))))
+;;
+
+let execute_BIL =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_irq_flag m t s) (function iRQ_op -> (execute_any_BRANCH m t s i cur_pc iRQ_op))))))))
+;;
+
+let execute_BIT =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_AND_BIT_EOR_ORA_aux m t s i cur_pc Matita_datatypes_bool.False Matita_freescale_byte8.and_b8))))))
+;;
+
+let execute_BLE =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_n_flag m t s) (function n_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_v_flag m t s) (function v_op -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_extra.or_bool (Matita_freescale_status.get_z_flag m t s) (Matita_freescale_extra.xor_bool n_op v_op))))))))))))
+;;
+
+let execute_BLS =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_extra.or_bool (Matita_freescale_status.get_c_flag m t s) (Matita_freescale_status.get_z_flag m t s))))))))
+;;
+
+let execute_BLT =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_n_flag m t s) (function n_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_v_flag m t s) (function v_op -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_extra.xor_bool n_op v_op)))))))))))
+;;
+
+let execute_BMC =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_i_flag m t s) (function i_op -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_extra.not_bool i_op)))))))))
+;;
+
+let execute_BMI =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_n_flag m t s) (function n_op -> (execute_any_BRANCH m t s i cur_pc n_op))))))))
+;;
+
+let execute_BMS =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_i_flag m t s) (function i_op -> (execute_any_BRANCH m t s i cur_pc i_op))))))))
+;;
+
+let execute_BNE =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_extra.not_bool (Matita_freescale_status.get_z_flag m t s))))))))
+;;
+
+let execute_BPL =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_n_flag m t s) (function n_op -> (execute_any_BRANCH m t s i cur_pc (Matita_freescale_extra.not_bool n_op)))))))))
+;;
+
+let execute_BRA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_any_BRANCH m t s i cur_pc Matita_datatypes_bool.True))))))
+;;
+
+let execute_BRCLRn =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_BRCLRn_BRSETn_aux m t s i cur_pc (function mn_op -> (Matita_freescale_byte8.eq_b8 mn_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))))))
+;;
+
+let execute_BRN =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_any_BRANCH m t s i cur_pc Matita_datatypes_bool.False))))))
+;;
+
+let execute_BRSETn =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_BRCLRn_BRSETn_aux m t s i cur_pc (function mn_op -> (Matita_freescale_extra.not_bool (Matita_freescale_byte8.eq_b8 mn_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))))))))))
+;;
+
+let execute_BSETn =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_BCLRn_BSETn_aux m t s i cur_pc (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))))))))
+;;
+
+let execute_BSR =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (let aux = (Matita_freescale_extra.opt_map (aux_push m t s_tmp1 (Matita_freescale_word16.w16l new_pc)) (function s_tmp2 -> (Matita_freescale_extra.opt_map (aux_push m t s_tmp2 (Matita_freescale_word16.w16h new_pc)) (function s_tmp3 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp3,(branched_pc m t s_tmp3 new_pc m_op))))))))) in 
+(match m with 
+   Matita_freescale_opcode.HC05 -> aux
+ | Matita_freescale_opcode.HC08 -> aux
+ | Matita_freescale_opcode.HCS08 -> aux
+ | Matita_freescale_opcode.RS08 -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_spc_reg m t s_tmp1 new_pc) (function s_tmp2 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp2,(branched_pc m t s_tmp2 new_pc m_op))))))))
+))
+)))))))
+;;
+
+let execute_CBEQA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.False m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> 
+(match m_op with 
+   Matita_freescale_word16.Mk_word16(mH_op,mL_op) -> 
+(match (Matita_freescale_byte8.eq_b8 (Matita_freescale_status.get_acc_8_low_reg m t s_tmp1) mH_op) with 
+   Matita_datatypes_bool.True -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,(branched_pc m t s_tmp1 new_pc mL_op)))))
+ | Matita_datatypes_bool.False -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,new_pc)))))
+)
+)
+)))))))
+;;
+
+let execute_CBEQX =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.False m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> 
+(match m_op with 
+   Matita_freescale_word16.Mk_word16(mH_op,mL_op) -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_low_reg m t s_tmp1) (function x_op -> 
+(match (Matita_freescale_byte8.eq_b8 x_op mH_op) with 
+   Matita_datatypes_bool.True -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,(branched_pc m t s_tmp1 new_pc mL_op)))))
+ | Matita_datatypes_bool.False -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,new_pc)))))
+)))
+)
+)))))))
+;;
+
+let execute_CLC =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.set_c_flag m t s Matita_datatypes_bool.False),cur_pc)))))))))
+;;
+
+let execute_CLI =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_i_flag m t s Matita_datatypes_bool.False) (function s_tmp -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp,cur_pc)))))))))))
+;;
+
+let execute_CLR =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_write Matita_datatypes_bool.True m t s cur_pc i (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))) (function s_PC -> 
+(match s_PC with 
+   Matita_datatypes_constructors.Pair(s_tmp1,new_pc) -> (let s_tmp2 = (Matita_freescale_status.set_z_flag m t s_tmp1 Matita_datatypes_bool.True) in (let s_tmp3 = (Matita_freescale_status.setweak_n_flag m t s_tmp2 Matita_datatypes_bool.False) in (let s_tmp4 = (Matita_freescale_status.setweak_v_flag m t s_tmp3 Matita_datatypes_bool.False) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp4,new_pc))))))))
+)))))))
+;;
+
+let execute_CMP =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_SBC_SUB_aux m t s i cur_pc Matita_datatypes_bool.False (function a_op -> (function m_op -> (function c_op -> (Matita_freescale_byte8.plus_b8 a_op (Matita_freescale_byte8.compl_b8 m_op) Matita_datatypes_bool.False))))))))))
+;;
+
+let execute_COM =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_COM_DEC_INC_NEG_aux m t s i cur_pc Matita_freescale_byte8.not_b8 (function m7 -> (function r7 -> Matita_datatypes_bool.False)) (function c_op -> (function r_op -> Matita_datatypes_bool.True))))))))
+;;
+
+let execute_CPHX =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.False m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_16_reg m t s_tmp1) (function x_op -> 
+(match (Matita_freescale_word16.plus_w16 x_op (Matita_freescale_word16.compl_w16 m_op) Matita_datatypes_bool.False) with 
+   Matita_datatypes_constructors.Pair(r_op,carry) -> (let x15 = (Matita_freescale_word16.mSB_w16 x_op) in (let m15 = (Matita_freescale_word16.mSB_w16 m_op) in (let r15 = (Matita_freescale_word16.mSB_w16 r_op) in (let s_tmp2 = (Matita_freescale_status.set_z_flag m t s_tmp1 (Matita_freescale_word16.eq_w16 r_op (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))))) in (let s_tmp3 = (Matita_freescale_status.set_c_flag m t s_tmp2 (Matita_freescale_extra.or_bool (Matita_freescale_extra.or_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.not_bool x15) m15) (Matita_freescale_extra.and_bool m15 r15)) (Matita_freescale_extra.and_bool r15 (Matita_freescale_extra.not_bool x15)))) in (let s_tmp4 = (Matita_freescale_status.setweak_n_flag m t s_tmp3 r15) in (let s_tmp5 = (Matita_freescale_status.setweak_v_flag m t s_tmp4 (Matita_freescale_extra.or_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool x15 (Matita_freescale_extra.not_bool m15)) (Matita_freescale_extra.not_bool r15)) (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.not_bool x15) m15) r15))) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp5,new_pc))))))))))))
+)))
+)))))))
+;;
+
+let execute_CPX =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_low_reg m t s_tmp1) (function x_op -> 
+(match (Matita_freescale_byte8.plus_b8 x_op (Matita_freescale_byte8.compl_b8 m_op) Matita_datatypes_bool.False) with 
+   Matita_datatypes_constructors.Pair(r_op,carry) -> (let x7 = (Matita_freescale_byte8.mSB_b8 x_op) in (let m7 = (Matita_freescale_byte8.mSB_b8 m_op) in (let r7 = (Matita_freescale_byte8.mSB_b8 r_op) in (let s_tmp2 = (Matita_freescale_status.set_z_flag m t s_tmp1 (Matita_freescale_byte8.eq_b8 r_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp3 = (Matita_freescale_status.set_c_flag m t s_tmp2 (Matita_freescale_extra.or_bool (Matita_freescale_extra.or_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.not_bool x7) m7) (Matita_freescale_extra.and_bool m7 r7)) (Matita_freescale_extra.and_bool r7 (Matita_freescale_extra.not_bool x7)))) in (let s_tmp4 = (Matita_freescale_status.setweak_n_flag m t s_tmp3 r7) in (let s_tmp5 = (Matita_freescale_status.setweak_v_flag m t s_tmp4 (Matita_freescale_extra.or_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool x7 (Matita_freescale_extra.not_bool m7)) (Matita_freescale_extra.not_bool r7)) (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.not_bool x7) m7) r7))) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp5,new_pc))))))))))))
+)))
+)))))))
+;;
+
+let execute_DAA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_h_flag m t s) (function h -> (let m_op = (Matita_freescale_status.get_acc_8_low_reg m t s) in 
+(match (Matita_freescale_byte8.daa_b8 h (Matita_freescale_status.get_c_flag m t s) m_op) with 
+   Matita_datatypes_constructors.Pair(r_op,carry) -> (let s_tmp1 = (Matita_freescale_status.set_acc_8_low_reg m t s r_op) in (let s_tmp2 = (Matita_freescale_status.set_z_flag m t s_tmp1 (Matita_freescale_byte8.eq_b8 r_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp3 = (Matita_freescale_status.set_c_flag m t s_tmp2 carry) in (let s_tmp4 = (Matita_freescale_status.setweak_n_flag m t s_tmp3 (Matita_freescale_byte8.mSB_b8 r_op)) in (let s_tmp5 = (Matita_freescale_status.setweak_v_flag m t s_tmp4 (Matita_freescale_extra.xor_bool (Matita_freescale_byte8.mSB_b8 m_op) (Matita_freescale_byte8.mSB_b8 r_op))) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp5,cur_pc))))))))))
+))))))))
+;;
+
+let execute_DBNZ =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.False m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> 
+(match m_op with 
+   Matita_freescale_word16.Mk_word16(mH_op,mL_op) -> (let mH_op' = (Matita_freescale_byte8.pred_b8 mH_op) in (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_write Matita_datatypes_bool.True m t s_tmp1 cur_pc i mH_op') (function s_PC -> 
+(match s_PC with 
+   Matita_datatypes_constructors.Pair(s_tmp2,_) -> 
+(match (Matita_freescale_byte8.eq_b8 mH_op' (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))) with 
+   Matita_datatypes_bool.True -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp2,new_pc))))
+ | Matita_datatypes_bool.False -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp2,(branched_pc m t s_tmp2 new_pc mL_op))))))
+)
+))))
+)
+)))))))
+;;
+
+let execute_DEC =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_COM_DEC_INC_NEG_aux m t s i cur_pc Matita_freescale_byte8.pred_b8 (function m7 -> (function r7 -> (Matita_freescale_extra.and_bool m7 (Matita_freescale_extra.not_bool r7)))) (function c_op -> (function r_op -> c_op))))))))
+;;
+
+let execute_DIV =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_high_reg m t s) (function h_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_low_reg m t s) (function x_op -> 
+(match (Matita_freescale_word16.div_b8 (Matita_freescale_word16.Mk_word16(h_op,(Matita_freescale_status.get_acc_8_low_reg m t s))) x_op) with 
+   Matita_freescale_extra.TripleT(quoz,rest,overflow) -> (let s_tmp1 = (Matita_freescale_status.set_c_flag m t s overflow) in (let s_tmp2 = 
+(match overflow with 
+   Matita_datatypes_bool.True -> s_tmp1
+ | Matita_datatypes_bool.False -> (Matita_freescale_status.set_acc_8_low_reg m t s_tmp1 quoz))
+ in (let s_tmp3 = (Matita_freescale_status.set_z_flag m t s_tmp2 (Matita_freescale_byte8.eq_b8 (Matita_freescale_status.get_acc_8_low_reg m t s_tmp2) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (Matita_freescale_extra.opt_map 
+(match overflow with 
+   Matita_datatypes_bool.True -> (Matita_datatypes_constructors.Some(s_tmp3))
+ | Matita_datatypes_bool.False -> (Matita_freescale_status.set_indX_8_high_reg m t s_tmp3 rest))
+ (function s_tmp4 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp4,cur_pc))))))))))
+)))))))))
+;;
+
+let execute_EOR =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_AND_BIT_EOR_ORA_aux m t s i cur_pc Matita_datatypes_bool.True Matita_freescale_byte8.xor_b8))))))
+;;
+
+let execute_INC =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_COM_DEC_INC_NEG_aux m t s i cur_pc Matita_freescale_byte8.succ_b8 (function m7 -> (function r7 -> (Matita_freescale_extra.and_bool (Matita_freescale_extra.not_bool m7) r7))) (function c_op -> (function r_op -> c_op))))))))
+;;
+
+let execute_JMP =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.False m t s cur_pc i) (function s_M_PC -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_extra.fst3T s_M_PC),(Matita_freescale_extra.snd3T s_M_PC))))))))))))
+;;
+
+let execute_JSR =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.False m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (let aux = (Matita_freescale_extra.opt_map (aux_push m t s_tmp1 (Matita_freescale_word16.w16l new_pc)) (function s_tmp2 -> (Matita_freescale_extra.opt_map (aux_push m t s_tmp2 (Matita_freescale_word16.w16h new_pc)) (function s_tmp3 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp3,m_op)))))))) in 
+(match m with 
+   Matita_freescale_opcode.HC05 -> aux
+ | Matita_freescale_opcode.HC08 -> aux
+ | Matita_freescale_opcode.HCS08 -> aux
+ | Matita_freescale_opcode.RS08 -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_spc_reg m t s_tmp1 new_pc) (function s_tmp2 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp2,m_op)))))))
+))
+)))))))
+;;
+
+let execute_LDA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (let s_tmp2 = (Matita_freescale_status.set_acc_8_low_reg m t s_tmp1 m_op) in (let s_tmp3 = (Matita_freescale_status.set_z_flag m t s_tmp2 (Matita_freescale_byte8.eq_b8 m_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp4 = (Matita_freescale_status.setweak_n_flag m t s_tmp3 (Matita_freescale_byte8.mSB_b8 m_op)) in (let s_tmp5 = (Matita_freescale_status.setweak_v_flag m t s_tmp4 Matita_datatypes_bool.False) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp5,new_pc)))))))))
+)))))))
+;;
+
+let execute_LDHX =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.False m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_16_reg m t s_tmp1 m_op) (function s_tmp2 -> (let s_tmp3 = (Matita_freescale_status.set_z_flag m t s_tmp2 (Matita_freescale_word16.eq_w16 m_op (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))))) in (let s_tmp4 = (Matita_freescale_status.setweak_n_flag m t s_tmp3 (Matita_freescale_word16.mSB_w16 m_op)) in (let s_tmp5 = (Matita_freescale_status.setweak_v_flag m t s_tmp4 Matita_datatypes_bool.False) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp5,new_pc))))))))))
+)))))))
+;;
+
+let execute_LDX =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_8_low_reg m t s_tmp1 m_op) (function s_tmp2 -> (let s_tmp3 = (Matita_freescale_status.set_z_flag m t s_tmp2 (Matita_freescale_byte8.eq_b8 m_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp4 = (Matita_freescale_status.setweak_n_flag m t s_tmp3 (Matita_freescale_byte8.mSB_b8 m_op)) in (let s_tmp5 = (Matita_freescale_status.setweak_v_flag m t s_tmp4 Matita_datatypes_bool.False) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp5,new_pc))))))))))
+)))))))
+;;
+
+let execute_LSR =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_ASL_ASR_LSR_ROL_ROR_aux m t s i cur_pc (function m_op -> (function c_op -> (Matita_freescale_byte8.rcr_b8 m_op Matita_datatypes_bool.False)))))))))
+;;
+
+let execute_MOV =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_R_PC -> 
+(match s_R_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,r_op,tmp_pc) -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_write Matita_datatypes_bool.True m t s_tmp1 tmp_pc i r_op) (function s_PC -> 
+(match s_PC with 
+   Matita_datatypes_constructors.Pair(s_tmp2,new_pc) -> (let s_tmp3 = (Matita_freescale_status.set_z_flag m t s_tmp2 (Matita_freescale_byte8.eq_b8 r_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp4 = (Matita_freescale_status.setweak_n_flag m t s_tmp3 (Matita_freescale_byte8.mSB_b8 r_op)) in (let s_tmp5 = (Matita_freescale_status.setweak_v_flag m t s_tmp4 Matita_datatypes_bool.False) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp5,new_pc))))))))
+)))
+)))))))
+;;
+
+let execute_MUL =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_low_reg m t s) (function x_op -> (let r_op = (Matita_freescale_word16.mul_b8 x_op (Matita_freescale_status.get_acc_8_low_reg m t s)) in (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_8_low_reg m t s (Matita_freescale_word16.w16h r_op)) (function s_tmp -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.set_acc_8_low_reg m t s_tmp (Matita_freescale_word16.w16l r_op)),cur_pc))))))))))))))
+;;
+
+let execute_NEG =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_COM_DEC_INC_NEG_aux m t s i cur_pc Matita_freescale_byte8.compl_b8 (function m7 -> (function r7 -> (Matita_freescale_extra.and_bool m7 r7))) (function c_op -> (function r_op -> (Matita_freescale_extra.not_bool (Matita_freescale_byte8.eq_b8 r_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))))))))
+;;
+
+let execute_NOP =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s,cur_pc)))))))))
+;;
+
+let execute_NSA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> 
+(match (Matita_freescale_status.get_acc_8_low_reg m t s) with 
+   Matita_freescale_byte8.Mk_byte8(ah,al) -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.set_acc_8_low_reg m t s (Matita_freescale_byte8.Mk_byte8(al,ah))),cur_pc)))))
+)))))
+;;
+
+let execute_ORA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_AND_BIT_EOR_ORA_aux m t s i cur_pc Matita_datatypes_bool.True Matita_freescale_byte8.or_b8))))))
+;;
+
+let execute_PSHA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (aux_push m t s (Matita_freescale_status.get_acc_8_low_reg m t s)) (function s_tmp1 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,cur_pc)))))))))))
+;;
+
+let execute_PSHH =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_high_reg m t s) (function h_op -> (Matita_freescale_extra.opt_map (aux_push m t s h_op) (function s_tmp1 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,cur_pc)))))))))))))
+;;
+
+let execute_PSHX =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_low_reg m t s) (function h_op -> (Matita_freescale_extra.opt_map (aux_push m t s h_op) (function s_tmp1 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp1,cur_pc)))))))))))))
+;;
+
+let execute_PULA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (aux_pop m t s) (function s_and_A -> 
+(match s_and_A with 
+   Matita_datatypes_constructors.Pair(s_tmp1,a_op) -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.set_acc_8_low_reg m t s_tmp1 a_op),cur_pc)))))
+)))))))
+;;
+
+let execute_PULH =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (aux_pop m t s) (function s_and_H -> 
+(match s_and_H with 
+   Matita_datatypes_constructors.Pair(s_tmp1,h_op) -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_8_high_reg m t s_tmp1 h_op) (function s_tmp2 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp2,cur_pc)))))))
+)))))))
+;;
+
+let execute_PULX =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (aux_pop m t s) (function s_and_X -> 
+(match s_and_X with 
+   Matita_datatypes_constructors.Pair(s_tmp1,x_op) -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_8_low_reg m t s_tmp1 x_op) (function s_tmp2 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp2,cur_pc)))))))
+)))))))
+;;
+
+let execute_ROL =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_ASL_ASR_LSR_ROL_ROR_aux m t s i cur_pc (function m_op -> (function c_op -> (Matita_freescale_byte8.rcl_b8 m_op c_op)))))))))
+;;
+
+let execute_ROR =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_ASL_ASR_LSR_ROL_ROR_aux m t s i cur_pc (function m_op -> (function c_op -> (Matita_freescale_byte8.rcr_b8 m_op c_op)))))))))
+;;
+
+let execute_RSP =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_sp_reg m t s) (function sP_op -> 
+(match sP_op with 
+   Matita_freescale_word16.Mk_word16(sph,spl) -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_sp_reg m t s (Matita_freescale_word16.Mk_word16(sph,(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))))) (function s_tmp -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp,cur_pc)))))))
+)))))))
+;;
+
+let execute_RTI =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (aux_pop m t s) (function s_and_CCR -> 
+(match s_and_CCR with 
+   Matita_datatypes_constructors.Pair(s_tmp1,cCR_op) -> (let s_tmp2 = (aux_set_CCR m t s_tmp1 cCR_op) in (Matita_freescale_extra.opt_map (aux_pop m t s_tmp2) (function s_and_A -> 
+(match s_and_A with 
+   Matita_datatypes_constructors.Pair(s_tmp3,a_op) -> (let s_tmp4 = (Matita_freescale_status.set_acc_8_low_reg m t s_tmp3 a_op) in (Matita_freescale_extra.opt_map (aux_pop m t s_tmp4) (function s_and_X -> 
+(match s_and_X with 
+   Matita_datatypes_constructors.Pair(s_tmp5,x_op) -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_8_low_reg m t s_tmp5 x_op) (function s_tmp6 -> (Matita_freescale_extra.opt_map (aux_pop m t s_tmp6) (function s_and_PCH -> 
+(match s_and_PCH with 
+   Matita_datatypes_constructors.Pair(s_tmp7,pCH_op) -> (Matita_freescale_extra.opt_map (aux_pop m t s_tmp7) (function s_and_PCL -> 
+(match s_and_PCL with 
+   Matita_datatypes_constructors.Pair(s_tmp8,pCL_op) -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp8,(Matita_freescale_word16.Mk_word16(pCH_op,pCL_op)))))))
+)))
+)))))
+))))
+))))
+)))))))
+;;
+
+let execute_RTS =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (let aux = (Matita_freescale_extra.opt_map (aux_pop m t s) (function s_and_PCH -> 
+(match s_and_PCH with 
+   Matita_datatypes_constructors.Pair(s_tmp1,pCH_op) -> (Matita_freescale_extra.opt_map (aux_pop m t s_tmp1) (function s_and_PCL -> 
+(match s_and_PCL with 
+   Matita_datatypes_constructors.Pair(s_tmp2,pCL_op) -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp2,(Matita_freescale_word16.Mk_word16(pCH_op,pCL_op)))))))
+)))
+)) in 
+(match m with 
+   Matita_freescale_opcode.HC05 -> aux
+ | Matita_freescale_opcode.HC08 -> aux
+ | Matita_freescale_opcode.HCS08 -> aux
+ | Matita_freescale_opcode.RS08 -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_spc_reg m t s) (function sPC_op -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s,sPC_op)))))))
+))))))
+;;
+
+let execute_SBC =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_SBC_SUB_aux m t s i cur_pc Matita_datatypes_bool.True (function a_op -> (function m_op -> (function c_op -> 
+(match (Matita_freescale_byte8.plus_b8 a_op (Matita_freescale_byte8.compl_b8 m_op) Matita_datatypes_bool.False) with 
+   Matita_datatypes_constructors.Pair(resb,resc) -> 
+(match c_op with 
+   Matita_datatypes_bool.True -> (Matita_freescale_byte8.plus_b8 resb (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)) Matita_datatypes_bool.False)
+ | Matita_datatypes_bool.False -> (Matita_datatypes_constructors.Pair(resb,resc)))
+)
+)))))))))
+;;
+
+let execute_SEC =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.set_c_flag m t s Matita_datatypes_bool.True),cur_pc)))))))))
+;;
+
+let execute_SEI =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_i_flag m t s Matita_datatypes_bool.True) (function s_tmp -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp,cur_pc)))))))))))
+;;
+
+let execute_SHA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_spc_reg m t s) (function sPC_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_spc_reg m t s (Matita_freescale_word16.Mk_word16((Matita_freescale_status.get_acc_8_low_reg m t s),(Matita_freescale_word16.w16l sPC_op)))) (function s_tmp1 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.set_acc_8_low_reg m t s_tmp1 (Matita_freescale_word16.w16h sPC_op)),cur_pc)))))))))))))
+;;
+
+let execute_SLA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_spc_reg m t s) (function sPC_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_spc_reg m t s (Matita_freescale_word16.Mk_word16((Matita_freescale_word16.w16h sPC_op),(Matita_freescale_status.get_acc_8_low_reg m t s)))) (function s_tmp1 -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.set_acc_8_low_reg m t s_tmp1 (Matita_freescale_word16.w16l sPC_op)),cur_pc)))))))))))))
+;;
+
+let execute_STA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (let a_op = (Matita_freescale_status.get_acc_8_low_reg m t s) in (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_write Matita_datatypes_bool.True m t s cur_pc i a_op) (function s_op_and_PC -> 
+(match s_op_and_PC with 
+   Matita_datatypes_constructors.Pair(s_tmp1,new_pc) -> (let s_tmp2 = (Matita_freescale_status.set_z_flag m t s_tmp1 (Matita_freescale_byte8.eq_b8 a_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp3 = (Matita_freescale_status.setweak_n_flag m t s_tmp2 (Matita_freescale_byte8.mSB_b8 a_op)) in (let s_tmp4 = (Matita_freescale_status.setweak_v_flag m t s_tmp3 Matita_datatypes_bool.False) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp4,new_pc))))))))
+))))))))
+;;
+
+let execute_STHX =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_16_reg m t s) (function x_op -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_write Matita_datatypes_bool.False m t s cur_pc i x_op) (function s_op_and_PC -> 
+(match s_op_and_PC with 
+   Matita_datatypes_constructors.Pair(s_tmp1,new_pc) -> (let s_tmp2 = (Matita_freescale_status.set_z_flag m t s_tmp1 (Matita_freescale_word16.eq_w16 x_op (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))))) in (let s_tmp3 = (Matita_freescale_status.setweak_n_flag m t s_tmp2 (Matita_freescale_word16.mSB_w16 x_op)) in (let s_tmp4 = (Matita_freescale_status.setweak_v_flag m t s_tmp3 Matita_datatypes_bool.False) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp4,new_pc))))))))
+)))))))))
+;;
+
+let execute_STOP =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.setweak_i_flag m t s Matita_datatypes_bool.False),cur_pc)))))))))
+;;
+
+let execute_STX =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_low_reg m t s) (function x_op -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_write Matita_datatypes_bool.True m t s cur_pc i x_op) (function s_op_and_PC -> 
+(match s_op_and_PC with 
+   Matita_datatypes_constructors.Pair(s_tmp1,new_pc) -> (let s_tmp2 = (Matita_freescale_status.set_z_flag m t s_tmp1 (Matita_freescale_byte8.eq_b8 x_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp3 = (Matita_freescale_status.setweak_n_flag m t s_tmp2 (Matita_freescale_byte8.mSB_b8 x_op)) in (let s_tmp4 = (Matita_freescale_status.setweak_v_flag m t s_tmp3 Matita_datatypes_bool.False) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp4,new_pc))))))))
+)))))))))
+;;
+
+let execute_SUB =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (execute_SBC_SUB_aux m t s i cur_pc Matita_datatypes_bool.True (function a_op -> (function m_op -> (function c_op -> (Matita_freescale_byte8.plus_b8 a_op (Matita_freescale_byte8.compl_b8 m_op) Matita_datatypes_bool.False))))))))))
+;;
+
+let execute_SWI =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (let vector = (Matita_freescale_status.get_pc_reg m t (Matita_freescale_status.set_pc_reg m t s (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)))))) in (Matita_freescale_extra.opt_map (aux_push m t s (Matita_freescale_word16.w16l cur_pc)) (function s_tmp1 -> (Matita_freescale_extra.opt_map (aux_push m t s_tmp1 (Matita_freescale_word16.w16h cur_pc)) (function s_tmp2 -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_low_reg m t s_tmp2) (function x_op -> (Matita_freescale_extra.opt_map (aux_push m t s_tmp2 x_op) (function s_tmp3 -> (Matita_freescale_extra.opt_map (aux_push m t s_tmp3 (Matita_freescale_status.get_acc_8_low_reg m t s_tmp3)) (function s_tmp4 -> (Matita_freescale_extra.opt_map (aux_push m t s_tmp4 (aux_get_CCR m t s_tmp4)) (function s_tmp5 -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_i_flag m t s_tmp5 Matita_datatypes_bool.True) (function s_tmp6 -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.memory_filter_read m t s_tmp6 vector) (function addrh -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.memory_filter_read m t s_tmp6 (Matita_freescale_word16.succ_w16 vector)) (function addrl -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp6,(Matita_freescale_word16.Mk_word16(addrh,addrl))))))))))))))))))))))))))))))
+;;
+
+let execute_TAP =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((aux_set_CCR m t s (Matita_freescale_status.get_acc_8_low_reg m t s)),cur_pc)))))))))
+;;
+
+let execute_TAX =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_8_low_reg m t s (Matita_freescale_status.get_acc_8_low_reg m t s)) (function s_tmp -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp,cur_pc)))))))))))
+;;
+
+let execute_TPA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.set_acc_8_low_reg m t s (aux_get_CCR m t s)),cur_pc)))))))))
+;;
+
+let execute_TST =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_load_write.multi_mode_load Matita_datatypes_bool.True m t s cur_pc i) (function s_M_PC -> 
+(match s_M_PC with 
+   Matita_freescale_extra.TripleT(s_tmp1,m_op,new_pc) -> (let s_tmp2 = (Matita_freescale_status.set_z_flag m t s_tmp1 (Matita_freescale_byte8.eq_b8 m_op (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) in (let s_tmp3 = (Matita_freescale_status.setweak_n_flag m t s_tmp2 (Matita_freescale_byte8.mSB_b8 m_op)) in (let s_tmp4 = (Matita_freescale_status.setweak_v_flag m t s_tmp3 Matita_datatypes_bool.False) in (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp4,new_pc))))))))
+)))))))
+;;
+
+let execute_TSX =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_sp_reg m t s) (function sP_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_indX_16_reg m t s (Matita_freescale_word16.succ_w16 sP_op)) (function s_tmp -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp,cur_pc)))))))))))))
+;;
+
+let execute_TXA =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_8_low_reg m t s) (function x_op -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.set_acc_8_low_reg m t s x_op),cur_pc)))))))))))
+;;
+
+let execute_TXS =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_freescale_extra.opt_map (Matita_freescale_status.get_indX_16_reg m t s) (function x_op -> (Matita_freescale_extra.opt_map (Matita_freescale_status.set_sp_reg m t s (Matita_freescale_word16.pred_w16 x_op)) (function s_tmp -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair(s_tmp,cur_pc)))))))))))))
+;;
+
+let execute_WAIT =
+(function m -> (function t -> (function s -> (function i -> (function cur_pc -> (Matita_datatypes_constructors.Some((Matita_datatypes_constructors.Pair((Matita_freescale_status.setweak_i_flag m t s Matita_datatypes_bool.False),cur_pc)))))))))
+;;
+
+type susp_type =
+BGND_MODE
+ | STOP_MODE
+ | WAIT_MODE
+;;
+
+let susp_type_rec =
+(function p -> (function p1 -> (function p2 -> (function s -> 
+(match s with 
+   BGND_MODE -> p
+ | STOP_MODE -> p1
+ | WAIT_MODE -> p2)
+))))
+;;
+
+let susp_type_rect =
+(function p -> (function p1 -> (function p2 -> (function s -> 
+(match s with 
+   BGND_MODE -> p
+ | STOP_MODE -> p1
+ | WAIT_MODE -> p2)
+))))
+;;
+
+type ('a) tick_result =
+TickERR of 'a * Matita_freescale_load_write.error_type
+ | TickSUSP of 'a * susp_type
+ | TickOK of 'a
+;;
+
+let tick_result_rec =
+(function f -> (function f1 -> (function f2 -> (function t -> 
+(match t with 
+   TickERR(t1,e) -> (f t1 e)
+ | TickSUSP(t1,s) -> (f1 t1 s)
+ | TickOK(t1) -> (f2 t1))
+))))
+;;
+
+let tick_result_rect =
+(function f -> (function f1 -> (function f2 -> (function t -> 
+(match t with 
+   TickERR(t1,e) -> (f t1 e)
+ | TickSUSP(t1,s) -> (f1 t1 s)
+ | TickOK(t1) -> (f2 t1))
+))))
+;;
+
+let tick_execute =
+(function m -> (function t -> (function s -> (function pseudo -> (function mode -> (function cur_pc -> (let abs_pseudo = 
+(match pseudo with 
+   Matita_freescale_opcode.AnyOP(pseudo') -> pseudo')
+ in (let a_status_and_fetch = 
+(match abs_pseudo with 
+   Matita_freescale_opcode.ADC -> (execute_ADC m t s mode cur_pc)
+ | Matita_freescale_opcode.ADD -> (execute_ADD m t s mode cur_pc)
+ | Matita_freescale_opcode.AIS -> (execute_AIS m t s mode cur_pc)
+ | Matita_freescale_opcode.AIX -> (execute_AIX m t s mode cur_pc)
+ | Matita_freescale_opcode.AND -> (execute_AND m t s mode cur_pc)
+ | Matita_freescale_opcode.ASL -> (execute_ASL m t s mode cur_pc)
+ | Matita_freescale_opcode.ASR -> (execute_ASR m t s mode cur_pc)
+ | Matita_freescale_opcode.BCC -> (execute_BCC m t s mode cur_pc)
+ | Matita_freescale_opcode.BCLRn -> (execute_BCLRn m t s mode cur_pc)
+ | Matita_freescale_opcode.BCS -> (execute_BCS m t s mode cur_pc)
+ | Matita_freescale_opcode.BEQ -> (execute_BEQ m t s mode cur_pc)
+ | Matita_freescale_opcode.BGE -> (execute_BGE m t s mode cur_pc)
+ | Matita_freescale_opcode.BGND -> (execute_BGND m t s mode cur_pc)
+ | Matita_freescale_opcode.BGT -> (execute_BGT m t s mode cur_pc)
+ | Matita_freescale_opcode.BHCC -> (execute_BHCC m t s mode cur_pc)
+ | Matita_freescale_opcode.BHCS -> (execute_BHCS m t s mode cur_pc)
+ | Matita_freescale_opcode.BHI -> (execute_BHI m t s mode cur_pc)
+ | Matita_freescale_opcode.BIH -> (execute_BIH m t s mode cur_pc)
+ | Matita_freescale_opcode.BIL -> (execute_BIL m t s mode cur_pc)
+ | Matita_freescale_opcode.BIT -> (execute_BIT m t s mode cur_pc)
+ | Matita_freescale_opcode.BLE -> (execute_BLE m t s mode cur_pc)
+ | Matita_freescale_opcode.BLS -> (execute_BLS m t s mode cur_pc)
+ | Matita_freescale_opcode.BLT -> (execute_BLT m t s mode cur_pc)
+ | Matita_freescale_opcode.BMC -> (execute_BMC m t s mode cur_pc)
+ | Matita_freescale_opcode.BMI -> (execute_BMI m t s mode cur_pc)
+ | Matita_freescale_opcode.BMS -> (execute_BMS m t s mode cur_pc)
+ | Matita_freescale_opcode.BNE -> (execute_BNE m t s mode cur_pc)
+ | Matita_freescale_opcode.BPL -> (execute_BPL m t s mode cur_pc)
+ | Matita_freescale_opcode.BRA -> (execute_BRA m t s mode cur_pc)
+ | Matita_freescale_opcode.BRCLRn -> (execute_BRCLRn m t s mode cur_pc)
+ | Matita_freescale_opcode.BRN -> (execute_BRN m t s mode cur_pc)
+ | Matita_freescale_opcode.BRSETn -> (execute_BRSETn m t s mode cur_pc)
+ | Matita_freescale_opcode.BSETn -> (execute_BSETn m t s mode cur_pc)
+ | Matita_freescale_opcode.BSR -> (execute_BSR m t s mode cur_pc)
+ | Matita_freescale_opcode.CBEQA -> (execute_CBEQA m t s mode cur_pc)
+ | Matita_freescale_opcode.CBEQX -> (execute_CBEQX m t s mode cur_pc)
+ | Matita_freescale_opcode.CLC -> (execute_CLC m t s mode cur_pc)
+ | Matita_freescale_opcode.CLI -> (execute_CLI m t s mode cur_pc)
+ | Matita_freescale_opcode.CLR -> (execute_CLR m t s mode cur_pc)
+ | Matita_freescale_opcode.CMP -> (execute_CMP m t s mode cur_pc)
+ | Matita_freescale_opcode.COM -> (execute_COM m t s mode cur_pc)
+ | Matita_freescale_opcode.CPHX -> (execute_CPHX m t s mode cur_pc)
+ | Matita_freescale_opcode.CPX -> (execute_CPX m t s mode cur_pc)
+ | Matita_freescale_opcode.DAA -> (execute_DAA m t s mode cur_pc)
+ | Matita_freescale_opcode.DBNZ -> (execute_DBNZ m t s mode cur_pc)
+ | Matita_freescale_opcode.DEC -> (execute_DEC m t s mode cur_pc)
+ | Matita_freescale_opcode.DIV -> (execute_DIV m t s mode cur_pc)
+ | Matita_freescale_opcode.EOR -> (execute_EOR m t s mode cur_pc)
+ | Matita_freescale_opcode.INC -> (execute_INC m t s mode cur_pc)
+ | Matita_freescale_opcode.JMP -> (execute_JMP m t s mode cur_pc)
+ | Matita_freescale_opcode.JSR -> (execute_JSR m t s mode cur_pc)
+ | Matita_freescale_opcode.LDA -> (execute_LDA m t s mode cur_pc)
+ | Matita_freescale_opcode.LDHX -> (execute_LDHX m t s mode cur_pc)
+ | Matita_freescale_opcode.LDX -> (execute_LDX m t s mode cur_pc)
+ | Matita_freescale_opcode.LSR -> (execute_LSR m t s mode cur_pc)
+ | Matita_freescale_opcode.MOV -> (execute_MOV m t s mode cur_pc)
+ | Matita_freescale_opcode.MUL -> (execute_MUL m t s mode cur_pc)
+ | Matita_freescale_opcode.NEG -> (execute_NEG m t s mode cur_pc)
+ | Matita_freescale_opcode.NOP -> (execute_NOP m t s mode cur_pc)
+ | Matita_freescale_opcode.NSA -> (execute_NSA m t s mode cur_pc)
+ | Matita_freescale_opcode.ORA -> (execute_ORA m t s mode cur_pc)
+ | Matita_freescale_opcode.PSHA -> (execute_PSHA m t s mode cur_pc)
+ | Matita_freescale_opcode.PSHH -> (execute_PSHH m t s mode cur_pc)
+ | Matita_freescale_opcode.PSHX -> (execute_PSHX m t s mode cur_pc)
+ | Matita_freescale_opcode.PULA -> (execute_PULA m t s mode cur_pc)
+ | Matita_freescale_opcode.PULH -> (execute_PULH m t s mode cur_pc)
+ | Matita_freescale_opcode.PULX -> (execute_PULX m t s mode cur_pc)
+ | Matita_freescale_opcode.ROL -> (execute_ROL m t s mode cur_pc)
+ | Matita_freescale_opcode.ROR -> (execute_ROR m t s mode cur_pc)
+ | Matita_freescale_opcode.RSP -> (execute_RSP m t s mode cur_pc)
+ | Matita_freescale_opcode.RTI -> (execute_RTI m t s mode cur_pc)
+ | Matita_freescale_opcode.RTS -> (execute_RTS m t s mode cur_pc)
+ | Matita_freescale_opcode.SBC -> (execute_SBC m t s mode cur_pc)
+ | Matita_freescale_opcode.SEC -> (execute_SEC m t s mode cur_pc)
+ | Matita_freescale_opcode.SEI -> (execute_SEI m t s mode cur_pc)
+ | Matita_freescale_opcode.SHA -> (execute_SHA m t s mode cur_pc)
+ | Matita_freescale_opcode.SLA -> (execute_SLA m t s mode cur_pc)
+ | Matita_freescale_opcode.STA -> (execute_STA m t s mode cur_pc)
+ | Matita_freescale_opcode.STHX -> (execute_STHX m t s mode cur_pc)
+ | Matita_freescale_opcode.STOP -> (execute_STOP m t s mode cur_pc)
+ | Matita_freescale_opcode.STX -> (execute_STX m t s mode cur_pc)
+ | Matita_freescale_opcode.SUB -> (execute_SUB m t s mode cur_pc)
+ | Matita_freescale_opcode.SWI -> (execute_SWI m t s mode cur_pc)
+ | Matita_freescale_opcode.TAP -> (execute_TAP m t s mode cur_pc)
+ | Matita_freescale_opcode.TAX -> (execute_TAX m t s mode cur_pc)
+ | Matita_freescale_opcode.TPA -> (execute_TPA m t s mode cur_pc)
+ | Matita_freescale_opcode.TST -> (execute_TST m t s mode cur_pc)
+ | Matita_freescale_opcode.TSX -> (execute_TSX m t s mode cur_pc)
+ | Matita_freescale_opcode.TXA -> (execute_TXA m t s mode cur_pc)
+ | Matita_freescale_opcode.TXS -> (execute_TXS m t s mode cur_pc)
+ | Matita_freescale_opcode.WAIT -> (execute_WAIT m t s mode cur_pc))
+ in 
+(match a_status_and_fetch with 
+   Matita_datatypes_constructors.None -> (TickERR((Matita_freescale_status.set_clk_desc m t s (Matita_datatypes_constructors.None)),Matita_freescale_load_write.ILL_EX_AD))
+ | Matita_datatypes_constructors.Some(status_and_newpc) -> 
+(match status_and_newpc with 
+   Matita_datatypes_constructors.Pair(s_tmp1,new_pc) -> (let s_tmp2 = (Matita_freescale_status.set_pc_reg m t s_tmp1 new_pc) in (let s_tmp3 = (Matita_freescale_status.set_clk_desc m t s_tmp2 (Matita_datatypes_constructors.None)) in (let abs_magic = (Matita_freescale_opcode.magic_of_opcode abs_pseudo) in 
+(match (Matita_freescale_byte8.eq_b8 abs_magic (Matita_freescale_opcode.magic_of_opcode Matita_freescale_opcode.BGND)) with 
+   Matita_datatypes_bool.True -> (TickSUSP(s_tmp3,BGND_MODE))
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_byte8.eq_b8 abs_magic (Matita_freescale_opcode.magic_of_opcode Matita_freescale_opcode.STOP)) with 
+   Matita_datatypes_bool.True -> (TickSUSP(s_tmp3,STOP_MODE))
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_byte8.eq_b8 abs_magic (Matita_freescale_opcode.magic_of_opcode Matita_freescale_opcode.WAIT)) with 
+   Matita_datatypes_bool.True -> (TickSUSP(s_tmp3,WAIT_MODE))
+ | Matita_datatypes_bool.False -> (TickOK(s_tmp3)))
+)
+)
+))))
+)
+))))))))
+;;
+
+let tick =
+(function m -> (function t -> (function s -> (let opt_info = (Matita_freescale_status.get_clk_desc m t s) in 
+(match opt_info with 
+   Matita_datatypes_constructors.None -> 
+(match (Matita_freescale_load_write.fetch m t s) with 
+   Matita_freescale_load_write.FetchERR(err) -> (TickERR(s,err))
+ | Matita_freescale_load_write.FetchOK(fetch_info,cur_pc) -> 
+(match fetch_info with 
+   Matita_freescale_extra.QuadrupleT(pseudo,mode,_,tot_clk) -> 
+(match (Matita_freescale_byte8.eq_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)) tot_clk) with 
+   Matita_datatypes_bool.True -> (tick_execute m t s pseudo mode cur_pc)
+ | Matita_datatypes_bool.False -> (TickOK((Matita_freescale_status.set_clk_desc m t s (Matita_datatypes_constructors.Some((Matita_freescale_extra.QuintupleT((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),pseudo,mode,tot_clk,cur_pc))))))))
+)
+)
+
+ | Matita_datatypes_constructors.Some(info) -> 
+(match info with 
+   Matita_freescale_extra.QuintupleT(cur_clk,pseudo,mode,tot_clk,cur_pc) -> 
+(match (Matita_freescale_byte8.eq_b8 (Matita_freescale_byte8.succ_b8 cur_clk) tot_clk) with 
+   Matita_datatypes_bool.True -> (tick_execute m t s pseudo mode cur_pc)
+ | Matita_datatypes_bool.False -> (TickOK((Matita_freescale_status.set_clk_desc m t s (Matita_datatypes_constructors.Some((Matita_freescale_extra.QuintupleT((Matita_freescale_byte8.succ_b8 cur_clk),pseudo,mode,tot_clk,cur_pc))))))))
+)
+)
+))))
+;;
+
+let execute =
+let rec execute = 
+(function m -> (function t -> (function s -> (function n -> 
+(match s with 
+   TickERR(s',error) -> print_string("e") ; (TickERR(s',error))
+ | TickSUSP(s',susp) -> print_string("s") ; (TickSUSP(s',susp))
+ | TickOK(s') -> 
+(match n with 
+   Matita_nat_nat.O -> (TickOK(s'))
+ | Matita_nat_nat.S(n') -> print_string(".") ; (execute m t (tick m t s') n'))
+)
+)))) in execute
+;;
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_opcode.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_opcode.ml
new file mode 100644 (file)
index 0000000..4cfdabc
--- /dev/null
@@ -0,0 +1,749 @@
+type mcu_type =
+HC05
+ | HC08
+ | HCS08
+ | RS08
+;;
+
+let mcu_type_rec =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function m -> 
+(match m with 
+   HC05 -> p
+ | HC08 -> p1
+ | HCS08 -> p2
+ | RS08 -> p3)
+)))))
+;;
+
+let mcu_type_rect =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function m -> 
+(match m with 
+   HC05 -> p
+ | HC08 -> p1
+ | HCS08 -> p2
+ | RS08 -> p3)
+)))))
+;;
+
+type instr_mode =
+MODE_INH
+ | MODE_INHA
+ | MODE_INHX
+ | MODE_INHH
+ | MODE_INHX0ADD
+ | MODE_INHX1ADD
+ | MODE_INHX2ADD
+ | MODE_IMM1
+ | MODE_IMM1EXT
+ | MODE_IMM2
+ | MODE_DIR1
+ | MODE_DIR2
+ | MODE_IX0
+ | MODE_IX1
+ | MODE_IX2
+ | MODE_SP1
+ | MODE_SP2
+ | MODE_DIR1_to_DIR1
+ | MODE_IMM1_to_DIR1
+ | MODE_IX0p_to_DIR1
+ | MODE_DIR1_to_IX0p
+ | MODE_INHA_and_IMM1
+ | MODE_INHX_and_IMM1
+ | MODE_IMM1_and_IMM1
+ | MODE_DIR1_and_IMM1
+ | MODE_IX0_and_IMM1
+ | MODE_IX0p_and_IMM1
+ | MODE_IX1_and_IMM1
+ | MODE_IX1p_and_IMM1
+ | MODE_SP1_and_IMM1
+ | MODE_DIRn of Matita_freescale_aux_bases.oct
+ | MODE_DIRn_and_IMM1 of Matita_freescale_aux_bases.oct
+ | MODE_TNY of Matita_freescale_exadecim.exadecim
+ | MODE_SRT of Matita_freescale_aux_bases.bitrigesim
+;;
+
+let instr_mode_rec =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function p5 -> (function p6 -> (function p7 -> (function p8 -> (function p9 -> (function p10 -> (function p11 -> (function p12 -> (function p13 -> (function p14 -> (function p15 -> (function p16 -> (function p17 -> (function p18 -> (function p19 -> (function p20 -> (function p21 -> (function p22 -> (function p23 -> (function p24 -> (function p25 -> (function p26 -> (function p27 -> (function p28 -> (function p29 -> (function f -> (function f1 -> (function f2 -> (function f3 -> (function i -> 
+(match i with 
+   MODE_INH -> p
+ | MODE_INHA -> p1
+ | MODE_INHX -> p2
+ | MODE_INHH -> p3
+ | MODE_INHX0ADD -> p4
+ | MODE_INHX1ADD -> p5
+ | MODE_INHX2ADD -> p6
+ | MODE_IMM1 -> p7
+ | MODE_IMM1EXT -> p8
+ | MODE_IMM2 -> p9
+ | MODE_DIR1 -> p10
+ | MODE_DIR2 -> p11
+ | MODE_IX0 -> p12
+ | MODE_IX1 -> p13
+ | MODE_IX2 -> p14
+ | MODE_SP1 -> p15
+ | MODE_SP2 -> p16
+ | MODE_DIR1_to_DIR1 -> p17
+ | MODE_IMM1_to_DIR1 -> p18
+ | MODE_IX0p_to_DIR1 -> p19
+ | MODE_DIR1_to_IX0p -> p20
+ | MODE_INHA_and_IMM1 -> p21
+ | MODE_INHX_and_IMM1 -> p22
+ | MODE_IMM1_and_IMM1 -> p23
+ | MODE_DIR1_and_IMM1 -> p24
+ | MODE_IX0_and_IMM1 -> p25
+ | MODE_IX0p_and_IMM1 -> p26
+ | MODE_IX1_and_IMM1 -> p27
+ | MODE_IX1p_and_IMM1 -> p28
+ | MODE_SP1_and_IMM1 -> p29
+ | MODE_DIRn(o) -> (f o)
+ | MODE_DIRn_and_IMM1(o) -> (f1 o)
+ | MODE_TNY(e) -> (f2 e)
+ | MODE_SRT(b) -> (f3 b))
+)))))))))))))))))))))))))))))))))))
+;;
+
+let instr_mode_rect =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function p5 -> (function p6 -> (function p7 -> (function p8 -> (function p9 -> (function p10 -> (function p11 -> (function p12 -> (function p13 -> (function p14 -> (function p15 -> (function p16 -> (function p17 -> (function p18 -> (function p19 -> (function p20 -> (function p21 -> (function p22 -> (function p23 -> (function p24 -> (function p25 -> (function p26 -> (function p27 -> (function p28 -> (function p29 -> (function f -> (function f1 -> (function f2 -> (function f3 -> (function i -> 
+(match i with 
+   MODE_INH -> p
+ | MODE_INHA -> p1
+ | MODE_INHX -> p2
+ | MODE_INHH -> p3
+ | MODE_INHX0ADD -> p4
+ | MODE_INHX1ADD -> p5
+ | MODE_INHX2ADD -> p6
+ | MODE_IMM1 -> p7
+ | MODE_IMM1EXT -> p8
+ | MODE_IMM2 -> p9
+ | MODE_DIR1 -> p10
+ | MODE_DIR2 -> p11
+ | MODE_IX0 -> p12
+ | MODE_IX1 -> p13
+ | MODE_IX2 -> p14
+ | MODE_SP1 -> p15
+ | MODE_SP2 -> p16
+ | MODE_DIR1_to_DIR1 -> p17
+ | MODE_IMM1_to_DIR1 -> p18
+ | MODE_IX0p_to_DIR1 -> p19
+ | MODE_DIR1_to_IX0p -> p20
+ | MODE_INHA_and_IMM1 -> p21
+ | MODE_INHX_and_IMM1 -> p22
+ | MODE_IMM1_and_IMM1 -> p23
+ | MODE_DIR1_and_IMM1 -> p24
+ | MODE_IX0_and_IMM1 -> p25
+ | MODE_IX0p_and_IMM1 -> p26
+ | MODE_IX1_and_IMM1 -> p27
+ | MODE_IX1p_and_IMM1 -> p28
+ | MODE_SP1_and_IMM1 -> p29
+ | MODE_DIRn(o) -> (f o)
+ | MODE_DIRn_and_IMM1(o) -> (f1 o)
+ | MODE_TNY(e) -> (f2 e)
+ | MODE_SRT(b) -> (f3 b))
+)))))))))))))))))))))))))))))))))))
+;;
+
+type opcode =
+ADC
+ | ADD
+ | AIS
+ | AIX
+ | AND
+ | ASL
+ | ASR
+ | BCC
+ | BCLRn
+ | BCS
+ | BEQ
+ | BGE
+ | BGND
+ | BGT
+ | BHCC
+ | BHCS
+ | BHI
+ | BIH
+ | BIL
+ | BIT
+ | BLE
+ | BLS
+ | BLT
+ | BMC
+ | BMI
+ | BMS
+ | BNE
+ | BPL
+ | BRA
+ | BRCLRn
+ | BRN
+ | BRSETn
+ | BSETn
+ | BSR
+ | CBEQA
+ | CBEQX
+ | CLC
+ | CLI
+ | CLR
+ | CMP
+ | COM
+ | CPHX
+ | CPX
+ | DAA
+ | DBNZ
+ | DEC
+ | DIV
+ | EOR
+ | INC
+ | JMP
+ | JSR
+ | LDA
+ | LDHX
+ | LDX
+ | LSR
+ | MOV
+ | MUL
+ | NEG
+ | NOP
+ | NSA
+ | ORA
+ | PSHA
+ | PSHH
+ | PSHX
+ | PULA
+ | PULH
+ | PULX
+ | ROL
+ | ROR
+ | RSP
+ | RTI
+ | RTS
+ | SBC
+ | SEC
+ | SEI
+ | SHA
+ | SLA
+ | STA
+ | STHX
+ | STOP
+ | STX
+ | SUB
+ | SWI
+ | TAP
+ | TAX
+ | TPA
+ | TST
+ | TSX
+ | TXA
+ | TXS
+ | WAIT
+;;
+
+let opcode_rec =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function p5 -> (function p6 -> (function p7 -> (function p8 -> (function p9 -> (function p10 -> (function p11 -> (function p12 -> (function p13 -> (function p14 -> (function p15 -> (function p16 -> (function p17 -> (function p18 -> (function p19 -> (function p20 -> (function p21 -> (function p22 -> (function p23 -> (function p24 -> (function p25 -> (function p26 -> (function p27 -> (function p28 -> (function p29 -> (function p30 -> (function p31 -> (function p32 -> (function p33 -> (function p34 -> (function p35 -> (function p36 -> (function p37 -> (function p38 -> (function p39 -> (function p40 -> (function p41 -> (function p42 -> (function p43 -> (function p44 -> (function p45 -> (function p46 -> (function p47 -> (function p48 -> (function p49 -> (function p50 -> (function p51 -> (function p52 -> (function p53 -> (function p54 -> (function p55 -> (function p56 -> (function p57 -> (function p58 -> (function p59 -> (function p60 -> (function p61 -> (function p62 -> (function p63 -> (function p64 -> (function p65 -> (function p66 -> (function p67 -> (function p68 -> (function p69 -> (function p70 -> (function p71 -> (function p72 -> (function p73 -> (function p74 -> (function p75 -> (function p76 -> (function p77 -> (function p78 -> (function p79 -> (function p80 -> (function p81 -> (function p82 -> (function p83 -> (function p84 -> (function p85 -> (function p86 -> (function p87 -> (function p88 -> (function p89 -> (function p90 -> (function o -> 
+(match o with 
+   ADC -> p
+ | ADD -> p1
+ | AIS -> p2
+ | AIX -> p3
+ | AND -> p4
+ | ASL -> p5
+ | ASR -> p6
+ | BCC -> p7
+ | BCLRn -> p8
+ | BCS -> p9
+ | BEQ -> p10
+ | BGE -> p11
+ | BGND -> p12
+ | BGT -> p13
+ | BHCC -> p14
+ | BHCS -> p15
+ | BHI -> p16
+ | BIH -> p17
+ | BIL -> p18
+ | BIT -> p19
+ | BLE -> p20
+ | BLS -> p21
+ | BLT -> p22
+ | BMC -> p23
+ | BMI -> p24
+ | BMS -> p25
+ | BNE -> p26
+ | BPL -> p27
+ | BRA -> p28
+ | BRCLRn -> p29
+ | BRN -> p30
+ | BRSETn -> p31
+ | BSETn -> p32
+ | BSR -> p33
+ | CBEQA -> p34
+ | CBEQX -> p35
+ | CLC -> p36
+ | CLI -> p37
+ | CLR -> p38
+ | CMP -> p39
+ | COM -> p40
+ | CPHX -> p41
+ | CPX -> p42
+ | DAA -> p43
+ | DBNZ -> p44
+ | DEC -> p45
+ | DIV -> p46
+ | EOR -> p47
+ | INC -> p48
+ | JMP -> p49
+ | JSR -> p50
+ | LDA -> p51
+ | LDHX -> p52
+ | LDX -> p53
+ | LSR -> p54
+ | MOV -> p55
+ | MUL -> p56
+ | NEG -> p57
+ | NOP -> p58
+ | NSA -> p59
+ | ORA -> p60
+ | PSHA -> p61
+ | PSHH -> p62
+ | PSHX -> p63
+ | PULA -> p64
+ | PULH -> p65
+ | PULX -> p66
+ | ROL -> p67
+ | ROR -> p68
+ | RSP -> p69
+ | RTI -> p70
+ | RTS -> p71
+ | SBC -> p72
+ | SEC -> p73
+ | SEI -> p74
+ | SHA -> p75
+ | SLA -> p76
+ | STA -> p77
+ | STHX -> p78
+ | STOP -> p79
+ | STX -> p80
+ | SUB -> p81
+ | SWI -> p82
+ | TAP -> p83
+ | TAX -> p84
+ | TPA -> p85
+ | TST -> p86
+ | TSX -> p87
+ | TXA -> p88
+ | TXS -> p89
+ | WAIT -> p90)
+))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let opcode_rect =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function p5 -> (function p6 -> (function p7 -> (function p8 -> (function p9 -> (function p10 -> (function p11 -> (function p12 -> (function p13 -> (function p14 -> (function p15 -> (function p16 -> (function p17 -> (function p18 -> (function p19 -> (function p20 -> (function p21 -> (function p22 -> (function p23 -> (function p24 -> (function p25 -> (function p26 -> (function p27 -> (function p28 -> (function p29 -> (function p30 -> (function p31 -> (function p32 -> (function p33 -> (function p34 -> (function p35 -> (function p36 -> (function p37 -> (function p38 -> (function p39 -> (function p40 -> (function p41 -> (function p42 -> (function p43 -> (function p44 -> (function p45 -> (function p46 -> (function p47 -> (function p48 -> (function p49 -> (function p50 -> (function p51 -> (function p52 -> (function p53 -> (function p54 -> (function p55 -> (function p56 -> (function p57 -> (function p58 -> (function p59 -> (function p60 -> (function p61 -> (function p62 -> (function p63 -> (function p64 -> (function p65 -> (function p66 -> (function p67 -> (function p68 -> (function p69 -> (function p70 -> (function p71 -> (function p72 -> (function p73 -> (function p74 -> (function p75 -> (function p76 -> (function p77 -> (function p78 -> (function p79 -> (function p80 -> (function p81 -> (function p82 -> (function p83 -> (function p84 -> (function p85 -> (function p86 -> (function p87 -> (function p88 -> (function p89 -> (function p90 -> (function o -> 
+(match o with 
+   ADC -> p
+ | ADD -> p1
+ | AIS -> p2
+ | AIX -> p3
+ | AND -> p4
+ | ASL -> p5
+ | ASR -> p6
+ | BCC -> p7
+ | BCLRn -> p8
+ | BCS -> p9
+ | BEQ -> p10
+ | BGE -> p11
+ | BGND -> p12
+ | BGT -> p13
+ | BHCC -> p14
+ | BHCS -> p15
+ | BHI -> p16
+ | BIH -> p17
+ | BIL -> p18
+ | BIT -> p19
+ | BLE -> p20
+ | BLS -> p21
+ | BLT -> p22
+ | BMC -> p23
+ | BMI -> p24
+ | BMS -> p25
+ | BNE -> p26
+ | BPL -> p27
+ | BRA -> p28
+ | BRCLRn -> p29
+ | BRN -> p30
+ | BRSETn -> p31
+ | BSETn -> p32
+ | BSR -> p33
+ | CBEQA -> p34
+ | CBEQX -> p35
+ | CLC -> p36
+ | CLI -> p37
+ | CLR -> p38
+ | CMP -> p39
+ | COM -> p40
+ | CPHX -> p41
+ | CPX -> p42
+ | DAA -> p43
+ | DBNZ -> p44
+ | DEC -> p45
+ | DIV -> p46
+ | EOR -> p47
+ | INC -> p48
+ | JMP -> p49
+ | JSR -> p50
+ | LDA -> p51
+ | LDHX -> p52
+ | LDX -> p53
+ | LSR -> p54
+ | MOV -> p55
+ | MUL -> p56
+ | NEG -> p57
+ | NOP -> p58
+ | NSA -> p59
+ | ORA -> p60
+ | PSHA -> p61
+ | PSHH -> p62
+ | PSHX -> p63
+ | PULA -> p64
+ | PULH -> p65
+ | PULX -> p66
+ | ROL -> p67
+ | ROR -> p68
+ | RSP -> p69
+ | RTI -> p70
+ | RTS -> p71
+ | SBC -> p72
+ | SEC -> p73
+ | SEI -> p74
+ | SHA -> p75
+ | SLA -> p76
+ | STA -> p77
+ | STHX -> p78
+ | STOP -> p79
+ | STX -> p80
+ | SUB -> p81
+ | SWI -> p82
+ | TAP -> p83
+ | TAX -> p84
+ | TPA -> p85
+ | TST -> p86
+ | TSX -> p87
+ | TXA -> p88
+ | TXS -> p89
+ | WAIT -> p90)
+))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+type any_opcode =
+AnyOP of opcode
+;;
+
+let any_opcode_rec =
+(function m -> (function f -> (function a -> 
+(match a with 
+   AnyOP(o) -> (f o))
+)))
+;;
+
+let any_opcode_rect =
+(function m -> (function f -> (function a -> 
+(match a with 
+   AnyOP(o) -> (f o))
+)))
+;;
+
+type byte8_or_word16 =
+Byte of Matita_freescale_byte8.byte8
+ | Word of Matita_freescale_word16.word16
+;;
+
+let byte8_or_word16_rec =
+(function f -> (function f1 -> (function b -> 
+(match b with 
+   Byte(b1) -> (f b1)
+ | Word(w) -> (f1 w))
+)))
+;;
+
+let byte8_or_word16_rect =
+(function f -> (function f1 -> (function b -> 
+(match b with 
+   Byte(b1) -> (f b1)
+ | Word(w) -> (f1 w))
+)))
+;;
+
+let byte8_or_word16_OF_bitrigesim =
+(function a -> (Byte((Matita_freescale_aux_bases.byte8_of_bitrigesim a))))
+;;
+
+let magic_of_opcode =
+(function o -> 
+(match o with 
+   ADC -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | ADD -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))
+ | AIS -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))
+ | AIX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))
+ | AND -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))
+ | ASL -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))
+ | ASR -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))
+ | BCC -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7))
+ | BCLRn -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))
+ | BCS -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))
+ | BEQ -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))
+ | BGE -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB))
+ | BGND -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC))
+ | BGT -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD))
+ | BHCC -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))
+ | BHCS -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF))
+ | BHI -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0))
+ | BIH -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1))
+ | BIL -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2))
+ | BIT -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3))
+ | BLE -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4))
+ | BLS -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5))
+ | BLT -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6))
+ | BMC -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7))
+ | BMI -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8))
+ | BMS -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9))
+ | BNE -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA))
+ | BPL -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB))
+ | BRA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC))
+ | BRCLRn -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD))
+ | BRN -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE))
+ | BRSETn -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF))
+ | BSETn -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0))
+ | BSR -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1))
+ | CBEQA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2))
+ | CBEQX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3))
+ | CLC -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4))
+ | CLI -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5))
+ | CLR -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6))
+ | CMP -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7))
+ | COM -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8))
+ | CPHX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9))
+ | CPX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA))
+ | DAA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB))
+ | DBNZ -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC))
+ | DEC -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD))
+ | DIV -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE))
+ | EOR -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF))
+ | INC -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0))
+ | JMP -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1))
+ | JSR -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2))
+ | LDA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3))
+ | LDHX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4))
+ | LDX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5))
+ | LSR -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6))
+ | MOV -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7))
+ | MUL -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8))
+ | NEG -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9))
+ | NOP -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA))
+ | NSA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB))
+ | ORA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC))
+ | PSHA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD))
+ | PSHH -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE))
+ | PSHX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF))
+ | PULA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0))
+ | PULH -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1))
+ | PULX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2))
+ | ROL -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3))
+ | ROR -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4))
+ | RSP -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5))
+ | RTI -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6))
+ | RTS -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7))
+ | SBC -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8))
+ | SEC -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9))
+ | SEI -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA))
+ | SHA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB))
+ | SLA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC))
+ | STA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD))
+ | STHX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE))
+ | STOP -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF))
+ | STX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0))
+ | SUB -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1))
+ | SWI -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2))
+ | TAP -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3))
+ | TAX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4))
+ | TPA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5))
+ | TST -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6))
+ | TSX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7))
+ | TXA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8))
+ | TXS -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9))
+ | WAIT -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)))
+)
+;;
+
+let eqop =
+(function m -> (function o -> (function o' -> 
+(match o with 
+   AnyOP(p) -> 
+(match o' with 
+   AnyOP(p') -> (Matita_freescale_byte8.eq_b8 (magic_of_opcode p) (magic_of_opcode p')))
+)
+)))
+;;
+
+let magic_of_instr_mode =
+(function i -> 
+(match i with 
+   MODE_INH -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))
+ | MODE_INHA -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1))
+ | MODE_INHX -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2))
+ | MODE_INHH -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3))
+ | MODE_INHX0ADD -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4))
+ | MODE_INHX1ADD -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5))
+ | MODE_INHX2ADD -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6))
+ | MODE_IMM1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7))
+ | MODE_IMM1EXT -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8))
+ | MODE_IMM2 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9))
+ | MODE_DIR1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA))
+ | MODE_DIR2 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB))
+ | MODE_IX0 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC))
+ | MODE_IX1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD))
+ | MODE_IX2 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE))
+ | MODE_SP1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF))
+ | MODE_SP2 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0))
+ | MODE_DIR1_to_DIR1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1))
+ | MODE_IMM1_to_DIR1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2))
+ | MODE_IX0p_to_DIR1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3))
+ | MODE_DIR1_to_IX0p -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4))
+ | MODE_INHA_and_IMM1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5))
+ | MODE_INHX_and_IMM1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6))
+ | MODE_IMM1_and_IMM1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7))
+ | MODE_DIR1_and_IMM1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8))
+ | MODE_IX0_and_IMM1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9))
+ | MODE_IX0p_and_IMM1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA))
+ | MODE_IX1_and_IMM1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB))
+ | MODE_IX1p_and_IMM1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC))
+ | MODE_SP1_and_IMM1 -> (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD))
+ | MODE_DIRn(o) -> (Matita_freescale_byte8.plus_b8nc (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,(Matita_freescale_aux_bases.exadecim_of_oct o))))
+ | MODE_DIRn_and_IMM1(o) -> (Matita_freescale_byte8.plus_b8nc (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,(Matita_freescale_aux_bases.exadecim_of_oct o))))
+ | MODE_TNY(e) -> (Matita_freescale_byte8.plus_b8nc (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,e)))
+ | MODE_SRT(t) -> (Matita_freescale_byte8.plus_b8nc (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)) (Matita_freescale_aux_bases.byte8_of_bitrigesim t)))
+)
+;;
+
+let eqim =
+(function i -> (function i' -> (Matita_freescale_byte8.eq_b8 (magic_of_instr_mode i) (magic_of_instr_mode i'))))
+;;
+
+let get_byte_count =
+let rec get_byte_count = 
+(function m -> (function b -> (function c -> (function l -> 
+(match l with 
+   Matita_list_list.Nil -> c
+ | Matita_list_list.Cons(hd,tl) -> 
+(match (Matita_freescale_extra.thd4T hd) with 
+   Byte(b') -> 
+(match (Matita_freescale_byte8.eq_b8 b b') with 
+   Matita_datatypes_bool.True -> (get_byte_count m b (Matita_nat_nat.S(c)) tl)
+ | Matita_datatypes_bool.False -> (get_byte_count m b c tl))
+
+ | Word(_) -> (get_byte_count m b c tl))
+)
+)))) in get_byte_count
+;;
+
+let get_word_count =
+let rec get_word_count = 
+(function m -> (function b -> (function c -> (function l -> 
+(match l with 
+   Matita_list_list.Nil -> c
+ | Matita_list_list.Cons(hd,tl) -> 
+(match (Matita_freescale_extra.thd4T hd) with 
+   Byte(_) -> (get_word_count m b c tl)
+ | Word(w) -> 
+(match (Matita_freescale_word16.eq_w16 (Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),b)) w) with 
+   Matita_datatypes_bool.True -> (get_word_count m b (Matita_nat_nat.S(c)) tl)
+ | Matita_datatypes_bool.False -> (get_word_count m b c tl))
+)
+)
+)))) in get_word_count
+;;
+
+let get_pseudo_count =
+let rec get_pseudo_count = 
+(function m -> (function o -> (function c -> (function l -> 
+(match l with 
+   Matita_list_list.Nil -> c
+ | Matita_list_list.Cons(hd,tl) -> 
+(match (Matita_freescale_extra.fst4T hd) with 
+   AnyOP(o') -> 
+(match (eqop m (AnyOP(o)) (AnyOP(o'))) with 
+   Matita_datatypes_bool.True -> (get_pseudo_count m o (Matita_nat_nat.S(c)) tl)
+ | Matita_datatypes_bool.False -> (get_pseudo_count m o c tl))
+)
+)
+)))) in get_pseudo_count
+;;
+
+let get_mode_count =
+let rec get_mode_count = 
+(function m -> (function i -> (function c -> (function l -> 
+(match l with 
+   Matita_list_list.Nil -> c
+ | Matita_list_list.Cons(hd,tl) -> 
+(match (eqim (Matita_freescale_extra.snd4T hd) i) with 
+   Matita_datatypes_bool.True -> (get_mode_count m i (Matita_nat_nat.S(c)) tl)
+ | Matita_datatypes_bool.False -> (get_mode_count m i c tl))
+)
+)))) in get_mode_count
+;;
+
+let test_not_impl_byte =
+let rec test_not_impl_byte = 
+(function b -> (function l -> 
+(match l with 
+   Matita_list_list.Nil -> Matita_datatypes_bool.False
+ | Matita_list_list.Cons(hd,tl) -> 
+(match (Matita_freescale_byte8.eq_b8 b hd) with 
+   Matita_datatypes_bool.True -> Matita_datatypes_bool.True
+ | Matita_datatypes_bool.False -> (test_not_impl_byte b tl))
+)
+)) in test_not_impl_byte
+;;
+
+let test_not_impl_pseudo =
+let rec test_not_impl_pseudo = 
+(function o -> (function l -> 
+(match l with 
+   Matita_list_list.Nil -> Matita_datatypes_bool.False
+ | Matita_list_list.Cons(hd,tl) -> 
+(match (eqop HC05 (AnyOP(o)) (AnyOP(hd))) with 
+   Matita_datatypes_bool.True -> Matita_datatypes_bool.True
+ | Matita_datatypes_bool.False -> (test_not_impl_pseudo o tl))
+)
+)) in test_not_impl_pseudo
+;;
+
+let test_not_impl_mode =
+let rec test_not_impl_mode = 
+(function i -> (function l -> 
+(match l with 
+   Matita_list_list.Nil -> Matita_datatypes_bool.False
+ | Matita_list_list.Cons(hd,tl) -> 
+(match (eqim i hd) with 
+   Matita_datatypes_bool.True -> Matita_datatypes_bool.True
+ | Matita_datatypes_bool.False -> (test_not_impl_mode i tl))
+)
+)) in test_not_impl_mode
+;;
+
+let get_OpIm_count =
+let rec get_OpIm_count = 
+(function m -> (function o -> (function i -> (function c -> (function l -> 
+(match l with 
+   Matita_list_list.Nil -> c
+ | Matita_list_list.Cons(hd,tl) -> 
+(match (Matita_freescale_extra.and_bool (eqop m o (Matita_freescale_extra.fst4T hd)) (eqim i (Matita_freescale_extra.snd4T hd))) with 
+   Matita_datatypes_bool.True -> (get_OpIm_count m o i (Matita_nat_nat.S(c)) tl)
+ | Matita_datatypes_bool.False -> (get_OpIm_count m o i c tl))
+)
+))))) in get_OpIm_count
+;;
+
+let forall_opcode =
+(function p -> (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (p ADC) (p ADD)) (p AIS)) (p AIX)) (p AND)) (p ASL)) (p ASR)) (p BCC)) (p BCLRn)) (p BCS)) (p BEQ)) (p BGE)) (p BGND)) (p BGT)) (p BHCC)) (p BHCS)) (p BHI)) (p BIH)) (p BIL)) (p BIT)) (p BLE)) (p BLS)) (p BLT)) (p BMC)) (p BMI)) (p BMS)) (p BNE)) (p BPL)) (p BRA)) (p BRCLRn)) (p BRN)) (p BRSETn)) (p BSETn)) (p BSR)) (p CBEQA)) (p CBEQX)) (p CLC)) (p CLI)) (p CLR)) (p CMP)) (p COM)) (p CPHX)) (p CPX)) (p DAA)) (p DBNZ)) (p DEC)) (p DIV)) (p EOR)) (p INC)) (p JMP)) (p JSR)) (p LDA)) (p LDHX)) (p LDX)) (p LSR)) (p MOV)) (p MUL)) (p NEG)) (p NOP)) (p NSA)) (p ORA)) (p PSHA)) (p PSHH)) (p PSHX)) (p PULA)) (p PULH)) (p PULX)) (p ROL)) (p ROR)) (p RSP)) (p RTI)) (p RTS)) (p SBC)) (p SEC)) (p SEI)) (p SHA)) (p SLA)) (p STA)) (p STHX)) (p STOP)) (p STX)) (p SUB)) (p SWI)) (p TAP)) (p TAX)) (p TPA)) (p TST)) (p TSX)) (p TXA)) (p TXS)) (p WAIT)))
+;;
+
+let forall_instr_mode =
+(function p -> (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (p MODE_INH) (p MODE_INHA)) (p MODE_INHX)) (p MODE_INHH)) (p MODE_INHX0ADD)) (p MODE_INHX1ADD)) (p MODE_INHX2ADD)) (p MODE_IMM1)) (p MODE_IMM1EXT)) (p MODE_IMM2)) (p MODE_DIR1)) (p MODE_DIR2)) (p MODE_IX0)) (p MODE_IX1)) (p MODE_IX2)) (p MODE_SP1)) (p MODE_SP2)) (p MODE_DIR1_to_DIR1)) (p MODE_IMM1_to_DIR1)) (p MODE_IX0p_to_DIR1)) (p MODE_DIR1_to_IX0p)) (p MODE_INHA_and_IMM1)) (p MODE_INHX_and_IMM1)) (p MODE_IMM1_and_IMM1)) (p MODE_DIR1_and_IMM1)) (p MODE_IX0_and_IMM1)) (p MODE_IX0p_and_IMM1)) (p MODE_IX1_and_IMM1)) (p MODE_IX1p_and_IMM1)) (p MODE_SP1_and_IMM1)) (Matita_freescale_aux_bases.forall_oct (function o -> (p (MODE_DIRn(o)))))) (Matita_freescale_aux_bases.forall_oct (function o -> (p (MODE_DIRn_and_IMM1(o)))))) (Matita_freescale_exadecim.forall_exadecim (function e -> (p (MODE_TNY(e)))))) (Matita_freescale_aux_bases.forall_bitrigesim (function t -> (p (MODE_SRT(t)))))))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_status.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_status.ml
new file mode 100644 (file)
index 0000000..728d3ab
--- /dev/null
@@ -0,0 +1,1097 @@
+type alu_HC05 =
+Mk_alu_HC05 of Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8 * Matita_freescale_word16.word16 * Matita_freescale_word16.word16 * Matita_freescale_word16.word16 * Matita_freescale_word16.word16 * Matita_freescale_word16.word16 * Matita_datatypes_bool.bool * Matita_datatypes_bool.bool * Matita_datatypes_bool.bool * Matita_datatypes_bool.bool * Matita_datatypes_bool.bool * Matita_datatypes_bool.bool
+;;
+
+let alu_HC05_rec =
+(function f -> (function a -> 
+(match a with 
+   Mk_alu_HC05(b,b1,w,w1,w2,w3,w4,b2,b3,b4,b5,b6,b7) -> (f b b1 w w1 w2 w3 w4 b2 b3 b4 b5 b6 b7))
+))
+;;
+
+let alu_HC05_rect =
+(function f -> (function a -> 
+(match a with 
+   Mk_alu_HC05(b,b1,w,w1,w2,w3,w4,b2,b3,b4,b5,b6,b7) -> (f b b1 w w1 w2 w3 w4 b2 b3 b4 b5 b6 b7))
+))
+;;
+
+let acc_low_reg_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> acc_low_reg_HC05)
+)
+;;
+
+let indX_low_reg_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> indX_low_reg_HC05)
+)
+;;
+
+let sp_reg_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> sp_reg_HC05)
+)
+;;
+
+let sp_mask_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> sp_mask_HC05)
+)
+;;
+
+let sp_fix_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> sp_fix_HC05)
+)
+;;
+
+let pc_reg_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> pc_reg_HC05)
+)
+;;
+
+let pc_mask_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> pc_mask_HC05)
+)
+;;
+
+let h_flag_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> h_flag_HC05)
+)
+;;
+
+let i_flag_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> i_flag_HC05)
+)
+;;
+
+let n_flag_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> n_flag_HC05)
+)
+;;
+
+let z_flag_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> z_flag_HC05)
+)
+;;
+
+let c_flag_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> c_flag_HC05)
+)
+;;
+
+let irq_flag_HC05 =
+(function w -> 
+(match w with 
+   Mk_alu_HC05(acc_low_reg_HC05,indX_low_reg_HC05,sp_reg_HC05,sp_mask_HC05,sp_fix_HC05,pc_reg_HC05,pc_mask_HC05,h_flag_HC05,i_flag_HC05,n_flag_HC05,z_flag_HC05,c_flag_HC05,irq_flag_HC05) -> irq_flag_HC05)
+)
+;;
+
+type alu_HC08 =
+Mk_alu_HC08 of Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8 * Matita_freescale_word16.word16 * Matita_freescale_word16.word16 * Matita_datatypes_bool.bool * Matita_datatypes_bool.bool * Matita_datatypes_bool.bool * Matita_datatypes_bool.bool * Matita_datatypes_bool.bool * Matita_datatypes_bool.bool * Matita_datatypes_bool.bool
+;;
+
+let alu_HC08_rec =
+(function f -> (function a -> 
+(match a with 
+   Mk_alu_HC08(b,b1,b2,w,w1,b3,b4,b5,b6,b7,b8,b9) -> (f b b1 b2 w w1 b3 b4 b5 b6 b7 b8 b9))
+))
+;;
+
+let alu_HC08_rect =
+(function f -> (function a -> 
+(match a with 
+   Mk_alu_HC08(b,b1,b2,w,w1,b3,b4,b5,b6,b7,b8,b9) -> (f b b1 b2 w w1 b3 b4 b5 b6 b7 b8 b9))
+))
+;;
+
+let acc_low_reg_HC08 =
+(function w -> 
+(match w with 
+   Mk_alu_HC08(acc_low_reg_HC08,indX_low_reg_HC08,indX_high_reg_HC08,sp_reg_HC08,pc_reg_HC08,v_flag_HC08,h_flag_HC08,i_flag_HC08,n_flag_HC08,z_flag_HC08,c_flag_HC08,irq_flag_HC08) -> acc_low_reg_HC08)
+)
+;;
+
+let indX_low_reg_HC08 =
+(function w -> 
+(match w with 
+   Mk_alu_HC08(acc_low_reg_HC08,indX_low_reg_HC08,indX_high_reg_HC08,sp_reg_HC08,pc_reg_HC08,v_flag_HC08,h_flag_HC08,i_flag_HC08,n_flag_HC08,z_flag_HC08,c_flag_HC08,irq_flag_HC08) -> indX_low_reg_HC08)
+)
+;;
+
+let indX_high_reg_HC08 =
+(function w -> 
+(match w with 
+   Mk_alu_HC08(acc_low_reg_HC08,indX_low_reg_HC08,indX_high_reg_HC08,sp_reg_HC08,pc_reg_HC08,v_flag_HC08,h_flag_HC08,i_flag_HC08,n_flag_HC08,z_flag_HC08,c_flag_HC08,irq_flag_HC08) -> indX_high_reg_HC08)
+)
+;;
+
+let sp_reg_HC08 =
+(function w -> 
+(match w with 
+   Mk_alu_HC08(acc_low_reg_HC08,indX_low_reg_HC08,indX_high_reg_HC08,sp_reg_HC08,pc_reg_HC08,v_flag_HC08,h_flag_HC08,i_flag_HC08,n_flag_HC08,z_flag_HC08,c_flag_HC08,irq_flag_HC08) -> sp_reg_HC08)
+)
+;;
+
+let pc_reg_HC08 =
+(function w -> 
+(match w with 
+   Mk_alu_HC08(acc_low_reg_HC08,indX_low_reg_HC08,indX_high_reg_HC08,sp_reg_HC08,pc_reg_HC08,v_flag_HC08,h_flag_HC08,i_flag_HC08,n_flag_HC08,z_flag_HC08,c_flag_HC08,irq_flag_HC08) -> pc_reg_HC08)
+)
+;;
+
+let v_flag_HC08 =
+(function w -> 
+(match w with 
+   Mk_alu_HC08(acc_low_reg_HC08,indX_low_reg_HC08,indX_high_reg_HC08,sp_reg_HC08,pc_reg_HC08,v_flag_HC08,h_flag_HC08,i_flag_HC08,n_flag_HC08,z_flag_HC08,c_flag_HC08,irq_flag_HC08) -> v_flag_HC08)
+)
+;;
+
+let h_flag_HC08 =
+(function w -> 
+(match w with 
+   Mk_alu_HC08(acc_low_reg_HC08,indX_low_reg_HC08,indX_high_reg_HC08,sp_reg_HC08,pc_reg_HC08,v_flag_HC08,h_flag_HC08,i_flag_HC08,n_flag_HC08,z_flag_HC08,c_flag_HC08,irq_flag_HC08) -> h_flag_HC08)
+)
+;;
+
+let i_flag_HC08 =
+(function w -> 
+(match w with 
+   Mk_alu_HC08(acc_low_reg_HC08,indX_low_reg_HC08,indX_high_reg_HC08,sp_reg_HC08,pc_reg_HC08,v_flag_HC08,h_flag_HC08,i_flag_HC08,n_flag_HC08,z_flag_HC08,c_flag_HC08,irq_flag_HC08) -> i_flag_HC08)
+)
+;;
+
+let n_flag_HC08 =
+(function w -> 
+(match w with 
+   Mk_alu_HC08(acc_low_reg_HC08,indX_low_reg_HC08,indX_high_reg_HC08,sp_reg_HC08,pc_reg_HC08,v_flag_HC08,h_flag_HC08,i_flag_HC08,n_flag_HC08,z_flag_HC08,c_flag_HC08,irq_flag_HC08) -> n_flag_HC08)
+)
+;;
+
+let z_flag_HC08 =
+(function w -> 
+(match w with 
+   Mk_alu_HC08(acc_low_reg_HC08,indX_low_reg_HC08,indX_high_reg_HC08,sp_reg_HC08,pc_reg_HC08,v_flag_HC08,h_flag_HC08,i_flag_HC08,n_flag_HC08,z_flag_HC08,c_flag_HC08,irq_flag_HC08) -> z_flag_HC08)
+)
+;;
+
+let c_flag_HC08 =
+(function w -> 
+(match w with 
+   Mk_alu_HC08(acc_low_reg_HC08,indX_low_reg_HC08,indX_high_reg_HC08,sp_reg_HC08,pc_reg_HC08,v_flag_HC08,h_flag_HC08,i_flag_HC08,n_flag_HC08,z_flag_HC08,c_flag_HC08,irq_flag_HC08) -> c_flag_HC08)
+)
+;;
+
+let irq_flag_HC08 =
+(function w -> 
+(match w with 
+   Mk_alu_HC08(acc_low_reg_HC08,indX_low_reg_HC08,indX_high_reg_HC08,sp_reg_HC08,pc_reg_HC08,v_flag_HC08,h_flag_HC08,i_flag_HC08,n_flag_HC08,z_flag_HC08,c_flag_HC08,irq_flag_HC08) -> irq_flag_HC08)
+)
+;;
+
+type alu_RS08 =
+Mk_alu_RS08 of Matita_freescale_byte8.byte8 * Matita_freescale_word16.word16 * Matita_freescale_word16.word16 * Matita_freescale_word16.word16 * Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8 * Matita_datatypes_bool.bool * Matita_datatypes_bool.bool
+;;
+
+let alu_RS08_rec =
+(function f -> (function a -> 
+(match a with 
+   Mk_alu_RS08(b,w,w1,w2,b1,b2,b3,b4) -> (f b w w1 w2 b1 b2 b3 b4))
+))
+;;
+
+let alu_RS08_rect =
+(function f -> (function a -> 
+(match a with 
+   Mk_alu_RS08(b,w,w1,w2,b1,b2,b3,b4) -> (f b w w1 w2 b1 b2 b3 b4))
+))
+;;
+
+let acc_low_reg_RS08 =
+(function w -> 
+(match w with 
+   Mk_alu_RS08(acc_low_reg_RS08,pc_reg_RS08,pc_mask_RS08,spc_reg_RS08,x_map_RS08,ps_map_RS08,z_flag_RS08,c_flag_RS08) -> acc_low_reg_RS08)
+)
+;;
+
+let pc_reg_RS08 =
+(function w -> 
+(match w with 
+   Mk_alu_RS08(acc_low_reg_RS08,pc_reg_RS08,pc_mask_RS08,spc_reg_RS08,x_map_RS08,ps_map_RS08,z_flag_RS08,c_flag_RS08) -> pc_reg_RS08)
+)
+;;
+
+let pc_mask_RS08 =
+(function w -> 
+(match w with 
+   Mk_alu_RS08(acc_low_reg_RS08,pc_reg_RS08,pc_mask_RS08,spc_reg_RS08,x_map_RS08,ps_map_RS08,z_flag_RS08,c_flag_RS08) -> pc_mask_RS08)
+)
+;;
+
+let spc_reg_RS08 =
+(function w -> 
+(match w with 
+   Mk_alu_RS08(acc_low_reg_RS08,pc_reg_RS08,pc_mask_RS08,spc_reg_RS08,x_map_RS08,ps_map_RS08,z_flag_RS08,c_flag_RS08) -> spc_reg_RS08)
+)
+;;
+
+let x_map_RS08 =
+(function w -> 
+(match w with 
+   Mk_alu_RS08(acc_low_reg_RS08,pc_reg_RS08,pc_mask_RS08,spc_reg_RS08,x_map_RS08,ps_map_RS08,z_flag_RS08,c_flag_RS08) -> x_map_RS08)
+)
+;;
+
+let ps_map_RS08 =
+(function w -> 
+(match w with 
+   Mk_alu_RS08(acc_low_reg_RS08,pc_reg_RS08,pc_mask_RS08,spc_reg_RS08,x_map_RS08,ps_map_RS08,z_flag_RS08,c_flag_RS08) -> ps_map_RS08)
+)
+;;
+
+let z_flag_RS08 =
+(function w -> 
+(match w with 
+   Mk_alu_RS08(acc_low_reg_RS08,pc_reg_RS08,pc_mask_RS08,spc_reg_RS08,x_map_RS08,ps_map_RS08,z_flag_RS08,c_flag_RS08) -> z_flag_RS08)
+)
+;;
+
+let c_flag_RS08 =
+(function w -> 
+(match w with 
+   Mk_alu_RS08(acc_low_reg_RS08,pc_reg_RS08,pc_mask_RS08,spc_reg_RS08,x_map_RS08,ps_map_RS08,z_flag_RS08,c_flag_RS08) -> c_flag_RS08)
+)
+;;
+
+type any_status =
+Mk_any_status of unit (* TOO POLYMORPHIC TYPE *) * Matita_freescale_memory_abs.aux_mem_type * Matita_freescale_memory_abs.aux_chk_type * ((Matita_freescale_byte8.byte8,Matita_freescale_opcode.any_opcode,Matita_freescale_opcode.instr_mode,Matita_freescale_byte8.byte8,Matita_freescale_word16.word16) Matita_freescale_extra.prod5T) Matita_datatypes_constructors.option
+;;
+
+let any_status_rec =
+(function m -> (function m1 -> (function f -> (function a -> 
+(match a with 
+   Mk_any_status(x,a1,a2,o) -> (f x a1 a2 o))
+))))
+;;
+
+let any_status_rect =
+(function m -> (function m1 -> (function f -> (function a -> 
+(match a with 
+   Mk_any_status(x,a1,a2,o) -> (f x a1 a2 o))
+))))
+;;
+
+let alu =
+(function mcu -> (function t -> (function w -> 
+(match w with 
+   Mk_any_status(alu,mem_desc,chk_desc,clk_desc) -> alu)
+)))
+;;
+
+let mem_desc =
+(function mcu -> (function t -> (function w -> 
+(match w with 
+   Mk_any_status(alu,mem_desc,chk_desc,clk_desc) -> mem_desc)
+)))
+;;
+
+let chk_desc =
+(function mcu -> (function t -> (function w -> 
+(match w with 
+   Mk_any_status(alu,mem_desc,chk_desc,clk_desc) -> chk_desc)
+)))
+;;
+
+let clk_desc =
+(function mcu -> (function t -> (function w -> 
+(match w with 
+   Mk_any_status(alu,mem_desc,chk_desc,clk_desc) -> clk_desc)
+)))
+;;
+
+type ('x) aux_get_typing = (unit (* TOO POLYMORPHIC TYPE *) -> 'x)
+;;
+
+let get_acc_8_low_reg =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic (acc_low_reg_HC05)
+ | Matita_freescale_opcode.HC08 -> Obj.magic (acc_low_reg_HC08)
+ | Matita_freescale_opcode.HCS08 -> Obj.magic (acc_low_reg_HC08)
+ | Matita_freescale_opcode.RS08 -> Obj.magic (acc_low_reg_RS08))
+ (alu m t s)))))
+;;
+
+let get_indX_8_low_reg =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((indX_low_reg_HC05 alu)))))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((indX_low_reg_HC08 alu)))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((indX_low_reg_HC08 alu)))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None))))
+ (alu m t s)))))
+;;
+
+let get_indX_8_high_reg =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None)))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((indX_high_reg_HC08 alu)))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((indX_high_reg_HC08 alu)))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None))))
+ (alu m t s)))))
+;;
+
+let get_indX_16_reg =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None)))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((Matita_freescale_word16.Mk_word16((indX_high_reg_HC08 alu),(indX_low_reg_HC08 alu)))))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((Matita_freescale_word16.Mk_word16((indX_high_reg_HC08 alu),(indX_low_reg_HC08 alu)))))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None))))
+ (alu m t s)))))
+;;
+
+let get_sp_reg =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((sp_reg_HC05 alu)))))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((sp_reg_HC08 alu)))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((sp_reg_HC08 alu)))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None))))
+ (alu m t s)))))
+;;
+
+let get_pc_reg =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic (pc_reg_HC05)
+ | Matita_freescale_opcode.HC08 -> Obj.magic (pc_reg_HC08)
+ | Matita_freescale_opcode.HCS08 -> Obj.magic (pc_reg_HC08)
+ | Matita_freescale_opcode.RS08 -> Obj.magic (pc_reg_RS08))
+ (alu m t s)))))
+;;
+
+let get_spc_reg =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None)))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None)))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None)))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((spc_reg_RS08 alu))))))
+ (alu m t s)))))
+;;
+
+let get_x_map =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None)))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None)))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None)))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((x_map_RS08 alu))))))
+ (alu m t s)))))
+;;
+
+let get_ps_map =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None)))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None)))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None)))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((ps_map_RS08 alu))))))
+ (alu m t s)))))
+;;
+
+let get_v_flag =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None)))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((v_flag_HC08 alu)))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((v_flag_HC08 alu)))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None))))
+ (alu m t s)))))
+;;
+
+let get_h_flag =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((h_flag_HC05 alu)))))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((h_flag_HC08 alu)))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((h_flag_HC08 alu)))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None))))
+ (alu m t s)))))
+;;
+
+let get_i_flag =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((i_flag_HC05 alu)))))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((i_flag_HC08 alu)))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((i_flag_HC08 alu)))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None))))
+ (alu m t s)))))
+;;
+
+let get_n_flag =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((n_flag_HC05 alu)))))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((n_flag_HC08 alu)))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((n_flag_HC08 alu)))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None))))
+ (alu m t s)))))
+;;
+
+let get_z_flag =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic (z_flag_HC05)
+ | Matita_freescale_opcode.HC08 -> Obj.magic (z_flag_HC08)
+ | Matita_freescale_opcode.HCS08 -> Obj.magic (z_flag_HC08)
+ | Matita_freescale_opcode.RS08 -> Obj.magic (z_flag_RS08))
+ (alu m t s)))))
+;;
+
+let get_c_flag =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic (c_flag_HC05)
+ | Matita_freescale_opcode.HC08 -> Obj.magic (c_flag_HC08)
+ | Matita_freescale_opcode.HCS08 -> Obj.magic (c_flag_HC08)
+ | Matita_freescale_opcode.RS08 -> Obj.magic (c_flag_RS08))
+ (alu m t s)))))
+;;
+
+let get_irq_flag =
+(function m -> (function t -> (function s -> (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((irq_flag_HC05 alu)))))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((irq_flag_HC08 alu)))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.Some((irq_flag_HC08 alu)))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function alu -> (Matita_datatypes_constructors.None))))
+ (alu m t s)))))
+;;
+
+let get_alu =
+(function m -> (function t -> (function s -> (alu m t s))))
+;;
+
+let get_mem_desc =
+(function m -> (function t -> (function s -> (mem_desc m t s))))
+;;
+
+let get_chk_desc =
+(function m -> (function t -> (function s -> (chk_desc m t s))))
+;;
+
+let get_clk_desc =
+(function m -> (function t -> (function s -> (clk_desc m t s))))
+;;
+
+type ('x) aux_set_typing = (unit (* TOO POLYMORPHIC TYPE *) -> ('x -> unit (* TOO POLYMORPHIC TYPE *)))
+;;
+
+type ('x) aux_set_typing_opt = ((unit (* TOO POLYMORPHIC TYPE *) -> ('x -> unit (* TOO POLYMORPHIC TYPE *)))) Matita_datatypes_constructors.option
+;;
+
+let set_alu =
+(function m -> (function t -> (function s -> (function alu' -> 
+(match s with 
+   Mk_any_status(_,mem,chk,clk) -> (Mk_any_status(alu',mem,chk,clk)))
+))))
+;;
+
+let set_mem_desc =
+(function m -> (function t -> (function s -> (function mem' -> 
+(match s with 
+   Mk_any_status(alu,_,chk,clk) -> (Mk_any_status(alu,mem',chk,clk)))
+))))
+;;
+
+let set_chk_desc =
+(function m -> (function t -> (function s -> (function chk' -> 
+(match s with 
+   Mk_any_status(alu,mem,_,clk) -> (Mk_any_status(alu,mem,chk',clk)))
+))))
+;;
+
+let set_clk_desc =
+(function m -> (function t -> (function s -> (function clk' -> 
+(match s with 
+   Mk_any_status(alu,mem,chk,_) -> (Mk_any_status(alu,mem,chk,clk')))
+))))
+;;
+
+let set_acc_8_low_reg_HC05 =
+(function alu -> (function acclow' -> 
+(match alu with 
+   Mk_alu_HC05(_,indxlow,sp,spm,spf,pc,pcm,hfl,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC05(acclow',indxlow,sp,spm,spf,pc,pcm,hfl,ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_acc_8_low_reg_HC08 =
+(function alu -> (function acclow' -> 
+(match alu with 
+   Mk_alu_HC08(_,indxlow,indxhigh,sp,pc,vfl,hfl,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC08(acclow',indxlow,indxhigh,sp,pc,vfl,hfl,ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_acc_8_low_reg_RS08 =
+(function alu -> (function acclow' -> 
+(match alu with 
+   Mk_alu_RS08(_,pc,pcm,spc,xm,psm,zfl,cfl) -> (Mk_alu_RS08(acclow',pc,pcm,spc,xm,psm,zfl,cfl)))
+))
+;;
+
+let set_acc_8_low_reg =
+(function m -> (function t -> (function s -> (function acclow' -> (set_alu m t s (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic (set_acc_8_low_reg_HC05)
+ | Matita_freescale_opcode.HC08 -> Obj.magic (set_acc_8_low_reg_HC08)
+ | Matita_freescale_opcode.HCS08 -> Obj.magic (set_acc_8_low_reg_HC08)
+ | Matita_freescale_opcode.RS08 -> Obj.magic (set_acc_8_low_reg_RS08))
+ (alu m t s) acclow'))))))
+;;
+
+let set_indX_8_low_reg_HC05 =
+(function alu -> (function indxlow' -> 
+(match alu with 
+   Mk_alu_HC05(acclow,_,sp,spm,spf,pc,pcm,hfl,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC05(acclow,indxlow',sp,spm,spf,pc,pcm,hfl,ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_indX_8_low_reg_HC08 =
+(function alu -> (function indxlow' -> 
+(match alu with 
+   Mk_alu_HC08(acclow,_,indxhigh,sp,pc,vfl,hfl,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC08(acclow,indxlow',indxhigh,sp,pc,vfl,hfl,ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_indX_8_low_reg =
+(function m -> (function t -> (function s -> (function indxlow' -> (Matita_freescale_extra.opt_map 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((Matita_datatypes_constructors.Some(set_indX_8_low_reg_HC05)))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_indX_8_low_reg_HC08)))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_indX_8_low_reg_HC08)))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((Matita_datatypes_constructors.None)))
+ (function f -> (Matita_datatypes_constructors.Some((set_alu m t s (f (alu m t s) indxlow'))))))))))
+;;
+
+let setweak_indX_8_low_reg =
+(function m -> (function t -> (function s -> (function indxlow' -> 
+(match (set_indX_8_low_reg m t s indxlow') with 
+   Matita_datatypes_constructors.None -> s
+ | Matita_datatypes_constructors.Some(s') -> s')
+))))
+;;
+
+let set_indX_8_high_reg_HC08 =
+(function alu -> (function indxhigh' -> 
+(match alu with 
+   Mk_alu_HC08(acclow,indxlow,_,sp,pc,vfl,hfl,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC08(acclow,indxlow,indxhigh',sp,pc,vfl,hfl,ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_indX_8_high_reg =
+(function m -> (function t -> (function s -> (function indxhigh' -> (Matita_freescale_extra.opt_map 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((Matita_datatypes_constructors.None))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_indX_8_high_reg_HC08)))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_indX_8_high_reg_HC08)))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((Matita_datatypes_constructors.None)))
+ (function f -> (Matita_datatypes_constructors.Some((set_alu m t s (f (alu m t s) indxhigh'))))))))))
+;;
+
+let setweak_indX_8_high_reg =
+(function m -> (function t -> (function s -> (function indxhigh' -> 
+(match (set_indX_8_high_reg m t s indxhigh') with 
+   Matita_datatypes_constructors.None -> s
+ | Matita_datatypes_constructors.Some(s') -> s')
+))))
+;;
+
+let set_indX_16_reg_HC08 =
+(function alu -> (function indx16 -> 
+(match alu with 
+   Mk_alu_HC08(acclow,_,_,sp,pc,vfl,hfl,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC08(acclow,(Matita_freescale_word16.w16l indx16),(Matita_freescale_word16.w16h indx16),sp,pc,vfl,hfl,ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_indX_16_reg =
+(function m -> (function t -> (function s -> (function indx16 -> (Matita_freescale_extra.opt_map 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((Matita_datatypes_constructors.None))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_indX_16_reg_HC08)))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_indX_16_reg_HC08)))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((Matita_datatypes_constructors.None)))
+ (function f -> (Matita_datatypes_constructors.Some((set_alu m t s (f (alu m t s) indx16))))))))))
+;;
+
+let setweak_indX_16_reg =
+(function m -> (function t -> (function s -> (function indx16 -> 
+(match (set_indX_16_reg m t s indx16) with 
+   Matita_datatypes_constructors.None -> s
+ | Matita_datatypes_constructors.Some(s') -> s')
+))))
+;;
+
+let set_sp_reg_HC05 =
+(function alu -> (function sp' -> 
+(match alu with 
+   Mk_alu_HC05(acclow,indxlow,_,spm,spf,pc,pcm,hfl,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC05(acclow,indxlow,(Matita_freescale_word16.or_w16 (Matita_freescale_word16.and_w16 sp' spm) spf),spm,spf,pc,pcm,hfl,ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_sp_reg_HC08 =
+(function alu -> (function sp' -> 
+(match alu with 
+   Mk_alu_HC08(acclow,indxlow,indxhigh,_,pc,vfl,hfl,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC08(acclow,indxlow,indxhigh,sp',pc,vfl,hfl,ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_sp_reg =
+(function m -> (function t -> (function s -> (function sp' -> (Matita_freescale_extra.opt_map 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((Matita_datatypes_constructors.Some(set_sp_reg_HC05)))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_sp_reg_HC08)))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_sp_reg_HC08)))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((Matita_datatypes_constructors.None)))
+ (function f -> (Matita_datatypes_constructors.Some((set_alu m t s (f (alu m t s) sp'))))))))))
+;;
+
+let setweak_sp_reg =
+(function m -> (function t -> (function s -> (function sp' -> 
+(match (set_sp_reg m t s sp') with 
+   Matita_datatypes_constructors.None -> s
+ | Matita_datatypes_constructors.Some(s') -> s')
+))))
+;;
+
+let set_pc_reg_HC05 =
+(function alu -> (function pc' -> 
+(match alu with 
+   Mk_alu_HC05(acclow,indxlow,sp,spm,spf,_,pcm,hfl,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC05(acclow,indxlow,sp,spm,spf,(Matita_freescale_word16.and_w16 pc' pcm),pcm,hfl,ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_pc_reg_HC08 =
+(function alu -> (function pc' -> 
+(match alu with 
+   Mk_alu_HC08(acclow,indxlow,indxhigh,sp,_,vfl,hfl,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc',vfl,hfl,ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_pc_reg_RS08 =
+(function alu -> (function pc' -> 
+(match alu with 
+   Mk_alu_RS08(acclow,_,pcm,spc,xm,psm,zfl,cfl) -> (Mk_alu_RS08(acclow,(Matita_freescale_word16.and_w16 pc' pcm),pcm,spc,xm,psm,zfl,cfl)))
+))
+;;
+
+let set_pc_reg =
+(function m -> (function t -> (function s -> (function pc' -> (set_alu m t s (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic (set_pc_reg_HC05)
+ | Matita_freescale_opcode.HC08 -> Obj.magic (set_pc_reg_HC08)
+ | Matita_freescale_opcode.HCS08 -> Obj.magic (set_pc_reg_HC08)
+ | Matita_freescale_opcode.RS08 -> Obj.magic (set_pc_reg_RS08))
+ (alu m t s) pc'))))))
+;;
+
+let set_spc_reg_RS08 =
+(function alu -> (function spc' -> 
+(match alu with 
+   Mk_alu_RS08(acclow,pc,pcm,_,xm,psm,zfl,cfl) -> (Mk_alu_RS08(acclow,pc,pcm,(Matita_freescale_word16.and_w16 spc' pcm),xm,psm,zfl,cfl)))
+))
+;;
+
+let set_spc_reg =
+(function m -> (function t -> (function s -> (function spc' -> (Matita_freescale_extra.opt_map 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((Matita_datatypes_constructors.None))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((Matita_datatypes_constructors.None))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((Matita_datatypes_constructors.None))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_spc_reg_RS08))))
+ (function f -> (Matita_datatypes_constructors.Some((set_alu m t s (f (alu m t s) spc'))))))))))
+;;
+
+let setweak_spc_reg =
+(function m -> (function t -> (function s -> (function spc' -> 
+(match (set_spc_reg m t s spc') with 
+   Matita_datatypes_constructors.None -> s
+ | Matita_datatypes_constructors.Some(s') -> s')
+))))
+;;
+
+let set_x_map_RS08 =
+(function alu -> (function xm' -> 
+(match alu with 
+   Mk_alu_RS08(acclow,pc,pcm,spc,_,psm,zfl,cfl) -> (Mk_alu_RS08(acclow,pc,pcm,spc,xm',psm,zfl,cfl)))
+))
+;;
+
+let set_x_map =
+(function m -> (function t -> (function s -> (function xm' -> (Matita_freescale_extra.opt_map 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((Matita_datatypes_constructors.None))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((Matita_datatypes_constructors.None))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((Matita_datatypes_constructors.None))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_x_map_RS08))))
+ (function f -> (Matita_datatypes_constructors.Some((set_alu m t s (f (alu m t s) xm'))))))))))
+;;
+
+let setweak_x_map =
+(function m -> (function t -> (function s -> (function xm' -> 
+(match (set_x_map m t s xm') with 
+   Matita_datatypes_constructors.None -> s
+ | Matita_datatypes_constructors.Some(s') -> s')
+))))
+;;
+
+let set_ps_map_RS08 =
+(function alu -> (function psm' -> 
+(match alu with 
+   Mk_alu_RS08(acclow,pc,pcm,spc,xm,_,zfl,cfl) -> (Mk_alu_RS08(acclow,pc,pcm,spc,xm,psm',zfl,cfl)))
+))
+;;
+
+let set_ps_map =
+(function m -> (function t -> (function s -> (function psm' -> (Matita_freescale_extra.opt_map 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((Matita_datatypes_constructors.None))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((Matita_datatypes_constructors.None))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((Matita_datatypes_constructors.None))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_ps_map_RS08))))
+ (function f -> (Matita_datatypes_constructors.Some((set_alu m t s (f (alu m t s) psm'))))))))))
+;;
+
+let setweak_ps_map =
+(function m -> (function t -> (function s -> (function psm' -> 
+(match (set_ps_map m t s psm') with 
+   Matita_datatypes_constructors.None -> s
+ | Matita_datatypes_constructors.Some(s') -> s')
+))))
+;;
+
+let set_v_flag_HC08 =
+(function alu -> (function vfl' -> 
+(match alu with 
+   Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,_,hfl,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl',hfl,ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_v_flag =
+(function m -> (function t -> (function s -> (function vfl' -> (Matita_freescale_extra.opt_map 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((Matita_datatypes_constructors.None))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_v_flag_HC08)))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_v_flag_HC08)))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((Matita_datatypes_constructors.None)))
+ (function f -> (Matita_datatypes_constructors.Some((set_alu m t s (f (alu m t s) vfl'))))))))))
+;;
+
+let setweak_v_flag =
+(function m -> (function t -> (function s -> (function vfl' -> 
+(match (set_v_flag m t s vfl') with 
+   Matita_datatypes_constructors.None -> s
+ | Matita_datatypes_constructors.Some(s') -> s')
+))))
+;;
+
+let set_h_flag_HC05 =
+(function alu -> (function hfl' -> 
+(match alu with 
+   Mk_alu_HC05(acclow,indxlow,sp,spm,spf,pc,pcm,_,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC05(acclow,indxlow,sp,spm,spf,pc,pcm,hfl',ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_h_flag_HC08 =
+(function alu -> (function hfl' -> 
+(match alu with 
+   Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl,_,ifl,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl,hfl',ifl,nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_h_flag =
+(function m -> (function t -> (function s -> (function hfl' -> (Matita_freescale_extra.opt_map 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((Matita_datatypes_constructors.Some(set_h_flag_HC05)))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_h_flag_HC08)))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_h_flag_HC08)))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((Matita_datatypes_constructors.None)))
+ (function f -> (Matita_datatypes_constructors.Some((set_alu m t s (f (alu m t s) hfl'))))))))))
+;;
+
+let setweak_h_flag =
+(function m -> (function t -> (function s -> (function hfl' -> 
+(match (set_h_flag m t s hfl') with 
+   Matita_datatypes_constructors.None -> s
+ | Matita_datatypes_constructors.Some(s') -> s')
+))))
+;;
+
+let set_i_flag_HC05 =
+(function alu -> (function ifl' -> 
+(match alu with 
+   Mk_alu_HC05(acclow,indxlow,sp,spm,spf,pc,pcm,hfl,_,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC05(acclow,indxlow,sp,spm,spf,pc,pcm,hfl,ifl',nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_i_flag_HC08 =
+(function alu -> (function ifl' -> 
+(match alu with 
+   Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl,hfl,_,nfl,zfl,cfl,irqfl) -> (Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl,hfl,ifl',nfl,zfl,cfl,irqfl)))
+))
+;;
+
+let set_i_flag =
+(function m -> (function t -> (function s -> (function ifl' -> (Matita_freescale_extra.opt_map 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((Matita_datatypes_constructors.Some(set_i_flag_HC05)))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_i_flag_HC08)))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_i_flag_HC08)))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((Matita_datatypes_constructors.None)))
+ (function f -> (Matita_datatypes_constructors.Some((set_alu m t s (f (alu m t s) ifl'))))))))))
+;;
+
+let setweak_i_flag =
+(function m -> (function t -> (function s -> (function ifl' -> 
+(match (set_i_flag m t s ifl') with 
+   Matita_datatypes_constructors.None -> s
+ | Matita_datatypes_constructors.Some(s') -> s')
+))))
+;;
+
+let set_n_flag_HC05 =
+(function alu -> (function nfl' -> 
+(match alu with 
+   Mk_alu_HC05(acclow,indxlow,sp,spm,spf,pc,pcm,hfl,ifl,_,zfl,cfl,irqfl) -> (Mk_alu_HC05(acclow,indxlow,sp,spm,spf,pc,pcm,hfl,ifl,nfl',zfl,cfl,irqfl)))
+))
+;;
+
+let set_n_flag_HC08 =
+(function alu -> (function nfl' -> 
+(match alu with 
+   Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl,hfl,ifl,_,zfl,cfl,irqfl) -> (Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl,hfl,ifl,nfl',zfl,cfl,irqfl)))
+))
+;;
+
+let set_n_flag =
+(function m -> (function t -> (function s -> (function nfl' -> (Matita_freescale_extra.opt_map 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((Matita_datatypes_constructors.Some(set_n_flag_HC05)))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_n_flag_HC08)))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_n_flag_HC08)))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((Matita_datatypes_constructors.None)))
+ (function f -> (Matita_datatypes_constructors.Some((set_alu m t s (f (alu m t s) nfl'))))))))))
+;;
+
+let setweak_n_flag =
+(function m -> (function t -> (function s -> (function nfl' -> 
+(match (set_n_flag m t s nfl') with 
+   Matita_datatypes_constructors.None -> s
+ | Matita_datatypes_constructors.Some(s') -> s')
+))))
+;;
+
+let set_z_flag_HC05 =
+(function alu -> (function zfl' -> 
+(match alu with 
+   Mk_alu_HC05(acclow,indxlow,sp,spm,spf,pc,pcm,hfl,ifl,nfl,_,cfl,irqfl) -> (Mk_alu_HC05(acclow,indxlow,sp,spm,spf,pc,pcm,hfl,ifl,nfl,zfl',cfl,irqfl)))
+))
+;;
+
+let set_z_flag_HC08 =
+(function alu -> (function zfl' -> 
+(match alu with 
+   Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl,hfl,ifl,nfl,_,cfl,irqfl) -> (Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl,hfl,ifl,nfl,zfl',cfl,irqfl)))
+))
+;;
+
+let set_z_flag_RS08 =
+(function alu -> (function zfl' -> 
+(match alu with 
+   Mk_alu_RS08(acclow,pc,pcm,spc,xm,psm,_,cfl) -> (Mk_alu_RS08(acclow,pc,pcm,spc,xm,psm,zfl',cfl)))
+))
+;;
+
+let set_z_flag =
+(function m -> (function t -> (function s -> (function zfl' -> (set_alu m t s (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic (set_z_flag_HC05)
+ | Matita_freescale_opcode.HC08 -> Obj.magic (set_z_flag_HC08)
+ | Matita_freescale_opcode.HCS08 -> Obj.magic (set_z_flag_HC08)
+ | Matita_freescale_opcode.RS08 -> Obj.magic (set_z_flag_RS08))
+ (alu m t s) zfl'))))))
+;;
+
+let set_c_flag_HC05 =
+(function alu -> (function cfl' -> 
+(match alu with 
+   Mk_alu_HC05(acclow,indxlow,sp,spm,spf,pc,pcm,hfl,ifl,nfl,zfl,_,irqfl) -> (Mk_alu_HC05(acclow,indxlow,sp,spm,spf,pc,pcm,hfl,ifl,nfl,zfl,cfl',irqfl)))
+))
+;;
+
+let set_c_flag_HC08 =
+(function alu -> (function cfl' -> 
+(match alu with 
+   Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl,hfl,ifl,nfl,zfl,_,irqfl) -> (Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl,hfl,ifl,nfl,zfl,cfl',irqfl)))
+))
+;;
+
+let set_c_flag_RS08 =
+(function alu -> (function cfl' -> 
+(match alu with 
+   Mk_alu_RS08(acclow,pc,pcm,spc,xm,psm,zfl,_) -> (Mk_alu_RS08(acclow,pc,pcm,spc,xm,psm,zfl,cfl')))
+))
+;;
+
+let set_c_flag =
+(function m -> (function t -> (function s -> (function cfl' -> (set_alu m t s (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic (set_c_flag_HC05)
+ | Matita_freescale_opcode.HC08 -> Obj.magic (set_c_flag_HC08)
+ | Matita_freescale_opcode.HCS08 -> Obj.magic (set_c_flag_HC08)
+ | Matita_freescale_opcode.RS08 -> Obj.magic (set_c_flag_RS08))
+ (alu m t s) cfl'))))))
+;;
+
+let set_irq_flag_HC05 =
+(function alu -> (function irqfl' -> 
+(match alu with 
+   Mk_alu_HC05(acclow,indxlow,sp,spm,spf,pc,pcm,hfl,ifl,nfl,zfl,cfl,_) -> (Mk_alu_HC05(acclow,indxlow,sp,spm,spf,pc,pcm,hfl,ifl,nfl,zfl,cfl,irqfl')))
+))
+;;
+
+let set_irq_flag_HC08 =
+(function alu -> (function irqfl' -> 
+(match alu with 
+   Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl,hfl,ifl,nfl,zfl,cfl,_) -> (Mk_alu_HC08(acclow,indxlow,indxhigh,sp,pc,vfl,hfl,ifl,nfl,zfl,cfl,irqfl')))
+))
+;;
+
+let set_irq_flag =
+(function m -> (function t -> (function s -> (function irqfl' -> (Matita_freescale_extra.opt_map 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((Matita_datatypes_constructors.Some(set_irq_flag_HC05)))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_irq_flag_HC08)))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((Matita_datatypes_constructors.Some(set_irq_flag_HC08)))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((Matita_datatypes_constructors.None)))
+ (function f -> (Matita_datatypes_constructors.Some((set_alu m t s (f (alu m t s) irqfl'))))))))))
+;;
+
+let setweak_irq_flag =
+(function m -> (function t -> (function s -> (function irqfl' -> 
+(match (set_irq_flag m t s irqfl') with 
+   Matita_datatypes_constructors.None -> s
+ | Matita_datatypes_constructors.Some(s') -> s')
+))))
+;;
+
+let eq_alu_HC05 =
+(function alu1 -> (function alu2 -> 
+(match alu1 with 
+   Mk_alu_HC05(acclow1,indxlow1,sp1,spm1,spf1,pc1,pcm1,hfl1,ifl1,nfl1,zfl1,cfl1,irqfl1) -> 
+(match alu2 with 
+   Mk_alu_HC05(acclow2,indxlow2,sp2,spm2,spf2,pc2,pcm2,hfl2,ifl2,nfl2,zfl2,cfl2,irqfl2) -> (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_byte8.eq_b8 acclow1 acclow2) (Matita_freescale_byte8.eq_b8 indxlow1 indxlow2)) (Matita_freescale_word16.eq_w16 sp1 sp2)) (Matita_freescale_word16.eq_w16 spm1 spm2)) (Matita_freescale_word16.eq_w16 spf1 spf2)) (Matita_freescale_word16.eq_w16 pc1 pc2)) (Matita_freescale_word16.eq_w16 pcm1 pcm2)) (Matita_freescale_extra.eq_bool hfl1 hfl2)) (Matita_freescale_extra.eq_bool ifl1 ifl2)) (Matita_freescale_extra.eq_bool nfl1 nfl2)) (Matita_freescale_extra.eq_bool zfl1 zfl2)) (Matita_freescale_extra.eq_bool cfl1 cfl2)) (Matita_freescale_extra.eq_bool irqfl1 irqfl2)))
+)
+))
+;;
+
+let eq_alu_HC08 =
+(function alu1 -> (function alu2 -> 
+(match alu1 with 
+   Mk_alu_HC08(acclow1,indxlow1,indxhigh1,sp1,pc1,vfl1,hfl1,ifl1,nfl1,zfl1,cfl1,irqfl1) -> 
+(match alu2 with 
+   Mk_alu_HC08(acclow2,indxlow2,indxhigh2,sp2,pc2,vfl2,hfl2,ifl2,nfl2,zfl2,cfl2,irqfl2) -> (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_byte8.eq_b8 acclow1 acclow2) (Matita_freescale_byte8.eq_b8 indxlow1 indxlow2)) (Matita_freescale_byte8.eq_b8 indxhigh1 indxhigh2)) (Matita_freescale_word16.eq_w16 sp1 sp2)) (Matita_freescale_word16.eq_w16 pc1 pc2)) (Matita_freescale_extra.eq_bool vfl1 vfl2)) (Matita_freescale_extra.eq_bool hfl1 hfl2)) (Matita_freescale_extra.eq_bool ifl1 ifl2)) (Matita_freescale_extra.eq_bool nfl1 nfl2)) (Matita_freescale_extra.eq_bool zfl1 zfl2)) (Matita_freescale_extra.eq_bool cfl1 cfl2)) (Matita_freescale_extra.eq_bool irqfl1 irqfl2)))
+)
+))
+;;
+
+let eq_alu_RS08 =
+(function alu1 -> (function alu2 -> 
+(match alu1 with 
+   Mk_alu_RS08(acclow1,pc1,pcm1,spc1,xm1,psm1,zfl1,cfl1) -> 
+(match alu2 with 
+   Mk_alu_RS08(acclow2,pc2,pcm2,spc2,xm2,psm2,zfl2,cfl2) -> (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_byte8.eq_b8 acclow1 acclow2) (Matita_freescale_word16.eq_w16 pc1 pc2)) (Matita_freescale_word16.eq_w16 pcm1 pcm2)) (Matita_freescale_word16.eq_w16 spc1 spc2)) (Matita_freescale_byte8.eq_b8 xm1 xm2)) (Matita_freescale_byte8.eq_b8 psm1 psm2)) (Matita_freescale_extra.eq_bool zfl1 zfl2)) (Matita_freescale_extra.eq_bool cfl1 cfl2)))
+)
+))
+;;
+
+let eq_b8_opt =
+(function b1 -> (function b2 -> 
+(match b1 with 
+   Matita_datatypes_constructors.None -> 
+(match b2 with 
+   Matita_datatypes_constructors.None -> Matita_datatypes_bool.True
+ | Matita_datatypes_constructors.Some(_) -> Matita_datatypes_bool.False)
+
+ | Matita_datatypes_constructors.Some(b1') -> 
+(match b2 with 
+   Matita_datatypes_constructors.None -> Matita_datatypes_bool.False
+ | Matita_datatypes_constructors.Some(b2') -> (Matita_freescale_byte8.eq_b8 b1' b2'))
+)
+))
+;;
+
+let forall_memory_ranged =
+let rec forall_memory_ranged = 
+(function t -> (function chk1 -> (function chk2 -> (function mem1 -> (function mem2 -> (function inf -> (function n -> 
+(match n with 
+   Matita_nat_nat.O -> (eq_b8_opt (Matita_freescale_memory_abs.mem_read t mem1 chk1 inf) (Matita_freescale_memory_abs.mem_read t mem2 chk2 inf))
+ | Matita_nat_nat.S(n') -> (Matita_freescale_extra.and_bool (eq_b8_opt (Matita_freescale_memory_abs.mem_read t mem1 chk1 (Matita_freescale_word16.plus_w16nc inf (Matita_freescale_word16.word16_of_nat n))) (Matita_freescale_memory_abs.mem_read t mem2 chk2 (Matita_freescale_word16.plus_w16nc inf (Matita_freescale_word16.word16_of_nat n)))) (forall_memory_ranged t chk1 chk2 mem1 mem2 inf n')))
+))))))) in forall_memory_ranged
+;;
+
+let eq_clk =
+(function m -> (function c1 -> (function c2 -> 
+(match c1 with 
+   Matita_datatypes_constructors.None -> 
+(match c2 with 
+   Matita_datatypes_constructors.None -> Matita_datatypes_bool.True
+ | Matita_datatypes_constructors.Some(_) -> Matita_datatypes_bool.False)
+
+ | Matita_datatypes_constructors.Some(c1') -> 
+(match c2 with 
+   Matita_datatypes_constructors.None -> Matita_datatypes_bool.False
+ | Matita_datatypes_constructors.Some(c2') -> (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (Matita_freescale_byte8.eq_b8 (Matita_freescale_extra.fst5T c1') (Matita_freescale_extra.fst5T c2')) (Matita_freescale_opcode.eqop m (Matita_freescale_extra.snd5T c1') (Matita_freescale_extra.snd5T c2'))) (Matita_freescale_opcode.eqim (Matita_freescale_extra.thd5T c1') (Matita_freescale_extra.thd5T c2'))) (Matita_freescale_byte8.eq_b8 (Matita_freescale_extra.frth5T c1') (Matita_freescale_extra.frth5T c2'))) (Matita_freescale_word16.eq_w16 (Matita_freescale_extra.ffth5T c1') (Matita_freescale_extra.ffth5T c2'))))
+)
+)))
+;;
+
+let eq_status =
+(function m -> (function t -> (function s1 -> (function s2 -> (function inf -> (function n -> 
+(match s1 with 
+   Mk_any_status(alu1,mem1,chk1,clk1) -> 
+(match s2 with 
+   Mk_any_status(alu2,mem2,chk2,clk2) -> (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic (eq_alu_HC05)
+ | Matita_freescale_opcode.HC08 -> Obj.magic (eq_alu_HC08)
+ | Matita_freescale_opcode.HCS08 -> Obj.magic (eq_alu_HC08)
+ | Matita_freescale_opcode.RS08 -> Obj.magic (eq_alu_RS08))
+ alu1 alu2) (forall_memory_ranged t chk1 chk2 mem1 mem2 inf n)) (eq_clk m clk1 clk2)))
+)
+))))))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_HC05.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_HC05.ml
new file mode 100644 (file)
index 0000000..1bbdb48
--- /dev/null
@@ -0,0 +1,140 @@
+let opcode_table_HC05_1 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_2 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_3 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_4 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_5 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_6 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRA)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRN)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BHI)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BLS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BNE)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BEQ)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BHCC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BHCS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BPL)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BMI)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BMC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BMS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIL)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIH)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HC05_7 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HC05_8 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HC05_9 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_10 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MUL)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.RTI)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.RTS)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SWI)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STOP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.WAIT)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TAX)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLC)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SEC)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLI)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SEI)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.RSP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NOP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TXA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HC05_11 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_12 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_13 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_14 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_15 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_16 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_17 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_18 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_IMM1EXT,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_IMM2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_INHX2ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_INHX1ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_INHX0ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_19 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSR)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_IMM1EXT,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_IMM2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_INHX2ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_INHX1ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_INHX0ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_20 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_21 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_22 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_23 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_24 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_25 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_26 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_27 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_28 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_29 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05_30 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC05_31 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC05 =
+(Matita_list_list.append opcode_table_HC05_1 (Matita_list_list.append opcode_table_HC05_2 (Matita_list_list.append opcode_table_HC05_3 (Matita_list_list.append opcode_table_HC05_4 (Matita_list_list.append opcode_table_HC05_5 (Matita_list_list.append opcode_table_HC05_6 (Matita_list_list.append opcode_table_HC05_7 (Matita_list_list.append opcode_table_HC05_8 (Matita_list_list.append opcode_table_HC05_9 (Matita_list_list.append opcode_table_HC05_10 (Matita_list_list.append opcode_table_HC05_11 (Matita_list_list.append opcode_table_HC05_12 (Matita_list_list.append opcode_table_HC05_13 (Matita_list_list.append opcode_table_HC05_14 (Matita_list_list.append opcode_table_HC05_15 (Matita_list_list.append opcode_table_HC05_16 (Matita_list_list.append opcode_table_HC05_17 (Matita_list_list.append opcode_table_HC05_18 (Matita_list_list.append opcode_table_HC05_19 (Matita_list_list.append opcode_table_HC05_20 (Matita_list_list.append opcode_table_HC05_21 (Matita_list_list.append opcode_table_HC05_22 (Matita_list_list.append opcode_table_HC05_23 (Matita_list_list.append opcode_table_HC05_24 (Matita_list_list.append opcode_table_HC05_25 (Matita_list_list.append opcode_table_HC05_26 (Matita_list_list.append opcode_table_HC05_27 (Matita_list_list.append opcode_table_HC05_28 (Matita_list_list.append opcode_table_HC05_29 (Matita_list_list.append opcode_table_HC05_30 opcode_table_HC05_31))))))))))))))))))))))))))))))
+;;
+
+let hC05_not_impl_byte =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let hC05_not_impl_pseudo =
+(Matita_list_list.Cons(Matita_freescale_opcode.AIS,(Matita_list_list.Cons(Matita_freescale_opcode.AIX,(Matita_list_list.Cons(Matita_freescale_opcode.BGE,(Matita_list_list.Cons(Matita_freescale_opcode.BGND,(Matita_list_list.Cons(Matita_freescale_opcode.BGT,(Matita_list_list.Cons(Matita_freescale_opcode.BLE,(Matita_list_list.Cons(Matita_freescale_opcode.BLT,(Matita_list_list.Cons(Matita_freescale_opcode.CBEQA,(Matita_list_list.Cons(Matita_freescale_opcode.CBEQX,(Matita_list_list.Cons(Matita_freescale_opcode.CPHX,(Matita_list_list.Cons(Matita_freescale_opcode.DAA,(Matita_list_list.Cons(Matita_freescale_opcode.DBNZ,(Matita_list_list.Cons(Matita_freescale_opcode.DIV,(Matita_list_list.Cons(Matita_freescale_opcode.LDHX,(Matita_list_list.Cons(Matita_freescale_opcode.MOV,(Matita_list_list.Cons(Matita_freescale_opcode.NSA,(Matita_list_list.Cons(Matita_freescale_opcode.PSHA,(Matita_list_list.Cons(Matita_freescale_opcode.PSHH,(Matita_list_list.Cons(Matita_freescale_opcode.PSHX,(Matita_list_list.Cons(Matita_freescale_opcode.PULA,(Matita_list_list.Cons(Matita_freescale_opcode.PULH,(Matita_list_list.Cons(Matita_freescale_opcode.PULX,(Matita_list_list.Cons(Matita_freescale_opcode.SHA,(Matita_list_list.Cons(Matita_freescale_opcode.SLA,(Matita_list_list.Cons(Matita_freescale_opcode.STHX,(Matita_list_list.Cons(Matita_freescale_opcode.TAP,(Matita_list_list.Cons(Matita_freescale_opcode.TPA,(Matita_list_list.Cons(Matita_freescale_opcode.TSX,(Matita_list_list.Cons(Matita_freescale_opcode.TXS,(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let hC05_not_impl_mode =
+(Matita_list_list.Cons(Matita_freescale_opcode.MODE_INHH,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_SP1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_SP2,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_DIR1_to_DIR1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IMM1_to_DIR1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX0p_to_DIR1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_DIR1_to_IX0p,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_INHA_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_INHX_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IMM1_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_DIR1_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX0_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX0p_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX1_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX1p_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_SP1_and_IMM1,(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T00)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T01)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T02)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T03)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T04)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T05)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T06)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T07)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T08)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T09)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0A)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0B)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0C)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0D)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0E)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0F)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T10)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T11)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T12)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T13)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T14)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T15)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T16)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T17)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T18)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T19)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1A)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1B)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1C)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1D)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1E)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1F)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_HC08.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_HC08.ml
new file mode 100644 (file)
index 0000000..404d51b
--- /dev/null
@@ -0,0 +1,160 @@
+let opcode_table_HC08_1 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HC08_2 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HC08_3 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HC08_4 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08_5 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08_6 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRA)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRN)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BHI)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BLS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BNE)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BEQ)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BHCC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BHCS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BPL)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BMI)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BMC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BMS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIL)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIH)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BGE)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BLT)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BGT)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BLE)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HC08_7 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HC08_8 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HC08_9 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HC08_10 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MUL)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DIV)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NSA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DAA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.RTI)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.RTS)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SWI)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TAP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TPA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.PULA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.PSHA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.PULX)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.PSHX)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.PULH)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.PSHH)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STOP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.WAIT)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TXS)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TSX)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TAX)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLC)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SEC)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLI)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SEI)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.RSP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NOP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TXA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AIS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AIX)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HC08_11 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQA)),Matita_freescale_opcode.MODE_DIR1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQA)),Matita_freescale_opcode.MODE_IMM1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQX)),Matita_freescale_opcode.MODE_IMM1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQA)),Matita_freescale_opcode.MODE_IX1p_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQA)),Matita_freescale_opcode.MODE_IX0p_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQA)),Matita_freescale_opcode.MODE_SP1_and_IMM1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08_12 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_INHH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))
+;;
+
+let opcode_table_HC08_13 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HC08_14 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08_15 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STHX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDHX)),Matita_freescale_opcode.MODE_IMM2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDHX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPHX)),Matita_freescale_opcode.MODE_IMM2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPHX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC08_16 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HC08_17 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_DIR1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_INHA_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_INHX_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_IX1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_IX0_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_SP1_and_IMM1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08_18 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08_19 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HC08_20 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08_21 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_IMM1EXT,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_IMM2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_INHX2ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_INHX1ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_INHX0ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HC08_22 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSR)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_IMM1EXT,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_IMM2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_INHX2ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_INHX1ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_INHX0ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08_23 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HC08_24 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HC08_25 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08_26 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MOV)),Matita_freescale_opcode.MODE_DIR1_to_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MOV)),Matita_freescale_opcode.MODE_DIR1_to_IX0p,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MOV)),Matita_freescale_opcode.MODE_IMM1_to_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MOV)),Matita_freescale_opcode.MODE_IX0p_to_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))
+;;
+
+let opcode_table_HC08_27 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08_28 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HC08_29 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08_30 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08_31 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HC08_32 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))
+;;
+
+let opcode_table_HC08_33 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))
+;;
+
+let opcode_table_HC08_34 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HC08_35 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HC08 =
+(Matita_list_list.append opcode_table_HC08_1 (Matita_list_list.append opcode_table_HC08_2 (Matita_list_list.append opcode_table_HC08_3 (Matita_list_list.append opcode_table_HC08_4 (Matita_list_list.append opcode_table_HC08_5 (Matita_list_list.append opcode_table_HC08_6 (Matita_list_list.append opcode_table_HC08_7 (Matita_list_list.append opcode_table_HC08_8 (Matita_list_list.append opcode_table_HC08_9 (Matita_list_list.append opcode_table_HC08_10 (Matita_list_list.append opcode_table_HC08_11 (Matita_list_list.append opcode_table_HC08_12 (Matita_list_list.append opcode_table_HC08_13 (Matita_list_list.append opcode_table_HC08_14 (Matita_list_list.append opcode_table_HC08_15 (Matita_list_list.append opcode_table_HC08_16 (Matita_list_list.append opcode_table_HC08_17 (Matita_list_list.append opcode_table_HC08_18 (Matita_list_list.append opcode_table_HC08_19 (Matita_list_list.append opcode_table_HC08_20 (Matita_list_list.append opcode_table_HC08_21 (Matita_list_list.append opcode_table_HC08_22 (Matita_list_list.append opcode_table_HC08_23 (Matita_list_list.append opcode_table_HC08_24 (Matita_list_list.append opcode_table_HC08_25 (Matita_list_list.append opcode_table_HC08_26 (Matita_list_list.append opcode_table_HC08_27 (Matita_list_list.append opcode_table_HC08_28 (Matita_list_list.append opcode_table_HC08_29 (Matita_list_list.append opcode_table_HC08_30 (Matita_list_list.append opcode_table_HC08_31 (Matita_list_list.append opcode_table_HC08_32 (Matita_list_list.append opcode_table_HC08_33 (Matita_list_list.append opcode_table_HC08_34 opcode_table_HC08_35))))))))))))))))))))))))))))))))))
+;;
+
+let hC08_not_impl_byte =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Nil)))))))))))))))
+;;
+
+let hC08_not_impl_word =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let hC08_not_impl_pseudo =
+(Matita_list_list.Cons(Matita_freescale_opcode.BGND,(Matita_list_list.Cons(Matita_freescale_opcode.SHA,(Matita_list_list.Cons(Matita_freescale_opcode.SLA,(Matita_list_list.Nil)))))))
+;;
+
+let hC08_not_impl_mode =
+(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T00)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T01)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T02)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T03)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T04)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T05)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T06)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T07)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T08)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T09)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0A)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0B)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0C)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0D)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0E)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0F)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T10)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T11)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T12)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T13)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T14)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T15)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T16)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T17)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T18)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T19)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1A)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1B)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1C)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1D)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1E)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1F)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_HCS08.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_HCS08.ml
new file mode 100644 (file)
index 0000000..84ed8a5
--- /dev/null
@@ -0,0 +1,160 @@
+let opcode_table_HCS08_1 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HCS08_2 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HCS08_3 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HCS08_4 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08_5 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASR)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08_6 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRA)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRN)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BHI)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BLS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BNE)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BEQ)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BHCC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BHCS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BPL)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BMI)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BMC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BMS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIL)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIH)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BGE)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BLT)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BGT)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BLE)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HCS08_7 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HCS08_8 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HCS08_9 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BIT)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HCS08_10 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MUL)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DIV)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NSA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DAA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.RTI)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.RTS)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SWI)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BGND)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TAP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TPA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.PULA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.PSHA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.PULX)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.PSHX)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.PULH)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.PSHH)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STOP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.WAIT)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TXS)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TSX)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TAX)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLC)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SEC)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLI)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SEI)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.RSP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NOP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TXA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AIS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AIX)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HCS08_11 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQA)),Matita_freescale_opcode.MODE_DIR1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQA)),Matita_freescale_opcode.MODE_IMM1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQX)),Matita_freescale_opcode.MODE_IMM1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQA)),Matita_freescale_opcode.MODE_IX1p_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQA)),Matita_freescale_opcode.MODE_IX0p_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQA)),Matita_freescale_opcode.MODE_SP1_and_IMM1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08_12 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_INHH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))))
+;;
+
+let opcode_table_HCS08_13 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HCS08_14 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08_15 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPHX)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPHX)),Matita_freescale_opcode.MODE_IMM2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPHX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPHX)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDHX)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDHX)),Matita_freescale_opcode.MODE_IMM2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDHX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDHX)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDHX)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDHX)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDHX)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STHX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STHX)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STHX)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))
+;;
+
+let opcode_table_HCS08_16 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CPX)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HCS08_17 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_DIR1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_INHA_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_INHX_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_IX1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_IX0_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_SP1_and_IMM1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08_18 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08_19 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HCS08_20 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08_21 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_IMM1EXT,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_IMM2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_INHX2ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_INHX1ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_INHX0ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_HCS08_22 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSR)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_IMM1EXT,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_IMM2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_INHX2ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_INHX1ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_INHX0ADD,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08_23 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HCS08_24 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDX)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HCS08_25 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08_26 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MOV)),Matita_freescale_opcode.MODE_DIR1_to_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MOV)),Matita_freescale_opcode.MODE_DIR1_to_IX0p,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MOV)),Matita_freescale_opcode.MODE_IMM1_to_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MOV)),Matita_freescale_opcode.MODE_IX0p_to_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))
+;;
+
+let opcode_table_HCS08_27 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NEG)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08_28 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HCS08_29 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08_30 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08_31 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HCS08_32 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))
+;;
+
+let opcode_table_HCS08_33 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STX)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))
+;;
+
+let opcode_table_HCS08_34 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_DIR2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IX2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_SP2,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))
+;;
+
+let opcode_table_HCS08_35 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_INHX,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_IX1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_IX0,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.TST)),Matita_freescale_opcode.MODE_SP1,(Matita_freescale_opcode.Word((Matita_freescale_word16.Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)))))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))
+;;
+
+let opcode_table_HCS08 =
+(Matita_list_list.append opcode_table_HCS08_1 (Matita_list_list.append opcode_table_HCS08_2 (Matita_list_list.append opcode_table_HCS08_3 (Matita_list_list.append opcode_table_HCS08_4 (Matita_list_list.append opcode_table_HCS08_5 (Matita_list_list.append opcode_table_HCS08_6 (Matita_list_list.append opcode_table_HCS08_7 (Matita_list_list.append opcode_table_HCS08_8 (Matita_list_list.append opcode_table_HCS08_9 (Matita_list_list.append opcode_table_HCS08_10 (Matita_list_list.append opcode_table_HCS08_11 (Matita_list_list.append opcode_table_HCS08_12 (Matita_list_list.append opcode_table_HCS08_13 (Matita_list_list.append opcode_table_HCS08_14 (Matita_list_list.append opcode_table_HCS08_15 (Matita_list_list.append opcode_table_HCS08_16 (Matita_list_list.append opcode_table_HCS08_17 (Matita_list_list.append opcode_table_HCS08_18 (Matita_list_list.append opcode_table_HCS08_19 (Matita_list_list.append opcode_table_HCS08_20 (Matita_list_list.append opcode_table_HCS08_21 (Matita_list_list.append opcode_table_HCS08_22 (Matita_list_list.append opcode_table_HCS08_23 (Matita_list_list.append opcode_table_HCS08_24 (Matita_list_list.append opcode_table_HCS08_25 (Matita_list_list.append opcode_table_HCS08_26 (Matita_list_list.append opcode_table_HCS08_27 (Matita_list_list.append opcode_table_HCS08_28 (Matita_list_list.append opcode_table_HCS08_29 (Matita_list_list.append opcode_table_HCS08_30 (Matita_list_list.append opcode_table_HCS08_31 (Matita_list_list.append opcode_table_HCS08_32 (Matita_list_list.append opcode_table_HCS08_33 (Matita_list_list.append opcode_table_HCS08_34 opcode_table_HCS08_35))))))))))))))))))))))))))))))))))
+;;
+
+let hCS08_not_impl_byte =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Nil)))))))
+;;
+
+let hCS08_not_impl_word =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let hCS08_not_impl_pseudo =
+(Matita_list_list.Cons(Matita_freescale_opcode.SHA,(Matita_list_list.Cons(Matita_freescale_opcode.SLA,(Matita_list_list.Nil)))))
+;;
+
+let hCS08_not_impl_mode =
+(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X1)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X4)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X6)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X8)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X9)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XA)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XB)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XC)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XE)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XF)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T00)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T01)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T02)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T03)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T04)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T05)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T06)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T07)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T08)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T09)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0A)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0B)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0C)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0D)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0E)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0F)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T10)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T11)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T12)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T13)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T14)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T15)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T16)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T17)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T18)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T19)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1A)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1B)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1C)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1D)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1E)),(Matita_list_list.Cons((Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1F)),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_RS08.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_RS08.ml
new file mode 100644 (file)
index 0000000..6a47f09
--- /dev/null
@@ -0,0 +1,124 @@
+let opcode_table_RS08_1 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))
+;;
+
+let opcode_table_RS08_2 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X8)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X9)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XA)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XB)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XC)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XD)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XE)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ADD)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XF)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X6,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_RS08_3 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.AND)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))
+;;
+
+let opcode_table_RS08_4 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ASL)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Nil)))
+;;
+
+let opcode_table_RS08_5 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRA)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCS)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BNE)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BEQ)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))
+;;
+
+let opcode_table_RS08_6 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSETn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BCLRn)),(Matita_freescale_opcode.MODE_DIRn(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X1,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_RS08_7 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRSETn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BRCLRn)),(Matita_freescale_opcode.MODE_DIRn_and_IMM1(Matita_freescale_aux_bases.O7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_RS08_8 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLC)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SEC)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SLA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SHA)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.NOP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STOP)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.WAIT)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.RTS)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BGND)),Matita_freescale_opcode.MODE_INH,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))))))))))))))))
+;;
+
+let opcode_table_RS08_9 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQA)),Matita_freescale_opcode.MODE_DIR1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CBEQA)),Matita_freescale_opcode.MODE_IMM1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))
+;;
+
+let opcode_table_RS08_10 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T00)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T01)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T02)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T03)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T04)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T05)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T06)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T07)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T08)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T09)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0A)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0B)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0C)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0D)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0E)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0F)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T10)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T11)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T12)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T13)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T14)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T15)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T16)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T17)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T18)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T19)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1A)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1B)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1C)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1D)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1E)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CLR)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1F)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X9,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_RS08_11 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.CMP)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))
+;;
+
+let opcode_table_RS08_12 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.COM)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Nil)))
+;;
+
+let opcode_table_RS08_13 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_DIR1_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X7)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DBNZ)),Matita_freescale_opcode.MODE_INHA_and_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))
+;;
+
+let opcode_table_RS08_14 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X8)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X9)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XA)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XB)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XC)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XD)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XE)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.DEC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XF)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X5,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_RS08_15 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.EOR)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))
+;;
+
+let opcode_table_RS08_16 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X8)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X9)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XA)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XB)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XC)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XD)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XE)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.INC)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XF)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X2,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_RS08_17 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JMP)),Matita_freescale_opcode.MODE_IMM2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))
+;;
+
+let opcode_table_RS08_18 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.BSR)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.JSR)),Matita_freescale_opcode.MODE_IMM2,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Nil)))))
+;;
+
+let opcode_table_RS08_19 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T00)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T01)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T02)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T03)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T04)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T05)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T06)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T07)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T08)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T09)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0A)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0B)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0C)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0D)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0E)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0F)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XC,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T10)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T11)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T12)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T13)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T14)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T15)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T16)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T17)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T18)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T19)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1A)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1B)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1C)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1D)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1E)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LDA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1F)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XD,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_RS08_20 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.LSR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Nil)))
+;;
+
+let opcode_table_RS08_21 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MOV)),Matita_freescale_opcode.MODE_IMM1_to_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X4)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.MOV)),Matita_freescale_opcode.MODE_DIR1_to_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X5)))),(Matita_list_list.Nil)))))
+;;
+
+let opcode_table_RS08_22 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ORA)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))
+;;
+
+let opcode_table_RS08_23 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROL)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Nil)))
+;;
+
+let opcode_table_RS08_24 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.ROR)),Matita_freescale_opcode.MODE_INHA,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)))),(Matita_list_list.Nil)))
+;;
+
+let opcode_table_RS08_25 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SBC)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))
+;;
+
+let opcode_table_RS08_26 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T00)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T01)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T02)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T03)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T04)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T05)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T06)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T07)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T08)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T09)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0A)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0B)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0C)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0D)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0E)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T0F)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XE,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T10)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T11)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T12)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T13)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T14)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T15)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T16)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T17)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T18)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T19)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1A)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1B)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1C)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1D)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1E)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.STA)),(Matita_freescale_opcode.MODE_SRT(Matita_freescale_aux_bases.T1F)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_RS08_27 =
+(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_IMM1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X2)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),Matita_freescale_opcode.MODE_DIR1,(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X0)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X0)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X1)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X1)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X2)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X2)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X3)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X3)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X4)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X4)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X5)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X5)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X6)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X6)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X7)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X7)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X8)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X8)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.X9)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.X9)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XA)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XA)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XB)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XB)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XC)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XC)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XD)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XD)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XE)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XE)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Cons((Matita_freescale_extra.QuadrupleT((Matita_freescale_opcode.AnyOP(Matita_freescale_opcode.SUB)),(Matita_freescale_opcode.MODE_TNY(Matita_freescale_exadecim.XF)),(Matita_freescale_opcode.Byte((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X7,Matita_freescale_exadecim.XF)))),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X3)))),(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))
+;;
+
+let opcode_table_RS08 =
+(Matita_list_list.append opcode_table_RS08_1 (Matita_list_list.append opcode_table_RS08_2 (Matita_list_list.append opcode_table_RS08_3 (Matita_list_list.append opcode_table_RS08_4 (Matita_list_list.append opcode_table_RS08_5 (Matita_list_list.append opcode_table_RS08_6 (Matita_list_list.append opcode_table_RS08_7 (Matita_list_list.append opcode_table_RS08_8 (Matita_list_list.append opcode_table_RS08_9 (Matita_list_list.append opcode_table_RS08_10 (Matita_list_list.append opcode_table_RS08_11 (Matita_list_list.append opcode_table_RS08_12 (Matita_list_list.append opcode_table_RS08_13 (Matita_list_list.append opcode_table_RS08_14 (Matita_list_list.append opcode_table_RS08_15 (Matita_list_list.append opcode_table_RS08_16 (Matita_list_list.append opcode_table_RS08_17 (Matita_list_list.append opcode_table_RS08_18 (Matita_list_list.append opcode_table_RS08_19 (Matita_list_list.append opcode_table_RS08_20 (Matita_list_list.append opcode_table_RS08_21 (Matita_list_list.append opcode_table_RS08_22 (Matita_list_list.append opcode_table_RS08_23 (Matita_list_list.append opcode_table_RS08_24 (Matita_list_list.append opcode_table_RS08_25 (Matita_list_list.append opcode_table_RS08_26 opcode_table_RS08_27))))))))))))))))))))))))))
+;;
+
+let rS08_not_impl_byte =
+(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X2)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X3,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X0)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X4,Matita_freescale_exadecim.XD)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X5)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XA,Matita_freescale_exadecim.X7)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X3)),(Matita_list_list.Cons((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XB,Matita_freescale_exadecim.X5)),(Matita_list_list.Nil)))))))))))))))))))))))
+;;
+
+let rS08_not_impl_pseudo =
+(Matita_list_list.Cons(Matita_freescale_opcode.AIS,(Matita_list_list.Cons(Matita_freescale_opcode.AIX,(Matita_list_list.Cons(Matita_freescale_opcode.ASR,(Matita_list_list.Cons(Matita_freescale_opcode.BGE,(Matita_list_list.Cons(Matita_freescale_opcode.BGT,(Matita_list_list.Cons(Matita_freescale_opcode.BHCC,(Matita_list_list.Cons(Matita_freescale_opcode.BHCS,(Matita_list_list.Cons(Matita_freescale_opcode.BHI,(Matita_list_list.Cons(Matita_freescale_opcode.BIH,(Matita_list_list.Cons(Matita_freescale_opcode.BIL,(Matita_list_list.Cons(Matita_freescale_opcode.BIT,(Matita_list_list.Cons(Matita_freescale_opcode.BLE,(Matita_list_list.Cons(Matita_freescale_opcode.BLS,(Matita_list_list.Cons(Matita_freescale_opcode.BLT,(Matita_list_list.Cons(Matita_freescale_opcode.BMC,(Matita_list_list.Cons(Matita_freescale_opcode.BMI,(Matita_list_list.Cons(Matita_freescale_opcode.BMS,(Matita_list_list.Cons(Matita_freescale_opcode.BPL,(Matita_list_list.Cons(Matita_freescale_opcode.BRN,(Matita_list_list.Cons(Matita_freescale_opcode.CBEQX,(Matita_list_list.Cons(Matita_freescale_opcode.CLI,(Matita_list_list.Cons(Matita_freescale_opcode.CPHX,(Matita_list_list.Cons(Matita_freescale_opcode.CPX,(Matita_list_list.Cons(Matita_freescale_opcode.DAA,(Matita_list_list.Cons(Matita_freescale_opcode.DIV,(Matita_list_list.Cons(Matita_freescale_opcode.LDHX,(Matita_list_list.Cons(Matita_freescale_opcode.LDX,(Matita_list_list.Cons(Matita_freescale_opcode.MUL,(Matita_list_list.Cons(Matita_freescale_opcode.NEG,(Matita_list_list.Cons(Matita_freescale_opcode.NSA,(Matita_list_list.Cons(Matita_freescale_opcode.PSHA,(Matita_list_list.Cons(Matita_freescale_opcode.PSHH,(Matita_list_list.Cons(Matita_freescale_opcode.PSHX,(Matita_list_list.Cons(Matita_freescale_opcode.PULA,(Matita_list_list.Cons(Matita_freescale_opcode.PULH,(Matita_list_list.Cons(Matita_freescale_opcode.PULX,(Matita_list_list.Cons(Matita_freescale_opcode.RSP,(Matita_list_list.Cons(Matita_freescale_opcode.RTI,(Matita_list_list.Cons(Matita_freescale_opcode.SEI,(Matita_list_list.Cons(Matita_freescale_opcode.STHX,(Matita_list_list.Cons(Matita_freescale_opcode.STX,(Matita_list_list.Cons(Matita_freescale_opcode.SWI,(Matita_list_list.Cons(Matita_freescale_opcode.TAP,(Matita_list_list.Cons(Matita_freescale_opcode.TAX,(Matita_list_list.Cons(Matita_freescale_opcode.TPA,(Matita_list_list.Cons(Matita_freescale_opcode.TST,(Matita_list_list.Cons(Matita_freescale_opcode.TSX,(Matita_list_list.Cons(Matita_freescale_opcode.TXA,(Matita_list_list.Cons(Matita_freescale_opcode.TXS,(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+;;
+
+let rS08_not_impl_mode =
+(Matita_list_list.Cons(Matita_freescale_opcode.MODE_INHX,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_INHH,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_INHX0ADD,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_INHX1ADD,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_INHX2ADD,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IMM1EXT,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_DIR2,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX0,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX2,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_SP1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_SP2,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX0p_to_DIR1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_DIR1_to_IX0p,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_INHX_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX0_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX0p_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX1_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_IX1p_and_IMM1,(Matita_list_list.Cons(Matita_freescale_opcode.MODE_SP1_and_IMM1,(Matita_list_list.Nil)))))))))))))))))))))))))))))))))))))))))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_translation.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_translation.ml
new file mode 100644 (file)
index 0000000..91c34be
--- /dev/null
@@ -0,0 +1,307 @@
+let opcode_table =
+(function m -> 
+(match m with 
+   Matita_freescale_opcode.HC05 -> Obj.magic (Matita_freescale_table_HC05.opcode_table_HC05)
+ | Matita_freescale_opcode.HC08 -> Obj.magic (Matita_freescale_table_HC08.opcode_table_HC08)
+ | Matita_freescale_opcode.HCS08 -> Obj.magic (Matita_freescale_table_HCS08.opcode_table_HCS08)
+ | Matita_freescale_opcode.RS08 -> Obj.magic (Matita_freescale_table_RS08.opcode_table_RS08))
+)
+;;
+
+let full_info_of_word16 =
+(function m -> (function borw -> (let rec aux = 
+(function param -> 
+(match param with 
+   Matita_list_list.Nil -> (Matita_datatypes_constructors.None)
+ | Matita_list_list.Cons(hd,tl) -> 
+(match (Matita_freescale_extra.thd4T hd) with 
+   Matita_freescale_opcode.Byte(b) -> 
+(match borw with 
+   Matita_freescale_opcode.Byte(borw') -> 
+(match (Matita_freescale_byte8.eq_b8 borw' b) with 
+   Matita_datatypes_bool.True -> (Matita_datatypes_constructors.Some(hd))
+ | Matita_datatypes_bool.False -> (aux tl))
+
+ | Matita_freescale_opcode.Word(_) -> (aux tl))
+
+ | Matita_freescale_opcode.Word(w) -> 
+(match borw with 
+   Matita_freescale_opcode.Byte(_) -> (aux tl)
+ | Matita_freescale_opcode.Word(borw') -> 
+(match (Matita_freescale_word16.eq_w16 borw' w) with 
+   Matita_datatypes_bool.True -> (Matita_datatypes_constructors.Some(hd))
+ | Matita_datatypes_bool.False -> (aux tl))
+)
+)
+)
+) in aux (opcode_table m))))
+;;
+
+type t_byte8 =
+TByte of Matita_freescale_byte8.byte8
+;;
+
+let t_byte8_rec =
+(function m -> (function f -> (function t -> 
+(match t with 
+   TByte(b) -> (f b))
+)))
+;;
+
+let t_byte8_rect =
+(function m -> (function f -> (function t -> 
+(match t with 
+   TByte(b) -> (f b))
+)))
+;;
+
+let t_byte8_OF_bitrigesim =
+(function a -> (function m -> (TByte((Matita_freescale_aux_bases.byte8_of_bitrigesim a)))))
+;;
+
+type mA_check =
+MaINH
+ | MaINHA
+ | MaINHX
+ | MaINHH
+ | MaINHX0ADD
+ | MaINHX1ADD of Matita_freescale_byte8.byte8
+ | MaINHX2ADD of Matita_freescale_word16.word16
+ | MaIMM1 of Matita_freescale_byte8.byte8
+ | MaIMM1EXT of Matita_freescale_byte8.byte8
+ | MaIMM2 of Matita_freescale_word16.word16
+ | MaDIR1 of Matita_freescale_byte8.byte8
+ | MaDIR2 of Matita_freescale_word16.word16
+ | MaIX0
+ | MaIX1 of Matita_freescale_byte8.byte8
+ | MaIX2 of Matita_freescale_word16.word16
+ | MaSP1 of Matita_freescale_byte8.byte8
+ | MaSP2 of Matita_freescale_word16.word16
+ | MaDIR1_to_DIR1 of Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8
+ | MaIMM1_to_DIR1 of Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8
+ | MaIX0p_to_DIR1 of Matita_freescale_byte8.byte8
+ | MaDIR1_to_IX0p of Matita_freescale_byte8.byte8
+ | MaINHA_and_IMM1 of Matita_freescale_byte8.byte8
+ | MaINHX_and_IMM1 of Matita_freescale_byte8.byte8
+ | MaIMM1_and_IMM1 of Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8
+ | MaDIR1_and_IMM1 of Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8
+ | MaIX0_and_IMM1 of Matita_freescale_byte8.byte8
+ | MaIX0p_and_IMM1 of Matita_freescale_byte8.byte8
+ | MaIX1_and_IMM1 of Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8
+ | MaIX1p_and_IMM1 of Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8
+ | MaSP1_and_IMM1 of Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8
+ | MaDIRn of Matita_freescale_aux_bases.oct * Matita_freescale_byte8.byte8
+ | MaDIRn_and_IMM1 of Matita_freescale_aux_bases.oct * Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8
+ | MaTNY of Matita_freescale_exadecim.exadecim
+ | MaSRT of Matita_freescale_aux_bases.bitrigesim
+;;
+
+let mA_check_rec =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function f -> (function f1 -> (function f2 -> (function f3 -> (function f4 -> (function f5 -> (function f6 -> (function p5 -> (function f7 -> (function f8 -> (function f9 -> (function f10 -> (function f11 -> (function f12 -> (function f13 -> (function f14 -> (function f15 -> (function f16 -> (function f17 -> (function f18 -> (function f19 -> (function f20 -> (function f21 -> (function f22 -> (function f23 -> (function f24 -> (function f25 -> (function f26 -> (function f27 -> (function i -> (function m -> 
+(match m with 
+   MaINH -> p
+ | MaINHA -> p1
+ | MaINHX -> p2
+ | MaINHH -> p3
+ | MaINHX0ADD -> p4
+ | MaINHX1ADD(b) -> (f b)
+ | MaINHX2ADD(w) -> (f1 w)
+ | MaIMM1(b) -> (f2 b)
+ | MaIMM1EXT(b) -> (f3 b)
+ | MaIMM2(w) -> (f4 w)
+ | MaDIR1(b) -> (f5 b)
+ | MaDIR2(w) -> (f6 w)
+ | MaIX0 -> p5
+ | MaIX1(b) -> (f7 b)
+ | MaIX2(w) -> (f8 w)
+ | MaSP1(b) -> (f9 b)
+ | MaSP2(w) -> (f10 w)
+ | MaDIR1_to_DIR1(b,b1) -> (f11 b b1)
+ | MaIMM1_to_DIR1(b,b1) -> (f12 b b1)
+ | MaIX0p_to_DIR1(b) -> (f13 b)
+ | MaDIR1_to_IX0p(b) -> (f14 b)
+ | MaINHA_and_IMM1(b) -> (f15 b)
+ | MaINHX_and_IMM1(b) -> (f16 b)
+ | MaIMM1_and_IMM1(b,b1) -> (f17 b b1)
+ | MaDIR1_and_IMM1(b,b1) -> (f18 b b1)
+ | MaIX0_and_IMM1(b) -> (f19 b)
+ | MaIX0p_and_IMM1(b) -> (f20 b)
+ | MaIX1_and_IMM1(b,b1) -> (f21 b b1)
+ | MaIX1p_and_IMM1(b,b1) -> (f22 b b1)
+ | MaSP1_and_IMM1(b,b1) -> (f23 b b1)
+ | MaDIRn(o,b) -> (f24 o b)
+ | MaDIRn_and_IMM1(o,b,b1) -> (f25 o b b1)
+ | MaTNY(e) -> (f26 e)
+ | MaSRT(b) -> (f27 b))
+))))))))))))))))))))))))))))))))))))
+;;
+
+let mA_check_rect =
+(function p -> (function p1 -> (function p2 -> (function p3 -> (function p4 -> (function f -> (function f1 -> (function f2 -> (function f3 -> (function f4 -> (function f5 -> (function f6 -> (function p5 -> (function f7 -> (function f8 -> (function f9 -> (function f10 -> (function f11 -> (function f12 -> (function f13 -> (function f14 -> (function f15 -> (function f16 -> (function f17 -> (function f18 -> (function f19 -> (function f20 -> (function f21 -> (function f22 -> (function f23 -> (function f24 -> (function f25 -> (function f26 -> (function f27 -> (function i -> (function m -> 
+(match m with 
+   MaINH -> p
+ | MaINHA -> p1
+ | MaINHX -> p2
+ | MaINHH -> p3
+ | MaINHX0ADD -> p4
+ | MaINHX1ADD(b) -> (f b)
+ | MaINHX2ADD(w) -> (f1 w)
+ | MaIMM1(b) -> (f2 b)
+ | MaIMM1EXT(b) -> (f3 b)
+ | MaIMM2(w) -> (f4 w)
+ | MaDIR1(b) -> (f5 b)
+ | MaDIR2(w) -> (f6 w)
+ | MaIX0 -> p5
+ | MaIX1(b) -> (f7 b)
+ | MaIX2(w) -> (f8 w)
+ | MaSP1(b) -> (f9 b)
+ | MaSP2(w) -> (f10 w)
+ | MaDIR1_to_DIR1(b,b1) -> (f11 b b1)
+ | MaIMM1_to_DIR1(b,b1) -> (f12 b b1)
+ | MaIX0p_to_DIR1(b) -> (f13 b)
+ | MaDIR1_to_IX0p(b) -> (f14 b)
+ | MaINHA_and_IMM1(b) -> (f15 b)
+ | MaINHX_and_IMM1(b) -> (f16 b)
+ | MaIMM1_and_IMM1(b,b1) -> (f17 b b1)
+ | MaDIR1_and_IMM1(b,b1) -> (f18 b b1)
+ | MaIX0_and_IMM1(b) -> (f19 b)
+ | MaIX0p_and_IMM1(b) -> (f20 b)
+ | MaIX1_and_IMM1(b,b1) -> (f21 b b1)
+ | MaIX1p_and_IMM1(b,b1) -> (f22 b b1)
+ | MaSP1_and_IMM1(b,b1) -> (f23 b b1)
+ | MaDIRn(o,b) -> (f24 o b)
+ | MaDIRn_and_IMM1(o,b,b1) -> (f25 o b b1)
+ | MaTNY(e) -> (f26 e)
+ | MaSRT(b) -> (f27 b))
+))))))))))))))))))))))))))))))))))))
+;;
+
+type instruction =
+Instr of Matita_freescale_opcode.instr_mode * Matita_freescale_opcode.opcode * mA_check
+;;
+
+let instruction_rec =
+(function f -> (function i -> 
+(match i with 
+   Instr(i1,o,m) -> (f i1 o m))
+))
+;;
+
+let instruction_rect =
+(function f -> (function i -> 
+(match i with 
+   Instr(i1,o,m) -> (f i1 o m))
+))
+;;
+
+let args_picker =
+(function m -> (function i -> (function args -> 
+(match args with 
+   MaINH -> Obj.magic ((Matita_list_list.Nil))
+ | MaINHA -> Obj.magic ((Matita_list_list.Nil))
+ | MaINHX -> Obj.magic ((Matita_list_list.Nil))
+ | MaINHH -> Obj.magic ((Matita_list_list.Nil))
+ | MaINHX0ADD -> Obj.magic ((Matita_list_list.Nil))
+ | MaINHX1ADD(b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaINHX2ADD(w) -> Obj.magic ((Matita_list_list.Cons((TByte((Matita_freescale_word16.w16h w))),(Matita_list_list.Cons((TByte((Matita_freescale_word16.w16l w))),(Matita_list_list.Nil))))))
+ | MaIMM1(b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaIMM1EXT(b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaIMM2(w) -> Obj.magic ((Matita_list_list.Cons((TByte((Matita_freescale_word16.w16h w))),(Matita_list_list.Cons((TByte((Matita_freescale_word16.w16l w))),(Matita_list_list.Nil))))))
+ | MaDIR1(b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaDIR2(w) -> Obj.magic ((Matita_list_list.Cons((TByte((Matita_freescale_word16.w16h w))),(Matita_list_list.Cons((TByte((Matita_freescale_word16.w16l w))),(Matita_list_list.Nil))))))
+ | MaIX0 -> Obj.magic ((Matita_list_list.Nil))
+ | MaIX1(b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaIX2(w) -> Obj.magic ((Matita_list_list.Cons((TByte((Matita_freescale_word16.w16h w))),(Matita_list_list.Cons((TByte((Matita_freescale_word16.w16l w))),(Matita_list_list.Nil))))))
+ | MaSP1(b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaSP2(w) -> Obj.magic ((Matita_list_list.Cons((TByte((Matita_freescale_word16.w16h w))),(Matita_list_list.Cons((TByte((Matita_freescale_word16.w16l w))),(Matita_list_list.Nil))))))
+ | MaDIR1_to_DIR1(b1,b2) -> Obj.magic ((Matita_list_list.Cons((TByte(b1)),(Matita_list_list.Cons((TByte(b2)),(Matita_list_list.Nil))))))
+ | MaIMM1_to_DIR1(b1,b2) -> Obj.magic ((Matita_list_list.Cons((TByte(b1)),(Matita_list_list.Cons((TByte(b2)),(Matita_list_list.Nil))))))
+ | MaIX0p_to_DIR1(b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaDIR1_to_IX0p(b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaINHA_and_IMM1(b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaINHX_and_IMM1(b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaIMM1_and_IMM1(b1,b2) -> Obj.magic ((Matita_list_list.Cons((TByte(b1)),(Matita_list_list.Cons((TByte(b2)),(Matita_list_list.Nil))))))
+ | MaDIR1_and_IMM1(b1,b2) -> Obj.magic ((Matita_list_list.Cons((TByte(b1)),(Matita_list_list.Cons((TByte(b2)),(Matita_list_list.Nil))))))
+ | MaIX0_and_IMM1(b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaIX0p_and_IMM1(b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaIX1_and_IMM1(b1,b2) -> Obj.magic ((Matita_list_list.Cons((TByte(b1)),(Matita_list_list.Cons((TByte(b2)),(Matita_list_list.Nil))))))
+ | MaIX1p_and_IMM1(b1,b2) -> Obj.magic ((Matita_list_list.Cons((TByte(b1)),(Matita_list_list.Cons((TByte(b2)),(Matita_list_list.Nil))))))
+ | MaSP1_and_IMM1(b1,b2) -> Obj.magic ((Matita_list_list.Cons((TByte(b1)),(Matita_list_list.Cons((TByte(b2)),(Matita_list_list.Nil))))))
+ | MaDIRn(_,b) -> Obj.magic ((Matita_list_list.Cons((TByte(b)),(Matita_list_list.Nil))))
+ | MaDIRn_and_IMM1(_,b1,b2) -> Obj.magic ((Matita_list_list.Cons((TByte(b1)),(Matita_list_list.Cons((TByte(b2)),(Matita_list_list.Nil))))))
+ | MaTNY(_) -> Obj.magic ((Matita_list_list.Nil))
+ | MaSRT(_) -> Obj.magic ((Matita_list_list.Nil)))
+)))
+;;
+
+let bytes_of_pseudo_instr_mode_param =
+(function m -> (function o -> (function i -> (function p -> (let rec aux = 
+(function param -> 
+(match param with 
+   Matita_list_list.Nil -> (Matita_datatypes_constructors.None)
+ | Matita_list_list.Cons(hd,tl) -> 
+(match (Matita_freescale_extra.and_bool (Matita_freescale_opcode.eqop m o (Matita_freescale_extra.fst4T hd)) (Matita_freescale_opcode.eqim i (Matita_freescale_extra.snd4T hd))) with 
+   Matita_datatypes_bool.True -> 
+(match (Matita_freescale_extra.thd4T hd) with 
+   Matita_freescale_opcode.Byte(isab) -> (Matita_datatypes_constructors.Some((Matita_list_list.append (Matita_list_list.Cons((TByte(isab)),(Matita_list_list.Nil))) (args_picker m i p))))
+ | Matita_freescale_opcode.Word(isaw) -> (Matita_datatypes_constructors.Some((Matita_list_list.append (Matita_list_list.Cons((TByte((Matita_freescale_word16.w16h isaw))),(Matita_list_list.Cons((TByte((Matita_freescale_word16.w16l isaw))),(Matita_list_list.Nil))))) (args_picker m i p)))))
+
+ | Matita_datatypes_bool.False -> (aux tl))
+)
+) in aux (opcode_table m))))))
+;;
+
+let opcode_to_any =
+(function m -> (function o -> (Matita_freescale_opcode.AnyOP(o))))
+;;
+
+let compile =
+(function mcu -> (function i -> (function op -> (function arg -> (let res = (bytes_of_pseudo_instr_mode_param mcu (opcode_to_any mcu op) i arg) in (let value = (
+(match res with 
+   Matita_datatypes_constructors.None -> Obj.magic ((Matita_logic_connectives.false_rect))
+ | Matita_datatypes_constructors.Some(v) -> Obj.magic (v))
+) in value))))))
+;;
+
+let source_to_byte8 =
+(function mcu -> 
+(match mcu with 
+   Matita_freescale_opcode.HC05 -> Obj.magic ((function l -> (let rec aux = 
+(function p1 -> (function p2 -> 
+(match p1 with 
+   Matita_list_list.Nil -> p2
+ | Matita_list_list.Cons(hd,tl) -> 
+(match hd with 
+   TByte(b) -> (aux tl (Matita_list_list.append p2 (Matita_list_list.Cons(b,(Matita_list_list.Nil))))))
+)
+)) in aux l (Matita_list_list.Nil))))
+ | Matita_freescale_opcode.HC08 -> Obj.magic ((function l -> (let rec aux = 
+(function p1 -> (function p2 -> 
+(match p1 with 
+   Matita_list_list.Nil -> p2
+ | Matita_list_list.Cons(hd,tl) -> 
+(match hd with 
+   TByte(b) -> (aux tl (Matita_list_list.append p2 (Matita_list_list.Cons(b,(Matita_list_list.Nil))))))
+)
+)) in aux l (Matita_list_list.Nil))))
+ | Matita_freescale_opcode.HCS08 -> Obj.magic ((function l -> (let rec aux = 
+(function p1 -> (function p2 -> 
+(match p1 with 
+   Matita_list_list.Nil -> p2
+ | Matita_list_list.Cons(hd,tl) -> 
+(match hd with 
+   TByte(b) -> (aux tl (Matita_list_list.append p2 (Matita_list_list.Cons(b,(Matita_list_list.Nil))))))
+)
+)) in aux l (Matita_list_list.Nil))))
+ | Matita_freescale_opcode.RS08 -> Obj.magic ((function l -> (let rec aux = 
+(function p1 -> (function p2 -> 
+(match p1 with 
+   Matita_list_list.Nil -> p2
+ | Matita_list_list.Cons(hd,tl) -> 
+(match hd with 
+   TByte(b) -> (aux tl (Matita_list_list.append p2 (Matita_list_list.Cons(b,(Matita_list_list.Nil))))))
+)
+)) in aux l (Matita_list_list.Nil)))))
+)
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_word16.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_word16.ml
new file mode 100644 (file)
index 0000000..069774a
--- /dev/null
@@ -0,0 +1,271 @@
+type word16 =
+Mk_word16 of Matita_freescale_byte8.byte8 * Matita_freescale_byte8.byte8
+;;
+
+let word16_rec =
+(function f -> (function w -> 
+(match w with 
+   Mk_word16(b,b1) -> (f b b1))
+))
+;;
+
+let word16_rect =
+(function f -> (function w -> 
+(match w with 
+   Mk_word16(b,b1) -> (f b b1))
+))
+;;
+
+let w16h =
+(function w -> 
+(match w with 
+   Mk_word16(w16h,w16l) -> w16h)
+)
+;;
+
+let w16l =
+(function w -> 
+(match w with 
+   Mk_word16(w16h,w16l) -> w16l)
+)
+;;
+
+let eq_w16 =
+(function w1 -> (function w2 -> (Matita_freescale_extra.and_bool (Matita_freescale_byte8.eq_b8 (w16h w1) (w16h w2)) (Matita_freescale_byte8.eq_b8 (w16l w1) (w16l w2)))))
+;;
+
+let lt_w16 =
+(function w1 -> (function w2 -> 
+(match (Matita_freescale_byte8.lt_b8 (w16h w1) (w16h w2)) with 
+   Matita_datatypes_bool.True -> Matita_datatypes_bool.True
+ | Matita_datatypes_bool.False -> 
+(match (Matita_freescale_byte8.gt_b8 (w16h w1) (w16h w2)) with 
+   Matita_datatypes_bool.True -> Matita_datatypes_bool.False
+ | Matita_datatypes_bool.False -> (Matita_freescale_byte8.lt_b8 (w16l w1) (w16l w2)))
+)
+))
+;;
+
+let le_w16 =
+(function w1 -> (function w2 -> (Matita_freescale_extra.or_bool (eq_w16 w1 w2) (lt_w16 w1 w2))))
+;;
+
+let gt_w16 =
+(function w1 -> (function w2 -> (Matita_freescale_extra.not_bool (le_w16 w1 w2))))
+;;
+
+let ge_w16 =
+(function w1 -> (function w2 -> (Matita_freescale_extra.not_bool (lt_w16 w1 w2))))
+;;
+
+let and_w16 =
+(function w1 -> (function w2 -> (Mk_word16((Matita_freescale_byte8.and_b8 (w16h w1) (w16h w2)),(Matita_freescale_byte8.and_b8 (w16l w1) (w16l w2))))))
+;;
+
+let or_w16 =
+(function w1 -> (function w2 -> (Mk_word16((Matita_freescale_byte8.or_b8 (w16h w1) (w16h w2)),(Matita_freescale_byte8.or_b8 (w16l w1) (w16l w2))))))
+;;
+
+let xor_w16 =
+(function w1 -> (function w2 -> (Mk_word16((Matita_freescale_byte8.xor_b8 (w16h w1) (w16h w2)),(Matita_freescale_byte8.xor_b8 (w16l w1) (w16l w2))))))
+;;
+
+let rcr_w16 =
+(function w -> (function c -> 
+(match (Matita_freescale_byte8.rcr_b8 (w16h w) c) with 
+   Matita_datatypes_constructors.Pair(wh',c') -> 
+(match (Matita_freescale_byte8.rcr_b8 (w16l w) c') with 
+   Matita_datatypes_constructors.Pair(wl',c'') -> (Matita_datatypes_constructors.Pair((Mk_word16(wh',wl')),c'')))
+)
+))
+;;
+
+let shr_w16 =
+(function w -> 
+(match (Matita_freescale_byte8.rcr_b8 (w16h w) Matita_datatypes_bool.False) with 
+   Matita_datatypes_constructors.Pair(wh',c') -> 
+(match (Matita_freescale_byte8.rcr_b8 (w16l w) c') with 
+   Matita_datatypes_constructors.Pair(wl',c'') -> (Matita_datatypes_constructors.Pair((Mk_word16(wh',wl')),c'')))
+)
+)
+;;
+
+let ror_w16 =
+(function w -> 
+(match (Matita_freescale_byte8.rcr_b8 (w16h w) Matita_datatypes_bool.False) with 
+   Matita_datatypes_constructors.Pair(wh',c') -> 
+(match (Matita_freescale_byte8.rcr_b8 (w16l w) c') with 
+   Matita_datatypes_constructors.Pair(wl',c'') -> 
+(match c'' with 
+   Matita_datatypes_bool.True -> (Mk_word16((Matita_freescale_byte8.or_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)) wh'),wl'))
+ | Matita_datatypes_bool.False -> (Mk_word16(wh',wl')))
+)
+)
+)
+;;
+
+let ror_w16_n =
+let rec ror_w16_n = 
+(function w -> (function n -> 
+(match n with 
+   Matita_nat_nat.O -> w
+ | Matita_nat_nat.S(n') -> (ror_w16_n (ror_w16 w) n'))
+)) in ror_w16_n
+;;
+
+let rcl_w16 =
+(function w -> (function c -> 
+(match (Matita_freescale_byte8.rcl_b8 (w16l w) c) with 
+   Matita_datatypes_constructors.Pair(wl',c') -> 
+(match (Matita_freescale_byte8.rcl_b8 (w16h w) c') with 
+   Matita_datatypes_constructors.Pair(wh',c'') -> (Matita_datatypes_constructors.Pair((Mk_word16(wh',wl')),c'')))
+)
+))
+;;
+
+let shl_w16 =
+(function w -> 
+(match (Matita_freescale_byte8.rcl_b8 (w16l w) Matita_datatypes_bool.False) with 
+   Matita_datatypes_constructors.Pair(wl',c') -> 
+(match (Matita_freescale_byte8.rcl_b8 (w16h w) c') with 
+   Matita_datatypes_constructors.Pair(wh',c'') -> (Matita_datatypes_constructors.Pair((Mk_word16(wh',wl')),c'')))
+)
+)
+;;
+
+let rol_w16 =
+(function w -> 
+(match (Matita_freescale_byte8.rcl_b8 (w16l w) Matita_datatypes_bool.False) with 
+   Matita_datatypes_constructors.Pair(wl',c') -> 
+(match (Matita_freescale_byte8.rcl_b8 (w16h w) c') with 
+   Matita_datatypes_constructors.Pair(wh',c'') -> 
+(match c'' with 
+   Matita_datatypes_bool.True -> (Mk_word16(wh',(Matita_freescale_byte8.or_b8 (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X1)) wl')))
+ | Matita_datatypes_bool.False -> (Mk_word16(wh',wl')))
+)
+)
+)
+;;
+
+let rol_w16_n =
+let rec rol_w16_n = 
+(function w -> (function n -> 
+(match n with 
+   Matita_nat_nat.O -> w
+ | Matita_nat_nat.S(n') -> (rol_w16_n (rol_w16 w) n'))
+)) in rol_w16_n
+;;
+
+let not_w16 =
+(function w -> (Mk_word16((Matita_freescale_byte8.not_b8 (w16h w)),(Matita_freescale_byte8.not_b8 (w16l w)))))
+;;
+
+let plus_w16 =
+(function w1 -> (function w2 -> (function c -> 
+(match (Matita_freescale_byte8.plus_b8 (w16l w1) (w16l w2) c) with 
+   Matita_datatypes_constructors.Pair(l,c') -> 
+(match (Matita_freescale_byte8.plus_b8 (w16h w1) (w16h w2) c') with 
+   Matita_datatypes_constructors.Pair(h,c'') -> (Matita_datatypes_constructors.Pair((Mk_word16(h,l)),c'')))
+)
+)))
+;;
+
+let plus_w16nc =
+(function w1 -> (function w2 -> (Matita_datatypes_constructors.fst (plus_w16 w1 w2 Matita_datatypes_bool.False))))
+;;
+
+let plus_w16c =
+(function w1 -> (function w2 -> (Matita_datatypes_constructors.snd (plus_w16 w1 w2 Matita_datatypes_bool.False))))
+;;
+
+let mSB_w16 =
+(function w -> (Matita_freescale_exadecim.eq_ex Matita_freescale_exadecim.X8 (Matita_freescale_exadecim.and_ex Matita_freescale_exadecim.X8 (Matita_freescale_byte8.b8h (w16h w)))))
+;;
+
+let nat_of_word16 =
+(function w -> (Matita_nat_plus.plus (Matita_nat_times.times (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (Matita_freescale_byte8.nat_of_byte8 (w16h w))) (Matita_freescale_byte8.nat_of_byte8 (w16l w))))
+;;
+
+let word16_of_nat =
+(function n -> (Mk_word16((Matita_freescale_byte8.byte8_of_nat (Matita_nat_div_and_mod.div n (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),(Matita_freescale_byte8.byte8_of_nat n))))
+;;
+
+let pred_w16 =
+(function w -> 
+(match (Matita_freescale_byte8.eq_b8 (w16l w) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))) with 
+   Matita_datatypes_bool.True -> (Mk_word16((Matita_freescale_byte8.pred_b8 (w16h w)),(Matita_freescale_byte8.pred_b8 (w16l w))))
+ | Matita_datatypes_bool.False -> (Mk_word16((w16h w),(Matita_freescale_byte8.pred_b8 (w16l w)))))
+)
+;;
+
+let succ_w16 =
+(function w -> 
+(match (Matita_freescale_byte8.eq_b8 (w16l w) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF))) with 
+   Matita_datatypes_bool.True -> (Mk_word16((Matita_freescale_byte8.succ_b8 (w16h w)),(Matita_freescale_byte8.succ_b8 (w16l w))))
+ | Matita_datatypes_bool.False -> (Mk_word16((w16h w),(Matita_freescale_byte8.succ_b8 (w16l w)))))
+)
+;;
+
+let compl_w16 =
+(function w -> 
+(match (mSB_w16 w) with 
+   Matita_datatypes_bool.True -> (succ_w16 (not_w16 w))
+ | Matita_datatypes_bool.False -> (not_w16 (pred_w16 w)))
+)
+;;
+
+let mul_b8 =
+(function b1 -> (function b2 -> 
+(match b1 with 
+   Matita_freescale_byte8.Mk_byte8(b1h,b1l) -> 
+(match b2 with 
+   Matita_freescale_byte8.Mk_byte8(b2h,b2l) -> 
+(match (Matita_freescale_byte8.mul_ex b1l b2l) with 
+   Matita_freescale_byte8.Mk_byte8(t1_h,t1_l) -> 
+(match (Matita_freescale_byte8.mul_ex b1h b2l) with 
+   Matita_freescale_byte8.Mk_byte8(t2_h,t2_l) -> 
+(match (Matita_freescale_byte8.mul_ex b2h b1l) with 
+   Matita_freescale_byte8.Mk_byte8(t3_h,t3_l) -> 
+(match (Matita_freescale_byte8.mul_ex b1h b2h) with 
+   Matita_freescale_byte8.Mk_byte8(t4_h,t4_l) -> (plus_w16nc (plus_w16nc (plus_w16nc (Mk_word16((Matita_freescale_byte8.Mk_byte8(t4_h,t4_l)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))) (Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,t3_h)),(Matita_freescale_byte8.Mk_byte8(t3_l,Matita_freescale_exadecim.X0))))) (Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,t2_h)),(Matita_freescale_byte8.Mk_byte8(t2_l,Matita_freescale_exadecim.X0))))) (Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(t1_h,t1_l))))))
+)
+)
+)
+)
+)
+))
+;;
+
+let div_b8 =
+(function w -> (function b -> 
+(match (Matita_freescale_byte8.eq_b8 b (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))) with 
+   Matita_datatypes_bool.True -> (Matita_freescale_extra.TripleT((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.XF,Matita_freescale_exadecim.XF)),(w16l w),Matita_datatypes_bool.True))
+ | Matita_datatypes_bool.False -> 
+(match (eq_w16 w (Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))) with 
+   Matita_datatypes_bool.True -> (Matita_freescale_extra.TripleT((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),(Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),Matita_datatypes_bool.False))
+ | Matita_datatypes_bool.False -> (let rec aux = 
+(function divd -> (function divs -> (function molt -> (function q -> (function c -> (let w' = (plus_w16nc divd (compl_w16 divs)) in 
+(match c with 
+   Matita_nat_nat.O -> 
+(match (le_w16 divs divd) with 
+   Matita_datatypes_bool.True -> (Matita_freescale_extra.TripleT((Matita_freescale_byte8.or_b8 molt q),(w16l w'),(Matita_freescale_extra.not_bool (Matita_freescale_byte8.eq_b8 (w16h w') (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0))))))
+ | Matita_datatypes_bool.False -> (Matita_freescale_extra.TripleT(q,(w16l divd),(Matita_freescale_extra.not_bool (Matita_freescale_byte8.eq_b8 (w16h divd) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)))))))
+
+ | Matita_nat_nat.S(c') -> 
+(match (le_w16 divs divd) with 
+   Matita_datatypes_bool.True -> (aux w' (ror_w16 divs) (Matita_freescale_byte8.ror_b8 molt) (Matita_freescale_byte8.or_b8 molt q) c')
+ | Matita_datatypes_bool.False -> (aux divd (ror_w16 divs) (Matita_freescale_byte8.ror_b8 molt) q c'))
+)
+)))))) in aux w (rol_w16_n (Mk_word16((Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)),b)) (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X8,Matita_freescale_exadecim.X0)) (Matita_freescale_byte8.Mk_byte8(Matita_freescale_exadecim.X0,Matita_freescale_exadecim.X0)) (Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O))))))))))))))))
+)
+))
+;;
+
+let in_range =
+(function x -> (function inf -> (function sup -> (Matita_freescale_extra.and_bool (Matita_freescale_extra.and_bool (le_w16 inf sup) (ge_w16 x inf)) (le_w16 x sup)))))
+;;
+
+let forall_word16 =
+(function p -> (Matita_freescale_byte8.forall_byte8 (function bh -> (Matita_freescale_byte8.forall_byte8 (function bl -> (p (Mk_word16(bh,bl))))))))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_higher_order_defs_functions.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_higher_order_defs_functions.ml
new file mode 100644 (file)
index 0000000..8e662cb
--- /dev/null
@@ -0,0 +1,4 @@
+let compose =
+(function f -> (function g -> (function x -> (f (g x)))))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_list_list.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_list_list.ml
new file mode 100644 (file)
index 0000000..d029b57
--- /dev/null
@@ -0,0 +1,74 @@
+type ('a) list =
+Nil
+ | Cons of 'a * ('a) list
+;;
+
+let list_rec =
+(function p -> (function f -> let rec aux = 
+(function l -> 
+(match l with 
+   Nil -> p
+ | Cons(t,l1) -> (f t l1 (aux l1)))
+) in aux))
+;;
+
+let list_rect =
+(function p -> (function f -> let rec aux = 
+(function l -> 
+(match l with 
+   Nil -> p
+ | Cons(t,l1) -> (f t l1 (aux l1)))
+) in aux))
+;;
+
+let id_list =
+let rec id_list = 
+(function l -> 
+(match l with 
+   Nil -> (Nil)
+ | Cons(hd,tl) -> (Cons(hd,(id_list tl))))
+) in id_list
+;;
+
+let append =
+let rec append = 
+(function l1 -> (function l2 -> 
+(match l1 with 
+   Nil -> l2
+ | Cons(hd,tl) -> (Cons(hd,(append tl l2))))
+)) in append
+;;
+
+let tail =
+(function l -> 
+(match l with 
+   Nil -> (Nil)
+ | Cons(hd,tl) -> tl)
+)
+;;
+
+let x1 =
+(Matita_nat_nat.S(Matita_nat_nat.O))
+;;
+
+let x2 =
+(Matita_nat_nat.S(x1))
+;;
+
+let x3 =
+(Matita_nat_nat.S(x2))
+;;
+
+let nth =
+let rec nth = 
+(function l -> (function d -> (function n -> 
+(match n with 
+   Matita_nat_nat.O -> 
+(match l with 
+   Nil -> d
+ | Cons(x,_) -> x)
+
+ | Matita_nat_nat.S(n') -> (nth (tail l) d n'))
+))) in nth
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_logic_connectives.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_logic_connectives.ml
new file mode 100644 (file)
index 0000000..8af935a
--- /dev/null
@@ -0,0 +1,24 @@
+let true_rec =
+(function p -> p)
+;;
+
+let true_rect =
+(function p -> p)
+;;
+
+let false_rec () =
+assert false
+;;
+
+let false_rect () =
+assert false
+;;
+
+let and_rec =
+(function f -> (f))
+;;
+
+let and_rect =
+(function f -> (f))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_logic_equality.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_logic_equality.ml
new file mode 100644 (file)
index 0000000..d51d09d
--- /dev/null
@@ -0,0 +1,20 @@
+let eq_rec =
+(function a -> (function p -> (function a1 -> p)))
+;;
+
+let eq_rect =
+(function a -> (function p -> (function a1 -> p)))
+;;
+
+let eq_rect' =
+(function x -> (function p -> (function y -> p)))
+;;
+
+let eq_elim_r' =
+(function x -> (function p -> (function y -> p)))
+;;
+
+let eq_elim_r'' =
+(function x -> (function p -> (function y -> p)))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_compare.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_compare.ml
new file mode 100644 (file)
index 0000000..e37ab1d
--- /dev/null
@@ -0,0 +1,51 @@
+let eqb =
+let rec eqb = 
+(function n -> (function m -> 
+(match n with 
+   Matita_nat_nat.O -> 
+(match m with 
+   Matita_nat_nat.O -> Matita_datatypes_bool.True
+ | Matita_nat_nat.S(q) -> Matita_datatypes_bool.False)
+
+ | Matita_nat_nat.S(p) -> 
+(match m with 
+   Matita_nat_nat.O -> Matita_datatypes_bool.False
+ | Matita_nat_nat.S(q) -> (eqb p q))
+)
+)) in eqb
+;;
+
+let leb =
+let rec leb = 
+(function n -> (function m -> 
+(match n with 
+   Matita_nat_nat.O -> Matita_datatypes_bool.True
+ | Matita_nat_nat.S(p) -> 
+(match m with 
+   Matita_nat_nat.O -> Matita_datatypes_bool.False
+ | Matita_nat_nat.S(q) -> (leb p q))
+)
+)) in leb
+;;
+
+let ltb =
+(function n -> (function m -> (Matita_datatypes_bool.andb (leb n m) (Matita_datatypes_bool.notb (eqb n m)))))
+;;
+
+let nat_compare =
+let rec nat_compare = 
+(function n -> (function m -> 
+(match n with 
+   Matita_nat_nat.O -> 
+(match m with 
+   Matita_nat_nat.O -> Matita_datatypes_compare.EQ
+ | Matita_nat_nat.S(q) -> Matita_datatypes_compare.LT)
+
+ | Matita_nat_nat.S(p) -> 
+(match m with 
+   Matita_nat_nat.O -> Matita_datatypes_compare.GT
+ | Matita_nat_nat.S(q) -> (nat_compare p q))
+)
+)) in nat_compare
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_div_and_mod.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_div_and_mod.ml
new file mode 100644 (file)
index 0000000..87ee54a
--- /dev/null
@@ -0,0 +1,67 @@
+let mod_aux =
+let rec mod_aux = 
+(function p -> (function m -> (function n -> 
+(match (Matita_nat_compare.leb m n) with 
+   Matita_datatypes_bool.True -> m
+ | Matita_datatypes_bool.False -> 
+(match p with 
+   Matita_nat_nat.O -> m
+ | Matita_nat_nat.S(q) -> (mod_aux q (Matita_nat_minus.minus m (Matita_nat_nat.S(n))) n))
+)
+))) in mod_aux
+;;
+
+let mod_ =
+(function n -> (function m -> 
+(match m with 
+   Matita_nat_nat.O -> n
+ | Matita_nat_nat.S(p) -> (mod_aux n n p))
+))
+;;
+
+let div_aux =
+let rec div_aux = 
+(function p -> (function m -> (function n -> 
+(match (Matita_nat_compare.leb m n) with 
+   Matita_datatypes_bool.True -> Matita_nat_nat.O
+ | Matita_datatypes_bool.False -> 
+(match p with 
+   Matita_nat_nat.O -> Matita_nat_nat.O
+ | Matita_nat_nat.S(q) -> (Matita_nat_nat.S((div_aux q (Matita_nat_minus.minus m (Matita_nat_nat.S(n))) n))))
+)
+))) in div_aux
+;;
+
+let div =
+(function n -> (function m -> 
+(match m with 
+   Matita_nat_nat.O -> (Matita_nat_nat.S(n))
+ | Matita_nat_nat.S(p) -> (div_aux n n p))
+))
+;;
+
+let div_mod_spec_rec =
+(function n -> (function n1 -> (function n2 -> (function n3 -> (function f -> (f))))))
+;;
+
+let div_mod_spec_rect =
+(function n -> (function n1 -> (function n2 -> (function n3 -> (function f -> (f))))))
+;;
+
+let n_divides_aux =
+let rec n_divides_aux = 
+(function p -> (function n -> (function m -> (function acc -> 
+(match (mod_ n m) with 
+   Matita_nat_nat.O -> 
+(match p with 
+   Matita_nat_nat.O -> (Matita_datatypes_constructors.Pair(acc,n))
+ | Matita_nat_nat.S(p) -> (n_divides_aux p (div n m) m (Matita_nat_nat.S(acc))))
+
+ | Matita_nat_nat.S(a) -> (Matita_datatypes_constructors.Pair(acc,n)))
+)))) in n_divides_aux
+;;
+
+let n_divides =
+(function n -> (function m -> (n_divides_aux n n m Matita_nat_nat.O)))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_exp.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_exp.ml
new file mode 100644 (file)
index 0000000..dd2b495
--- /dev/null
@@ -0,0 +1,9 @@
+let exp =
+let rec exp = 
+(function n -> (function m -> 
+(match m with 
+   Matita_nat_nat.O -> (Matita_nat_nat.S(Matita_nat_nat.O))
+ | Matita_nat_nat.S(p) -> (Matita_nat_times.times n (exp n p)))
+)) in exp
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_factorial.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_factorial.ml
new file mode 100644 (file)
index 0000000..ccba605
--- /dev/null
@@ -0,0 +1,9 @@
+let fact =
+let rec fact = 
+(function n -> 
+(match n with 
+   Matita_nat_nat.O -> (Matita_nat_nat.S(Matita_nat_nat.O))
+ | Matita_nat_nat.S(m) -> (Matita_nat_times.times (Matita_nat_nat.S(m)) (fact m)))
+) in fact
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_minimization.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_minimization.ml
new file mode 100644 (file)
index 0000000..ac33284
--- /dev/null
@@ -0,0 +1,30 @@
+let max =
+let rec max = 
+(function i -> (function f -> 
+(match (f i) with 
+   Matita_datatypes_bool.True -> i
+ | Matita_datatypes_bool.False -> 
+(match i with 
+   Matita_nat_nat.O -> Matita_nat_nat.O
+ | Matita_nat_nat.S(j) -> (max j f))
+)
+)) in max
+;;
+
+let min_aux =
+let rec min_aux = 
+(function off -> (function n -> (function f -> 
+(match (f n) with 
+   Matita_datatypes_bool.True -> n
+ | Matita_datatypes_bool.False -> 
+(match off with 
+   Matita_nat_nat.O -> n
+ | Matita_nat_nat.S(p) -> (min_aux p (Matita_nat_nat.S(n)) f))
+)
+))) in min_aux
+;;
+
+let min =
+(function n -> (function f -> (min_aux n Matita_nat_nat.O f)))
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_minus.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_minus.ml
new file mode 100644 (file)
index 0000000..b309f29
--- /dev/null
@@ -0,0 +1,13 @@
+let minus =
+let rec minus = 
+(function n -> (function m -> 
+(match n with 
+   Matita_nat_nat.O -> Matita_nat_nat.O
+ | Matita_nat_nat.S(p) -> 
+(match m with 
+   Matita_nat_nat.O -> (Matita_nat_nat.S(p))
+ | Matita_nat_nat.S(q) -> (minus p q))
+)
+)) in minus
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_nat.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_nat.ml
new file mode 100644 (file)
index 0000000..dfefaeb
--- /dev/null
@@ -0,0 +1,31 @@
+type nat =
+O
+ | S of nat
+;;
+
+let nat_rec =
+(function p -> (function f -> let rec aux = 
+(function n -> 
+(match n with 
+   O -> p
+ | S(n1) -> (f n1 (aux n1)))
+) in aux))
+;;
+
+let nat_rect =
+(function p -> (function f -> let rec aux = 
+(function n -> 
+(match n with 
+   O -> p
+ | S(n1) -> (f n1 (aux n1)))
+) in aux))
+;;
+
+let pred =
+(function n -> 
+(match n with 
+   O -> O
+ | S(p) -> p)
+)
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_plus.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_plus.ml
new file mode 100644 (file)
index 0000000..fbb4012
--- /dev/null
@@ -0,0 +1,9 @@
+let plus =
+let rec plus = 
+(function n -> (function m -> 
+(match n with 
+   Matita_nat_nat.O -> m
+ | Matita_nat_nat.S(p) -> (Matita_nat_nat.S((plus p m))))
+)) in plus
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_primes.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_primes.ml
new file mode 100644 (file)
index 0000000..894df89
--- /dev/null
@@ -0,0 +1,28 @@
+let divides_b =
+(function n -> (function m -> (Matita_nat_compare.eqb (Matita_nat_div_and_mod.mod_ m n) Matita_nat_nat.O)))
+;;
+
+let smallest_factor =
+(function n -> 
+(match n with 
+   Matita_nat_nat.O -> Matita_nat_nat.O
+ | Matita_nat_nat.S(p) -> 
+(match p with 
+   Matita_nat_nat.O -> (Matita_nat_nat.S(Matita_nat_nat.O))
+ | Matita_nat_nat.S(q) -> (Matita_nat_minimization.min_aux q (Matita_nat_nat.S((Matita_nat_nat.S(Matita_nat_nat.O)))) (function m -> (Matita_nat_compare.eqb (Matita_nat_div_and_mod.mod_ (Matita_nat_nat.S((Matita_nat_nat.S(q)))) m) Matita_nat_nat.O))))
+)
+)
+;;
+
+let primeb =
+(function n -> 
+(match n with 
+   Matita_nat_nat.O -> Matita_datatypes_bool.False
+ | Matita_nat_nat.S(p) -> 
+(match p with 
+   Matita_nat_nat.O -> Matita_datatypes_bool.False
+ | Matita_nat_nat.S(q) -> (Matita_nat_compare.eqb (smallest_factor (Matita_nat_nat.S((Matita_nat_nat.S(q))))) (Matita_nat_nat.S((Matita_nat_nat.S(q))))))
+)
+)
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_sigma_and_pi.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_sigma_and_pi.ml
new file mode 100644 (file)
index 0000000..46c043f
--- /dev/null
@@ -0,0 +1,18 @@
+let sigma =
+let rec sigma = 
+(function n -> (function f -> (function m -> 
+(match n with 
+   Matita_nat_nat.O -> (f m)
+ | Matita_nat_nat.S(p) -> (Matita_nat_plus.plus (f (Matita_nat_plus.plus (Matita_nat_nat.S(p)) m)) (sigma p f m)))
+))) in sigma
+;;
+
+let pi =
+let rec pi = 
+(function n -> (function f -> (function m -> 
+(match n with 
+   Matita_nat_nat.O -> (f m)
+ | Matita_nat_nat.S(p) -> (Matita_nat_times.times (f (Matita_nat_plus.plus (Matita_nat_nat.S(p)) m)) (pi p f m)))
+))) in pi
+;;
+
diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_times.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_times.ml
new file mode 100644 (file)
index 0000000..37998ee
--- /dev/null
@@ -0,0 +1,9 @@
+let times =
+let rec times = 
+(function n -> (function m -> 
+(match n with 
+   Matita_nat_nat.O -> Matita_nat_nat.O
+ | Matita_nat_nat.S(p) -> (Matita_nat_plus.plus m (times p m)))
+)) in times
+;;
+