aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Gross2018-11-28 15:16:31 -0500
committerJason Gross2018-11-28 15:16:31 -0500
commitf5e3d9e29f030a86433bb2700e55c4c183593163 (patch)
tree519a8de15016906348e69a03560c0d8393215d7e
parent5537151575195addd3e1e0003025384a85d957f7 (diff)
Byte.v: use right-associative tuples in bits
We encode the conversion to bits with little-endian right-associative tuples to ensure that the head of the tuple (the `fst` element) is the least significant bit. We still enforce that the ordering of bits matches the order of the `bool`s in the `ascii` inductive type.
-rw-r--r--test-suite/output/Search.out9
-rw-r--r--theories/Init/Byte.v1028
-rw-r--r--theories/Strings/Ascii.v8
-rw-r--r--theories/Strings/Byte.v4
4 files changed, 526 insertions, 523 deletions
diff --git a/test-suite/output/Search.out b/test-suite/output/Search.out
index 20b154b5d0..f4544a0df3 100644
--- a/test-suite/output/Search.out
+++ b/test-suite/output/Search.out
@@ -46,9 +46,11 @@ eq_true_ind:
eq_true_ind_r:
forall (P : bool -> Prop) (b : bool), P b -> eq_true b -> P true
Byte.to_bits:
- Byte.byte -> bool * bool * bool * bool * bool * bool * bool * bool
+ Byte.byte ->
+ bool * (bool * (bool * (bool * (bool * (bool * (bool * bool))))))
Byte.of_bits:
- bool * bool * bool * bool * bool * bool * bool * bool -> Byte.byte
+ bool * (bool * (bool * (bool * (bool * (bool * (bool * bool)))))) ->
+ Byte.byte
andb_true_intro:
forall b1 b2 : bool, b1 = true /\ b2 = true -> (b1 && b2)%bool = true
andb_prop: forall a b : bool, (a && b)%bool = true -> a = true /\ b = true
@@ -57,7 +59,8 @@ BoolSpec_ind:
(P -> P0 true) ->
(Q -> P0 false) -> forall b : bool, BoolSpec P Q b -> P0 b
Byte.to_bits_of_bits:
- forall b : bool * bool * bool * bool * bool * bool * bool * bool,
+ forall
+ b : bool * (bool * (bool * (bool * (bool * (bool * (bool * bool)))))),
Byte.to_bits (Byte.of_bits b) = b
bool_choice:
forall (S : Set) (R1 R2 : S -> Prop),
diff --git a/theories/Init/Byte.v b/theories/Init/Byte.v
index 59b5f5ebe3..eede9d5028 100644
--- a/theories/Init/Byte.v
+++ b/theories/Init/Byte.v
@@ -291,524 +291,524 @@ Local Notation "0" := false.
Local Notation "1" := true.
(** We pick a definition that matches with [Ascii.ascii] *)
-Definition of_bits (b : bool * bool * bool * bool * bool * bool * bool * bool) : byte
+Definition of_bits (b : bool * (bool * (bool * (bool * (bool * (bool * (bool * bool))))))) : byte
:= match b with
- | (0,0,0,0,0,0,0,0) => x00
- | (1,0,0,0,0,0,0,0) => x01
- | (0,1,0,0,0,0,0,0) => x02
- | (1,1,0,0,0,0,0,0) => x03
- | (0,0,1,0,0,0,0,0) => x04
- | (1,0,1,0,0,0,0,0) => x05
- | (0,1,1,0,0,0,0,0) => x06
- | (1,1,1,0,0,0,0,0) => x07
- | (0,0,0,1,0,0,0,0) => x08
- | (1,0,0,1,0,0,0,0) => x09
- | (0,1,0,1,0,0,0,0) => x0a
- | (1,1,0,1,0,0,0,0) => x0b
- | (0,0,1,1,0,0,0,0) => x0c
- | (1,0,1,1,0,0,0,0) => x0d
- | (0,1,1,1,0,0,0,0) => x0e
- | (1,1,1,1,0,0,0,0) => x0f
- | (0,0,0,0,1,0,0,0) => x10
- | (1,0,0,0,1,0,0,0) => x11
- | (0,1,0,0,1,0,0,0) => x12
- | (1,1,0,0,1,0,0,0) => x13
- | (0,0,1,0,1,0,0,0) => x14
- | (1,0,1,0,1,0,0,0) => x15
- | (0,1,1,0,1,0,0,0) => x16
- | (1,1,1,0,1,0,0,0) => x17
- | (0,0,0,1,1,0,0,0) => x18
- | (1,0,0,1,1,0,0,0) => x19
- | (0,1,0,1,1,0,0,0) => x1a
- | (1,1,0,1,1,0,0,0) => x1b
- | (0,0,1,1,1,0,0,0) => x1c
- | (1,0,1,1,1,0,0,0) => x1d
- | (0,1,1,1,1,0,0,0) => x1e
- | (1,1,1,1,1,0,0,0) => x1f
- | (0,0,0,0,0,1,0,0) => x20
- | (1,0,0,0,0,1,0,0) => x21
- | (0,1,0,0,0,1,0,0) => x22
- | (1,1,0,0,0,1,0,0) => x23
- | (0,0,1,0,0,1,0,0) => x24
- | (1,0,1,0,0,1,0,0) => x25
- | (0,1,1,0,0,1,0,0) => x26
- | (1,1,1,0,0,1,0,0) => x27
- | (0,0,0,1,0,1,0,0) => x28
- | (1,0,0,1,0,1,0,0) => x29
- | (0,1,0,1,0,1,0,0) => x2a
- | (1,1,0,1,0,1,0,0) => x2b
- | (0,0,1,1,0,1,0,0) => x2c
- | (1,0,1,1,0,1,0,0) => x2d
- | (0,1,1,1,0,1,0,0) => x2e
- | (1,1,1,1,0,1,0,0) => x2f
- | (0,0,0,0,1,1,0,0) => x30
- | (1,0,0,0,1,1,0,0) => x31
- | (0,1,0,0,1,1,0,0) => x32
- | (1,1,0,0,1,1,0,0) => x33
- | (0,0,1,0,1,1,0,0) => x34
- | (1,0,1,0,1,1,0,0) => x35
- | (0,1,1,0,1,1,0,0) => x36
- | (1,1,1,0,1,1,0,0) => x37
- | (0,0,0,1,1,1,0,0) => x38
- | (1,0,0,1,1,1,0,0) => x39
- | (0,1,0,1,1,1,0,0) => x3a
- | (1,1,0,1,1,1,0,0) => x3b
- | (0,0,1,1,1,1,0,0) => x3c
- | (1,0,1,1,1,1,0,0) => x3d
- | (0,1,1,1,1,1,0,0) => x3e
- | (1,1,1,1,1,1,0,0) => x3f
- | (0,0,0,0,0,0,1,0) => x40
- | (1,0,0,0,0,0,1,0) => x41
- | (0,1,0,0,0,0,1,0) => x42
- | (1,1,0,0,0,0,1,0) => x43
- | (0,0,1,0,0,0,1,0) => x44
- | (1,0,1,0,0,0,1,0) => x45
- | (0,1,1,0,0,0,1,0) => x46
- | (1,1,1,0,0,0,1,0) => x47
- | (0,0,0,1,0,0,1,0) => x48
- | (1,0,0,1,0,0,1,0) => x49
- | (0,1,0,1,0,0,1,0) => x4a
- | (1,1,0,1,0,0,1,0) => x4b
- | (0,0,1,1,0,0,1,0) => x4c
- | (1,0,1,1,0,0,1,0) => x4d
- | (0,1,1,1,0,0,1,0) => x4e
- | (1,1,1,1,0,0,1,0) => x4f
- | (0,0,0,0,1,0,1,0) => x50
- | (1,0,0,0,1,0,1,0) => x51
- | (0,1,0,0,1,0,1,0) => x52
- | (1,1,0,0,1,0,1,0) => x53
- | (0,0,1,0,1,0,1,0) => x54
- | (1,0,1,0,1,0,1,0) => x55
- | (0,1,1,0,1,0,1,0) => x56
- | (1,1,1,0,1,0,1,0) => x57
- | (0,0,0,1,1,0,1,0) => x58
- | (1,0,0,1,1,0,1,0) => x59
- | (0,1,0,1,1,0,1,0) => x5a
- | (1,1,0,1,1,0,1,0) => x5b
- | (0,0,1,1,1,0,1,0) => x5c
- | (1,0,1,1,1,0,1,0) => x5d
- | (0,1,1,1,1,0,1,0) => x5e
- | (1,1,1,1,1,0,1,0) => x5f
- | (0,0,0,0,0,1,1,0) => x60
- | (1,0,0,0,0,1,1,0) => x61
- | (0,1,0,0,0,1,1,0) => x62
- | (1,1,0,0,0,1,1,0) => x63
- | (0,0,1,0,0,1,1,0) => x64
- | (1,0,1,0,0,1,1,0) => x65
- | (0,1,1,0,0,1,1,0) => x66
- | (1,1,1,0,0,1,1,0) => x67
- | (0,0,0,1,0,1,1,0) => x68
- | (1,0,0,1,0,1,1,0) => x69
- | (0,1,0,1,0,1,1,0) => x6a
- | (1,1,0,1,0,1,1,0) => x6b
- | (0,0,1,1,0,1,1,0) => x6c
- | (1,0,1,1,0,1,1,0) => x6d
- | (0,1,1,1,0,1,1,0) => x6e
- | (1,1,1,1,0,1,1,0) => x6f
- | (0,0,0,0,1,1,1,0) => x70
- | (1,0,0,0,1,1,1,0) => x71
- | (0,1,0,0,1,1,1,0) => x72
- | (1,1,0,0,1,1,1,0) => x73
- | (0,0,1,0,1,1,1,0) => x74
- | (1,0,1,0,1,1,1,0) => x75
- | (0,1,1,0,1,1,1,0) => x76
- | (1,1,1,0,1,1,1,0) => x77
- | (0,0,0,1,1,1,1,0) => x78
- | (1,0,0,1,1,1,1,0) => x79
- | (0,1,0,1,1,1,1,0) => x7a
- | (1,1,0,1,1,1,1,0) => x7b
- | (0,0,1,1,1,1,1,0) => x7c
- | (1,0,1,1,1,1,1,0) => x7d
- | (0,1,1,1,1,1,1,0) => x7e
- | (1,1,1,1,1,1,1,0) => x7f
- | (0,0,0,0,0,0,0,1) => x80
- | (1,0,0,0,0,0,0,1) => x81
- | (0,1,0,0,0,0,0,1) => x82
- | (1,1,0,0,0,0,0,1) => x83
- | (0,0,1,0,0,0,0,1) => x84
- | (1,0,1,0,0,0,0,1) => x85
- | (0,1,1,0,0,0,0,1) => x86
- | (1,1,1,0,0,0,0,1) => x87
- | (0,0,0,1,0,0,0,1) => x88
- | (1,0,0,1,0,0,0,1) => x89
- | (0,1,0,1,0,0,0,1) => x8a
- | (1,1,0,1,0,0,0,1) => x8b
- | (0,0,1,1,0,0,0,1) => x8c
- | (1,0,1,1,0,0,0,1) => x8d
- | (0,1,1,1,0,0,0,1) => x8e
- | (1,1,1,1,0,0,0,1) => x8f
- | (0,0,0,0,1,0,0,1) => x90
- | (1,0,0,0,1,0,0,1) => x91
- | (0,1,0,0,1,0,0,1) => x92
- | (1,1,0,0,1,0,0,1) => x93
- | (0,0,1,0,1,0,0,1) => x94
- | (1,0,1,0,1,0,0,1) => x95
- | (0,1,1,0,1,0,0,1) => x96
- | (1,1,1,0,1,0,0,1) => x97
- | (0,0,0,1,1,0,0,1) => x98
- | (1,0,0,1,1,0,0,1) => x99
- | (0,1,0,1,1,0,0,1) => x9a
- | (1,1,0,1,1,0,0,1) => x9b
- | (0,0,1,1,1,0,0,1) => x9c
- | (1,0,1,1,1,0,0,1) => x9d
- | (0,1,1,1,1,0,0,1) => x9e
- | (1,1,1,1,1,0,0,1) => x9f
- | (0,0,0,0,0,1,0,1) => xa0
- | (1,0,0,0,0,1,0,1) => xa1
- | (0,1,0,0,0,1,0,1) => xa2
- | (1,1,0,0,0,1,0,1) => xa3
- | (0,0,1,0,0,1,0,1) => xa4
- | (1,0,1,0,0,1,0,1) => xa5
- | (0,1,1,0,0,1,0,1) => xa6
- | (1,1,1,0,0,1,0,1) => xa7
- | (0,0,0,1,0,1,0,1) => xa8
- | (1,0,0,1,0,1,0,1) => xa9
- | (0,1,0,1,0,1,0,1) => xaa
- | (1,1,0,1,0,1,0,1) => xab
- | (0,0,1,1,0,1,0,1) => xac
- | (1,0,1,1,0,1,0,1) => xad
- | (0,1,1,1,0,1,0,1) => xae
- | (1,1,1,1,0,1,0,1) => xaf
- | (0,0,0,0,1,1,0,1) => xb0
- | (1,0,0,0,1,1,0,1) => xb1
- | (0,1,0,0,1,1,0,1) => xb2
- | (1,1,0,0,1,1,0,1) => xb3
- | (0,0,1,0,1,1,0,1) => xb4
- | (1,0,1,0,1,1,0,1) => xb5
- | (0,1,1,0,1,1,0,1) => xb6
- | (1,1,1,0,1,1,0,1) => xb7
- | (0,0,0,1,1,1,0,1) => xb8
- | (1,0,0,1,1,1,0,1) => xb9
- | (0,1,0,1,1,1,0,1) => xba
- | (1,1,0,1,1,1,0,1) => xbb
- | (0,0,1,1,1,1,0,1) => xbc
- | (1,0,1,1,1,1,0,1) => xbd
- | (0,1,1,1,1,1,0,1) => xbe
- | (1,1,1,1,1,1,0,1) => xbf
- | (0,0,0,0,0,0,1,1) => xc0
- | (1,0,0,0,0,0,1,1) => xc1
- | (0,1,0,0,0,0,1,1) => xc2
- | (1,1,0,0,0,0,1,1) => xc3
- | (0,0,1,0,0,0,1,1) => xc4
- | (1,0,1,0,0,0,1,1) => xc5
- | (0,1,1,0,0,0,1,1) => xc6
- | (1,1,1,0,0,0,1,1) => xc7
- | (0,0,0,1,0,0,1,1) => xc8
- | (1,0,0,1,0,0,1,1) => xc9
- | (0,1,0,1,0,0,1,1) => xca
- | (1,1,0,1,0,0,1,1) => xcb
- | (0,0,1,1,0,0,1,1) => xcc
- | (1,0,1,1,0,0,1,1) => xcd
- | (0,1,1,1,0,0,1,1) => xce
- | (1,1,1,1,0,0,1,1) => xcf
- | (0,0,0,0,1,0,1,1) => xd0
- | (1,0,0,0,1,0,1,1) => xd1
- | (0,1,0,0,1,0,1,1) => xd2
- | (1,1,0,0,1,0,1,1) => xd3
- | (0,0,1,0,1,0,1,1) => xd4
- | (1,0,1,0,1,0,1,1) => xd5
- | (0,1,1,0,1,0,1,1) => xd6
- | (1,1,1,0,1,0,1,1) => xd7
- | (0,0,0,1,1,0,1,1) => xd8
- | (1,0,0,1,1,0,1,1) => xd9
- | (0,1,0,1,1,0,1,1) => xda
- | (1,1,0,1,1,0,1,1) => xdb
- | (0,0,1,1,1,0,1,1) => xdc
- | (1,0,1,1,1,0,1,1) => xdd
- | (0,1,1,1,1,0,1,1) => xde
- | (1,1,1,1,1,0,1,1) => xdf
- | (0,0,0,0,0,1,1,1) => xe0
- | (1,0,0,0,0,1,1,1) => xe1
- | (0,1,0,0,0,1,1,1) => xe2
- | (1,1,0,0,0,1,1,1) => xe3
- | (0,0,1,0,0,1,1,1) => xe4
- | (1,0,1,0,0,1,1,1) => xe5
- | (0,1,1,0,0,1,1,1) => xe6
- | (1,1,1,0,0,1,1,1) => xe7
- | (0,0,0,1,0,1,1,1) => xe8
- | (1,0,0,1,0,1,1,1) => xe9
- | (0,1,0,1,0,1,1,1) => xea
- | (1,1,0,1,0,1,1,1) => xeb
- | (0,0,1,1,0,1,1,1) => xec
- | (1,0,1,1,0,1,1,1) => xed
- | (0,1,1,1,0,1,1,1) => xee
- | (1,1,1,1,0,1,1,1) => xef
- | (0,0,0,0,1,1,1,1) => xf0
- | (1,0,0,0,1,1,1,1) => xf1
- | (0,1,0,0,1,1,1,1) => xf2
- | (1,1,0,0,1,1,1,1) => xf3
- | (0,0,1,0,1,1,1,1) => xf4
- | (1,0,1,0,1,1,1,1) => xf5
- | (0,1,1,0,1,1,1,1) => xf6
- | (1,1,1,0,1,1,1,1) => xf7
- | (0,0,0,1,1,1,1,1) => xf8
- | (1,0,0,1,1,1,1,1) => xf9
- | (0,1,0,1,1,1,1,1) => xfa
- | (1,1,0,1,1,1,1,1) => xfb
- | (0,0,1,1,1,1,1,1) => xfc
- | (1,0,1,1,1,1,1,1) => xfd
- | (0,1,1,1,1,1,1,1) => xfe
- | (1,1,1,1,1,1,1,1) => xff
+ | (0,(0,(0,(0,(0,(0,(0,0))))))) => x00
+ | (1,(0,(0,(0,(0,(0,(0,0))))))) => x01
+ | (0,(1,(0,(0,(0,(0,(0,0))))))) => x02
+ | (1,(1,(0,(0,(0,(0,(0,0))))))) => x03
+ | (0,(0,(1,(0,(0,(0,(0,0))))))) => x04
+ | (1,(0,(1,(0,(0,(0,(0,0))))))) => x05
+ | (0,(1,(1,(0,(0,(0,(0,0))))))) => x06
+ | (1,(1,(1,(0,(0,(0,(0,0))))))) => x07
+ | (0,(0,(0,(1,(0,(0,(0,0))))))) => x08
+ | (1,(0,(0,(1,(0,(0,(0,0))))))) => x09
+ | (0,(1,(0,(1,(0,(0,(0,0))))))) => x0a
+ | (1,(1,(0,(1,(0,(0,(0,0))))))) => x0b
+ | (0,(0,(1,(1,(0,(0,(0,0))))))) => x0c
+ | (1,(0,(1,(1,(0,(0,(0,0))))))) => x0d
+ | (0,(1,(1,(1,(0,(0,(0,0))))))) => x0e
+ | (1,(1,(1,(1,(0,(0,(0,0))))))) => x0f
+ | (0,(0,(0,(0,(1,(0,(0,0))))))) => x10
+ | (1,(0,(0,(0,(1,(0,(0,0))))))) => x11
+ | (0,(1,(0,(0,(1,(0,(0,0))))))) => x12
+ | (1,(1,(0,(0,(1,(0,(0,0))))))) => x13
+ | (0,(0,(1,(0,(1,(0,(0,0))))))) => x14
+ | (1,(0,(1,(0,(1,(0,(0,0))))))) => x15
+ | (0,(1,(1,(0,(1,(0,(0,0))))))) => x16
+ | (1,(1,(1,(0,(1,(0,(0,0))))))) => x17
+ | (0,(0,(0,(1,(1,(0,(0,0))))))) => x18
+ | (1,(0,(0,(1,(1,(0,(0,0))))))) => x19
+ | (0,(1,(0,(1,(1,(0,(0,0))))))) => x1a
+ | (1,(1,(0,(1,(1,(0,(0,0))))))) => x1b
+ | (0,(0,(1,(1,(1,(0,(0,0))))))) => x1c
+ | (1,(0,(1,(1,(1,(0,(0,0))))))) => x1d
+ | (0,(1,(1,(1,(1,(0,(0,0))))))) => x1e
+ | (1,(1,(1,(1,(1,(0,(0,0))))))) => x1f
+ | (0,(0,(0,(0,(0,(1,(0,0))))))) => x20
+ | (1,(0,(0,(0,(0,(1,(0,0))))))) => x21
+ | (0,(1,(0,(0,(0,(1,(0,0))))))) => x22
+ | (1,(1,(0,(0,(0,(1,(0,0))))))) => x23
+ | (0,(0,(1,(0,(0,(1,(0,0))))))) => x24
+ | (1,(0,(1,(0,(0,(1,(0,0))))))) => x25
+ | (0,(1,(1,(0,(0,(1,(0,0))))))) => x26
+ | (1,(1,(1,(0,(0,(1,(0,0))))))) => x27
+ | (0,(0,(0,(1,(0,(1,(0,0))))))) => x28
+ | (1,(0,(0,(1,(0,(1,(0,0))))))) => x29
+ | (0,(1,(0,(1,(0,(1,(0,0))))))) => x2a
+ | (1,(1,(0,(1,(0,(1,(0,0))))))) => x2b
+ | (0,(0,(1,(1,(0,(1,(0,0))))))) => x2c
+ | (1,(0,(1,(1,(0,(1,(0,0))))))) => x2d
+ | (0,(1,(1,(1,(0,(1,(0,0))))))) => x2e
+ | (1,(1,(1,(1,(0,(1,(0,0))))))) => x2f
+ | (0,(0,(0,(0,(1,(1,(0,0))))))) => x30
+ | (1,(0,(0,(0,(1,(1,(0,0))))))) => x31
+ | (0,(1,(0,(0,(1,(1,(0,0))))))) => x32
+ | (1,(1,(0,(0,(1,(1,(0,0))))))) => x33
+ | (0,(0,(1,(0,(1,(1,(0,0))))))) => x34
+ | (1,(0,(1,(0,(1,(1,(0,0))))))) => x35
+ | (0,(1,(1,(0,(1,(1,(0,0))))))) => x36
+ | (1,(1,(1,(0,(1,(1,(0,0))))))) => x37
+ | (0,(0,(0,(1,(1,(1,(0,0))))))) => x38
+ | (1,(0,(0,(1,(1,(1,(0,0))))))) => x39
+ | (0,(1,(0,(1,(1,(1,(0,0))))))) => x3a
+ | (1,(1,(0,(1,(1,(1,(0,0))))))) => x3b
+ | (0,(0,(1,(1,(1,(1,(0,0))))))) => x3c
+ | (1,(0,(1,(1,(1,(1,(0,0))))))) => x3d
+ | (0,(1,(1,(1,(1,(1,(0,0))))))) => x3e
+ | (1,(1,(1,(1,(1,(1,(0,0))))))) => x3f
+ | (0,(0,(0,(0,(0,(0,(1,0))))))) => x40
+ | (1,(0,(0,(0,(0,(0,(1,0))))))) => x41
+ | (0,(1,(0,(0,(0,(0,(1,0))))))) => x42
+ | (1,(1,(0,(0,(0,(0,(1,0))))))) => x43
+ | (0,(0,(1,(0,(0,(0,(1,0))))))) => x44
+ | (1,(0,(1,(0,(0,(0,(1,0))))))) => x45
+ | (0,(1,(1,(0,(0,(0,(1,0))))))) => x46
+ | (1,(1,(1,(0,(0,(0,(1,0))))))) => x47
+ | (0,(0,(0,(1,(0,(0,(1,0))))))) => x48
+ | (1,(0,(0,(1,(0,(0,(1,0))))))) => x49
+ | (0,(1,(0,(1,(0,(0,(1,0))))))) => x4a
+ | (1,(1,(0,(1,(0,(0,(1,0))))))) => x4b
+ | (0,(0,(1,(1,(0,(0,(1,0))))))) => x4c
+ | (1,(0,(1,(1,(0,(0,(1,0))))))) => x4d
+ | (0,(1,(1,(1,(0,(0,(1,0))))))) => x4e
+ | (1,(1,(1,(1,(0,(0,(1,0))))))) => x4f
+ | (0,(0,(0,(0,(1,(0,(1,0))))))) => x50
+ | (1,(0,(0,(0,(1,(0,(1,0))))))) => x51
+ | (0,(1,(0,(0,(1,(0,(1,0))))))) => x52
+ | (1,(1,(0,(0,(1,(0,(1,0))))))) => x53
+ | (0,(0,(1,(0,(1,(0,(1,0))))))) => x54
+ | (1,(0,(1,(0,(1,(0,(1,0))))))) => x55
+ | (0,(1,(1,(0,(1,(0,(1,0))))))) => x56
+ | (1,(1,(1,(0,(1,(0,(1,0))))))) => x57
+ | (0,(0,(0,(1,(1,(0,(1,0))))))) => x58
+ | (1,(0,(0,(1,(1,(0,(1,0))))))) => x59
+ | (0,(1,(0,(1,(1,(0,(1,0))))))) => x5a
+ | (1,(1,(0,(1,(1,(0,(1,0))))))) => x5b
+ | (0,(0,(1,(1,(1,(0,(1,0))))))) => x5c
+ | (1,(0,(1,(1,(1,(0,(1,0))))))) => x5d
+ | (0,(1,(1,(1,(1,(0,(1,0))))))) => x5e
+ | (1,(1,(1,(1,(1,(0,(1,0))))))) => x5f
+ | (0,(0,(0,(0,(0,(1,(1,0))))))) => x60
+ | (1,(0,(0,(0,(0,(1,(1,0))))))) => x61
+ | (0,(1,(0,(0,(0,(1,(1,0))))))) => x62
+ | (1,(1,(0,(0,(0,(1,(1,0))))))) => x63
+ | (0,(0,(1,(0,(0,(1,(1,0))))))) => x64
+ | (1,(0,(1,(0,(0,(1,(1,0))))))) => x65
+ | (0,(1,(1,(0,(0,(1,(1,0))))))) => x66
+ | (1,(1,(1,(0,(0,(1,(1,0))))))) => x67
+ | (0,(0,(0,(1,(0,(1,(1,0))))))) => x68
+ | (1,(0,(0,(1,(0,(1,(1,0))))))) => x69
+ | (0,(1,(0,(1,(0,(1,(1,0))))))) => x6a
+ | (1,(1,(0,(1,(0,(1,(1,0))))))) => x6b
+ | (0,(0,(1,(1,(0,(1,(1,0))))))) => x6c
+ | (1,(0,(1,(1,(0,(1,(1,0))))))) => x6d
+ | (0,(1,(1,(1,(0,(1,(1,0))))))) => x6e
+ | (1,(1,(1,(1,(0,(1,(1,0))))))) => x6f
+ | (0,(0,(0,(0,(1,(1,(1,0))))))) => x70
+ | (1,(0,(0,(0,(1,(1,(1,0))))))) => x71
+ | (0,(1,(0,(0,(1,(1,(1,0))))))) => x72
+ | (1,(1,(0,(0,(1,(1,(1,0))))))) => x73
+ | (0,(0,(1,(0,(1,(1,(1,0))))))) => x74
+ | (1,(0,(1,(0,(1,(1,(1,0))))))) => x75
+ | (0,(1,(1,(0,(1,(1,(1,0))))))) => x76
+ | (1,(1,(1,(0,(1,(1,(1,0))))))) => x77
+ | (0,(0,(0,(1,(1,(1,(1,0))))))) => x78
+ | (1,(0,(0,(1,(1,(1,(1,0))))))) => x79
+ | (0,(1,(0,(1,(1,(1,(1,0))))))) => x7a
+ | (1,(1,(0,(1,(1,(1,(1,0))))))) => x7b
+ | (0,(0,(1,(1,(1,(1,(1,0))))))) => x7c
+ | (1,(0,(1,(1,(1,(1,(1,0))))))) => x7d
+ | (0,(1,(1,(1,(1,(1,(1,0))))))) => x7e
+ | (1,(1,(1,(1,(1,(1,(1,0))))))) => x7f
+ | (0,(0,(0,(0,(0,(0,(0,1))))))) => x80
+ | (1,(0,(0,(0,(0,(0,(0,1))))))) => x81
+ | (0,(1,(0,(0,(0,(0,(0,1))))))) => x82
+ | (1,(1,(0,(0,(0,(0,(0,1))))))) => x83
+ | (0,(0,(1,(0,(0,(0,(0,1))))))) => x84
+ | (1,(0,(1,(0,(0,(0,(0,1))))))) => x85
+ | (0,(1,(1,(0,(0,(0,(0,1))))))) => x86
+ | (1,(1,(1,(0,(0,(0,(0,1))))))) => x87
+ | (0,(0,(0,(1,(0,(0,(0,1))))))) => x88
+ | (1,(0,(0,(1,(0,(0,(0,1))))))) => x89
+ | (0,(1,(0,(1,(0,(0,(0,1))))))) => x8a
+ | (1,(1,(0,(1,(0,(0,(0,1))))))) => x8b
+ | (0,(0,(1,(1,(0,(0,(0,1))))))) => x8c
+ | (1,(0,(1,(1,(0,(0,(0,1))))))) => x8d
+ | (0,(1,(1,(1,(0,(0,(0,1))))))) => x8e
+ | (1,(1,(1,(1,(0,(0,(0,1))))))) => x8f
+ | (0,(0,(0,(0,(1,(0,(0,1))))))) => x90
+ | (1,(0,(0,(0,(1,(0,(0,1))))))) => x91
+ | (0,(1,(0,(0,(1,(0,(0,1))))))) => x92
+ | (1,(1,(0,(0,(1,(0,(0,1))))))) => x93
+ | (0,(0,(1,(0,(1,(0,(0,1))))))) => x94
+ | (1,(0,(1,(0,(1,(0,(0,1))))))) => x95
+ | (0,(1,(1,(0,(1,(0,(0,1))))))) => x96
+ | (1,(1,(1,(0,(1,(0,(0,1))))))) => x97
+ | (0,(0,(0,(1,(1,(0,(0,1))))))) => x98
+ | (1,(0,(0,(1,(1,(0,(0,1))))))) => x99
+ | (0,(1,(0,(1,(1,(0,(0,1))))))) => x9a
+ | (1,(1,(0,(1,(1,(0,(0,1))))))) => x9b
+ | (0,(0,(1,(1,(1,(0,(0,1))))))) => x9c
+ | (1,(0,(1,(1,(1,(0,(0,1))))))) => x9d
+ | (0,(1,(1,(1,(1,(0,(0,1))))))) => x9e
+ | (1,(1,(1,(1,(1,(0,(0,1))))))) => x9f
+ | (0,(0,(0,(0,(0,(1,(0,1))))))) => xa0
+ | (1,(0,(0,(0,(0,(1,(0,1))))))) => xa1
+ | (0,(1,(0,(0,(0,(1,(0,1))))))) => xa2
+ | (1,(1,(0,(0,(0,(1,(0,1))))))) => xa3
+ | (0,(0,(1,(0,(0,(1,(0,1))))))) => xa4
+ | (1,(0,(1,(0,(0,(1,(0,1))))))) => xa5
+ | (0,(1,(1,(0,(0,(1,(0,1))))))) => xa6
+ | (1,(1,(1,(0,(0,(1,(0,1))))))) => xa7
+ | (0,(0,(0,(1,(0,(1,(0,1))))))) => xa8
+ | (1,(0,(0,(1,(0,(1,(0,1))))))) => xa9
+ | (0,(1,(0,(1,(0,(1,(0,1))))))) => xaa
+ | (1,(1,(0,(1,(0,(1,(0,1))))))) => xab
+ | (0,(0,(1,(1,(0,(1,(0,1))))))) => xac
+ | (1,(0,(1,(1,(0,(1,(0,1))))))) => xad
+ | (0,(1,(1,(1,(0,(1,(0,1))))))) => xae
+ | (1,(1,(1,(1,(0,(1,(0,1))))))) => xaf
+ | (0,(0,(0,(0,(1,(1,(0,1))))))) => xb0
+ | (1,(0,(0,(0,(1,(1,(0,1))))))) => xb1
+ | (0,(1,(0,(0,(1,(1,(0,1))))))) => xb2
+ | (1,(1,(0,(0,(1,(1,(0,1))))))) => xb3
+ | (0,(0,(1,(0,(1,(1,(0,1))))))) => xb4
+ | (1,(0,(1,(0,(1,(1,(0,1))))))) => xb5
+ | (0,(1,(1,(0,(1,(1,(0,1))))))) => xb6
+ | (1,(1,(1,(0,(1,(1,(0,1))))))) => xb7
+ | (0,(0,(0,(1,(1,(1,(0,1))))))) => xb8
+ | (1,(0,(0,(1,(1,(1,(0,1))))))) => xb9
+ | (0,(1,(0,(1,(1,(1,(0,1))))))) => xba
+ | (1,(1,(0,(1,(1,(1,(0,1))))))) => xbb
+ | (0,(0,(1,(1,(1,(1,(0,1))))))) => xbc
+ | (1,(0,(1,(1,(1,(1,(0,1))))))) => xbd
+ | (0,(1,(1,(1,(1,(1,(0,1))))))) => xbe
+ | (1,(1,(1,(1,(1,(1,(0,1))))))) => xbf
+ | (0,(0,(0,(0,(0,(0,(1,1))))))) => xc0
+ | (1,(0,(0,(0,(0,(0,(1,1))))))) => xc1
+ | (0,(1,(0,(0,(0,(0,(1,1))))))) => xc2
+ | (1,(1,(0,(0,(0,(0,(1,1))))))) => xc3
+ | (0,(0,(1,(0,(0,(0,(1,1))))))) => xc4
+ | (1,(0,(1,(0,(0,(0,(1,1))))))) => xc5
+ | (0,(1,(1,(0,(0,(0,(1,1))))))) => xc6
+ | (1,(1,(1,(0,(0,(0,(1,1))))))) => xc7
+ | (0,(0,(0,(1,(0,(0,(1,1))))))) => xc8
+ | (1,(0,(0,(1,(0,(0,(1,1))))))) => xc9
+ | (0,(1,(0,(1,(0,(0,(1,1))))))) => xca
+ | (1,(1,(0,(1,(0,(0,(1,1))))))) => xcb
+ | (0,(0,(1,(1,(0,(0,(1,1))))))) => xcc
+ | (1,(0,(1,(1,(0,(0,(1,1))))))) => xcd
+ | (0,(1,(1,(1,(0,(0,(1,1))))))) => xce
+ | (1,(1,(1,(1,(0,(0,(1,1))))))) => xcf
+ | (0,(0,(0,(0,(1,(0,(1,1))))))) => xd0
+ | (1,(0,(0,(0,(1,(0,(1,1))))))) => xd1
+ | (0,(1,(0,(0,(1,(0,(1,1))))))) => xd2
+ | (1,(1,(0,(0,(1,(0,(1,1))))))) => xd3
+ | (0,(0,(1,(0,(1,(0,(1,1))))))) => xd4
+ | (1,(0,(1,(0,(1,(0,(1,1))))))) => xd5
+ | (0,(1,(1,(0,(1,(0,(1,1))))))) => xd6
+ | (1,(1,(1,(0,(1,(0,(1,1))))))) => xd7
+ | (0,(0,(0,(1,(1,(0,(1,1))))))) => xd8
+ | (1,(0,(0,(1,(1,(0,(1,1))))))) => xd9
+ | (0,(1,(0,(1,(1,(0,(1,1))))))) => xda
+ | (1,(1,(0,(1,(1,(0,(1,1))))))) => xdb
+ | (0,(0,(1,(1,(1,(0,(1,1))))))) => xdc
+ | (1,(0,(1,(1,(1,(0,(1,1))))))) => xdd
+ | (0,(1,(1,(1,(1,(0,(1,1))))))) => xde
+ | (1,(1,(1,(1,(1,(0,(1,1))))))) => xdf
+ | (0,(0,(0,(0,(0,(1,(1,1))))))) => xe0
+ | (1,(0,(0,(0,(0,(1,(1,1))))))) => xe1
+ | (0,(1,(0,(0,(0,(1,(1,1))))))) => xe2
+ | (1,(1,(0,(0,(0,(1,(1,1))))))) => xe3
+ | (0,(0,(1,(0,(0,(1,(1,1))))))) => xe4
+ | (1,(0,(1,(0,(0,(1,(1,1))))))) => xe5
+ | (0,(1,(1,(0,(0,(1,(1,1))))))) => xe6
+ | (1,(1,(1,(0,(0,(1,(1,1))))))) => xe7
+ | (0,(0,(0,(1,(0,(1,(1,1))))))) => xe8
+ | (1,(0,(0,(1,(0,(1,(1,1))))))) => xe9
+ | (0,(1,(0,(1,(0,(1,(1,1))))))) => xea
+ | (1,(1,(0,(1,(0,(1,(1,1))))))) => xeb
+ | (0,(0,(1,(1,(0,(1,(1,1))))))) => xec
+ | (1,(0,(1,(1,(0,(1,(1,1))))))) => xed
+ | (0,(1,(1,(1,(0,(1,(1,1))))))) => xee
+ | (1,(1,(1,(1,(0,(1,(1,1))))))) => xef
+ | (0,(0,(0,(0,(1,(1,(1,1))))))) => xf0
+ | (1,(0,(0,(0,(1,(1,(1,1))))))) => xf1
+ | (0,(1,(0,(0,(1,(1,(1,1))))))) => xf2
+ | (1,(1,(0,(0,(1,(1,(1,1))))))) => xf3
+ | (0,(0,(1,(0,(1,(1,(1,1))))))) => xf4
+ | (1,(0,(1,(0,(1,(1,(1,1))))))) => xf5
+ | (0,(1,(1,(0,(1,(1,(1,1))))))) => xf6
+ | (1,(1,(1,(0,(1,(1,(1,1))))))) => xf7
+ | (0,(0,(0,(1,(1,(1,(1,1))))))) => xf8
+ | (1,(0,(0,(1,(1,(1,(1,1))))))) => xf9
+ | (0,(1,(0,(1,(1,(1,(1,1))))))) => xfa
+ | (1,(1,(0,(1,(1,(1,(1,1))))))) => xfb
+ | (0,(0,(1,(1,(1,(1,(1,1))))))) => xfc
+ | (1,(0,(1,(1,(1,(1,(1,1))))))) => xfd
+ | (0,(1,(1,(1,(1,(1,(1,1))))))) => xfe
+ | (1,(1,(1,(1,(1,(1,(1,1))))))) => xff
end.
-Definition to_bits (b : byte) : bool * bool * bool * bool * bool * bool * bool * bool
+Definition to_bits (b : byte) : bool * (bool * (bool * (bool * (bool * (bool * (bool * bool))))))
:= match b with
- | x00 => (0,0,0,0,0,0,0,0)
- | x01 => (1,0,0,0,0,0,0,0)
- | x02 => (0,1,0,0,0,0,0,0)
- | x03 => (1,1,0,0,0,0,0,0)
- | x04 => (0,0,1,0,0,0,0,0)
- | x05 => (1,0,1,0,0,0,0,0)
- | x06 => (0,1,1,0,0,0,0,0)
- | x07 => (1,1,1,0,0,0,0,0)
- | x08 => (0,0,0,1,0,0,0,0)
- | x09 => (1,0,0,1,0,0,0,0)
- | x0a => (0,1,0,1,0,0,0,0)
- | x0b => (1,1,0,1,0,0,0,0)
- | x0c => (0,0,1,1,0,0,0,0)
- | x0d => (1,0,1,1,0,0,0,0)
- | x0e => (0,1,1,1,0,0,0,0)
- | x0f => (1,1,1,1,0,0,0,0)
- | x10 => (0,0,0,0,1,0,0,0)
- | x11 => (1,0,0,0,1,0,0,0)
- | x12 => (0,1,0,0,1,0,0,0)
- | x13 => (1,1,0,0,1,0,0,0)
- | x14 => (0,0,1,0,1,0,0,0)
- | x15 => (1,0,1,0,1,0,0,0)
- | x16 => (0,1,1,0,1,0,0,0)
- | x17 => (1,1,1,0,1,0,0,0)
- | x18 => (0,0,0,1,1,0,0,0)
- | x19 => (1,0,0,1,1,0,0,0)
- | x1a => (0,1,0,1,1,0,0,0)
- | x1b => (1,1,0,1,1,0,0,0)
- | x1c => (0,0,1,1,1,0,0,0)
- | x1d => (1,0,1,1,1,0,0,0)
- | x1e => (0,1,1,1,1,0,0,0)
- | x1f => (1,1,1,1,1,0,0,0)
- | x20 => (0,0,0,0,0,1,0,0)
- | x21 => (1,0,0,0,0,1,0,0)
- | x22 => (0,1,0,0,0,1,0,0)
- | x23 => (1,1,0,0,0,1,0,0)
- | x24 => (0,0,1,0,0,1,0,0)
- | x25 => (1,0,1,0,0,1,0,0)
- | x26 => (0,1,1,0,0,1,0,0)
- | x27 => (1,1,1,0,0,1,0,0)
- | x28 => (0,0,0,1,0,1,0,0)
- | x29 => (1,0,0,1,0,1,0,0)
- | x2a => (0,1,0,1,0,1,0,0)
- | x2b => (1,1,0,1,0,1,0,0)
- | x2c => (0,0,1,1,0,1,0,0)
- | x2d => (1,0,1,1,0,1,0,0)
- | x2e => (0,1,1,1,0,1,0,0)
- | x2f => (1,1,1,1,0,1,0,0)
- | x30 => (0,0,0,0,1,1,0,0)
- | x31 => (1,0,0,0,1,1,0,0)
- | x32 => (0,1,0,0,1,1,0,0)
- | x33 => (1,1,0,0,1,1,0,0)
- | x34 => (0,0,1,0,1,1,0,0)
- | x35 => (1,0,1,0,1,1,0,0)
- | x36 => (0,1,1,0,1,1,0,0)
- | x37 => (1,1,1,0,1,1,0,0)
- | x38 => (0,0,0,1,1,1,0,0)
- | x39 => (1,0,0,1,1,1,0,0)
- | x3a => (0,1,0,1,1,1,0,0)
- | x3b => (1,1,0,1,1,1,0,0)
- | x3c => (0,0,1,1,1,1,0,0)
- | x3d => (1,0,1,1,1,1,0,0)
- | x3e => (0,1,1,1,1,1,0,0)
- | x3f => (1,1,1,1,1,1,0,0)
- | x40 => (0,0,0,0,0,0,1,0)
- | x41 => (1,0,0,0,0,0,1,0)
- | x42 => (0,1,0,0,0,0,1,0)
- | x43 => (1,1,0,0,0,0,1,0)
- | x44 => (0,0,1,0,0,0,1,0)
- | x45 => (1,0,1,0,0,0,1,0)
- | x46 => (0,1,1,0,0,0,1,0)
- | x47 => (1,1,1,0,0,0,1,0)
- | x48 => (0,0,0,1,0,0,1,0)
- | x49 => (1,0,0,1,0,0,1,0)
- | x4a => (0,1,0,1,0,0,1,0)
- | x4b => (1,1,0,1,0,0,1,0)
- | x4c => (0,0,1,1,0,0,1,0)
- | x4d => (1,0,1,1,0,0,1,0)
- | x4e => (0,1,1,1,0,0,1,0)
- | x4f => (1,1,1,1,0,0,1,0)
- | x50 => (0,0,0,0,1,0,1,0)
- | x51 => (1,0,0,0,1,0,1,0)
- | x52 => (0,1,0,0,1,0,1,0)
- | x53 => (1,1,0,0,1,0,1,0)
- | x54 => (0,0,1,0,1,0,1,0)
- | x55 => (1,0,1,0,1,0,1,0)
- | x56 => (0,1,1,0,1,0,1,0)
- | x57 => (1,1,1,0,1,0,1,0)
- | x58 => (0,0,0,1,1,0,1,0)
- | x59 => (1,0,0,1,1,0,1,0)
- | x5a => (0,1,0,1,1,0,1,0)
- | x5b => (1,1,0,1,1,0,1,0)
- | x5c => (0,0,1,1,1,0,1,0)
- | x5d => (1,0,1,1,1,0,1,0)
- | x5e => (0,1,1,1,1,0,1,0)
- | x5f => (1,1,1,1,1,0,1,0)
- | x60 => (0,0,0,0,0,1,1,0)
- | x61 => (1,0,0,0,0,1,1,0)
- | x62 => (0,1,0,0,0,1,1,0)
- | x63 => (1,1,0,0,0,1,1,0)
- | x64 => (0,0,1,0,0,1,1,0)
- | x65 => (1,0,1,0,0,1,1,0)
- | x66 => (0,1,1,0,0,1,1,0)
- | x67 => (1,1,1,0,0,1,1,0)
- | x68 => (0,0,0,1,0,1,1,0)
- | x69 => (1,0,0,1,0,1,1,0)
- | x6a => (0,1,0,1,0,1,1,0)
- | x6b => (1,1,0,1,0,1,1,0)
- | x6c => (0,0,1,1,0,1,1,0)
- | x6d => (1,0,1,1,0,1,1,0)
- | x6e => (0,1,1,1,0,1,1,0)
- | x6f => (1,1,1,1,0,1,1,0)
- | x70 => (0,0,0,0,1,1,1,0)
- | x71 => (1,0,0,0,1,1,1,0)
- | x72 => (0,1,0,0,1,1,1,0)
- | x73 => (1,1,0,0,1,1,1,0)
- | x74 => (0,0,1,0,1,1,1,0)
- | x75 => (1,0,1,0,1,1,1,0)
- | x76 => (0,1,1,0,1,1,1,0)
- | x77 => (1,1,1,0,1,1,1,0)
- | x78 => (0,0,0,1,1,1,1,0)
- | x79 => (1,0,0,1,1,1,1,0)
- | x7a => (0,1,0,1,1,1,1,0)
- | x7b => (1,1,0,1,1,1,1,0)
- | x7c => (0,0,1,1,1,1,1,0)
- | x7d => (1,0,1,1,1,1,1,0)
- | x7e => (0,1,1,1,1,1,1,0)
- | x7f => (1,1,1,1,1,1,1,0)
- | x80 => (0,0,0,0,0,0,0,1)
- | x81 => (1,0,0,0,0,0,0,1)
- | x82 => (0,1,0,0,0,0,0,1)
- | x83 => (1,1,0,0,0,0,0,1)
- | x84 => (0,0,1,0,0,0,0,1)
- | x85 => (1,0,1,0,0,0,0,1)
- | x86 => (0,1,1,0,0,0,0,1)
- | x87 => (1,1,1,0,0,0,0,1)
- | x88 => (0,0,0,1,0,0,0,1)
- | x89 => (1,0,0,1,0,0,0,1)
- | x8a => (0,1,0,1,0,0,0,1)
- | x8b => (1,1,0,1,0,0,0,1)
- | x8c => (0,0,1,1,0,0,0,1)
- | x8d => (1,0,1,1,0,0,0,1)
- | x8e => (0,1,1,1,0,0,0,1)
- | x8f => (1,1,1,1,0,0,0,1)
- | x90 => (0,0,0,0,1,0,0,1)
- | x91 => (1,0,0,0,1,0,0,1)
- | x92 => (0,1,0,0,1,0,0,1)
- | x93 => (1,1,0,0,1,0,0,1)
- | x94 => (0,0,1,0,1,0,0,1)
- | x95 => (1,0,1,0,1,0,0,1)
- | x96 => (0,1,1,0,1,0,0,1)
- | x97 => (1,1,1,0,1,0,0,1)
- | x98 => (0,0,0,1,1,0,0,1)
- | x99 => (1,0,0,1,1,0,0,1)
- | x9a => (0,1,0,1,1,0,0,1)
- | x9b => (1,1,0,1,1,0,0,1)
- | x9c => (0,0,1,1,1,0,0,1)
- | x9d => (1,0,1,1,1,0,0,1)
- | x9e => (0,1,1,1,1,0,0,1)
- | x9f => (1,1,1,1,1,0,0,1)
- | xa0 => (0,0,0,0,0,1,0,1)
- | xa1 => (1,0,0,0,0,1,0,1)
- | xa2 => (0,1,0,0,0,1,0,1)
- | xa3 => (1,1,0,0,0,1,0,1)
- | xa4 => (0,0,1,0,0,1,0,1)
- | xa5 => (1,0,1,0,0,1,0,1)
- | xa6 => (0,1,1,0,0,1,0,1)
- | xa7 => (1,1,1,0,0,1,0,1)
- | xa8 => (0,0,0,1,0,1,0,1)
- | xa9 => (1,0,0,1,0,1,0,1)
- | xaa => (0,1,0,1,0,1,0,1)
- | xab => (1,1,0,1,0,1,0,1)
- | xac => (0,0,1,1,0,1,0,1)
- | xad => (1,0,1,1,0,1,0,1)
- | xae => (0,1,1,1,0,1,0,1)
- | xaf => (1,1,1,1,0,1,0,1)
- | xb0 => (0,0,0,0,1,1,0,1)
- | xb1 => (1,0,0,0,1,1,0,1)
- | xb2 => (0,1,0,0,1,1,0,1)
- | xb3 => (1,1,0,0,1,1,0,1)
- | xb4 => (0,0,1,0,1,1,0,1)
- | xb5 => (1,0,1,0,1,1,0,1)
- | xb6 => (0,1,1,0,1,1,0,1)
- | xb7 => (1,1,1,0,1,1,0,1)
- | xb8 => (0,0,0,1,1,1,0,1)
- | xb9 => (1,0,0,1,1,1,0,1)
- | xba => (0,1,0,1,1,1,0,1)
- | xbb => (1,1,0,1,1,1,0,1)
- | xbc => (0,0,1,1,1,1,0,1)
- | xbd => (1,0,1,1,1,1,0,1)
- | xbe => (0,1,1,1,1,1,0,1)
- | xbf => (1,1,1,1,1,1,0,1)
- | xc0 => (0,0,0,0,0,0,1,1)
- | xc1 => (1,0,0,0,0,0,1,1)
- | xc2 => (0,1,0,0,0,0,1,1)
- | xc3 => (1,1,0,0,0,0,1,1)
- | xc4 => (0,0,1,0,0,0,1,1)
- | xc5 => (1,0,1,0,0,0,1,1)
- | xc6 => (0,1,1,0,0,0,1,1)
- | xc7 => (1,1,1,0,0,0,1,1)
- | xc8 => (0,0,0,1,0,0,1,1)
- | xc9 => (1,0,0,1,0,0,1,1)
- | xca => (0,1,0,1,0,0,1,1)
- | xcb => (1,1,0,1,0,0,1,1)
- | xcc => (0,0,1,1,0,0,1,1)
- | xcd => (1,0,1,1,0,0,1,1)
- | xce => (0,1,1,1,0,0,1,1)
- | xcf => (1,1,1,1,0,0,1,1)
- | xd0 => (0,0,0,0,1,0,1,1)
- | xd1 => (1,0,0,0,1,0,1,1)
- | xd2 => (0,1,0,0,1,0,1,1)
- | xd3 => (1,1,0,0,1,0,1,1)
- | xd4 => (0,0,1,0,1,0,1,1)
- | xd5 => (1,0,1,0,1,0,1,1)
- | xd6 => (0,1,1,0,1,0,1,1)
- | xd7 => (1,1,1,0,1,0,1,1)
- | xd8 => (0,0,0,1,1,0,1,1)
- | xd9 => (1,0,0,1,1,0,1,1)
- | xda => (0,1,0,1,1,0,1,1)
- | xdb => (1,1,0,1,1,0,1,1)
- | xdc => (0,0,1,1,1,0,1,1)
- | xdd => (1,0,1,1,1,0,1,1)
- | xde => (0,1,1,1,1,0,1,1)
- | xdf => (1,1,1,1,1,0,1,1)
- | xe0 => (0,0,0,0,0,1,1,1)
- | xe1 => (1,0,0,0,0,1,1,1)
- | xe2 => (0,1,0,0,0,1,1,1)
- | xe3 => (1,1,0,0,0,1,1,1)
- | xe4 => (0,0,1,0,0,1,1,1)
- | xe5 => (1,0,1,0,0,1,1,1)
- | xe6 => (0,1,1,0,0,1,1,1)
- | xe7 => (1,1,1,0,0,1,1,1)
- | xe8 => (0,0,0,1,0,1,1,1)
- | xe9 => (1,0,0,1,0,1,1,1)
- | xea => (0,1,0,1,0,1,1,1)
- | xeb => (1,1,0,1,0,1,1,1)
- | xec => (0,0,1,1,0,1,1,1)
- | xed => (1,0,1,1,0,1,1,1)
- | xee => (0,1,1,1,0,1,1,1)
- | xef => (1,1,1,1,0,1,1,1)
- | xf0 => (0,0,0,0,1,1,1,1)
- | xf1 => (1,0,0,0,1,1,1,1)
- | xf2 => (0,1,0,0,1,1,1,1)
- | xf3 => (1,1,0,0,1,1,1,1)
- | xf4 => (0,0,1,0,1,1,1,1)
- | xf5 => (1,0,1,0,1,1,1,1)
- | xf6 => (0,1,1,0,1,1,1,1)
- | xf7 => (1,1,1,0,1,1,1,1)
- | xf8 => (0,0,0,1,1,1,1,1)
- | xf9 => (1,0,0,1,1,1,1,1)
- | xfa => (0,1,0,1,1,1,1,1)
- | xfb => (1,1,0,1,1,1,1,1)
- | xfc => (0,0,1,1,1,1,1,1)
- | xfd => (1,0,1,1,1,1,1,1)
- | xfe => (0,1,1,1,1,1,1,1)
- | xff => (1,1,1,1,1,1,1,1)
+ | x00 => (0,(0,(0,(0,(0,(0,(0,0)))))))
+ | x01 => (1,(0,(0,(0,(0,(0,(0,0)))))))
+ | x02 => (0,(1,(0,(0,(0,(0,(0,0)))))))
+ | x03 => (1,(1,(0,(0,(0,(0,(0,0)))))))
+ | x04 => (0,(0,(1,(0,(0,(0,(0,0)))))))
+ | x05 => (1,(0,(1,(0,(0,(0,(0,0)))))))
+ | x06 => (0,(1,(1,(0,(0,(0,(0,0)))))))
+ | x07 => (1,(1,(1,(0,(0,(0,(0,0)))))))
+ | x08 => (0,(0,(0,(1,(0,(0,(0,0)))))))
+ | x09 => (1,(0,(0,(1,(0,(0,(0,0)))))))
+ | x0a => (0,(1,(0,(1,(0,(0,(0,0)))))))
+ | x0b => (1,(1,(0,(1,(0,(0,(0,0)))))))
+ | x0c => (0,(0,(1,(1,(0,(0,(0,0)))))))
+ | x0d => (1,(0,(1,(1,(0,(0,(0,0)))))))
+ | x0e => (0,(1,(1,(1,(0,(0,(0,0)))))))
+ | x0f => (1,(1,(1,(1,(0,(0,(0,0)))))))
+ | x10 => (0,(0,(0,(0,(1,(0,(0,0)))))))
+ | x11 => (1,(0,(0,(0,(1,(0,(0,0)))))))
+ | x12 => (0,(1,(0,(0,(1,(0,(0,0)))))))
+ | x13 => (1,(1,(0,(0,(1,(0,(0,0)))))))
+ | x14 => (0,(0,(1,(0,(1,(0,(0,0)))))))
+ | x15 => (1,(0,(1,(0,(1,(0,(0,0)))))))
+ | x16 => (0,(1,(1,(0,(1,(0,(0,0)))))))
+ | x17 => (1,(1,(1,(0,(1,(0,(0,0)))))))
+ | x18 => (0,(0,(0,(1,(1,(0,(0,0)))))))
+ | x19 => (1,(0,(0,(1,(1,(0,(0,0)))))))
+ | x1a => (0,(1,(0,(1,(1,(0,(0,0)))))))
+ | x1b => (1,(1,(0,(1,(1,(0,(0,0)))))))
+ | x1c => (0,(0,(1,(1,(1,(0,(0,0)))))))
+ | x1d => (1,(0,(1,(1,(1,(0,(0,0)))))))
+ | x1e => (0,(1,(1,(1,(1,(0,(0,0)))))))
+ | x1f => (1,(1,(1,(1,(1,(0,(0,0)))))))
+ | x20 => (0,(0,(0,(0,(0,(1,(0,0)))))))
+ | x21 => (1,(0,(0,(0,(0,(1,(0,0)))))))
+ | x22 => (0,(1,(0,(0,(0,(1,(0,0)))))))
+ | x23 => (1,(1,(0,(0,(0,(1,(0,0)))))))
+ | x24 => (0,(0,(1,(0,(0,(1,(0,0)))))))
+ | x25 => (1,(0,(1,(0,(0,(1,(0,0)))))))
+ | x26 => (0,(1,(1,(0,(0,(1,(0,0)))))))
+ | x27 => (1,(1,(1,(0,(0,(1,(0,0)))))))
+ | x28 => (0,(0,(0,(1,(0,(1,(0,0)))))))
+ | x29 => (1,(0,(0,(1,(0,(1,(0,0)))))))
+ | x2a => (0,(1,(0,(1,(0,(1,(0,0)))))))
+ | x2b => (1,(1,(0,(1,(0,(1,(0,0)))))))
+ | x2c => (0,(0,(1,(1,(0,(1,(0,0)))))))
+ | x2d => (1,(0,(1,(1,(0,(1,(0,0)))))))
+ | x2e => (0,(1,(1,(1,(0,(1,(0,0)))))))
+ | x2f => (1,(1,(1,(1,(0,(1,(0,0)))))))
+ | x30 => (0,(0,(0,(0,(1,(1,(0,0)))))))
+ | x31 => (1,(0,(0,(0,(1,(1,(0,0)))))))
+ | x32 => (0,(1,(0,(0,(1,(1,(0,0)))))))
+ | x33 => (1,(1,(0,(0,(1,(1,(0,0)))))))
+ | x34 => (0,(0,(1,(0,(1,(1,(0,0)))))))
+ | x35 => (1,(0,(1,(0,(1,(1,(0,0)))))))
+ | x36 => (0,(1,(1,(0,(1,(1,(0,0)))))))
+ | x37 => (1,(1,(1,(0,(1,(1,(0,0)))))))
+ | x38 => (0,(0,(0,(1,(1,(1,(0,0)))))))
+ | x39 => (1,(0,(0,(1,(1,(1,(0,0)))))))
+ | x3a => (0,(1,(0,(1,(1,(1,(0,0)))))))
+ | x3b => (1,(1,(0,(1,(1,(1,(0,0)))))))
+ | x3c => (0,(0,(1,(1,(1,(1,(0,0)))))))
+ | x3d => (1,(0,(1,(1,(1,(1,(0,0)))))))
+ | x3e => (0,(1,(1,(1,(1,(1,(0,0)))))))
+ | x3f => (1,(1,(1,(1,(1,(1,(0,0)))))))
+ | x40 => (0,(0,(0,(0,(0,(0,(1,0)))))))
+ | x41 => (1,(0,(0,(0,(0,(0,(1,0)))))))
+ | x42 => (0,(1,(0,(0,(0,(0,(1,0)))))))
+ | x43 => (1,(1,(0,(0,(0,(0,(1,0)))))))
+ | x44 => (0,(0,(1,(0,(0,(0,(1,0)))))))
+ | x45 => (1,(0,(1,(0,(0,(0,(1,0)))))))
+ | x46 => (0,(1,(1,(0,(0,(0,(1,0)))))))
+ | x47 => (1,(1,(1,(0,(0,(0,(1,0)))))))
+ | x48 => (0,(0,(0,(1,(0,(0,(1,0)))))))
+ | x49 => (1,(0,(0,(1,(0,(0,(1,0)))))))
+ | x4a => (0,(1,(0,(1,(0,(0,(1,0)))))))
+ | x4b => (1,(1,(0,(1,(0,(0,(1,0)))))))
+ | x4c => (0,(0,(1,(1,(0,(0,(1,0)))))))
+ | x4d => (1,(0,(1,(1,(0,(0,(1,0)))))))
+ | x4e => (0,(1,(1,(1,(0,(0,(1,0)))))))
+ | x4f => (1,(1,(1,(1,(0,(0,(1,0)))))))
+ | x50 => (0,(0,(0,(0,(1,(0,(1,0)))))))
+ | x51 => (1,(0,(0,(0,(1,(0,(1,0)))))))
+ | x52 => (0,(1,(0,(0,(1,(0,(1,0)))))))
+ | x53 => (1,(1,(0,(0,(1,(0,(1,0)))))))
+ | x54 => (0,(0,(1,(0,(1,(0,(1,0)))))))
+ | x55 => (1,(0,(1,(0,(1,(0,(1,0)))))))
+ | x56 => (0,(1,(1,(0,(1,(0,(1,0)))))))
+ | x57 => (1,(1,(1,(0,(1,(0,(1,0)))))))
+ | x58 => (0,(0,(0,(1,(1,(0,(1,0)))))))
+ | x59 => (1,(0,(0,(1,(1,(0,(1,0)))))))
+ | x5a => (0,(1,(0,(1,(1,(0,(1,0)))))))
+ | x5b => (1,(1,(0,(1,(1,(0,(1,0)))))))
+ | x5c => (0,(0,(1,(1,(1,(0,(1,0)))))))
+ | x5d => (1,(0,(1,(1,(1,(0,(1,0)))))))
+ | x5e => (0,(1,(1,(1,(1,(0,(1,0)))))))
+ | x5f => (1,(1,(1,(1,(1,(0,(1,0)))))))
+ | x60 => (0,(0,(0,(0,(0,(1,(1,0)))))))
+ | x61 => (1,(0,(0,(0,(0,(1,(1,0)))))))
+ | x62 => (0,(1,(0,(0,(0,(1,(1,0)))))))
+ | x63 => (1,(1,(0,(0,(0,(1,(1,0)))))))
+ | x64 => (0,(0,(1,(0,(0,(1,(1,0)))))))
+ | x65 => (1,(0,(1,(0,(0,(1,(1,0)))))))
+ | x66 => (0,(1,(1,(0,(0,(1,(1,0)))))))
+ | x67 => (1,(1,(1,(0,(0,(1,(1,0)))))))
+ | x68 => (0,(0,(0,(1,(0,(1,(1,0)))))))
+ | x69 => (1,(0,(0,(1,(0,(1,(1,0)))))))
+ | x6a => (0,(1,(0,(1,(0,(1,(1,0)))))))
+ | x6b => (1,(1,(0,(1,(0,(1,(1,0)))))))
+ | x6c => (0,(0,(1,(1,(0,(1,(1,0)))))))
+ | x6d => (1,(0,(1,(1,(0,(1,(1,0)))))))
+ | x6e => (0,(1,(1,(1,(0,(1,(1,0)))))))
+ | x6f => (1,(1,(1,(1,(0,(1,(1,0)))))))
+ | x70 => (0,(0,(0,(0,(1,(1,(1,0)))))))
+ | x71 => (1,(0,(0,(0,(1,(1,(1,0)))))))
+ | x72 => (0,(1,(0,(0,(1,(1,(1,0)))))))
+ | x73 => (1,(1,(0,(0,(1,(1,(1,0)))))))
+ | x74 => (0,(0,(1,(0,(1,(1,(1,0)))))))
+ | x75 => (1,(0,(1,(0,(1,(1,(1,0)))))))
+ | x76 => (0,(1,(1,(0,(1,(1,(1,0)))))))
+ | x77 => (1,(1,(1,(0,(1,(1,(1,0)))))))
+ | x78 => (0,(0,(0,(1,(1,(1,(1,0)))))))
+ | x79 => (1,(0,(0,(1,(1,(1,(1,0)))))))
+ | x7a => (0,(1,(0,(1,(1,(1,(1,0)))))))
+ | x7b => (1,(1,(0,(1,(1,(1,(1,0)))))))
+ | x7c => (0,(0,(1,(1,(1,(1,(1,0)))))))
+ | x7d => (1,(0,(1,(1,(1,(1,(1,0)))))))
+ | x7e => (0,(1,(1,(1,(1,(1,(1,0)))))))
+ | x7f => (1,(1,(1,(1,(1,(1,(1,0)))))))
+ | x80 => (0,(0,(0,(0,(0,(0,(0,1)))))))
+ | x81 => (1,(0,(0,(0,(0,(0,(0,1)))))))
+ | x82 => (0,(1,(0,(0,(0,(0,(0,1)))))))
+ | x83 => (1,(1,(0,(0,(0,(0,(0,1)))))))
+ | x84 => (0,(0,(1,(0,(0,(0,(0,1)))))))
+ | x85 => (1,(0,(1,(0,(0,(0,(0,1)))))))
+ | x86 => (0,(1,(1,(0,(0,(0,(0,1)))))))
+ | x87 => (1,(1,(1,(0,(0,(0,(0,1)))))))
+ | x88 => (0,(0,(0,(1,(0,(0,(0,1)))))))
+ | x89 => (1,(0,(0,(1,(0,(0,(0,1)))))))
+ | x8a => (0,(1,(0,(1,(0,(0,(0,1)))))))
+ | x8b => (1,(1,(0,(1,(0,(0,(0,1)))))))
+ | x8c => (0,(0,(1,(1,(0,(0,(0,1)))))))
+ | x8d => (1,(0,(1,(1,(0,(0,(0,1)))))))
+ | x8e => (0,(1,(1,(1,(0,(0,(0,1)))))))
+ | x8f => (1,(1,(1,(1,(0,(0,(0,1)))))))
+ | x90 => (0,(0,(0,(0,(1,(0,(0,1)))))))
+ | x91 => (1,(0,(0,(0,(1,(0,(0,1)))))))
+ | x92 => (0,(1,(0,(0,(1,(0,(0,1)))))))
+ | x93 => (1,(1,(0,(0,(1,(0,(0,1)))))))
+ | x94 => (0,(0,(1,(0,(1,(0,(0,1)))))))
+ | x95 => (1,(0,(1,(0,(1,(0,(0,1)))))))
+ | x96 => (0,(1,(1,(0,(1,(0,(0,1)))))))
+ | x97 => (1,(1,(1,(0,(1,(0,(0,1)))))))
+ | x98 => (0,(0,(0,(1,(1,(0,(0,1)))))))
+ | x99 => (1,(0,(0,(1,(1,(0,(0,1)))))))
+ | x9a => (0,(1,(0,(1,(1,(0,(0,1)))))))
+ | x9b => (1,(1,(0,(1,(1,(0,(0,1)))))))
+ | x9c => (0,(0,(1,(1,(1,(0,(0,1)))))))
+ | x9d => (1,(0,(1,(1,(1,(0,(0,1)))))))
+ | x9e => (0,(1,(1,(1,(1,(0,(0,1)))))))
+ | x9f => (1,(1,(1,(1,(1,(0,(0,1)))))))
+ | xa0 => (0,(0,(0,(0,(0,(1,(0,1)))))))
+ | xa1 => (1,(0,(0,(0,(0,(1,(0,1)))))))
+ | xa2 => (0,(1,(0,(0,(0,(1,(0,1)))))))
+ | xa3 => (1,(1,(0,(0,(0,(1,(0,1)))))))
+ | xa4 => (0,(0,(1,(0,(0,(1,(0,1)))))))
+ | xa5 => (1,(0,(1,(0,(0,(1,(0,1)))))))
+ | xa6 => (0,(1,(1,(0,(0,(1,(0,1)))))))
+ | xa7 => (1,(1,(1,(0,(0,(1,(0,1)))))))
+ | xa8 => (0,(0,(0,(1,(0,(1,(0,1)))))))
+ | xa9 => (1,(0,(0,(1,(0,(1,(0,1)))))))
+ | xaa => (0,(1,(0,(1,(0,(1,(0,1)))))))
+ | xab => (1,(1,(0,(1,(0,(1,(0,1)))))))
+ | xac => (0,(0,(1,(1,(0,(1,(0,1)))))))
+ | xad => (1,(0,(1,(1,(0,(1,(0,1)))))))
+ | xae => (0,(1,(1,(1,(0,(1,(0,1)))))))
+ | xaf => (1,(1,(1,(1,(0,(1,(0,1)))))))
+ | xb0 => (0,(0,(0,(0,(1,(1,(0,1)))))))
+ | xb1 => (1,(0,(0,(0,(1,(1,(0,1)))))))
+ | xb2 => (0,(1,(0,(0,(1,(1,(0,1)))))))
+ | xb3 => (1,(1,(0,(0,(1,(1,(0,1)))))))
+ | xb4 => (0,(0,(1,(0,(1,(1,(0,1)))))))
+ | xb5 => (1,(0,(1,(0,(1,(1,(0,1)))))))
+ | xb6 => (0,(1,(1,(0,(1,(1,(0,1)))))))
+ | xb7 => (1,(1,(1,(0,(1,(1,(0,1)))))))
+ | xb8 => (0,(0,(0,(1,(1,(1,(0,1)))))))
+ | xb9 => (1,(0,(0,(1,(1,(1,(0,1)))))))
+ | xba => (0,(1,(0,(1,(1,(1,(0,1)))))))
+ | xbb => (1,(1,(0,(1,(1,(1,(0,1)))))))
+ | xbc => (0,(0,(1,(1,(1,(1,(0,1)))))))
+ | xbd => (1,(0,(1,(1,(1,(1,(0,1)))))))
+ | xbe => (0,(1,(1,(1,(1,(1,(0,1)))))))
+ | xbf => (1,(1,(1,(1,(1,(1,(0,1)))))))
+ | xc0 => (0,(0,(0,(0,(0,(0,(1,1)))))))
+ | xc1 => (1,(0,(0,(0,(0,(0,(1,1)))))))
+ | xc2 => (0,(1,(0,(0,(0,(0,(1,1)))))))
+ | xc3 => (1,(1,(0,(0,(0,(0,(1,1)))))))
+ | xc4 => (0,(0,(1,(0,(0,(0,(1,1)))))))
+ | xc5 => (1,(0,(1,(0,(0,(0,(1,1)))))))
+ | xc6 => (0,(1,(1,(0,(0,(0,(1,1)))))))
+ | xc7 => (1,(1,(1,(0,(0,(0,(1,1)))))))
+ | xc8 => (0,(0,(0,(1,(0,(0,(1,1)))))))
+ | xc9 => (1,(0,(0,(1,(0,(0,(1,1)))))))
+ | xca => (0,(1,(0,(1,(0,(0,(1,1)))))))
+ | xcb => (1,(1,(0,(1,(0,(0,(1,1)))))))
+ | xcc => (0,(0,(1,(1,(0,(0,(1,1)))))))
+ | xcd => (1,(0,(1,(1,(0,(0,(1,1)))))))
+ | xce => (0,(1,(1,(1,(0,(0,(1,1)))))))
+ | xcf => (1,(1,(1,(1,(0,(0,(1,1)))))))
+ | xd0 => (0,(0,(0,(0,(1,(0,(1,1)))))))
+ | xd1 => (1,(0,(0,(0,(1,(0,(1,1)))))))
+ | xd2 => (0,(1,(0,(0,(1,(0,(1,1)))))))
+ | xd3 => (1,(1,(0,(0,(1,(0,(1,1)))))))
+ | xd4 => (0,(0,(1,(0,(1,(0,(1,1)))))))
+ | xd5 => (1,(0,(1,(0,(1,(0,(1,1)))))))
+ | xd6 => (0,(1,(1,(0,(1,(0,(1,1)))))))
+ | xd7 => (1,(1,(1,(0,(1,(0,(1,1)))))))
+ | xd8 => (0,(0,(0,(1,(1,(0,(1,1)))))))
+ | xd9 => (1,(0,(0,(1,(1,(0,(1,1)))))))
+ | xda => (0,(1,(0,(1,(1,(0,(1,1)))))))
+ | xdb => (1,(1,(0,(1,(1,(0,(1,1)))))))
+ | xdc => (0,(0,(1,(1,(1,(0,(1,1)))))))
+ | xdd => (1,(0,(1,(1,(1,(0,(1,1)))))))
+ | xde => (0,(1,(1,(1,(1,(0,(1,1)))))))
+ | xdf => (1,(1,(1,(1,(1,(0,(1,1)))))))
+ | xe0 => (0,(0,(0,(0,(0,(1,(1,1)))))))
+ | xe1 => (1,(0,(0,(0,(0,(1,(1,1)))))))
+ | xe2 => (0,(1,(0,(0,(0,(1,(1,1)))))))
+ | xe3 => (1,(1,(0,(0,(0,(1,(1,1)))))))
+ | xe4 => (0,(0,(1,(0,(0,(1,(1,1)))))))
+ | xe5 => (1,(0,(1,(0,(0,(1,(1,1)))))))
+ | xe6 => (0,(1,(1,(0,(0,(1,(1,1)))))))
+ | xe7 => (1,(1,(1,(0,(0,(1,(1,1)))))))
+ | xe8 => (0,(0,(0,(1,(0,(1,(1,1)))))))
+ | xe9 => (1,(0,(0,(1,(0,(1,(1,1)))))))
+ | xea => (0,(1,(0,(1,(0,(1,(1,1)))))))
+ | xeb => (1,(1,(0,(1,(0,(1,(1,1)))))))
+ | xec => (0,(0,(1,(1,(0,(1,(1,1)))))))
+ | xed => (1,(0,(1,(1,(0,(1,(1,1)))))))
+ | xee => (0,(1,(1,(1,(0,(1,(1,1)))))))
+ | xef => (1,(1,(1,(1,(0,(1,(1,1)))))))
+ | xf0 => (0,(0,(0,(0,(1,(1,(1,1)))))))
+ | xf1 => (1,(0,(0,(0,(1,(1,(1,1)))))))
+ | xf2 => (0,(1,(0,(0,(1,(1,(1,1)))))))
+ | xf3 => (1,(1,(0,(0,(1,(1,(1,1)))))))
+ | xf4 => (0,(0,(1,(0,(1,(1,(1,1)))))))
+ | xf5 => (1,(0,(1,(0,(1,(1,(1,1)))))))
+ | xf6 => (0,(1,(1,(0,(1,(1,(1,1)))))))
+ | xf7 => (1,(1,(1,(0,(1,(1,(1,1)))))))
+ | xf8 => (0,(0,(0,(1,(1,(1,(1,1)))))))
+ | xf9 => (1,(0,(0,(1,(1,(1,(1,1)))))))
+ | xfa => (0,(1,(0,(1,(1,(1,(1,1)))))))
+ | xfb => (1,(1,(0,(1,(1,(1,(1,1)))))))
+ | xfc => (0,(0,(1,(1,(1,(1,(1,1)))))))
+ | xfd => (1,(0,(1,(1,(1,(1,(1,1)))))))
+ | xfe => (0,(1,(1,(1,(1,(1,(1,1)))))))
+ | xff => (1,(1,(1,(1,(1,(1,(1,1)))))))
end.
Lemma of_bits_to_bits (b : byte) : of_bits (to_bits b) = b.
diff --git a/theories/Strings/Ascii.v b/theories/Strings/Ascii.v
index 131147ff8d..6a0c5f066e 100644
--- a/theories/Strings/Ascii.v
+++ b/theories/Strings/Ascii.v
@@ -190,12 +190,12 @@ Qed.
*)
Definition ascii_of_byte (b : byte) : ascii
- := let '(b7, b6, b5, b4, b3, b2, b1, b0) := Byte.to_bits b in
- Ascii b7 b6 b5 b4 b3 b2 b1 b0.
+ := let '(b0, (b1, (b2, (b3, (b4, (b5, (b6, b7))))))) := Byte.to_bits b in
+ Ascii b0 b1 b2 b3 b4 b5 b6 b7.
Definition byte_of_ascii (a : ascii) : byte
- := let (b7, b6, b5, b4, b3, b2, b1, b0) := a in
- Byte.of_bits (b7, b6, b5, b4, b3, b2, b1, b0).
+ := let (b0, b1, b2, b3, b4, b5, b6, b7) := a in
+ Byte.of_bits (b0, (b1, (b2, (b3, (b4, (b5, (b6, b7))))))).
Lemma ascii_of_byte_of_ascii x : ascii_of_byte (byte_of_ascii x) = x.
Proof.
diff --git a/theories/Strings/Byte.v b/theories/Strings/Byte.v
index 4daa0b196c..2759ea60cb 100644
--- a/theories/Strings/Byte.v
+++ b/theories/Strings/Byte.v
@@ -16,8 +16,8 @@ Require Export Coq.Init.Byte.
Local Set Implicit Arguments.
Definition eqb (a b : byte) : bool
- := let '(a7, a6, a5, a4, a3, a2, a1, a0) := to_bits a in
- let '(b7, b6, b5, b4, b3, b2, b1, b0) := to_bits b in
+ := let '(a0, (a1, (a2, (a3, (a4, (a5, (a6, a7))))))) := to_bits a in
+ let '(b0, (b1, (b2, (b3, (b4, (b5, (b6, b7))))))) := to_bits b in
(Bool.eqb a0 b0 && Bool.eqb a1 b1 && Bool.eqb a2 b2 && Bool.eqb a3 b3 &&
Bool.eqb a4 b4 && Bool.eqb a5 b5 && Bool.eqb a6 b6 && Bool.eqb a7 b7)%bool.