src/HOL/AxClasses/Lattice/OrdDefs.thy
author clasohm
Tue, 30 Jan 1996 15:24:36 +0100
changeset 1465 5d7a7e439cec
parent 1440 de6f18da81bb
child 1476 608483c2122a
permissions -rw-r--r--
expanded tabs
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1440
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
     1
(*  Title:      OrdDefs.thy
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
     2
    ID:         $Id$
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
     3
    Author:     Markus Wenzel, TU Muenchen
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
     4
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
     5
Some overloaded definitions.
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
     6
*)
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
     7
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
     8
OrdDefs = Order + Prod +
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
     9
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    10
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    11
(* binary / general products *)
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    12
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    13
instance
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    14
  "*" :: (le, le) le
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    15
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    16
instance
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    17
  fun :: (term, le) le
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    18
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    19
defs
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    20
  le_prod_def   "p [= q == fst p [= fst q & snd p [= snd q"
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    21
  le_fun_def    "f [= g == ALL x. f x [= g x"
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    22
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    23
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    24
(* duals *)
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    25
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    26
subtype
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    27
  'a dual = "{x::'a. True}"
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    28
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    29
instance
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    30
  dual :: (le) le
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    31
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    32
defs
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    33
  le_dual_def   "x [= y == Rep_dual y [= Rep_dual x"
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    34
de6f18da81bb added this stuff;
wenzelm
parents:
diff changeset
    35
end