src/CTT/bool.thy
author berghofe
Fri, 16 Jul 1999 12:14:04 +0200
changeset 7015 85be09eb136c
parent 0 a5a9c433f639
permissions -rw-r--r--
- Datatype package now also supports arbitrarily branching datatypes (using function types). - Added new simplification procedure for proving distinctness of constructors. - dtK is now a reference.

(*  Title: 	CTT/bool
    ID:         $Id$
    Author: 	Lawrence C Paulson, Cambridge University Computer Laboratory
    Copyright   1991  University of Cambridge

The two-element type (booleans and conditionals)
*)

Bool = CTT +

consts Bool		:: "t"
       true,false	:: "i"
       cond		:: "[i,i,i]=>i"
rules
  Bool_def	"Bool == T+T"
  true_def	"true == inl(tt)"
  false_def	"false == inr(tt)"
  cond_def	"cond(a,b,c) == when(a, %u.b, %u.c)"
end