src/ZF/Bool.thy
author clasohm
Tue Feb 06 12:27:17 1996 +0100 (1996-02-06)
changeset 1478 2b8c2a7547ab
parent 1401 0c439768f45c
child 1629 b5e43a60443a
permissions -rw-r--r--
expanded tabs
     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 2 is equal to bool, but serves a different purpose
     9 *)
    10 
    11 Bool = ZF + "simpdata" +
    12 consts
    13     "1"         :: i               ("1")
    14     "2"         :: i             ("2")
    15     bool        :: i
    16     cond        :: [i,i,i]=>i
    17     not         :: i=>i
    18     "and"       :: [i,i]=>i      (infixl 70)
    19     or          :: [i,i]=>i      (infixl 65)
    20     xor         :: [i,i]=>i      (infixl 65)
    21 
    22 translations
    23    "1"  == "succ(0)"
    24    "2"  == "succ(1)"
    25 
    26 defs
    27     bool_def    "bool == {0,1}"
    28     cond_def    "cond(b,c,d) == if(b=1,c,d)"
    29     not_def     "not(b) == cond(b,0,1)"
    30     and_def     "a and b == cond(a,b,0)"
    31     or_def      "a or b == cond(a,1,b)"
    32     xor_def     "a xor b == cond(a,not(b),b)"
    33 end