src/HOL/BCV/Orders.thy
author paulson
Fri, 12 May 2000 15:05:02 +0200
changeset 8862 78643f8449c6
parent 7626 5997f35954d7
permissions -rw-r--r--
NatSimprocs is now a theory, not a file
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7626
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     1
(*  Title:      HOL/BCV/Orders.thy
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     2
    ID:         $Id$
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     3
    Author:     Tobias Nipkow
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     4
    Copyright   1999 TUM
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     5
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     6
Orderings and some sets.
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     7
*)
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     8
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
     9
Orders = Orders0 +
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    10
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    11
instance option :: (order)order (le_option_refl,le_option_trans,
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    12
                                 le_option_antisym,less_le_option)
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    13
instance list :: (order)order (le_list_refl,le_list_trans,
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    14
                               le_list_antisym,less_le_list)
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    15
instance "*" :: (order,order)order
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    16
                (le_prod_refl,le_prod_trans,le_prod_antisym,less_le_prod)
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    17
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    18
constdefs
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    19
 acc :: "'a::order set => bool"
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    20
"acc A == wf{(y,x) . x:A & y:A & x < y}"
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    21
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    22
 option :: 'a set => 'a option set
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    23
"option A == insert None {x . ? y:A. x = Some y}"
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    24
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    25
 listsn :: nat => 'a set => 'a list set
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    26
"listsn n A == {xs. length xs = n & set xs <= A}"
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    27
5997f35954d7 A new theory: a model of bytecode verification.
nipkow
parents:
diff changeset
    28
end