src/HOLCF/Tr2.thy
changeset 430 89e1986125fe
parent 243 c22b85994e17
child 625 119391dd1d59
equal deleted inserted replaced
429:888bbb4119f8 430:89e1986125fe
     8 
     8 
     9 Tr2 = Tr1 +
     9 Tr2 = Tr1 +
    10 
    10 
    11 consts
    11 consts
    12 	"@cifte"	:: "tr=>'c=>'c=>'c"
    12 	"@cifte"	:: "tr=>'c=>'c=>'c"
    13                              ("(3If _/ (then _/ else _) fi)" [60,60,60] 60)
    13                              ("(3If _/ (then _/ else _) fi)" 60)
    14 	"Icifte"        :: "tr->'c->'c->'c"
    14 	"Icifte"        :: "tr->'c->'c->'c"
    15 
    15 
    16 	"@andalso"	:: "tr => tr => tr" ("_ andalso _" [61,60] 60)
    16 	"@andalso"	:: "tr => tr => tr" ("_ andalso _" [36,35] 35)
    17 	"cop @andalso"	:: "tr -> tr -> tr" ("trand")
    17 	"cop @andalso"	:: "tr -> tr -> tr" ("trand")
    18 	"@orelse"	:: "tr => tr => tr" ("_ orelse _"  [61,60] 60)
    18 	"@orelse"	:: "tr => tr => tr" ("_ orelse _"  [31,30] 30)
    19 	"cop @orelse"	:: "tr -> tr -> tr" ("tror")
    19 	"cop @orelse"	:: "tr -> tr -> tr" ("tror")
    20 
    20 
       
    21         "neg"           :: "tr -> tr"
    21 
    22 
    22 rules
    23 rules
    23 
    24 
    24   ifte_def    "Icifte == (LAM t e1 e2.tr_when[e1][e2][t])"
    25   ifte_def    "Icifte == (LAM t e1 e2.tr_when[e1][e2][t])"
    25   andalso_def "trand == (LAM t1 t2.tr_when[t2][FF][t1])"
    26   andalso_def "trand == (LAM t1 t2.tr_when[t2][FF][t1])"
    26   orelse_def  "tror  == (LAM t1 t2.tr_when[TT][t2][t1])"
    27   orelse_def  "tror  == (LAM t1 t2.tr_when[TT][t2][t1])"
    27 
    28   neg_def     "neg == (LAM t. tr_when[FF][TT][t])"
    28 
    29 
    29 end
    30 end
    30 
    31 
    31 ML
    32 ML
    32 
    33