1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 (* ********************************************************************** *)
16 (* Progetto FreeScale *)
19 (* Cosimo Oliboni, oliboni@cs.unibo.it *)
21 (* Questo materiale fa parte della tesi: *)
22 (* "Formalizzazione Interattiva dei Microcontroller a 8bit FreeScale" *)
24 (* data ultima modifica 15/11/2007 *)
25 (* ********************************************************************** *)
27 include "freescale/bool.ma".
28 include "freescale/prod.ma".
29 include "freescale/nat.ma".
35 ninductive exadecim : Type ≝
53 ndefinition exadecim_ind :
54 ΠP:exadecim → Prop.P x0 → P x1 → P x2 → P x3 → P x4 → P x5 → P x6 → P x7 →
55 P x8 → P x9 → P xA → P xB → P xC → P xD → P xE → P xF → Πe:exadecim.P e ≝
57 λp:P x0.λp1:P x1.λp2:P x2.λp3:P x3.λp4:P x4.λp5:P x5.λp6:P x6.λp7:P x7.
58 λp8:P x8.λp9:P x9.λp10:P xA.λp11:P xB.λp12:P xC.λp13:P xD.λp14:P xE.λp15:P xF.λe:exadecim.
60 [ x0 ⇒ p | x1 ⇒ p1 | x2 ⇒ p2 | x3 ⇒ p3 | x4 ⇒ p4 | x5 ⇒ p5 | x6 ⇒ p6 | x7 ⇒ p7
61 | x8 ⇒ p8 | x9 ⇒ p9 | xA ⇒ p10 |xB ⇒ p11 | xC ⇒ p12 | xD ⇒ p13 | xE ⇒ p14 | xF ⇒ p15 ].
63 ndefinition exadecim_rec :
64 ΠP:exadecim → Set.P x0 → P x1 → P x2 → P x3 → P x4 → P x5 → P x6 → P x7 →
65 P x8 → P x9 → P xA → P xB → P xC → P xD → P xE → P xF → Πe:exadecim.P e ≝
67 λp:P x0.λp1:P x1.λp2:P x2.λp3:P x3.λp4:P x4.λp5:P x5.λp6:P x6.λp7:P x7.
68 λp8:P x8.λp9:P x9.λp10:P xA.λp11:P xB.λp12:P xC.λp13:P xD.λp14:P xE.λp15:P xF.λe:exadecim.
70 [ x0 ⇒ p | x1 ⇒ p1 | x2 ⇒ p2 | x3 ⇒ p3 | x4 ⇒ p4 | x5 ⇒ p5 | x6 ⇒ p6 | x7 ⇒ p7
71 | x8 ⇒ p8 | x9 ⇒ p9 | xA ⇒ p10 |xB ⇒ p11 | xC ⇒ p12 | xD ⇒ p13 | xE ⇒ p14 | xF ⇒ p15 ].
73 ndefinition exadecim_rect :
74 ΠP:exadecim → Type.P x0 → P x1 → P x2 → P x3 → P x4 → P x5 → P x6 → P x7 →
75 P x8 → P x9 → P xA → P xB → P xC → P xD → P xE → P xF → Πe:exadecim.P e ≝
77 λp:P x0.λp1:P x1.λp2:P x2.λp3:P x3.λp4:P x4.λp5:P x5.λp6:P x6.λp7:P x7.
78 λp8:P x8.λp9:P x9.λp10:P xA.λp11:P xB.λp12:P xC.λp13:P xD.λp14:P xE.λp15:P xF.λe:exadecim.
80 [ x0 ⇒ p | x1 ⇒ p1 | x2 ⇒ p2 | x3 ⇒ p3 | x4 ⇒ p4 | x5 ⇒ p5 | x6 ⇒ p6 | x7 ⇒ p7
81 | x8 ⇒ p8 | x9 ⇒ p9 | xA ⇒ p10 |xB ⇒ p11 | xC ⇒ p12 | xD ⇒ p13 | xE ⇒ p14 | xF ⇒ p15 ].
88 [ x0 ⇒ true | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
89 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
90 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
91 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
93 [ x0 ⇒ false | x1 ⇒ true | x2 ⇒ false | x3 ⇒ false
94 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
95 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
96 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
98 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ true | x3 ⇒ false
99 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
100 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
101 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
103 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ true
104 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
105 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
106 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
108 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
109 | x4 ⇒ true | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
110 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
111 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
113 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
114 | x4 ⇒ false | x5 ⇒ true | x6 ⇒ false | x7 ⇒ false
115 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
116 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
118 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
119 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ true | x7 ⇒ false
120 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
121 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
123 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
124 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ true
125 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
126 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
128 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
129 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
130 | x8 ⇒ true | x9 ⇒ false | xA ⇒ false | xB ⇒ false
131 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
133 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
134 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
135 | x8 ⇒ false | x9 ⇒ true | xA ⇒ false | xB ⇒ false
136 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
138 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
139 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
140 | x8 ⇒ false | x9 ⇒ false | xA ⇒ true | xB ⇒ false
141 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
143 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
144 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
145 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ true
146 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
148 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
149 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
150 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
151 | xC ⇒ true | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
153 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
154 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
155 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
156 | xC ⇒ false | xD ⇒ true | xE ⇒ false | xF ⇒ false ]
158 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
159 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
160 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
161 | xC ⇒ false | xD ⇒ false | xE ⇒ true | xF ⇒ false ]
163 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
164 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
165 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
166 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ true ]
174 [ x0 ⇒ false | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
175 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
176 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
177 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
179 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ true | x3 ⇒ true
180 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
181 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
182 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
184 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ true
185 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
186 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
187 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
189 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
190 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
191 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
192 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
194 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
195 | x4 ⇒ false | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
196 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
197 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
199 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
200 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ true | x7 ⇒ true
201 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
202 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
204 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
205 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ true
206 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
207 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
209 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
210 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
211 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
212 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
214 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
215 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
216 | x8 ⇒ false | x9 ⇒ true | xA ⇒ true | xB ⇒ true
217 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
219 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
220 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
221 | x8 ⇒ false | x9 ⇒ false | xA ⇒ true | xB ⇒ true
222 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
224 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
225 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
226 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ true
227 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
229 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
230 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
231 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
232 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
234 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
235 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
236 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
237 | xC ⇒ false | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
239 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
240 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
241 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
242 | xC ⇒ false | xD ⇒ false | xE ⇒ true | xF ⇒ true ]
244 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
245 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
246 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
247 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ true ]
249 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
250 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
251 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
252 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
260 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
261 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
262 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
263 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
265 [ x0 ⇒ false | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
266 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
267 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
268 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
270 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ true | x3 ⇒ true
271 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
272 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
273 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
275 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ true
276 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
277 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
278 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
280 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
281 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
282 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
283 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
285 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
286 | x4 ⇒ false | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
287 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
288 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
290 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
291 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ true | x7 ⇒ true
292 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
293 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
295 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
296 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ true
297 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
298 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
300 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
301 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
302 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
303 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
305 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
306 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
307 | x8 ⇒ false | x9 ⇒ true | xA ⇒ true | xB ⇒ true
308 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
310 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
311 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
312 | x8 ⇒ false | x9 ⇒ false | xA ⇒ true | xB ⇒ true
313 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
315 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
316 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
317 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ true
318 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
320 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
321 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
322 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
323 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
325 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
326 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
327 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
328 | xC ⇒ false | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
330 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
331 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
332 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
333 | xC ⇒ false | xD ⇒ false | xE ⇒ true | xF ⇒ true ]
335 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
336 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
337 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
338 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ true ]
346 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
347 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
348 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
349 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
351 [ x0 ⇒ true | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
352 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
353 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
354 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
356 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ false | x3 ⇒ false
357 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
358 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
359 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
361 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ false
362 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
363 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
364 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
366 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
367 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
368 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
369 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
371 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
372 | x4 ⇒ true | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
373 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
374 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
376 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
377 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ false | x7 ⇒ false
378 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
379 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
381 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
382 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ false
383 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
384 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
386 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
387 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
388 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
389 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
391 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
392 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
393 | x8 ⇒ true | x9 ⇒ false | xA ⇒ false | xB ⇒ false
394 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
396 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
397 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
398 | x8 ⇒ true | x9 ⇒ true | xA ⇒ false | xB ⇒ false
399 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
401 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
402 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
403 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ false
404 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
406 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
407 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
408 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
409 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
411 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
412 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
413 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
414 | xC ⇒ true | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
416 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
417 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
418 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
419 | xC ⇒ true | xD ⇒ true | xE ⇒ false | xF ⇒ false ]
421 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
422 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
423 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
424 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ false ]
432 [ x0 ⇒ true | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
433 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
434 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
435 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
437 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ false | x3 ⇒ false
438 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
439 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
440 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
442 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ false
443 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
444 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
445 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
447 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
448 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
449 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
450 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
452 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
453 | x4 ⇒ true | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
454 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
455 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
457 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
458 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ false | x7 ⇒ false
459 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
460 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
462 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
463 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ false
464 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
465 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
467 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
468 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
469 | x8 ⇒ false | x9 ⇒ false | xA ⇒ false | xB ⇒ false
470 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
472 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
473 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
474 | x8 ⇒ true | x9 ⇒ false | xA ⇒ false | xB ⇒ false
475 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
477 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
478 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
479 | x8 ⇒ true | x9 ⇒ true | xA ⇒ false | xB ⇒ false
480 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
482 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
483 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
484 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ false
485 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
487 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
488 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
489 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
490 | xC ⇒ false | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
492 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
493 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
494 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
495 | xC ⇒ true | xD ⇒ false | xE ⇒ false | xF ⇒ false ]
497 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
498 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
499 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
500 | xC ⇒ true | xD ⇒ true | xE ⇒ false | xF ⇒ false ]
502 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
503 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
504 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
505 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ false ]
507 [ x0 ⇒ true | x1 ⇒ true | x2 ⇒ true | x3 ⇒ true
508 | x4 ⇒ true | x5 ⇒ true | x6 ⇒ true | x7 ⇒ true
509 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
510 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ]
515 λe1,e2:exadecim.match e1 with
517 [ x0 ⇒ x0 | x1 ⇒ x0 | x2 ⇒ x0 | x3 ⇒ x0
518 | x4 ⇒ x0 | x5 ⇒ x0 | x6 ⇒ x0 | x7 ⇒ x0
519 | x8 ⇒ x0 | x9 ⇒ x0 | xA ⇒ x0 | xB ⇒ x0
520 | xC ⇒ x0 | xD ⇒ x0 | xE ⇒ x0 | xF ⇒ x0 ]
522 [ x0 ⇒ x0 | x1 ⇒ x1 | x2 ⇒ x0 | x3 ⇒ x1
523 | x4 ⇒ x0 | x5 ⇒ x1 | x6 ⇒ x0 | x7 ⇒ x1
524 | x8 ⇒ x0 | x9 ⇒ x1 | xA ⇒ x0 | xB ⇒ x1
525 | xC ⇒ x0 | xD ⇒ x1 | xE ⇒ x0 | xF ⇒ x1 ]
527 [ x0 ⇒ x0 | x1 ⇒ x0 | x2 ⇒ x2 | x3 ⇒ x2
528 | x4 ⇒ x0 | x5 ⇒ x0 | x6 ⇒ x2 | x7 ⇒ x2
529 | x8 ⇒ x0 | x9 ⇒ x0 | xA ⇒ x2 | xB ⇒ x2
530 | xC ⇒ x0 | xD ⇒ x0 | xE ⇒ x2 | xF ⇒ x2 ]
532 [ x0 ⇒ x0 | x1 ⇒ x1 | x2 ⇒ x2 | x3 ⇒ x3
533 | x4 ⇒ x0 | x5 ⇒ x1 | x6 ⇒ x2 | x7 ⇒ x3
534 | x8 ⇒ x0 | x9 ⇒ x1 | xA ⇒ x2 | xB ⇒ x3
535 | xC ⇒ x0 | xD ⇒ x1 | xE ⇒ x2 | xF ⇒ x3 ]
537 [ x0 ⇒ x0 | x1 ⇒ x0 | x2 ⇒ x0 | x3 ⇒ x0
538 | x4 ⇒ x4 | x5 ⇒ x4 | x6 ⇒ x4 | x7 ⇒ x4
539 | x8 ⇒ x0 | x9 ⇒ x0 | xA ⇒ x0 | xB ⇒ x0
540 | xC ⇒ x4 | xD ⇒ x4 | xE ⇒ x4 | xF ⇒ x4 ]
542 [ x0 ⇒ x0 | x1 ⇒ x1 | x2 ⇒ x0 | x3 ⇒ x1
543 | x4 ⇒ x4 | x5 ⇒ x5 | x6 ⇒ x4 | x7 ⇒ x5
544 | x8 ⇒ x0 | x9 ⇒ x1 | xA ⇒ x0 | xB ⇒ x1
545 | xC ⇒ x4 | xD ⇒ x5 | xE ⇒ x4 | xF ⇒ x5 ]
547 [ x0 ⇒ x0 | x1 ⇒ x0 | x2 ⇒ x2 | x3 ⇒ x2
548 | x4 ⇒ x4 | x5 ⇒ x4 | x6 ⇒ x6 | x7 ⇒ x6
549 | x8 ⇒ x0 | x9 ⇒ x0 | xA ⇒ x2 | xB ⇒ x2
550 | xC ⇒ x4 | xD ⇒ x4 | xE ⇒ x6 | xF ⇒ x6 ]
552 [ x0 ⇒ x0 | x1 ⇒ x1 | x2 ⇒ x2 | x3 ⇒ x3
553 | x4 ⇒ x4 | x5 ⇒ x5 | x6 ⇒ x6 | x7 ⇒ x7
554 | x8 ⇒ x0 | x9 ⇒ x1 | xA ⇒ x2 | xB ⇒ x3
555 | xC ⇒ x4 | xD ⇒ x5 | xE ⇒ x6 | xF ⇒ x7 ]
557 [ x0 ⇒ x0 | x1 ⇒ x0 | x2 ⇒ x0 | x3 ⇒ x0
558 | x4 ⇒ x0 | x5 ⇒ x0 | x6 ⇒ x0 | x7 ⇒ x0
559 | x8 ⇒ x8 | x9 ⇒ x8 | xA ⇒ x8 | xB ⇒ x8
560 | xC ⇒ x8 | xD ⇒ x8 | xE ⇒ x8 | xF ⇒ x8 ]
562 [ x0 ⇒ x0 | x1 ⇒ x1 | x2 ⇒ x0 | x3 ⇒ x1
563 | x4 ⇒ x0 | x5 ⇒ x1 | x6 ⇒ x0 | x7 ⇒ x1
564 | x8 ⇒ x8 | x9 ⇒ x9 | xA ⇒ x8 | xB ⇒ x9
565 | xC ⇒ x8 | xD ⇒ x9 | xE ⇒ x8 | xF ⇒ x9 ]
567 [ x0 ⇒ x0 | x1 ⇒ x0 | x2 ⇒ x2 | x3 ⇒ x2
568 | x4 ⇒ x0 | x5 ⇒ x0 | x6 ⇒ x2 | x7 ⇒ x2
569 | x8 ⇒ x8 | x9 ⇒ x8 | xA ⇒ xA | xB ⇒ xA
570 | xC ⇒ x8 | xD ⇒ x8 | xE ⇒ xA | xF ⇒ xA ]
572 [ x0 ⇒ x0 | x1 ⇒ x1 | x2 ⇒ x2 | x3 ⇒ x3
573 | x4 ⇒ x0 | x5 ⇒ x1 | x6 ⇒ x2 | x7 ⇒ x3
574 | x8 ⇒ x8 | x9 ⇒ x9 | xA ⇒ xA | xB ⇒ xB
575 | xC ⇒ x8 | xD ⇒ x9 | xE ⇒ xA | xF ⇒ xB ]
577 [ x0 ⇒ x0 | x1 ⇒ x0 | x2 ⇒ x0 | x3 ⇒ x0
578 | x4 ⇒ x4 | x5 ⇒ x4 | x6 ⇒ x4 | x7 ⇒ x4
579 | x8 ⇒ x8 | x9 ⇒ x8 | xA ⇒ x8 | xB ⇒ x8
580 | xC ⇒ xC | xD ⇒ xC | xE ⇒ xC | xF ⇒ xC ]
582 [ x0 ⇒ x0 | x1 ⇒ x1 | x2 ⇒ x0 | x3 ⇒ x1
583 | x4 ⇒ x4 | x5 ⇒ x5 | x6 ⇒ x4 | x7 ⇒ x5
584 | x8 ⇒ x8 | x9 ⇒ x9 | xA ⇒ x8 | xB ⇒ x9
585 | xC ⇒ xC | xD ⇒ xD | xE ⇒ xC | xF ⇒ xD ]
587 [ x0 ⇒ x0 | x1 ⇒ x0 | x2 ⇒ x2 | x3 ⇒ x2
588 | x4 ⇒ x4 | x5 ⇒ x4 | x6 ⇒ x6 | x7 ⇒ x6
589 | x8 ⇒ x8 | x9 ⇒ x8 | xA ⇒ xA | xB ⇒ xA
590 | xC ⇒ xC | xD ⇒ xC | xE ⇒ xE | xF ⇒ xE ]
592 [ x0 ⇒ x0 | x1 ⇒ x1 | x2 ⇒ x2 | x3 ⇒ x3
593 | x4 ⇒ x4 | x5 ⇒ x5 | x6 ⇒ x6 | x7 ⇒ x7
594 | x8 ⇒ x8 | x9 ⇒ x9 | xA ⇒ xA | xB ⇒ xB
595 | xC ⇒ xC | xD ⇒ xD | xE ⇒ xE | xF ⇒ xF ]
600 λe1,e2:exadecim.match e1 with
602 [ x0 ⇒ x0 | x1 ⇒ x1 | x2 ⇒ x2 | x3 ⇒ x3
603 | x4 ⇒ x4 | x5 ⇒ x5 | x6 ⇒ x6 | x7 ⇒ x7
604 | x8 ⇒ x8 | x9 ⇒ x9 | xA ⇒ xA | xB ⇒ xB
605 | xC ⇒ xC | xD ⇒ xD | xE ⇒ xE | xF ⇒ xF ]
607 [ x0 ⇒ x1 | x1 ⇒ x1 | x2 ⇒ x3 | x3 ⇒ x3
608 | x4 ⇒ x5 | x5 ⇒ x5 | x6 ⇒ x7 | x7 ⇒ x7
609 | x8 ⇒ x9 | x9 ⇒ x9 | xA ⇒ xB | xB ⇒ xB
610 | xC ⇒ xD | xD ⇒ xD | xE ⇒ xF | xF ⇒ xF ]
612 [ x0 ⇒ x2 | x1 ⇒ x3 | x2 ⇒ x2 | x3 ⇒ x3
613 | x4 ⇒ x6 | x5 ⇒ x7 | x6 ⇒ x6 | x7 ⇒ x7
614 | x8 ⇒ xA | x9 ⇒ xB | xA ⇒ xA | xB ⇒ xB
615 | xC ⇒ xE | xD ⇒ xF | xE ⇒ xE | xF ⇒ xF ]
617 [ x0 ⇒ x3 | x1 ⇒ x3 | x2 ⇒ x3 | x3 ⇒ x3
618 | x4 ⇒ x7 | x5 ⇒ x7 | x6 ⇒ x7 | x7 ⇒ x7
619 | x8 ⇒ xB | x9 ⇒ xB | xA ⇒ xB | xB ⇒ xB
620 | xC ⇒ xF | xD ⇒ xF | xE ⇒ xF | xF ⇒ xF ]
622 [ x0 ⇒ x4 | x1 ⇒ x5 | x2 ⇒ x6 | x3 ⇒ x7
623 | x4 ⇒ x4 | x5 ⇒ x5 | x6 ⇒ x6 | x7 ⇒ x7
624 | x8 ⇒ xC | x9 ⇒ xD | xA ⇒ xE | xB ⇒ xF
625 | xC ⇒ xC | xD ⇒ xD | xE ⇒ xE | xF ⇒ xF ]
627 [ x0 ⇒ x5 | x1 ⇒ x5 | x2 ⇒ x7 | x3 ⇒ x7
628 | x4 ⇒ x5 | x5 ⇒ x5 | x6 ⇒ x7 | x7 ⇒ x7
629 | x8 ⇒ xD | x9 ⇒ xD | xA ⇒ xF | xB ⇒ xF
630 | xC ⇒ xD | xD ⇒ xD | xE ⇒ xF | xF ⇒ xF ]
632 [ x0 ⇒ x6 | x1 ⇒ x7 | x2 ⇒ x6 | x3 ⇒ x7
633 | x4 ⇒ x6 | x5 ⇒ x7 | x6 ⇒ x6 | x7 ⇒ x7
634 | x8 ⇒ xE | x9 ⇒ xF | xA ⇒ xE | xB ⇒ xF
635 | xC ⇒ xE | xD ⇒ xF | xE ⇒ xE | xF ⇒ xF ]
637 [ x0 ⇒ x7 | x1 ⇒ x7 | x2 ⇒ x7 | x3 ⇒ x7
638 | x4 ⇒ x7 | x5 ⇒ x7 | x6 ⇒ x7 | x7 ⇒ x7
639 | x8 ⇒ xF | x9 ⇒ xF | xA ⇒ xF | xB ⇒ xF
640 | xC ⇒ xF | xD ⇒ xF | xE ⇒ xF | xF ⇒ xF ]
642 [ x0 ⇒ x8 | x1 ⇒ x9 | x2 ⇒ xA | x3 ⇒ xB
643 | x4 ⇒ xC | x5 ⇒ xD | x6 ⇒ xE | x7 ⇒ xF
644 | x8 ⇒ x8 | x9 ⇒ x9 | xA ⇒ xA | xB ⇒ xB
645 | xC ⇒ xC | xD ⇒ xD | xE ⇒ xE | xF ⇒ xF ]
647 [ x0 ⇒ x9 | x1 ⇒ x9 | x2 ⇒ xB | x3 ⇒ xB
648 | x4 ⇒ xD | x5 ⇒ xD | x6 ⇒ xF | x7 ⇒ xF
649 | x8 ⇒ x9 | x9 ⇒ x9 | xA ⇒ xB | xB ⇒ xB
650 | xC ⇒ xD | xD ⇒ xD | xE ⇒ xF | xF ⇒ xF ]
652 [ x0 ⇒ xA | x1 ⇒ xB | x2 ⇒ xA | x3 ⇒ xB
653 | x4 ⇒ xE | x5 ⇒ xF | x6 ⇒ xE | x7 ⇒ xF
654 | x8 ⇒ xA | x9 ⇒ xB | xA ⇒ xA | xB ⇒ xB
655 | xC ⇒ xE | xD ⇒ xF | xE ⇒ xE | xF ⇒ xF ]
657 [ x0 ⇒ xB | x1 ⇒ xB | x2 ⇒ xB | x3 ⇒ xB
658 | x4 ⇒ xF | x5 ⇒ xF | x6 ⇒ xF | x7 ⇒ xF
659 | x8 ⇒ xB | x9 ⇒ xB | xA ⇒ xB | xB ⇒ xB
660 | xC ⇒ xF | xD ⇒ xF | xE ⇒ xF | xF ⇒ xF ]
662 [ x0 ⇒ xC | x1 ⇒ xD | x2 ⇒ xE | x3 ⇒ xF
663 | x4 ⇒ xC | x5 ⇒ xD | x6 ⇒ xE | x7 ⇒ xF
664 | x8 ⇒ xC | x9 ⇒ xD | xA ⇒ xE | xB ⇒ xF
665 | xC ⇒ xC | xD ⇒ xD | xE ⇒ xE | xF ⇒ xF ]
667 [ x0 ⇒ xD | x1 ⇒ xD | x2 ⇒ xF | x3 ⇒ xF
668 | x4 ⇒ xD | x5 ⇒ xD | x6 ⇒ xF | x7 ⇒ xF
669 | x8 ⇒ xD | x9 ⇒ xD | xA ⇒ xF | xB ⇒ xF
670 | xC ⇒ xD | xD ⇒ xD | xE ⇒ xF | xF ⇒ xF ]
672 [ x0 ⇒ xE | x1 ⇒ xF | x2 ⇒ xE | x3 ⇒ xF
673 | x4 ⇒ xE | x5 ⇒ xF | x6 ⇒ xE | x7 ⇒ xF
674 | x8 ⇒ xE | x9 ⇒ xF | xA ⇒ xE | xB ⇒ xF
675 | xC ⇒ xE | xD ⇒ xF | xE ⇒ xE | xF ⇒ xF ]
677 [ x0 ⇒ xF | x1 ⇒ xF | x2 ⇒ xF | x3 ⇒ xF
678 | x4 ⇒ xF | x5 ⇒ xF | x6 ⇒ xF | x7 ⇒ xF
679 | x8 ⇒ xF | x9 ⇒ xF | xA ⇒ xF | xB ⇒ xF
680 | xC ⇒ xF | xD ⇒ xF | xE ⇒ xF | xF ⇒ xF ]
685 λe1,e2:exadecim.match e1 with
687 [ x0 ⇒ x0 | x1 ⇒ x1 | x2 ⇒ x2 | x3 ⇒ x3
688 | x4 ⇒ x4 | x5 ⇒ x5 | x6 ⇒ x6 | x7 ⇒ x7
689 | x8 ⇒ x8 | x9 ⇒ x9 | xA ⇒ xA | xB ⇒ xB
690 | xC ⇒ xC | xD ⇒ xD | xE ⇒ xE | xF ⇒ xF ]
692 [ x0 ⇒ x1 | x1 ⇒ x0 | x2 ⇒ x3 | x3 ⇒ x2
693 | x4 ⇒ x5 | x5 ⇒ x4 | x6 ⇒ x7 | x7 ⇒ x6
694 | x8 ⇒ x9 | x9 ⇒ x8 | xA ⇒ xB | xB ⇒ xA
695 | xC ⇒ xD | xD ⇒ xC | xE ⇒ xF | xF ⇒ xE ]
697 [ x0 ⇒ x2 | x1 ⇒ x3 | x2 ⇒ x0 | x3 ⇒ x1
698 | x4 ⇒ x6 | x5 ⇒ x7 | x6 ⇒ x4 | x7 ⇒ x5
699 | x8 ⇒ xA | x9 ⇒ xB | xA ⇒ x8 | xB ⇒ x9
700 | xC ⇒ xE | xD ⇒ xF | xE ⇒ xC | xF ⇒ xD ]
702 [ x0 ⇒ x3 | x1 ⇒ x2 | x2 ⇒ x1 | x3 ⇒ x0
703 | x4 ⇒ x7 | x5 ⇒ x6 | x6 ⇒ x5 | x7 ⇒ x4
704 | x8 ⇒ xB | x9 ⇒ xA | xA ⇒ x9 | xB ⇒ x8
705 | xC ⇒ xF | xD ⇒ xE | xE ⇒ xD | xF ⇒ xC ]
707 [ x0 ⇒ x4 | x1 ⇒ x5 | x2 ⇒ x6 | x3 ⇒ x7
708 | x4 ⇒ x0 | x5 ⇒ x1 | x6 ⇒ x2 | x7 ⇒ x3
709 | x8 ⇒ xC | x9 ⇒ xD | xA ⇒ xE | xB ⇒ xF
710 | xC ⇒ x8 | xD ⇒ x9 | xE ⇒ xA | xF ⇒ xB ]
712 [ x0 ⇒ x5 | x1 ⇒ x4 | x2 ⇒ x7 | x3 ⇒ x6
713 | x4 ⇒ x1 | x5 ⇒ x0 | x6 ⇒ x3 | x7 ⇒ x2
714 | x8 ⇒ xD | x9 ⇒ xC | xA ⇒ xF | xB ⇒ xE
715 | xC ⇒ x9 | xD ⇒ x8 | xE ⇒ xB | xF ⇒ xA ]
717 [ x0 ⇒ x6 | x1 ⇒ x7 | x2 ⇒ x4 | x3 ⇒ x5
718 | x4 ⇒ x2 | x5 ⇒ x3 | x6 ⇒ x0 | x7 ⇒ x1
719 | x8 ⇒ xE | x9 ⇒ xF | xA ⇒ xC | xB ⇒ xD
720 | xC ⇒ xA | xD ⇒ xB | xE ⇒ x8 | xF ⇒ x9 ]
722 [ x0 ⇒ x7 | x1 ⇒ x6 | x2 ⇒ x5 | x3 ⇒ x4
723 | x4 ⇒ x3 | x5 ⇒ x2 | x6 ⇒ x1 | x7 ⇒ x0
724 | x8 ⇒ xF | x9 ⇒ xE | xA ⇒ xD | xB ⇒ xC
725 | xC ⇒ xB | xD ⇒ xA | xE ⇒ x9 | xF ⇒ x8 ]
727 [ x0 ⇒ x8 | x1 ⇒ x9 | x2 ⇒ xA | x3 ⇒ xB
728 | x4 ⇒ xC | x5 ⇒ xD | x6 ⇒ xE | x7 ⇒ xF
729 | x8 ⇒ x0 | x9 ⇒ x1 | xA ⇒ x2 | xB ⇒ x3
730 | xC ⇒ x4 | xD ⇒ x5 | xE ⇒ x6 | xF ⇒ x7 ]
732 [ x0 ⇒ x9 | x1 ⇒ x8 | x2 ⇒ xB | x3 ⇒ xA
733 | x4 ⇒ xD | x5 ⇒ xC | x6 ⇒ xF | x7 ⇒ xE
734 | x8 ⇒ x1 | x9 ⇒ x0 | xA ⇒ x3 | xB ⇒ x2
735 | xC ⇒ x5 | xD ⇒ x4 | xE ⇒ x7 | xF ⇒ x6 ]
737 [ x0 ⇒ xA | x1 ⇒ xB | x2 ⇒ x8 | x3 ⇒ x9
738 | x4 ⇒ xE | x5 ⇒ xF | x6 ⇒ xC | x7 ⇒ xD
739 | x8 ⇒ x2 | x9 ⇒ x3 | xA ⇒ x0 | xB ⇒ x1
740 | xC ⇒ x6 | xD ⇒ x7 | xE ⇒ x4 | xF ⇒ x5 ]
742 [ x0 ⇒ xB | x1 ⇒ xA | x2 ⇒ x9 | x3 ⇒ x8
743 | x4 ⇒ xF | x5 ⇒ xE | x6 ⇒ xD | x7 ⇒ xC
744 | x8 ⇒ x3 | x9 ⇒ x2 | xA ⇒ x1 | xB ⇒ x0
745 | xC ⇒ x7 | xD ⇒ x6 | xE ⇒ x5 | xF ⇒ x4 ]
747 [ x0 ⇒ xC | x1 ⇒ xD | x2 ⇒ xE | x3 ⇒ xF
748 | x4 ⇒ x8 | x5 ⇒ x9 | x6 ⇒ xA | x7 ⇒ xB
749 | x8 ⇒ x4 | x9 ⇒ x5 | xA ⇒ x6 | xB ⇒ x7
750 | xC ⇒ x0 | xD ⇒ x1 | xE ⇒ x2 | xF ⇒ x3 ]
752 [ x0 ⇒ xD | x1 ⇒ xC | x2 ⇒ xF | x3 ⇒ xE
753 | x4 ⇒ x9 | x5 ⇒ x8 | x6 ⇒ xB | x7 ⇒ xA
754 | x8 ⇒ x5 | x9 ⇒ x4 | xA ⇒ x7 | xB ⇒ x6
755 | xC ⇒ x1 | xD ⇒ x0 | xE ⇒ x3 | xF ⇒ x2 ]
757 [ x0 ⇒ xE | x1 ⇒ xF | x2 ⇒ xC | x3 ⇒ xD
758 | x4 ⇒ xA | x5 ⇒ xB | x6 ⇒ x8 | x7 ⇒ x9
759 | x8 ⇒ x6 | x9 ⇒ x7 | xA ⇒ x4 | xB ⇒ x5
760 | xC ⇒ x2 | xD ⇒ x3 | xE ⇒ x0 | xF ⇒ x1 ]
762 [ x0 ⇒ xF | x1 ⇒ xE | x2 ⇒ xD | x3 ⇒ xC
763 | x4 ⇒ xB | x5 ⇒ xA | x6 ⇒ x9 | x7 ⇒ x8
764 | x8 ⇒ x7 | x9 ⇒ x6 | xA ⇒ x5 | xB ⇒ x4
765 | xC ⇒ x3 | xD ⇒ x2 | xE ⇒ x1 | xF ⇒ x0 ]
768 (* operatore rotazione destra con carry *)
770 λe:exadecim.λc:bool.match c with
771 [ true ⇒ match e with
772 [ x0 ⇒ pair exadecim bool x8 false | x1 ⇒ pair exadecim bool x8 true
773 | x2 ⇒ pair exadecim bool x9 false | x3 ⇒ pair exadecim bool x9 true
774 | x4 ⇒ pair exadecim bool xA false | x5 ⇒ pair exadecim bool xA true
775 | x6 ⇒ pair exadecim bool xB false | x7 ⇒ pair exadecim bool xB true
776 | x8 ⇒ pair exadecim bool xC false | x9 ⇒ pair exadecim bool xC true
777 | xA ⇒ pair exadecim bool xD false | xB ⇒ pair exadecim bool xD true
778 | xC ⇒ pair exadecim bool xE false | xD ⇒ pair exadecim bool xE true
779 | xE ⇒ pair exadecim bool xF false | xF ⇒ pair exadecim bool xF true ]
780 | false ⇒ match e with
781 [ x0 ⇒ pair exadecim bool x0 false | x1 ⇒ pair exadecim bool x0 true
782 | x2 ⇒ pair exadecim bool x1 false | x3 ⇒ pair exadecim bool x1 true
783 | x4 ⇒ pair exadecim bool x2 false | x5 ⇒ pair exadecim bool x2 true
784 | x6 ⇒ pair exadecim bool x3 false | x7 ⇒ pair exadecim bool x3 true
785 | x8 ⇒ pair exadecim bool x4 false | x9 ⇒ pair exadecim bool x4 true
786 | xA ⇒ pair exadecim bool x5 false | xB ⇒ pair exadecim bool x5 true
787 | xC ⇒ pair exadecim bool x6 false | xD ⇒ pair exadecim bool x6 true
788 | xE ⇒ pair exadecim bool x7 false | xF ⇒ pair exadecim bool x7 true ]
791 (* operatore shift destro *)
793 λe:exadecim.match e with
794 [ x0 ⇒ pair exadecim bool x0 false | x1 ⇒ pair exadecim bool x0 true
795 | x2 ⇒ pair exadecim bool x1 false | x3 ⇒ pair exadecim bool x1 true
796 | x4 ⇒ pair exadecim bool x2 false | x5 ⇒ pair exadecim bool x2 true
797 | x6 ⇒ pair exadecim bool x3 false | x7 ⇒ pair exadecim bool x3 true
798 | x8 ⇒ pair exadecim bool x4 false | x9 ⇒ pair exadecim bool x4 true
799 | xA ⇒ pair exadecim bool x5 false | xB ⇒ pair exadecim bool x5 true
800 | xC ⇒ pair exadecim bool x6 false | xD ⇒ pair exadecim bool x6 true
801 | xE ⇒ pair exadecim bool x7 false | xF ⇒ pair exadecim bool x7 true ].
803 (* operatore rotazione destra *)
805 λe:exadecim.match e with
806 [ x0 ⇒ x0 | x1 ⇒ x8 | x2 ⇒ x1 | x3 ⇒ x9
807 | x4 ⇒ x2 | x5 ⇒ xA | x6 ⇒ x3 | x7 ⇒ xB
808 | x8 ⇒ x4 | x9 ⇒ xC | xA ⇒ x5 | xB ⇒ xD
809 | xC ⇒ x6 | xD ⇒ xE | xE ⇒ x7 | xF ⇒ xF ].
811 (* operatore rotazione destra n-volte *)
812 nlet rec ror_ex_n (e:exadecim) (n:nat) on n ≝
815 | S n' ⇒ ror_ex_n (ror_ex e) n' ].
817 (* operatore rotazione sinistra con carry *)
819 λe:exadecim.λc:bool.match c with
820 [ true ⇒ match e with
821 [ x0 ⇒ pair exadecim bool x1 false | x1 ⇒ pair exadecim bool x3 false
822 | x2 ⇒ pair exadecim bool x5 false | x3 ⇒ pair exadecim bool x7 false
823 | x4 ⇒ pair exadecim bool x9 false | x5 ⇒ pair exadecim bool xB false
824 | x6 ⇒ pair exadecim bool xD false | x7 ⇒ pair exadecim bool xF false
825 | x8 ⇒ pair exadecim bool x1 true | x9 ⇒ pair exadecim bool x3 true
826 | xA ⇒ pair exadecim bool x5 true | xB ⇒ pair exadecim bool x7 true
827 | xC ⇒ pair exadecim bool x9 true | xD ⇒ pair exadecim bool xB true
828 | xE ⇒ pair exadecim bool xD true | xF ⇒ pair exadecim bool xF true ]
829 | false ⇒ match e with
830 [ x0 ⇒ pair exadecim bool x0 false | x1 ⇒ pair exadecim bool x2 false
831 | x2 ⇒ pair exadecim bool x4 false | x3 ⇒ pair exadecim bool x6 false
832 | x4 ⇒ pair exadecim bool x8 false | x5 ⇒ pair exadecim bool xA false
833 | x6 ⇒ pair exadecim bool xC false | x7 ⇒ pair exadecim bool xE false
834 | x8 ⇒ pair exadecim bool x0 true | x9 ⇒ pair exadecim bool x2 true
835 | xA ⇒ pair exadecim bool x4 true | xB ⇒ pair exadecim bool x6 true
836 | xC ⇒ pair exadecim bool x8 true | xD ⇒ pair exadecim bool xA true
837 | xE ⇒ pair exadecim bool xC true | xF ⇒ pair exadecim bool xE true ]
840 (* operatore shift sinistro *)
842 λe:exadecim.match e with
843 [ x0 ⇒ pair exadecim bool x0 false | x1 ⇒ pair exadecim bool x2 false
844 | x2 ⇒ pair exadecim bool x4 false | x3 ⇒ pair exadecim bool x6 false
845 | x4 ⇒ pair exadecim bool x8 false | x5 ⇒ pair exadecim bool xA false
846 | x6 ⇒ pair exadecim bool xC false | x7 ⇒ pair exadecim bool xE false
847 | x8 ⇒ pair exadecim bool x0 true | x9 ⇒ pair exadecim bool x2 true
848 | xA ⇒ pair exadecim bool x4 true | xB ⇒ pair exadecim bool x6 true
849 | xC ⇒ pair exadecim bool x8 true | xD ⇒ pair exadecim bool xA true
850 | xE ⇒ pair exadecim bool xC true | xF ⇒ pair exadecim bool xE true ].
852 (* operatore rotazione sinistra *)
854 λe:exadecim.match e with
855 [ x0 ⇒ x0 | x1 ⇒ x2 | x2 ⇒ x4 | x3 ⇒ x6
856 | x4 ⇒ x8 | x5 ⇒ xA | x6 ⇒ xC | x7 ⇒ xE
857 | x8 ⇒ x1 | x9 ⇒ x3 | xA ⇒ x5 | xB ⇒ x7
858 | xC ⇒ x9 | xD ⇒ xB | xE ⇒ xD | xF ⇒ xF ].
860 (* operatore rotazione sinistra n-volte *)
861 nlet rec rol_ex_n (e:exadecim) (n:nat) on n ≝
864 | S n' ⇒ rol_ex_n (rol_ex e) n' ].
866 (* operatore not/complemento a 1 *)
868 λe:exadecim.match e with
869 [ x0 ⇒ xF | x1 ⇒ xE | x2 ⇒ xD | x3 ⇒ xC
870 | x4 ⇒ xB | x5 ⇒ xA | x6 ⇒ x9 | x7 ⇒ x8
871 | x8 ⇒ x7 | x9 ⇒ x6 | xA ⇒ x5 | xB ⇒ x4
872 | xC ⇒ x3 | xD ⇒ x2 | xE ⇒ x1 | xF ⇒ x0 ].
874 (* operatore somma con carry *)
875 ndefinition plus_ex ≝
876 λe1,e2:exadecim.λc:bool.
882 [ x0 ⇒ pair exadecim bool x1 false
883 | x1 ⇒ pair exadecim bool x2 false
884 | x2 ⇒ pair exadecim bool x3 false
885 | x3 ⇒ pair exadecim bool x4 false
886 | x4 ⇒ pair exadecim bool x5 false
887 | x5 ⇒ pair exadecim bool x6 false
888 | x6 ⇒ pair exadecim bool x7 false
889 | x7 ⇒ pair exadecim bool x8 false
890 | x8 ⇒ pair exadecim bool x9 false
891 | x9 ⇒ pair exadecim bool xA false
892 | xA ⇒ pair exadecim bool xB false
893 | xB ⇒ pair exadecim bool xC false
894 | xC ⇒ pair exadecim bool xD false
895 | xD ⇒ pair exadecim bool xE false
896 | xE ⇒ pair exadecim bool xF false
897 | xF ⇒ pair exadecim bool x0 true ]
900 [ x0 ⇒ pair exadecim bool x2 false
901 | x1 ⇒ pair exadecim bool x3 false
902 | x2 ⇒ pair exadecim bool x4 false
903 | x3 ⇒ pair exadecim bool x5 false
904 | x4 ⇒ pair exadecim bool x6 false
905 | x5 ⇒ pair exadecim bool x7 false
906 | x6 ⇒ pair exadecim bool x8 false
907 | x7 ⇒ pair exadecim bool x9 false
908 | x8 ⇒ pair exadecim bool xA false
909 | x9 ⇒ pair exadecim bool xB false
910 | xA ⇒ pair exadecim bool xC false
911 | xB ⇒ pair exadecim bool xD false
912 | xC ⇒ pair exadecim bool xE false
913 | xD ⇒ pair exadecim bool xF false
914 | xE ⇒ pair exadecim bool x0 true
915 | xF ⇒ pair exadecim bool x1 true ]
918 [ x0 ⇒ pair exadecim bool x3 false
919 | x1 ⇒ pair exadecim bool x4 false
920 | x2 ⇒ pair exadecim bool x5 false
921 | x3 ⇒ pair exadecim bool x6 false
922 | x4 ⇒ pair exadecim bool x7 false
923 | x5 ⇒ pair exadecim bool x8 false
924 | x6 ⇒ pair exadecim bool x9 false
925 | x7 ⇒ pair exadecim bool xA false
926 | x8 ⇒ pair exadecim bool xB false
927 | x9 ⇒ pair exadecim bool xC false
928 | xA ⇒ pair exadecim bool xD false
929 | xB ⇒ pair exadecim bool xE false
930 | xC ⇒ pair exadecim bool xF false
931 | xD ⇒ pair exadecim bool x0 true
932 | xE ⇒ pair exadecim bool x1 true
933 | xF ⇒ pair exadecim bool x2 true ]
936 [ x0 ⇒ pair exadecim bool x4 false
937 | x1 ⇒ pair exadecim bool x5 false
938 | x2 ⇒ pair exadecim bool x6 false
939 | x3 ⇒ pair exadecim bool x7 false
940 | x4 ⇒ pair exadecim bool x8 false
941 | x5 ⇒ pair exadecim bool x9 false
942 | x6 ⇒ pair exadecim bool xA false
943 | x7 ⇒ pair exadecim bool xB false
944 | x8 ⇒ pair exadecim bool xC false
945 | x9 ⇒ pair exadecim bool xD false
946 | xA ⇒ pair exadecim bool xE false
947 | xB ⇒ pair exadecim bool xF false
948 | xC ⇒ pair exadecim bool x0 true
949 | xD ⇒ pair exadecim bool x1 true
950 | xE ⇒ pair exadecim bool x2 true
951 | xF ⇒ pair exadecim bool x3 true ]
954 [ x0 ⇒ pair exadecim bool x5 false
955 | x1 ⇒ pair exadecim bool x6 false
956 | x2 ⇒ pair exadecim bool x7 false
957 | x3 ⇒ pair exadecim bool x8 false
958 | x4 ⇒ pair exadecim bool x9 false
959 | x5 ⇒ pair exadecim bool xA false
960 | x6 ⇒ pair exadecim bool xB false
961 | x7 ⇒ pair exadecim bool xC false
962 | x8 ⇒ pair exadecim bool xD false
963 | x9 ⇒ pair exadecim bool xE false
964 | xA ⇒ pair exadecim bool xF false
965 | xB ⇒ pair exadecim bool x0 true
966 | xC ⇒ pair exadecim bool x1 true
967 | xD ⇒ pair exadecim bool x2 true
968 | xE ⇒ pair exadecim bool x3 true
969 | xF ⇒ pair exadecim bool x4 true ]
972 [ x0 ⇒ pair exadecim bool x6 false
973 | x1 ⇒ pair exadecim bool x7 false
974 | x2 ⇒ pair exadecim bool x8 false
975 | x3 ⇒ pair exadecim bool x9 false
976 | x4 ⇒ pair exadecim bool xA false
977 | x5 ⇒ pair exadecim bool xB false
978 | x6 ⇒ pair exadecim bool xC false
979 | x7 ⇒ pair exadecim bool xD false
980 | x8 ⇒ pair exadecim bool xE false
981 | x9 ⇒ pair exadecim bool xF false
982 | xA ⇒ pair exadecim bool x0 true
983 | xB ⇒ pair exadecim bool x1 true
984 | xC ⇒ pair exadecim bool x2 true
985 | xD ⇒ pair exadecim bool x3 true
986 | xE ⇒ pair exadecim bool x4 true
987 | xF ⇒ pair exadecim bool x5 true ]
990 [ x0 ⇒ pair exadecim bool x7 false
991 | x1 ⇒ pair exadecim bool x8 false
992 | x2 ⇒ pair exadecim bool x9 false
993 | x3 ⇒ pair exadecim bool xA false
994 | x4 ⇒ pair exadecim bool xB false
995 | x5 ⇒ pair exadecim bool xC false
996 | x6 ⇒ pair exadecim bool xD false
997 | x7 ⇒ pair exadecim bool xE false
998 | x8 ⇒ pair exadecim bool xF false
999 | x9 ⇒ pair exadecim bool x0 true
1000 | xA ⇒ pair exadecim bool x1 true
1001 | xB ⇒ pair exadecim bool x2 true
1002 | xC ⇒ pair exadecim bool x3 true
1003 | xD ⇒ pair exadecim bool x4 true
1004 | xE ⇒ pair exadecim bool x5 true
1005 | xF ⇒ pair exadecim bool x6 true ]
1008 [ x0 ⇒ pair exadecim bool x8 false
1009 | x1 ⇒ pair exadecim bool x9 false
1010 | x2 ⇒ pair exadecim bool xA false
1011 | x3 ⇒ pair exadecim bool xB false
1012 | x4 ⇒ pair exadecim bool xC false
1013 | x5 ⇒ pair exadecim bool xD false
1014 | x6 ⇒ pair exadecim bool xE false
1015 | x7 ⇒ pair exadecim bool xF false
1016 | x8 ⇒ pair exadecim bool x0 true
1017 | x9 ⇒ pair exadecim bool x1 true
1018 | xA ⇒ pair exadecim bool x2 true
1019 | xB ⇒ pair exadecim bool x3 true
1020 | xC ⇒ pair exadecim bool x4 true
1021 | xD ⇒ pair exadecim bool x5 true
1022 | xE ⇒ pair exadecim bool x6 true
1023 | xF ⇒ pair exadecim bool x7 true ]
1026 [ x0 ⇒ pair exadecim bool x9 false
1027 | x1 ⇒ pair exadecim bool xA false
1028 | x2 ⇒ pair exadecim bool xB false
1029 | x3 ⇒ pair exadecim bool xC false
1030 | x4 ⇒ pair exadecim bool xD false
1031 | x5 ⇒ pair exadecim bool xE false
1032 | x6 ⇒ pair exadecim bool xF false
1033 | x7 ⇒ pair exadecim bool x0 true
1034 | x8 ⇒ pair exadecim bool x1 true
1035 | x9 ⇒ pair exadecim bool x2 true
1036 | xA ⇒ pair exadecim bool x3 true
1037 | xB ⇒ pair exadecim bool x4 true
1038 | xC ⇒ pair exadecim bool x5 true
1039 | xD ⇒ pair exadecim bool x6 true
1040 | xE ⇒ pair exadecim bool x7 true
1041 | xF ⇒ pair exadecim bool x8 true ]
1044 [ x0 ⇒ pair exadecim bool xA false
1045 | x1 ⇒ pair exadecim bool xB false
1046 | x2 ⇒ pair exadecim bool xC false
1047 | x3 ⇒ pair exadecim bool xD false
1048 | x4 ⇒ pair exadecim bool xE false
1049 | x5 ⇒ pair exadecim bool xF false
1050 | x6 ⇒ pair exadecim bool x0 true
1051 | x7 ⇒ pair exadecim bool x1 true
1052 | x8 ⇒ pair exadecim bool x2 true
1053 | x9 ⇒ pair exadecim bool x3 true
1054 | xA ⇒ pair exadecim bool x4 true
1055 | xB ⇒ pair exadecim bool x5 true
1056 | xC ⇒ pair exadecim bool x6 true
1057 | xD ⇒ pair exadecim bool x7 true
1058 | xE ⇒ pair exadecim bool x8 true
1059 | xF ⇒ pair exadecim bool x9 true ]
1062 [ x0 ⇒ pair exadecim bool xB false
1063 | x1 ⇒ pair exadecim bool xC false
1064 | x2 ⇒ pair exadecim bool xD false
1065 | x3 ⇒ pair exadecim bool xE false
1066 | x4 ⇒ pair exadecim bool xF false
1067 | x5 ⇒ pair exadecim bool x0 true
1068 | x6 ⇒ pair exadecim bool x1 true
1069 | x7 ⇒ pair exadecim bool x2 true
1070 | x8 ⇒ pair exadecim bool x3 true
1071 | x9 ⇒ pair exadecim bool x4 true
1072 | xA ⇒ pair exadecim bool x5 true
1073 | xB ⇒ pair exadecim bool x6 true
1074 | xC ⇒ pair exadecim bool x7 true
1075 | xD ⇒ pair exadecim bool x8 true
1076 | xE ⇒ pair exadecim bool x9 true
1077 | xF ⇒ pair exadecim bool xA true ]
1080 [ x0 ⇒ pair exadecim bool xC false
1081 | x1 ⇒ pair exadecim bool xD false
1082 | x2 ⇒ pair exadecim bool xE false
1083 | x3 ⇒ pair exadecim bool xF false
1084 | x4 ⇒ pair exadecim bool x0 true
1085 | x5 ⇒ pair exadecim bool x1 true
1086 | x6 ⇒ pair exadecim bool x2 true
1087 | x7 ⇒ pair exadecim bool x3 true
1088 | x8 ⇒ pair exadecim bool x4 true
1089 | x9 ⇒ pair exadecim bool x5 true
1090 | xA ⇒ pair exadecim bool x6 true
1091 | xB ⇒ pair exadecim bool x7 true
1092 | xC ⇒ pair exadecim bool x8 true
1093 | xD ⇒ pair exadecim bool x9 true
1094 | xE ⇒ pair exadecim bool xA true
1095 | xF ⇒ pair exadecim bool xB true ]
1098 [ x0 ⇒ pair exadecim bool xD false
1099 | x1 ⇒ pair exadecim bool xE false
1100 | x2 ⇒ pair exadecim bool xF false
1101 | x3 ⇒ pair exadecim bool x0 true
1102 | x4 ⇒ pair exadecim bool x1 true
1103 | x5 ⇒ pair exadecim bool x2 true
1104 | x6 ⇒ pair exadecim bool x3 true
1105 | x7 ⇒ pair exadecim bool x4 true
1106 | x8 ⇒ pair exadecim bool x5 true
1107 | x9 ⇒ pair exadecim bool x6 true
1108 | xA ⇒ pair exadecim bool x7 true
1109 | xB ⇒ pair exadecim bool x8 true
1110 | xC ⇒ pair exadecim bool x9 true
1111 | xD ⇒ pair exadecim bool xA true
1112 | xE ⇒ pair exadecim bool xB true
1113 | xF ⇒ pair exadecim bool xC true ]
1116 [ x0 ⇒ pair exadecim bool xE false
1117 | x1 ⇒ pair exadecim bool xF false
1118 | x2 ⇒ pair exadecim bool x0 true
1119 | x3 ⇒ pair exadecim bool x1 true
1120 | x4 ⇒ pair exadecim bool x2 true
1121 | x5 ⇒ pair exadecim bool x3 true
1122 | x6 ⇒ pair exadecim bool x4 true
1123 | x7 ⇒ pair exadecim bool x5 true
1124 | x8 ⇒ pair exadecim bool x6 true
1125 | x9 ⇒ pair exadecim bool x7 true
1126 | xA ⇒ pair exadecim bool x8 true
1127 | xB ⇒ pair exadecim bool x9 true
1128 | xC ⇒ pair exadecim bool xA true
1129 | xD ⇒ pair exadecim bool xB true
1130 | xE ⇒ pair exadecim bool xC true
1131 | xF ⇒ pair exadecim bool xD true ]
1134 [ x0 ⇒ pair exadecim bool xF false
1135 | x1 ⇒ pair exadecim bool x0 true
1136 | x2 ⇒ pair exadecim bool x1 true
1137 | x3 ⇒ pair exadecim bool x2 true
1138 | x4 ⇒ pair exadecim bool x3 true
1139 | x5 ⇒ pair exadecim bool x4 true
1140 | x6 ⇒ pair exadecim bool x5 true
1141 | x7 ⇒ pair exadecim bool x6 true
1142 | x8 ⇒ pair exadecim bool x7 true
1143 | x9 ⇒ pair exadecim bool x8 true
1144 | xA ⇒ pair exadecim bool x9 true
1145 | xB ⇒ pair exadecim bool xA true
1146 | xC ⇒ pair exadecim bool xB true
1147 | xD ⇒ pair exadecim bool xC true
1148 | xE ⇒ pair exadecim bool xD true
1149 | xF ⇒ pair exadecim bool xE true ]
1152 [ x0 ⇒ pair exadecim bool x0 true
1153 | x1 ⇒ pair exadecim bool x1 true
1154 | x2 ⇒ pair exadecim bool x2 true
1155 | x3 ⇒ pair exadecim bool x3 true
1156 | x4 ⇒ pair exadecim bool x4 true
1157 | x5 ⇒ pair exadecim bool x5 true
1158 | x6 ⇒ pair exadecim bool x6 true
1159 | x7 ⇒ pair exadecim bool x7 true
1160 | x8 ⇒ pair exadecim bool x8 true
1161 | x9 ⇒ pair exadecim bool x9 true
1162 | xA ⇒ pair exadecim bool xA true
1163 | xB ⇒ pair exadecim bool xB true
1164 | xC ⇒ pair exadecim bool xC true
1165 | xD ⇒ pair exadecim bool xD true
1166 | xE ⇒ pair exadecim bool xE true
1167 | xF ⇒ pair exadecim bool xF true ]
1173 [ x0 ⇒ pair exadecim bool x0 false
1174 | x1 ⇒ pair exadecim bool x1 false
1175 | x2 ⇒ pair exadecim bool x2 false
1176 | x3 ⇒ pair exadecim bool x3 false
1177 | x4 ⇒ pair exadecim bool x4 false
1178 | x5 ⇒ pair exadecim bool x5 false
1179 | x6 ⇒ pair exadecim bool x6 false
1180 | x7 ⇒ pair exadecim bool x7 false
1181 | x8 ⇒ pair exadecim bool x8 false
1182 | x9 ⇒ pair exadecim bool x9 false
1183 | xA ⇒ pair exadecim bool xA false
1184 | xB ⇒ pair exadecim bool xB false
1185 | xC ⇒ pair exadecim bool xC false
1186 | xD ⇒ pair exadecim bool xD false
1187 | xE ⇒ pair exadecim bool xE false
1188 | xF ⇒ pair exadecim bool xF false ]
1191 [ x0 ⇒ pair exadecim bool x1 false
1192 | x1 ⇒ pair exadecim bool x2 false
1193 | x2 ⇒ pair exadecim bool x3 false
1194 | x3 ⇒ pair exadecim bool x4 false
1195 | x4 ⇒ pair exadecim bool x5 false
1196 | x5 ⇒ pair exadecim bool x6 false
1197 | x6 ⇒ pair exadecim bool x7 false
1198 | x7 ⇒ pair exadecim bool x8 false
1199 | x8 ⇒ pair exadecim bool x9 false
1200 | x9 ⇒ pair exadecim bool xA false
1201 | xA ⇒ pair exadecim bool xB false
1202 | xB ⇒ pair exadecim bool xC false
1203 | xC ⇒ pair exadecim bool xD false
1204 | xD ⇒ pair exadecim bool xE false
1205 | xE ⇒ pair exadecim bool xF false
1206 | xF ⇒ pair exadecim bool x0 true ]
1209 [ x0 ⇒ pair exadecim bool x2 false
1210 | x1 ⇒ pair exadecim bool x3 false
1211 | x2 ⇒ pair exadecim bool x4 false
1212 | x3 ⇒ pair exadecim bool x5 false
1213 | x4 ⇒ pair exadecim bool x6 false
1214 | x5 ⇒ pair exadecim bool x7 false
1215 | x6 ⇒ pair exadecim bool x8 false
1216 | x7 ⇒ pair exadecim bool x9 false
1217 | x8 ⇒ pair exadecim bool xA false
1218 | x9 ⇒ pair exadecim bool xB false
1219 | xA ⇒ pair exadecim bool xC false
1220 | xB ⇒ pair exadecim bool xD false
1221 | xC ⇒ pair exadecim bool xE false
1222 | xD ⇒ pair exadecim bool xF false
1223 | xE ⇒ pair exadecim bool x0 true
1224 | xF ⇒ pair exadecim bool x1 true ]
1227 [ x0 ⇒ pair exadecim bool x3 false
1228 | x1 ⇒ pair exadecim bool x4 false
1229 | x2 ⇒ pair exadecim bool x5 false
1230 | x3 ⇒ pair exadecim bool x6 false
1231 | x4 ⇒ pair exadecim bool x7 false
1232 | x5 ⇒ pair exadecim bool x8 false
1233 | x6 ⇒ pair exadecim bool x9 false
1234 | x7 ⇒ pair exadecim bool xA false
1235 | x8 ⇒ pair exadecim bool xB false
1236 | x9 ⇒ pair exadecim bool xC false
1237 | xA ⇒ pair exadecim bool xD false
1238 | xB ⇒ pair exadecim bool xE false
1239 | xC ⇒ pair exadecim bool xF false
1240 | xD ⇒ pair exadecim bool x0 true
1241 | xE ⇒ pair exadecim bool x1 true
1242 | xF ⇒ pair exadecim bool x2 true ]
1245 [ x0 ⇒ pair exadecim bool x4 false
1246 | x1 ⇒ pair exadecim bool x5 false
1247 | x2 ⇒ pair exadecim bool x6 false
1248 | x3 ⇒ pair exadecim bool x7 false
1249 | x4 ⇒ pair exadecim bool x8 false
1250 | x5 ⇒ pair exadecim bool x9 false
1251 | x6 ⇒ pair exadecim bool xA false
1252 | x7 ⇒ pair exadecim bool xB false
1253 | x8 ⇒ pair exadecim bool xC false
1254 | x9 ⇒ pair exadecim bool xD false
1255 | xA ⇒ pair exadecim bool xE false
1256 | xB ⇒ pair exadecim bool xF false
1257 | xC ⇒ pair exadecim bool x0 true
1258 | xD ⇒ pair exadecim bool x1 true
1259 | xE ⇒ pair exadecim bool x2 true
1260 | xF ⇒ pair exadecim bool x3 true ]
1263 [ x0 ⇒ pair exadecim bool x5 false
1264 | x1 ⇒ pair exadecim bool x6 false
1265 | x2 ⇒ pair exadecim bool x7 false
1266 | x3 ⇒ pair exadecim bool x8 false
1267 | x4 ⇒ pair exadecim bool x9 false
1268 | x5 ⇒ pair exadecim bool xA false
1269 | x6 ⇒ pair exadecim bool xB false
1270 | x7 ⇒ pair exadecim bool xC false
1271 | x8 ⇒ pair exadecim bool xD false
1272 | x9 ⇒ pair exadecim bool xE false
1273 | xA ⇒ pair exadecim bool xF false
1274 | xB ⇒ pair exadecim bool x0 true
1275 | xC ⇒ pair exadecim bool x1 true
1276 | xD ⇒ pair exadecim bool x2 true
1277 | xE ⇒ pair exadecim bool x3 true
1278 | xF ⇒ pair exadecim bool x4 true ]
1281 [ x0 ⇒ pair exadecim bool x6 false
1282 | x1 ⇒ pair exadecim bool x7 false
1283 | x2 ⇒ pair exadecim bool x8 false
1284 | x3 ⇒ pair exadecim bool x9 false
1285 | x4 ⇒ pair exadecim bool xA false
1286 | x5 ⇒ pair exadecim bool xB false
1287 | x6 ⇒ pair exadecim bool xC false
1288 | x7 ⇒ pair exadecim bool xD false
1289 | x8 ⇒ pair exadecim bool xE false
1290 | x9 ⇒ pair exadecim bool xF false
1291 | xA ⇒ pair exadecim bool x0 true
1292 | xB ⇒ pair exadecim bool x1 true
1293 | xC ⇒ pair exadecim bool x2 true
1294 | xD ⇒ pair exadecim bool x3 true
1295 | xE ⇒ pair exadecim bool x4 true
1296 | xF ⇒ pair exadecim bool x5 true ]
1299 [ x0 ⇒ pair exadecim bool x7 false
1300 | x1 ⇒ pair exadecim bool x8 false
1301 | x2 ⇒ pair exadecim bool x9 false
1302 | x3 ⇒ pair exadecim bool xA false
1303 | x4 ⇒ pair exadecim bool xB false
1304 | x5 ⇒ pair exadecim bool xC false
1305 | x6 ⇒ pair exadecim bool xD false
1306 | x7 ⇒ pair exadecim bool xE false
1307 | x8 ⇒ pair exadecim bool xF false
1308 | x9 ⇒ pair exadecim bool x0 true
1309 | xA ⇒ pair exadecim bool x1 true
1310 | xB ⇒ pair exadecim bool x2 true
1311 | xC ⇒ pair exadecim bool x3 true
1312 | xD ⇒ pair exadecim bool x4 true
1313 | xE ⇒ pair exadecim bool x5 true
1314 | xF ⇒ pair exadecim bool x6 true ]
1317 [ x0 ⇒ pair exadecim bool x8 false
1318 | x1 ⇒ pair exadecim bool x9 false
1319 | x2 ⇒ pair exadecim bool xA false
1320 | x3 ⇒ pair exadecim bool xB false
1321 | x4 ⇒ pair exadecim bool xC false
1322 | x5 ⇒ pair exadecim bool xD false
1323 | x6 ⇒ pair exadecim bool xE false
1324 | x7 ⇒ pair exadecim bool xF false
1325 | x8 ⇒ pair exadecim bool x0 true
1326 | x9 ⇒ pair exadecim bool x1 true
1327 | xA ⇒ pair exadecim bool x2 true
1328 | xB ⇒ pair exadecim bool x3 true
1329 | xC ⇒ pair exadecim bool x4 true
1330 | xD ⇒ pair exadecim bool x5 true
1331 | xE ⇒ pair exadecim bool x6 true
1332 | xF ⇒ pair exadecim bool x7 true ]
1335 [ x0 ⇒ pair exadecim bool x9 false
1336 | x1 ⇒ pair exadecim bool xA false
1337 | x2 ⇒ pair exadecim bool xB false
1338 | x3 ⇒ pair exadecim bool xC false
1339 | x4 ⇒ pair exadecim bool xD false
1340 | x5 ⇒ pair exadecim bool xE false
1341 | x6 ⇒ pair exadecim bool xF false
1342 | x7 ⇒ pair exadecim bool x0 true
1343 | x8 ⇒ pair exadecim bool x1 true
1344 | x9 ⇒ pair exadecim bool x2 true
1345 | xA ⇒ pair exadecim bool x3 true
1346 | xB ⇒ pair exadecim bool x4 true
1347 | xC ⇒ pair exadecim bool x5 true
1348 | xD ⇒ pair exadecim bool x6 true
1349 | xE ⇒ pair exadecim bool x7 true
1350 | xF ⇒ pair exadecim bool x8 true ]
1353 [ x0 ⇒ pair exadecim bool xA false
1354 | x1 ⇒ pair exadecim bool xB false
1355 | x2 ⇒ pair exadecim bool xC false
1356 | x3 ⇒ pair exadecim bool xD false
1357 | x4 ⇒ pair exadecim bool xE false
1358 | x5 ⇒ pair exadecim bool xF false
1359 | x6 ⇒ pair exadecim bool x0 true
1360 | x7 ⇒ pair exadecim bool x1 true
1361 | x8 ⇒ pair exadecim bool x2 true
1362 | x9 ⇒ pair exadecim bool x3 true
1363 | xA ⇒ pair exadecim bool x4 true
1364 | xB ⇒ pair exadecim bool x5 true
1365 | xC ⇒ pair exadecim bool x6 true
1366 | xD ⇒ pair exadecim bool x7 true
1367 | xE ⇒ pair exadecim bool x8 true
1368 | xF ⇒ pair exadecim bool x9 true ]
1371 [ x0 ⇒ pair exadecim bool xB false
1372 | x1 ⇒ pair exadecim bool xC false
1373 | x2 ⇒ pair exadecim bool xD false
1374 | x3 ⇒ pair exadecim bool xE false
1375 | x4 ⇒ pair exadecim bool xF false
1376 | x5 ⇒ pair exadecim bool x0 true
1377 | x6 ⇒ pair exadecim bool x1 true
1378 | x7 ⇒ pair exadecim bool x2 true
1379 | x8 ⇒ pair exadecim bool x3 true
1380 | x9 ⇒ pair exadecim bool x4 true
1381 | xA ⇒ pair exadecim bool x5 true
1382 | xB ⇒ pair exadecim bool x6 true
1383 | xC ⇒ pair exadecim bool x7 true
1384 | xD ⇒ pair exadecim bool x8 true
1385 | xE ⇒ pair exadecim bool x9 true
1386 | xF ⇒ pair exadecim bool xA true ]
1389 [ x0 ⇒ pair exadecim bool xC false
1390 | x1 ⇒ pair exadecim bool xD false
1391 | x2 ⇒ pair exadecim bool xE false
1392 | x3 ⇒ pair exadecim bool xF false
1393 | x4 ⇒ pair exadecim bool x0 true
1394 | x5 ⇒ pair exadecim bool x1 true
1395 | x6 ⇒ pair exadecim bool x2 true
1396 | x7 ⇒ pair exadecim bool x3 true
1397 | x8 ⇒ pair exadecim bool x4 true
1398 | x9 ⇒ pair exadecim bool x5 true
1399 | xA ⇒ pair exadecim bool x6 true
1400 | xB ⇒ pair exadecim bool x7 true
1401 | xC ⇒ pair exadecim bool x8 true
1402 | xD ⇒ pair exadecim bool x9 true
1403 | xE ⇒ pair exadecim bool xA true
1404 | xF ⇒ pair exadecim bool xB true ]
1407 [ x0 ⇒ pair exadecim bool xD false
1408 | x1 ⇒ pair exadecim bool xE false
1409 | x2 ⇒ pair exadecim bool xF false
1410 | x3 ⇒ pair exadecim bool x0 true
1411 | x4 ⇒ pair exadecim bool x1 true
1412 | x5 ⇒ pair exadecim bool x2 true
1413 | x6 ⇒ pair exadecim bool x3 true
1414 | x7 ⇒ pair exadecim bool x4 true
1415 | x8 ⇒ pair exadecim bool x5 true
1416 | x9 ⇒ pair exadecim bool x6 true
1417 | xA ⇒ pair exadecim bool x7 true
1418 | xB ⇒ pair exadecim bool x8 true
1419 | xC ⇒ pair exadecim bool x9 true
1420 | xD ⇒ pair exadecim bool xA true
1421 | xE ⇒ pair exadecim bool xB true
1422 | xF ⇒ pair exadecim bool xC true ]
1425 [ x0 ⇒ pair exadecim bool xE false
1426 | x1 ⇒ pair exadecim bool xF false
1427 | x2 ⇒ pair exadecim bool x0 true
1428 | x3 ⇒ pair exadecim bool x1 true
1429 | x4 ⇒ pair exadecim bool x2 true
1430 | x5 ⇒ pair exadecim bool x3 true
1431 | x6 ⇒ pair exadecim bool x4 true
1432 | x7 ⇒ pair exadecim bool x5 true
1433 | x8 ⇒ pair exadecim bool x6 true
1434 | x9 ⇒ pair exadecim bool x7 true
1435 | xA ⇒ pair exadecim bool x8 true
1436 | xB ⇒ pair exadecim bool x9 true
1437 | xC ⇒ pair exadecim bool xA true
1438 | xD ⇒ pair exadecim bool xB true
1439 | xE ⇒ pair exadecim bool xC true
1440 | xF ⇒ pair exadecim bool xD true ]
1443 [ x0 ⇒ pair exadecim bool xF false
1444 | x1 ⇒ pair exadecim bool x0 true
1445 | x2 ⇒ pair exadecim bool x1 true
1446 | x3 ⇒ pair exadecim bool x2 true
1447 | x4 ⇒ pair exadecim bool x3 true
1448 | x5 ⇒ pair exadecim bool x4 true
1449 | x6 ⇒ pair exadecim bool x5 true
1450 | x7 ⇒ pair exadecim bool x6 true
1451 | x8 ⇒ pair exadecim bool x7 true
1452 | x9 ⇒ pair exadecim bool x8 true
1453 | xA ⇒ pair exadecim bool x9 true
1454 | xB ⇒ pair exadecim bool xA true
1455 | xC ⇒ pair exadecim bool xB true
1456 | xD ⇒ pair exadecim bool xC true
1457 | xE ⇒ pair exadecim bool xD true
1458 | xF ⇒ pair exadecim bool xE true ]
1462 (* operatore somma senza carry *)
1463 ndefinition plus_exnc ≝
1464 λe1,e2:exadecim.fst ?? (plus_ex e1 e2 false).
1466 (* operatore carry della somma *)
1467 ndefinition plus_exc ≝
1468 λe1,e2:exadecim.snd ?? (plus_ex e1 e2 false).
1470 (* operatore Most Significant Bit *)
1471 ndefinition MSB_ex ≝
1472 λe:exadecim.match e with
1473 [ x0 ⇒ false | x1 ⇒ false | x2 ⇒ false | x3 ⇒ false
1474 | x4 ⇒ false | x5 ⇒ false | x6 ⇒ false | x7 ⇒ false
1475 | x8 ⇒ true | x9 ⇒ true | xA ⇒ true | xB ⇒ true
1476 | xC ⇒ true | xD ⇒ true | xE ⇒ true | xF ⇒ true ].
1478 (* esadecimali → naturali *)
1479 ndefinition nat_of_exadecim : exadecim → nat ≝
1482 [ x0 ⇒ 0 | x1 ⇒ 1 | x2 ⇒ 2 | x3 ⇒ 3 | x4 ⇒ 4 | x5 ⇒ 5 | x6 ⇒ 6 | x7 ⇒ 7
1483 | x8 ⇒ 8 | x9 ⇒ 9 | xA ⇒ 10 | xB ⇒ 11 | xC ⇒ 12 | xD ⇒ 13 | xE ⇒ 14 | xF ⇒ 15 ].
1485 (* operatore predecessore *)
1486 ndefinition pred_ex ≝
1489 [ x0 ⇒ xF | x1 ⇒ x0 | x2 ⇒ x1 | x3 ⇒ x2 | x4 ⇒ x3 | x5 ⇒ x4 | x6 ⇒ x5 | x7 ⇒ x6
1490 | x8 ⇒ x7 | x9 ⇒ x8 | xA ⇒ x9 | xB ⇒ xA | xC ⇒ xB | xD ⇒ xC | xE ⇒ xD | xF ⇒ xE ].
1492 (* operatore successore *)
1493 ndefinition succ_ex ≝
1496 [ x0 ⇒ x1 | x1 ⇒ x2 | x2 ⇒ x3 | x3 ⇒ x4 | x4 ⇒ x5 | x5 ⇒ x6 | x6 ⇒ x7 | x7 ⇒ x8
1497 | x8 ⇒ x9 | x9 ⇒ xA | xA ⇒ xB | xB ⇒ xC | xC ⇒ xD | xD ⇒ xE | xE ⇒ xF | xF ⇒ x0 ].
1499 (* operatore neg/complemento a 2 *)
1500 ndefinition compl_ex ≝
1501 λe:exadecim.match e with
1502 [ x0 ⇒ x0 | x1 ⇒ xF | x2 ⇒ xE | x3 ⇒ xD
1503 | x4 ⇒ xC | x5 ⇒ xB | x6 ⇒ xA | x7 ⇒ x9
1504 | x8 ⇒ x8 | x9 ⇒ x7 | xA ⇒ x6 | xB ⇒ x5
1505 | xC ⇒ x4 | xD ⇒ x3 | xE ⇒ x2 | xF ⇒ x1 ].
1507 (* iteratore sugli esadecimali *)
1508 ndefinition forall_exadecim ≝ λP.
1509 P x0 ⊗ P x1 ⊗ P x2 ⊗ P x3 ⊗ P x4 ⊗ P x5 ⊗ P x6 ⊗ P x7 ⊗
1510 P x8 ⊗ P x9 ⊗ P xA ⊗ P xB ⊗ P xC ⊗ P xD ⊗ P xE ⊗ P xF.