29 open Hints_declaration
45 val addr16_of_addr11 : BitVector.word -> BitVector.word11 -> BitVector.word
47 val nat_of_bool : Bool.bool -> Nat.nat
49 val carry_of : Bool.bool -> Bool.bool -> Bool.bool -> Bool.bool
51 val add_with_carries :
52 Nat.nat -> BitVector.bitVector -> BitVector.bitVector -> Bool.bool ->
53 (BitVector.bitVector, BitVector.bitVector) Types.prod
55 val borrow_of : Bool.bool -> Bool.bool -> Bool.bool -> Bool.bool
57 val sub_with_borrows :
58 Nat.nat -> BitVector.bitVector -> BitVector.bitVector -> Bool.bool ->
59 (BitVector.bitVector, BitVector.bitVector) Types.prod
61 val add_n_with_carry :
62 Nat.nat -> BitVector.bitVector -> BitVector.bitVector -> Bool.bool ->
63 (BitVector.bitVector, BitVector.bitVector) Types.prod
65 val sub_n_with_carry :
66 Nat.nat -> BitVector.bitVector -> BitVector.bitVector -> Bool.bool ->
67 (BitVector.bitVector, BitVector.bitVector) Types.prod
69 val add_8_with_carry :
70 BitVector.bitVector -> BitVector.bitVector -> Bool.bool ->
71 (BitVector.bitVector, BitVector.bitVector) Types.prod
73 val add_16_with_carry :
74 BitVector.bitVector -> BitVector.bitVector -> Bool.bool ->
75 (BitVector.bitVector, BitVector.bitVector) Types.prod
77 val sub_7_with_carry :
78 BitVector.bitVector -> BitVector.bitVector -> Bool.bool ->
79 (BitVector.bitVector, BitVector.bitVector) Types.prod
81 val sub_8_with_carry :
82 BitVector.bitVector -> BitVector.bitVector -> Bool.bool ->
83 (BitVector.bitVector, BitVector.bitVector) Types.prod
85 val sub_16_with_carry :
86 BitVector.bitVector -> BitVector.bitVector -> Bool.bool ->
87 (BitVector.bitVector, BitVector.bitVector) Types.prod
89 val increment : Nat.nat -> BitVector.bitVector -> BitVector.bitVector
91 val decrement : Nat.nat -> BitVector.bitVector -> BitVector.bitVector
93 val bitvector_of_nat_aux :
94 Nat.nat -> Nat.nat -> BitVector.bitVector -> BitVector.bitVector
96 val bitvector_of_nat : Nat.nat -> Nat.nat -> BitVector.bitVector
98 val nat_of_bitvector_aux :
99 Nat.nat -> Nat.nat -> BitVector.bitVector -> Nat.nat
101 val nat_of_bitvector : Nat.nat -> BitVector.bitVector -> Nat.nat
103 val two_complement_negation :
104 Nat.nat -> BitVector.bitVector -> BitVector.bitVector
107 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
111 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
115 Nat.nat -> Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
116 BitVector.bitVector -> BitVector.bitVector
119 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
122 val short_multiplication :
123 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
127 | Fbs_diff' of Nat.nat * Nat.nat
129 val fbs_diff_rect_Type4 :
130 (Nat.nat -> Nat.nat -> 'a1) -> Nat.nat -> fbs_diff -> 'a1
132 val fbs_diff_rect_Type5 :
133 (Nat.nat -> Nat.nat -> 'a1) -> Nat.nat -> fbs_diff -> 'a1
135 val fbs_diff_rect_Type3 :
136 (Nat.nat -> Nat.nat -> 'a1) -> Nat.nat -> fbs_diff -> 'a1
138 val fbs_diff_rect_Type2 :
139 (Nat.nat -> Nat.nat -> 'a1) -> Nat.nat -> fbs_diff -> 'a1
141 val fbs_diff_rect_Type1 :
142 (Nat.nat -> Nat.nat -> 'a1) -> Nat.nat -> fbs_diff -> 'a1
144 val fbs_diff_rect_Type0 :
145 (Nat.nat -> Nat.nat -> 'a1) -> Nat.nat -> fbs_diff -> 'a1
147 val fbs_diff_inv_rect_Type4 :
148 Nat.nat -> fbs_diff -> (Nat.nat -> Nat.nat -> __ -> __ -> 'a1) -> 'a1
150 val fbs_diff_inv_rect_Type3 :
151 Nat.nat -> fbs_diff -> (Nat.nat -> Nat.nat -> __ -> __ -> 'a1) -> 'a1
153 val fbs_diff_inv_rect_Type2 :
154 Nat.nat -> fbs_diff -> (Nat.nat -> Nat.nat -> __ -> __ -> 'a1) -> 'a1
156 val fbs_diff_inv_rect_Type1 :
157 Nat.nat -> fbs_diff -> (Nat.nat -> Nat.nat -> __ -> __ -> 'a1) -> 'a1
159 val fbs_diff_inv_rect_Type0 :
160 Nat.nat -> fbs_diff -> (Nat.nat -> Nat.nat -> __ -> __ -> 'a1) -> 'a1
162 val fbs_diff_discr : Nat.nat -> fbs_diff -> fbs_diff -> __
164 val fbs_diff_jmdiscr : Nat.nat -> fbs_diff -> fbs_diff -> __
166 val first_bit_set : Nat.nat -> BitVector.bitVector -> fbs_diff Types.option
169 Nat.nat -> Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
170 (BitVector.bitVector, BitVector.bitVector) Types.prod
173 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
174 (BitVector.bitVector, BitVector.bitVector) Types.prod Types.option
177 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
178 BitVector.bitVector Types.option
181 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
182 BitVector.bitVector Types.option
185 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
186 BitVector.bitVector Types.option
189 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
190 BitVector.bitVector Types.option
193 Nat.nat -> Bool.bool Vector.vector -> Bool.bool Vector.vector -> Bool.bool
196 Nat.nat -> Bool.bool Vector.vector -> Bool.bool Vector.vector -> Bool.bool
199 Nat.nat -> Bool.bool Vector.vector -> Bool.bool Vector.vector -> Bool.bool
202 Nat.nat -> Bool.bool Vector.vector -> Bool.bool Vector.vector -> Bool.bool
204 val lt_s : Nat.nat -> BitVector.bitVector -> BitVector.bitVector -> Bool.bool
206 val gt_s : Nat.nat -> BitVector.bitVector -> BitVector.bitVector -> Bool.bool
209 Nat.nat -> BitVector.bitVector -> BitVector.bitVector -> Bool.bool
212 Nat.nat -> BitVector.bitVector -> BitVector.bitVector -> Bool.bool
219 val ternary_rect_Type4 : 'a1 -> 'a1 -> 'a1 -> ternary -> 'a1
221 val ternary_rect_Type5 : 'a1 -> 'a1 -> 'a1 -> ternary -> 'a1
223 val ternary_rect_Type3 : 'a1 -> 'a1 -> 'a1 -> ternary -> 'a1
225 val ternary_rect_Type2 : 'a1 -> 'a1 -> 'a1 -> ternary -> 'a1
227 val ternary_rect_Type1 : 'a1 -> 'a1 -> 'a1 -> ternary -> 'a1
229 val ternary_rect_Type0 : 'a1 -> 'a1 -> 'a1 -> ternary -> 'a1
231 val ternary_inv_rect_Type4 :
232 ternary -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a1
234 val ternary_inv_rect_Type3 :
235 ternary -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a1
237 val ternary_inv_rect_Type2 :
238 ternary -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a1
240 val ternary_inv_rect_Type1 :
241 ternary -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a1
243 val ternary_inv_rect_Type0 :
244 ternary -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a1
246 val ternary_discr : ternary -> ternary -> __
248 val ternary_jmdiscr : ternary -> ternary -> __
250 val carry_0 : ternary -> (Bool.bool, ternary) Types.prod
252 val carry_1 : ternary -> (Bool.bool, ternary) Types.prod
254 val carry_2 : ternary -> (Bool.bool, ternary) Types.prod
256 val carry_3 : ternary -> (Bool.bool, ternary) Types.prod
258 val ternary_carry_of :
259 Bool.bool -> Bool.bool -> Bool.bool -> ternary -> (Bool.bool, ternary)
263 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
264 BitVector.bitVector -> ternary -> (BitVector.bitVector, ternary) Types.prod
266 val carries_to_ternary : Bool.bool -> Bool.bool -> ternary
269 Nat.nat -> Bool.bool Vector.vector -> Bool.bool Vector.vector -> Bool.bool
273 Nat.nat -> Bool.bool Vector.vector -> Bool.bool Vector.vector -> Bool.bool
277 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
281 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
284 val bitvector_of_bool : Nat.nat -> Bool.bool -> BitVector.bitVector
287 Nat.nat -> BitVector.bitVector -> BitVector.bitVector -> BitVector.bit ->
288 (BitVector.bit, BitVector.bitVector) Types.prod
291 Nat.nat -> BitVector.bitVector -> BitVector.bitVector -> (BitVector.bit,
292 BitVector.bitVector) Types.prod
295 Nat.nat -> BitVector.bitVector -> BitVector.bitVector ->
298 val sign_extension : BitVector.byte -> BitVector.word
300 val sign_bit : Nat.nat -> BitVector.bitVector -> Bool.bool
303 Nat.nat -> Nat.nat -> BitVector.bitVector -> BitVector.bitVector
306 Nat.nat -> Nat.nat -> BitVector.bitVector -> BitVector.bitVector
309 Nat.nat -> Nat.nat -> BitVector.bitVector -> BitVector.bitVector