src/ZF/Bool.thy
changeset 837 778f01546669
parent 799 13aa1e3d8a3a
child 1401 0c439768f45c
equal deleted inserted replaced
836:627f4842b020 837:778f01546669
     2     ID:         $Id$
     2     ID:         $Id$
     3     Author: 	Lawrence C Paulson, Cambridge University Computer Laboratory
     3     Author: 	Lawrence C Paulson, Cambridge University Computer Laboratory
     4     Copyright   1992  University of Cambridge
     4     Copyright   1992  University of Cambridge
     5 
     5 
     6 Booleans in Zermelo-Fraenkel Set Theory 
     6 Booleans in Zermelo-Fraenkel Set Theory 
       
     7 
       
     8 2 is equal to bool, but serves a different purpose
     7 *)
     9 *)
     8 
    10 
     9 Bool = ZF + "simpdata" +
    11 Bool = ZF + "simpdata" +
    10 consts
    12 consts
    11     "1"		::      "i"     	("1")
    13     "1"		:: "i"     	   ("1")
    12     bool        ::      "i"
    14     "2"         :: "i"             ("2")
    13     cond        ::      "[i,i,i]=>i"
    15     bool        :: "i"
    14     not		::	"i=>i"
    16     cond        :: "[i,i,i]=>i"
    15     "and"       ::      "[i,i]=>i"      (infixl 70)
    17     not		:: "i=>i"
    16     or		::      "[i,i]=>i"      (infixl 65)
    18     "and"       :: "[i,i]=>i"      (infixl 70)
    17     xor		::      "[i,i]=>i"      (infixl 65)
    19     or		:: "[i,i]=>i"      (infixl 65)
       
    20     xor		:: "[i,i]=>i"      (infixl 65)
    18 
    21 
    19 translations
    22 translations
    20    "1"  == "succ(0)"
    23    "1"  == "succ(0)"
       
    24    "2"  == "succ(1)"
    21 
    25 
    22 defs
    26 defs
    23     bool_def	"bool == {0,1}"
    27     bool_def	"bool == {0,1}"
    24     cond_def	"cond(b,c,d) == if(b=1,c,d)"
    28     cond_def	"cond(b,c,d) == if(b=1,c,d)"
    25     not_def	"not(b) == cond(b,0,1)"
    29     not_def	"not(b) == cond(b,0,1)"