New function read_cterms is a combination of read_def_cterm and
read_cterm. It reads and simultaneously type-checks a list of strings.
cterm_of no longer catches exception TYPE; instead it must be caught later on
and a message printed using Sign.exn_type_msg. More informative messages can
be printed this way.
(* Title: HOLCF/ccc1.thy
ID: $Id$
Author: Franz Regensburger
Copyright 1993 Technische Universitaet Muenchen
Merge Theories Cprof, Sprod, Ssum, Lift, Fix and
define constants for categorical reasoning
*)
ccc1 = Cprod3 + Sprod3 + Ssum3 + Lift3 + Fix +
consts
ID :: "'a -> 'a"
cfcomp :: "('b->'c)->('a->'b)->'a->'c"
syntax "@oo" :: "('b->'c)=>('a->'b)=>'a->'c" ("_ oo _" [101,100] 100)
translations "f1 oo f2" == "cfcomp`f1`f2"
defs
ID_def "ID ==(LAM x.x)"
oo_def "cfcomp == (LAM f g x.f`(g`x))"
end