src/ZF/Bool.thy
 author lcp Fri Dec 16 17:39:43 1994 +0100 (1994-12-16 ago) changeset 799 13aa1e3d8a3a parent 753 ec86863e87c8 child 837 778f01546669 permissions -rw-r--r--
put quotation marks around constant "and" because it is a
keyword for inductive definitions!!
```     1 (*  Title: 	ZF/bool.thy
```
```     2     ID:         \$Id\$
```
```     3     Author: 	Lawrence C Paulson, Cambridge University Computer Laboratory
```
```     4     Copyright   1992  University of Cambridge
```
```     5
```
```     6 Booleans in Zermelo-Fraenkel Set Theory
```
```     7 *)
```
```     8
```
```     9 Bool = ZF + "simpdata" +
```
```    10 consts
```
```    11     "1"		::      "i"     	("1")
```
```    12     bool        ::      "i"
```
```    13     cond        ::      "[i,i,i]=>i"
```
```    14     not		::	"i=>i"
```
```    15     "and"       ::      "[i,i]=>i"      (infixl 70)
```
```    16     or		::      "[i,i]=>i"      (infixl 65)
```
```    17     xor		::      "[i,i]=>i"      (infixl 65)
```
```    18
```
```    19 translations
```
```    20    "1"  == "succ(0)"
```
```    21
```
```    22 defs
```
```    23     bool_def	"bool == {0,1}"
```
```    24     cond_def	"cond(b,c,d) == if(b=1,c,d)"
```
```    25     not_def	"not(b) == cond(b,0,1)"
```
```    26     and_def	"a and b == cond(a,b,0)"
```
```    27     or_def	"a or b == cond(a,1,b)"
```
```    28     xor_def	"a xor b == cond(a,not(b),b)"
```
```    29 end
```