History log of /seL4-l4v-master/l4v/isabelle/src/Pure/type.ML
Revision Date Author Comments
# 83e7d3db 03-Jul-2017 wenzelm <none@none>

unused;


# 6033868f 25-Sep-2015 wenzelm <none@none>

tuned signature: eliminated pointless type Context.pretty;


# 4b1e55e7 31-Mar-2015 wenzelm <none@none>

subtle change of long-standing name space policy: unknown entries are treated as hidden, consequently "private" is understood in the strict sense;


# 70c854b1 31-Mar-2015 wenzelm <none@none>

tuned signature;


# a20b746f 29-Mar-2015 wenzelm <none@none>

tuned signature;


# 13ddea91 26-Nov-2014 wenzelm <none@none>

renamed "pairself" to "apply2", in accordance to @{apply 2};


# 80f4d9fe 08-Nov-2014 wenzelm <none@none>

clarified name of Type.unified, to emphasize its connection to the "unify" family;
tuned low-level operation;


# 6b92db37 08-Nov-2014 wenzelm <none@none>

recovered type matching, which was broken in 8a765db7e0f8 (see also 8a765db7e0f8, 2db1d3d2ed54);
NB: "match" operates on direct substitution without variable chasing, in contrast to "unify" (and Unify.matches!) which work on cascaded env;


# 30cfae9d 13-Mar-2014 wenzelm <none@none>

more frugal recording of changes: join merely requires information from one side;
tuned;


# ad529d3a 11-Mar-2014 wenzelm <none@none>

more efficient local theory operations, by imposing a linear change discipline on the main types/consts tables, in order to speed-up Proof_Context.transfer_syntax required for Local_Theory.raw_theory_result;


# ab9ece9d 11-Mar-2014 wenzelm <none@none>

minor performance tuning via fast matching filter;


# 98c7fb02 10-Mar-2014 wenzelm <none@none>

abstract type Name_Space.table;
clarified pretty_locale_deps: sort strings;
clarified Proof_Context.update_cases: Name_Space.del_table hides name space entry as well;


# 87ac7b90 09-Mar-2014 wenzelm <none@none>

unused;


# b7dd9a32 06-Mar-2014 wenzelm <none@none>

reject internal term names outright, and complete consts instead;
more general Name_Space.check_reports;
more compact Markup.markup_report;


# ede9253f 05-Mar-2014 wenzelm <none@none>

more markup for inner syntax class/type names (notably for completion);
explicit reports result without broadcast yet, which is important for brute-force disambiguation;


# 977d55c9 02-Mar-2014 wenzelm <none@none>

prefer Name_Space.check with its builtin reports (including completion);


# e750bd28 11-May-2013 wenzelm <none@none>

prefer explicitly qualified exceptions, which is particular important for robust handlers;


# 79a4e2f9 12-Apr-2013 wenzelm <none@none>

tuned exceptions -- avoid composing error messages in low-level situations;


# 95d64a2f 25-Nov-2012 wenzelm <none@none>

Isabelle-specific implementation of quasi-abstract markup elements -- back to module arrangement before d83797ef0d2d;


# d6db0d3c 03-Oct-2012 wenzelm <none@none>

use explicit Type.strip_sorts_dummy to suppress sort constraints in output;


# 871b69bc 29-Aug-2012 wenzelm <none@none>

renamed Position.str_of to Position.here;


# 551b966c 18-Mar-2012 wenzelm <none@none>

maintain generic context naming in structure Name_Space (NB: empty = default_naming, init = local_naming);
more explicit Context.generic for Name_Space.declare/define and derivatives (NB: naming changed after Proof_Context.init_global);
prefer Context.pretty in low-level operations of structure Sorts/Type (defer full Syntax.init_pretty until error output);
simplified signatures;


# e44305c2 24-Feb-2012 wenzelm <none@none>

clarifed name space "type name", which covers logical and non-logical types, and often occurs inside outer syntax "type" markup;


# 99fd6f8e 28-Nov-2011 wenzelm <none@none>

separate module for concrete Isabelle markup;

--HG--
rename : src/Pure/General/markup.ML => src/Pure/General/isabelle_markup.ML
rename : src/Pure/General/markup.scala => src/Pure/General/isabelle_markup.scala


# 5536b323 20-Nov-2011 wenzelm <none@none>

clarified certify vs. sharing;


# e543197b 10-Nov-2011 wenzelm <none@none>

pass term positions into check phase, where resulting types are reported accordingly, and eventually shown as tooltips;


# 0b684231 10-Aug-2011 wenzelm <none@none>

avoid OldTerm operations -- with subtle changes of semantics;


# b15dad7f 25-Jun-2011 wenzelm <none@none>

entity markup for "type", "constant";


# 18d01178 25-Jun-2011 wenzelm <none@none>

type classes: entity markup instead of old-style token markup;


# 1a5a42ee 09-Jun-2011 wenzelm <none@none>

simplified Name.variant -- discontinued builtin fold_map;


# ec1196d6 09-Jun-2011 wenzelm <none@none>

discontinued Name.variant to emphasize that this is old-style / indirect;


# 3d55e8cc 23-Apr-2011 wenzelm <none@none>

clarified Type.the_decl;


# f53da0a1 18-Apr-2011 wenzelm <none@none>

pass plain Proof.context for pretty printing;


# 3177e5c8 17-Apr-2011 wenzelm <none@none>

simplified Sorts.class_error: plain Proof.context;
tuned;


# dbff82ee 18-Apr-2011 wenzelm <none@none>

simplified pretty printing context, which is only required for certain kernel operations;
disentangled dependencies of structure Pretty;


# 7dd8cd36 17-Apr-2011 wenzelm <none@none>

added Binding.print convenience, which includes quote already;


# 13a7cd41 17-Apr-2011 wenzelm <none@none>

report Name_Space.declare/define, relatively to context;
added "global" variants of context-dependent declarations;


# e7602b11 16-Apr-2011 wenzelm <none@none>

Name_Space: proper configuration options long_names, short_names, unique_names instead of former unsynchronized references;


# 2f1c5bd8 30-Dec-2010 wenzelm <none@none>

uniform treatment of typ_match and raw_match (cf. b654fa27fbc4);


# 26b387e6 17-Dec-2010 wenzelm <none@none>

extra checking of name bindings for classes, types, consts;
tuned;


# 80029e6b 15-Oct-2010 paulson <none@none>

prevention of self-referential type environments


# 141f0ca0 12-Sep-2010 wenzelm <none@none>

Type_Infer.preterm: eliminated separate Constraint;


# bb93d4cb 12-Sep-2010 wenzelm <none@none>

load type_infer.ML later -- proper context for Type_Infer.infer_types;
renamed Type_Infer.polymorphicT to Type.mark_polymorphic;


# 54b5bdc2 12-Sep-2010 wenzelm <none@none>

common Type.appl_error, which also covers explicit constraints;


# 96fc9813 12-Sep-2010 wenzelm <none@none>

eliminated aliases of Type.constraint;


# 5e89d7bc 04-May-2010 wenzelm <none@none>

proof terms for strip_shyps, based on the version by krauss/schropp with some notable differences:
* present type variables are only compared wrt. first component (the atomic type), not the duplicated sort;
* extra sorts are grounded towards fixed 'a, potentially with different sorts (the original version with Name.names could cause name clashes with other present variables, too, but this should not be a problem);
* deriv_rule_unconditional ensures that proof terms are always maintained independently of the "proofs" flag -- this improves robustness and preserves basic PThm proofs required for extraction attributes, e.g. in theory HOL/Extraction;


# 4678070f 28-Apr-2010 wenzelm <none@none>

more systematic naming of tsig operations;


# 240798b5 28-Apr-2010 wenzelm <none@none>

export Type.minimize_sort;


# bbc8cf56 20-Mar-2010 wenzelm <none@none>

renamed varify/unvarify operations to varify_global/unvarify_global to emphasize that these only work in a global situation;


# dbbac7dd 09-Mar-2010 wenzelm <none@none>

aliases for class/type/const;
tuned;


# f36452c7 09-Mar-2010 wenzelm <none@none>

added ProofContext.tsig_of -- proforma version for local name space only, not logical content;
added ProofContext.read_type_name_proper;
localized ProofContext.read_class/read_arity/cert_arity;
localized ProofContext.class_space/type_space etc.;


# 98b49ee4 25-Feb-2010 wenzelm <none@none>

provide direct access to the different kinds of type declarations;


# a9528208 05-Jan-2010 haftmann <none@none>

avoid exporting Type.build_tsig


# 5b46647a 02-Dec-2009 haftmann <none@none>

exported build_tsig


# 7bd1a61e 21-Nov-2009 wenzelm <none@none>

explicitly mark some legacy freeze operations;


# ffdbcec8 09-Nov-2009 wenzelm <none@none>

locale_const/target_notation: uniform use of Term.aconv_untyped;
target_notation: pass on transformed term formally;
removed obsolete Type.similar_types;


# dfa769e1 08-Nov-2009 wenzelm <none@none>

adapted Generic_Data, Proof_Data;
tuned;


# 98fa2344 25-Oct-2009 wenzelm <none@none>

eliminated obsolete tags for types/consts -- now handled via name space, in strongly typed fashion;


# 52584a08 24-Oct-2009 wenzelm <none@none>

maintain position of formal entities via name space;


# aa0f9eb7 24-Oct-2009 wenzelm <none@none>

maintain explicit name space kind;
export Name_Space.the_entry;
tuned messages;


# 713fc456 24-Oct-2009 wenzelm <none@none>

renamed NameSpace to Name_Space -- also to emphasize its subtle change in semantics;


# d493fd65 24-Oct-2009 wenzelm <none@none>

eliminated separate stamp -- NameSpace.define/merge etc. ensure uniqueness already;
simplified messages;


# 2f14c9ed 30-Sep-2009 wenzelm <none@none>

eliminated redundant bindings;


# b9d789f1 29-Sep-2009 wenzelm <none@none>

explicit indication of Unsynchronized.ref;


# 0b4341ef 23-Sep-2009 paulson <none@none>

Correct chasing of type variable instantiations during type unification.
The following theory should not raise exception TERM:

constdefs
somepredicate :: "(('b => 'b) => ('a => 'a))
=> 'a => 'b => bool"
"somepredicate upd v x == True"

lemma somepredicate_idI:
"somepredicate id (f v) v"
by (simp add: somepredicate_def)

lemma somepredicate_triv:
"somepredicate upd v x ==> somepredicate upd v x"
by assumption

lemmas somepredicate_triv [OF somepredicate_idI]

lemmas st' = somepredicate_triv[where v="h :: nat => bool"]

lemmas st2 = st'[OF somepredicate_idI]


# 902ecd8f 17-Jul-2009 wenzelm <none@none>

eq_type: special case for empty environment;


# 51ddcad2 06-Jul-2009 wenzelm <none@none>

witness_sorts: proper type witnesses for hyps, not invented "'hyp" variables;


# ba2450b1 07-Mar-2009 wenzelm <none@none>

replace old bstring by binding for logical primitives: class, type, const etc.;


# c5d56eea 31-Dec-2008 wenzelm <none@none>

moved old add_type_XXX, add_term_XXX etc. to structure OldTerm;
use regular Term.add_XXX etc.;


# e154e805 31-Dec-2008 wenzelm <none@none>

moved term order operations to structure TermOrd (cf. Pure/term_ord.ML);
tuned signature of structure Term;


# ceb37cea 30-Dec-2008 wenzelm <none@none>

varify: regular name context;


# 4c569229 05-Dec-2008 haftmann <none@none>

dropped NameSpace.declare_base


# e01ddee4 04-Dec-2008 haftmann <none@none>

cleaned up binding module and related code


# d0b84733 27-Aug-2008 wenzelm <none@none>

type Properties.T;


# 4a51aa4e 21-Jun-2008 wenzelm <none@none>

the_tags: explicit error message;
new_decl: Position.thread_data;


# 2c14c878 20-Jun-2008 haftmann <none@none>

type constructors now with markup


# 8258c867 19-Jun-2008 wenzelm <none@none>

add_abbrev: check tfrees of rhs, not tvars (addresses a lapse introduced in 1.65);


# a46e70f9 15-Apr-2008 wenzelm <none@none>

simplified hide_XXX interfaces;


# ebe1861c 13-Apr-2008 wenzelm <none@none>

tsig: removed unnecessary universal witness;
Sorts.class_error: produce message only (formerly msg_class_error);


# 6a3c749e 02-Apr-2008 haftmann <none@none>

canonical meet_sort operation


# 4fdec755 19-Mar-2008 haftmann <none@none>

Type.lookup now curried; typ_of_sort


# 1cf8722a 10-Nov-2007 wenzelm <none@none>

similar_types: uniform treatment of TFrees/TVars;


# cdb8dafe 07-Nov-2007 wenzelm <none@none>

tuned signature;


# a636ce32 11-Oct-2007 wenzelm <none@none>

replaced Term.equiv_types by Type.similar_types;


# 0e30ca26 04-Oct-2007 wenzelm <none@none>

replaced literal 'a by Name.aT;


# 04b02b50 30-Aug-2007 wenzelm <none@none>

maintain mode in context (get/set/restore_mode);


# 40b7278c 14-Aug-2007 wenzelm <none@none>

type mode: models certification mode (default, syntax, abbrev);
replaced certify_typ_syntax/abbrev by certify_typ_mode;


# 5110e11c 08-Jul-2007 wenzelm <none@none>

replaced exception TableFun/GraphFun.DUPS by TableFun/GraphFun.DUP;


# ca14c530 31-May-2007 wenzelm <none@none>

simplified/unified list fold;


# e2b2ce1c 29-Dec-2006 wenzelm <none@none>

Sorts.minimal_classes;


# 1e807976 14-Dec-2006 wenzelm <none@none>

avoid conflict with Alice keywords: renamed pack -> implode, unpack -> explode, any -> many, avoided assert;


# 592de03a 31-Oct-2006 haftmann <none@none>

fixed type signature of Type.varify


# cfcb3b9c 10-Oct-2006 haftmann <none@none>

gen_rem(s) abandoned in favour of remove / subtract


# f91deb84 21-Sep-2006 wenzelm <none@none>

serial numbers for types;


# e69dd782 15-Sep-2006 wenzelm <none@none>

renamed Term.map_term_types to Term.map_types (cf. Term.fold_types);


# 35141c3c 10-Jul-2006 wenzelm <none@none>

replaced Term.variant(list) by Name.variant(_list);


# 24ff5941 06-Jun-2006 wenzelm <none@none>

renamed Type.(un)varifyT to Logic.(un)varifyT;
made (un)varify strict wrt. global context -- may use legacy_(un)varify as workaround;


# aaacf6ab 22-May-2006 wenzelm <none@none>

export raw_unifys, could_unifys;


# e82cc6b2 20-May-2006 wenzelm <none@none>

export raw_matches;


# 0d32b6ff 16-May-2006 wenzelm <none@none>

more abstract interface to classes/arities;


# dbfb3163 05-May-2006 wenzelm <none@none>

replaced Sorts.DOMAIN by general Sorts.CLASS_ERROR;
add_types etc.: reject qualified dummy types -- prevents users from messing up some internal conventions;


# 997d7cbb 01-May-2006 wenzelm <none@none>

tuned;


# 490848a8 30-Apr-2006 wenzelm <none@none>

build classes/arities: refer to operations in sorts.ML;
simplified add_class/classrel/arity;
tuned;


# 87ec4898 25-Apr-2006 wenzelm <none@none>

added inter_sort;
added arity_number/sorts;


# 80d65d44 20-Mar-2006 wenzelm <none@none>

avoid polymorphic equality;


# b8503671 11-Mar-2006 wenzelm <none@none>

got rid of type Sign.sg;


# a6319250 07-Feb-2006 wenzelm <none@none>

renamed gen_duplicates to duplicates;


# e608c62f 06-Feb-2006 wenzelm <none@none>

TableFun: renamed xxx_multi to xxx_list;
tuned;


# 13808884 06-Feb-2006 haftmann <none@none>

subsituted gen_duplicates / has_duplicates for duplicates whenever appropriate


# 396995d2 08-Oct-2005 wenzelm <none@none>

added could_unify;


# db589537 04-Oct-2005 wenzelm <none@none>

minor tweaks for Poplog/ML;


# 347ce55a 20-Sep-2005 haftmann <none@none>

slight adaptions to library changes


# 45dec154 15-Sep-2005 wenzelm <none@none>

TableFun/Symtab: curried lookup and update;


# c968ef97 01-Sep-2005 wenzelm <none@none>

curried_lookup/update;


# 2085d1ed 29-Aug-2005 wenzelm <none@none>

use AList operations;


# c791dcf7 28-Jul-2005 wenzelm <none@none>

typ_match, unify: canonical argument order;
added raw_match, raw_instance;
proper implementation of raw_unify;


# 0a027d83 19-Jul-2005 wenzelm <none@none>

tuned match, unify;


# a9aa6e0a 01-Jul-2005 berghofe <none@none>

Moved eq_type from envir.ML to type.ML


# 33f577ce 17-Jun-2005 wenzelm <none@none>

Symtab.fold;


# 933ca75b 11-Jun-2005 wenzelm <none@none>

name space of classes and types maintained in tsig;


# fabd6b8b 08-Jun-2005 wenzelm <none@none>

renamed cert_typ_raw to cert_typ_abbrev;
renamed add_abbrs to add_abbrevs;
tuned;


# ecf2151d 05-Jun-2005 wenzelm <none@none>

added Type.freeze(_type);
tuned;


# e7bf4e72 21-Apr-2005 berghofe <none@none>

- Eliminated nodup_vars check.
- Unification and matching functions now check types of term variables / sorts
of type variables when applying a substitution.
- Thm.instantiate now takes (ctyp * ctyp) list instead of (indexname * ctyp) list
as argument, to allow for proper instantiation of theorems containing
type variables with same name but different sorts.


# 9cc62485 04-Mar-2005 skalberg <none@none>

Removed practically all references to Library.foldr.


# eee46a1e 02-Mar-2005 skalberg <none@none>

Move towards standard functions.


# 3dffd254 13-Feb-2005 skalberg <none@none>

Deleted Library.option type.


# e4fd2e05 22-Jun-2004 wenzelm <none@none>

tuned;


# fac6e1f8 22-Jun-2004 wenzelm <none@none>

tuned certify_typ/term;


# a7853159 21-Jun-2004 wenzelm <none@none>

tuned certify_typ;


# 80dded64 09-Jun-2004 wenzelm <none@none>

tuned messages;


# 86290889 29-May-2004 wenzelm <none@none>

removed norm_typ; improved output; refer to Pretty.pp;


# 47faffa6 21-May-2004 wenzelm <none@none>

major cleanup of tsig datastructures and extend/merge operations; fixes old bugs in classes/arities code; proper treatment of nonterminals and syntax-only types;


# 934b655b 21-Oct-2002 berghofe <none@none>

Removed add_env because Vartab.map was too slow for large environments.


# 757b5fbc 12-Jan-2002 wenzelm <none@none>

paramify_dummies: proper treatment of maxidx;


# 887a441f 17-Dec-2001 wenzelm <none@none>

tuned interface of unify, param;
added paramify_dummies to turn TypeInfer.anyT into unifiable parameter;


# 749f7c7e 14-Dec-2001 wenzelm <none@none>

varify returns newly introduced variables;


# 9839ccff 28-Nov-2001 wenzelm <none@none>

Syntax.typ_of_term: pass intern sort fn;


# f166811b 16-Nov-2001 wenzelm <none@none>

ext_tsig_classes: rebuild_tsig!!!!!


# 7f6c69a4 01-Feb-2001 wenzelm <none@none>

ext_classrel: certify_class;


# 377e4beb 18-Nov-2000 wenzelm <none@none>

export freeze_thaw_type;


# af3247a0 02-Aug-2000 wenzelm <none@none>

typ_no_norm;


# 76f8aa2a 21-May-2000 wenzelm <none@none>

removed is_type_abbr;


# 4d34f1d8 17-Apr-2000 wenzelm <none@none>

NameSpace.is_qualified;


# d625272c 14-Apr-2000 wenzelm <none@none>

added is_type_abbr;


# 228efedc 30-Mar-2000 wenzelm <none@none>

tuned;


# aafaee53 10-Mar-2000 berghofe <none@none>

Type.unify and Type.typ_match now use Vartab instead of association lists.


# 2bf3ce06 29-Sep-1999 wenzelm <none@none>

added witness_sorts, univ_witness;
removed nonempty_sort;
tsig: log_types, univ_witness (require rebuild_tsig!);
heavily tuned;


# 2e1d0140 18-Aug-1999 paulson <none@none>

freeze_thaw does nothing if no variables


# 148cb27d 23-Jul-1999 wenzelm <none@none>

replaced assoc lists by Symtab.table;


# c2c869c8 19-Aug-1998 wenzelm <none@none>

fixed param;


# f38a47d8 25-Jun-1998 wenzelm <none@none>

defaults for free variables hide consts of same name;


# 8c24d79d 28-May-1998 wenzelm <none@none>

fixed error msgs;


# e13ed293 05-Feb-1998 wenzelm <none@none>

added param;


# 59a08853 05-Nov-1997 wenzelm <none@none>

fixed exception OPTION;


# 86bba1a0 10-Oct-1997 wenzelm <none@none>

decode: qualified is always const;


# 4354c39f 07-Oct-1997 wenzelm <none@none>

tuned decode;


# 04116450 06-Oct-1997 wenzelm <none@none>

eliminated raise_term, raise_typ;
tuned get_sort, decode_types, infer_types to accomodate qualified names;


# fe44edf8 05-Jun-1997 paulson <none@none>

Removal of freeze_vars and thaw_vars. New freeze_thaw


# 7a1ec955 13-May-1997 wenzelm <none@none>

of_sort: type_sig -> typ * sort -> bool;


# 53bf99ce 18-Apr-1997 wenzelm <none@none>

tuned check_has_sort;
fixed norm_typ: also does norm_sort;


# 3421b905 17-Apr-1997 wenzelm <none@none>

improved type check error messages;


# d7ccd0f6 16-Apr-1997 wenzelm <none@none>

moved classes / sorts to sorts.ML;
moved (and reimplemented) type inference to type_infer.ML;
cleaned up type unification;
misc cleanup and tuning;


# 31ea3822 07-Mar-1997 paulson <none@none>

Removed some polymorphic equality tests


# d42856da 21-Feb-1997 paulson <none@none>

Replaced "flat" by the Basis Library function List.concat


# d800b724 14-Feb-1997 paulson <none@none>

Added optimization: do nothing for empty list


# eed638c2 10-Feb-1997 wenzelm <none@none>

fixed comment;


# be8cfcff 06-Feb-1997 wenzelm <none@none>

added eq_sort (will move to sorts.ML eventually);
added get_sort (handles constraints / defaults);
attach_types: adapted to new get_sort;


# eeab928b 27-Nov-1996 paulson <none@none>

Tidying and renaming of function Dom


# 5fcb376f 26-Nov-1996 paulson <none@none>

Removed or eta-expanded some declarations that are illegal under value
polymorphism


# b57eae9d 13-Nov-1996 paulson <none@none>

Removal of polymorphic equality via mem, subset, eq_set, etc


# a59be88b 01-Nov-1996 paulson <none@none>

maxidx_of_typs replaces max o map maxidx_of_typ


# a0d58d05 28-Mar-1996 berghofe <none@none>

Optimized type inference (avoids chains of
the form 'a |-> 'b |-> 'c ... in tye)


# 38caa563 16-Feb-1996 paulson <none@none>

Elimination of fully-functorial style.
Type tactic changed to a type abbrevation (from a datatype).
Constructor tactic and function apply deleted.


# 96315c5e 08-Feb-1996 clasohm <none@none>

renamed expand_typ to norm_typ


# ecb6e3c2 29-Jan-1996 clasohm <none@none>

inserted tabs again


# 385672e0 29-Jan-1996 clasohm <none@none>

removed tabs


# 82dec180 11-Jan-1996 nipkow <none@none>

Removed bug in type unification. Negative indexes are not used any longer.
Had to change interface to Type.unify to pass maxidx. Thus changes in the
clients.


# bb102e17 08-Dec-1995 paulson <none@none>

infer_types now takes a term list and a type list as argument. It
is defined using the new function infer_terms. Error messages and
comments also improved.


# 6d47f503 21-Sep-1995 wenzelm <none@none>

added comment;


# 1f92bd94 01-Sep-1995 wenzelm <none@none>

nonempty_sort: no longer var names as args;


# 43907bc0 01-Aug-1995 wenzelm <none@none>

added nonempty_sort (a somewhat braindead version!);


# 51240701 17-Mar-1995 nipkow <none@none>

Corrected a silly old bug in merge_tsigs.
Rewrote a lot of Nimmermann's code.


# c4fbfcef 13-Mar-1995 nipkow <none@none>

Changed treatment of during type inference internally generated type
variables.

1. They are renamed to 'a, 'b, 'c etc away from a given set of used names.
2. They are either frozen (turned into TFrees) or left schematic (TVars)
depending on a parameter. In goals they are frozen, for instantiations they
are left schematic.


# cf9ab684 26-Sep-1994 wenzelm <none@none>

improved expand_typ (now handles TVars);
slightly changed ext_tsig_abbrs;
added ext_tsig_arities;
removed extend_tsig;
various internal changes;


# 7a3a551e 06-Sep-1994 lcp <none@none>

Pure/type/unvarifyT: moved there from logic.ML


# 5158d5f8 06-Sep-1994 wenzelm <none@none>

added ext_tsig_types;
various minor changes;


# 6a2c5259 19-Aug-1994 wenzelm <none@none>

slightly changed args of infer_types;
replaced parents by enclose;
renamed 2nd add_types to attach_types and fixed the
typevar-sort-constraint BUG;
various minor internal changes;


# 8b28d03a 05-Jul-1994 wenzelm <none@none>

added raw_unify;


# db1442ef 15-Jun-1994 wenzelm <none@none>

added ext_tsig_subclass, ext_tsig_defsort;
minor internal rearrangements;


# 80d5a40a 09-Jun-1994 wenzelm <none@none>

restored functor sig;
added str_of_sort, str_of_arity, rem_sorts;
minor internal cleanup;


# 0b64a5a1 26-May-1994 wenzelm <none@none>

replaced "logic" by logicC;
added subsort, norm_sort;


# 543da796 03-Feb-1994 wenzelm <none@none>

(this is a preliminary release)
type abbreviations;


# 4a875979 21-Dec-1993 nipkow <none@none>

Necessary changes to accomodate type abbreviations.


# 5818f59d 06-Dec-1993 nipkow <none@none>

added rep_tsig


# 9fb753fc 28-Nov-1993 nipkow <none@none>

added logical_types


# f253ef6a 15-Sep-1993 clasohm <none@none>

Initial revision