source: Deliverables/D4.1/Matita/BitVector.ma @ 230

Last change on this file since 230 was 230, checked in by mulligan, 9 years ago

Lots of work from today.

File size: 908 bytes
Line 
1include "Vector.ma".
2include "Nat.ma".
3include "Bool.ma".
4
5ndefinition BitVector ≝ λn: Nat. Vector Bool n.
6ndefinition Bit ≝ BitVector (S Z).
7ndefinition Nibble ≝ BitVector (S (S (S (S Z)))).
8ndefinition Byte7 ≝ BitVector (S (S (S (S (S (S (S Z))))))).
9ndefinition Byte ≝ BitVector (S (S (S (S (S (S (S (S Z)))))))).
10ndefinition Word ≝ BitVector (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S (S Z)))))))))))))))).
11
12ndefinition zero ≝
13  λn: Nat.
14    replicate Bool n False.
15   
16ndefinition conjunction ≝
17  λn: Nat.
18  λb: BitVector n.
19  λc: BitVector n.
20    zip Bool Bool Bool n conjunction b c.
21   
22ndefinition inclusive_disjunction ≝
23  λn: Nat.
24  λb: BitVector n.
25  λc: BitVector n.
26    zip Bool Bool Bool n inclusive_disjunction b c.
27   
28ndefinition exclusive_disjunction ≝
29  λn: Nat.
30  λb: BitVector n.
31  λc: BitVector n.
32    zip Bool Bool Bool n exclusive_disjunction b c.
Note: See TracBrowser for help on using the repository browser.