annotate boolean.agda @ 2:ca2e9f7a7898

Add De Morgan's laws
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Tue, 13 May 2014 11:14:49 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 open import systemT
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 open import Relation.Binary.PropositionalEquality
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 module boolean where
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 _and_ : Bool -> Bool -> Bool
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 T and b = b
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 F and _ = F
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 _or_ : Bool -> Bool -> Bool
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 T or _ = T
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 F or b = b
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 not : Bool -> Bool
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 not T = F
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 not F = T
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 De-Morgan's-laws : (a b : Bool) -> (not a) and (not b) ≡ not (a or b)
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 De-Morgan's-laws T T = refl
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 De-Morgan's-laws T F = refl
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 De-Morgan's-laws F T = refl
ca2e9f7a7898 Add De Morgan's laws
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 De-Morgan's-laws F F = refl