From: Claudio Sacerdoti Coen Date: Fri, 11 Apr 2008 13:09:02 +0000 (+0000) Subject: Extracted code. The main executable is medium_tests that runs the emulator on X-Git-Tag: make_still_working~5358 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=ecdb00b94db5abc2f7df2dcbaa76b1b5639ebaee;p=helm.git Extracted code. The main executable is medium_tests that runs the emulator on a few assembly programs with inputs of different sizes: * string reverse * counting sort * perfect numbers --- 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 index 000000000..a1d2b83e0 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/Makefile @@ -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 index 000000000..2fead65e0 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_datatypes_bool.ml @@ -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 index 000000000..66e19cd66 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_datatypes_compare.ml @@ -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 index 000000000..ff2e7cd21 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_datatypes_constructors.ml @@ -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 index 000000000..03f769cbd --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_aux_bases.ml @@ -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 index 000000000..8c92bff3d --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_byte8.ml @@ -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 index 000000000..1853e055c --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_debug.ml @@ -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 index 000000000..71a546b8d --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_exadecim.ml @@ -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 index 000000000..e4600529c --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_extra.ml @@ -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 index 000000000..22876976d --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_load_write.ml @@ -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 index 000000000..bd31cde93 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_medium_tests.ml @@ -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 index 000000000..c57b32135 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_medium_tests_lemmas.ml @@ -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 index 000000000..f87b82e18 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_medium_tests_tools.ml @@ -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 index 000000000..cfda79890 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_abs.ml @@ -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 index 000000000..85f7acb9a --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_bits.ml @@ -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 index 000000000..6f4abfd02 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_func.ml @@ -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 index 000000000..c65614960 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_struct.ml @@ -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 index 000000000..115544794 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_memory_trees.ml @@ -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 index 000000000..c29968660 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_micro_tests.ml @@ -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 index 000000000..2c3359bce --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_model.ml @@ -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 index 000000000..607ecd1f4 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_multivm.ml @@ -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 index 000000000..4cfdabc08 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_opcode.ml @@ -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 index 000000000..728d3abe5 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_status.ml @@ -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 index 000000000..1bbdb4833 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_HC05.ml @@ -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 index 000000000..404d51b76 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_HC08.ml @@ -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 index 000000000..84ed8a57b --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_HCS08.ml @@ -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 index 000000000..6a47f09b9 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_table_RS08.ml @@ -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 index 000000000..91c34be52 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_translation.ml @@ -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 index 000000000..069774afc --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_freescale_word16.ml @@ -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 index 000000000..8e662cb47 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_higher_order_defs_functions.ml @@ -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 index 000000000..d029b5784 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_list_list.ml @@ -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 index 000000000..8af935a4e --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_logic_connectives.ml @@ -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 index 000000000..d51d09d42 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_logic_equality.ml @@ -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 index 000000000..e37ab1d68 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_compare.ml @@ -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 index 000000000..87ee54a74 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_div_and_mod.ml @@ -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 index 000000000..dd2b495cf --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_exp.ml @@ -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 index 000000000..ccba60502 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_factorial.ml @@ -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 index 000000000..ac33284b8 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_minimization.ml @@ -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 index 000000000..b309f29bc --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_minus.ml @@ -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 index 000000000..dfefaeb2d --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_nat.ml @@ -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 index 000000000..fbb401254 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_plus.ml @@ -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 index 000000000..894df8904 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_primes.ml @@ -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 index 000000000..46c043f3a --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_sigma_and_pi.ml @@ -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 index 000000000..37998eed2 --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_times.ml @@ -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 +;; +