Rec = Fixedpt + consts fix :: "('a=>'a) => 'a" Dom :: "(('a=>'b) => ('a=>'b)) => 'a set" Domf :: "(('a=>'b) => ('a=>'b)) => 'a set => 'a set" rules Domf_def "Domf(F,D) == {y . !f g. (!x:D. f(x)=g(x)) --> F(f,y)=F(g,y)}" Dom_def "Dom(F) == lfp(Domf(F))" end