mk_const : string * hol_type -> term
Note, however, that constants with the same name (and type) may be declared in different theories. If two theories having constants with the same name n are in the ancestry of the current theory, then mk_const(n,ty) will issue a warning before arbitrarily selecting which constant to construct. In such situations, mk_thy_const allows one to specify exactly which constant to use.
- mk_const ("T", bool); > val it = `T` : term - mk_const ("=", bool --> bool --> bool); > val it = `$=` : term - try mk_const ("test", bool); Exception raised at Term.mk_const: test not foundThe following example shows a new constant being introduced that has the same name as the standard equality of HOL. Then we attempt to make an instance of that constant.
- new_constant ("=", bool --> bool --> bool); > val it = () : unit - mk_const("=", bool --> bool --> bool); <<HOL warning: Term.mk_const: "=": more than one possibility>> > val it = `$=` : term