Admin/Benchmarks/HOL-datatype/Brackin.thy
changeset 7373 776d888472aa
parent 7013 8a7fb425e04a
child 16417 9bc16273c2d4
equal deleted inserted replaced
7372:79e911c0c7d1 7373:776d888472aa
     1 (*  Title:      Admin/Benchmarks/HOL-datatype/Brackin.thy
     1 (*  Title:      Admin/Benchmarks/HOL-datatype/Brackin.thy
     2     ID:         $Id$
     2     ID:         $Id$
     3 *)
     3 *)
     4 
     4 
     5 Brackin = Main +
     5 theory Brackin = Main:
     6 
     6 
     7 (* ------------------------------------------------------------------------- *)
     7 (* ------------------------------------------------------------------------- *)
     8 (* A couple from Steve Brackin's work.                                       *)
     8 (* A couple from Steve Brackin's work.                                       *)
     9 (* ------------------------------------------------------------------------- *)
     9 (* ------------------------------------------------------------------------- *)
    10 
    10 
    14                 X32 | X33 | X34
    14                 X32 | X33 | X34
    15 
    15 
    16 datatype  
    16 datatype  
    17   ('a, 'b, 'c) TY1 =
    17   ('a, 'b, 'c) TY1 =
    18       NoF__
    18       NoF__
    19     | Fk__ 'a (('a, 'b, 'c) TY2)
    19     | Fk__ 'a "('a, 'b, 'c) TY2"
    20 and
    20 and
    21   ('a, 'b, 'c) TY2 =
    21   ('a, 'b, 'c) TY2 =
    22       Ta__ bool
    22       Ta__ bool
    23     | Td__ bool
    23     | Td__ bool
    24     | Tf__ (('a, 'b, 'c) TY1)
    24     | Tf__ "('a, 'b, 'c) TY1"
    25     | Tk__ bool
    25     | Tk__ bool
    26     | Tp__ bool
    26     | Tp__ bool
    27     | App__ 'a (('a, 'b, 'c) TY1) (('a, 'b, 'c) TY2) (('a, 'b, 'c) TY3)
    27     | App__ 'a "('a, 'b, 'c) TY1" "('a, 'b, 'c) TY2" "('a, 'b, 'c) TY3"
    28     | Pair__ (('a, 'b, 'c) TY2) (('a, 'b, 'c) TY2)
    28     | Pair__ "('a, 'b, 'c) TY2" "('a, 'b, 'c) TY2"
    29 and
    29 and
    30   ('a, 'b, 'c) TY3 =
    30   ('a, 'b, 'c) TY3 =
    31       NoS__
    31       NoS__
    32     | Fresh__ (('a, 'b, 'c) TY2)
    32     | Fresh__ "('a, 'b, 'c) TY2"
    33     | Trustworthy__ 'a
    33     | Trustworthy__ 'a
    34     | PrivateKey__ 'a 'b 'c
    34     | PrivateKey__ 'a 'b 'c
    35     | PublicKey__ 'a 'b 'c
    35     | PublicKey__ 'a 'b 'c
    36     | Conveyed__ 'a (('a, 'b, 'c) TY2)
    36     | Conveyed__ 'a "('a, 'b, 'c) TY2"
    37     | Possesses__ 'a (('a, 'b, 'c) TY2)
    37     | Possesses__ 'a "('a, 'b, 'c) TY2"
    38     | Received__ 'a (('a, 'b, 'c) TY2)
    38     | Received__ 'a "('a, 'b, 'c) TY2"
    39     | Recognizes__ 'a (('a, 'b, 'c) TY2)
    39     | Recognizes__ 'a "('a, 'b, 'c) TY2"
    40     | NeverMalFromSelf__ 'a 'b (('a, 'b, 'c) TY2)
    40     | NeverMalFromSelf__ 'a 'b "('a, 'b, 'c) TY2"
    41     | Sends__ 'a (('a, 'b, 'c) TY2) 'b
    41     | Sends__ 'a "('a, 'b, 'c) TY2" 'b
    42     | SharedSecret__ 'a (('a, 'b, 'c) TY2) 'b
    42     | SharedSecret__ 'a "('a, 'b, 'c) TY2" 'b
    43     | Believes__ 'a (('a, 'b, 'c) TY3)
    43     | Believes__ 'a "('a, 'b, 'c) TY3"
    44     | And__ (('a, 'b, 'c) TY3) (('a, 'b, 'c) TY3)
    44     | And__ "('a, 'b, 'c) TY3" "('a, 'b, 'c) TY3"
    45 
    45 
    46 end
    46 end