Set2g = Ord + types 'a set consts Ball :: "'a set ë ('a ë bool) ë bool" syntax "GBall" :: "pttrn ë 'a set ë bool ë bool" ("(3Â_Î_./ _)" 10) translations (* "ÂxÎA. P" == "Ball A (³x. P)"*) "GBall x A P" == "Ball A (³x. P)" (*defs Ball_def "Ball A P Ú Âx. xÎA çè P(x)" *) end