src/HOL/Quot/HQUOT.thy
changeset 2905 9a4f353107da
child 3842 b55686a7b22c
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/HOL/Quot/HQUOT.thy	Fri Apr 04 16:02:12 1997 +0200
     1.3 @@ -0,0 +1,27 @@
     1.4 +(*  Title:      HOL/Quot/HQUOT.thy
     1.5 +    ID:         $Id$
     1.6 +    Author:     Oscar Slotosch
     1.7 +    Copyright   1997 Technische Universitaet Muenchen
     1.8 +
     1.9 +quotient constructor for higher order quotients
    1.10 +
    1.11 +*)
    1.12 +
    1.13 +HQUOT = PER +      
    1.14 +
    1.15 +typedef 'a quot = "{s::'a::per set. ? r.!y.y:s=y===r}" (quotNE)
    1.16 +
    1.17 +(* constants for equivalence classes *)
    1.18 +consts
    1.19 +        peclass         :: "'a::per => 'a quot"
    1.20 +        any_in          :: "'a::per quot => 'a"
    1.21 +
    1.22 +syntax          "@ecl"  :: "'a::per => 'a quot" ("<[ _ ]>")
    1.23 +
    1.24 +translations    "<[x]>" == "peclass x"
    1.25 +
    1.26 +defs
    1.27 +        peclass_def     "<[x]> == Abs_quot {y.y===x}"
    1.28 +        any_in_def      "any_in f == @x.<[x]>=f"
    1.29 +end
    1.30 +