History log of /seL4-l4v-master/isabelle/src/Pure/envir.ML
Revision Date Author Comments
# d42009f1 05-Aug-2016 wenzelm <none@none>

more tight filtering;


# e03b7249 05-Aug-2016 wenzelm <none@none>

tuned;


# 6e90c35d 05-Aug-2016 wenzelm <none@none>

tuned -- maxidx unused;


# c67d3872 05-Aug-2016 wenzelm <none@none>

tuned;


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

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


# fa04149f 08-Nov-2014 wenzelm <none@none>

tuned;


# 4cb7605f 28-May-2013 wenzelm <none@none>

tuned signature;


# 4daa275a 24-May-2013 wenzelm <none@none>

tuned;


# e712bb09 24-May-2013 wenzelm <none@none>

tuned signature;


# a8e32d5e 24-May-2013 wenzelm <none@none>

tuned signature -- slightly more general operations (cf. term.ML);


# 2a3a2b0f 17-May-2013 wenzelm <none@none>

tuned signature;


# b2e1761c 14-Apr-2013 wenzelm <none@none>

make SML/NJ happy;


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

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


# cba98832 12-Apr-2013 wenzelm <none@none>

tuned signature;
tuned comments;


# 390ebc4a 08-Jun-2011 wenzelm <none@none>

more robust exception pattern General.Subscript;


# 6701cdc1 24-Mar-2011 wenzelm <none@none>

added Term.is_open and Term.is_dependent convenience, to cover common situations of loose bounds;


# e3d0611a 27-Feb-2010 wenzelm <none@none>

modernized structure Term_Ord;


# 36b3132b 30-Sep-2009 wenzelm <none@none>

eliminated dead code;


# 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]


# 7adc9a25 17-Jul-2009 wenzelm <none@none>

tuned/modernized subst: Same.operation;
renamed typ_subst_TVars to subst_type;
renamed subst_TVars to subst_term_types;
renamed subst_vars to subst_term;
removed unused subst_Vars (covered by subst_term);


# 4a2e3879 17-Jul-2009 wenzelm <none@none>

major cleanup, simplification, modernization;


# f4b5292e 16-Jul-2009 wenzelm <none@none>

use structure Same;
tuned signature;
tuned comments;
tuned;


# 121e82fb 04-Mar-2009 blanchet <none@none>

Merge.


# 2a1579cf 27-Feb-2009 wenzelm <none@none>

eliminated NJ's List.nth;


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

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


# 0e76d4b0 13-Apr-2008 wenzelm <none@none>

added insert_sorts (from thm.ML);


# 7e0b4be6 19-Mar-2008 haftmann <none@none>

Type.lookup now curried


# 5a2ab3ee 27-Nov-2007 berghofe <none@none>

Optimized beta_norm: only tries to normalize term when it contains
abstractions.


# 262e233d 21-Sep-2007 wenzelm <none@none>

Term.has_abs;


# ed851154 14-Apr-2007 wenzelm <none@none>

Term.string_of_vname;


# 324bfb39 24-Jan-2007 wenzelm <none@none>

tuned eta_contract;


# a021ed3f 12-Dec-2006 wenzelm <none@none>

added expand_term_frees;


# 195b42f9 07-Dec-2006 wenzelm <none@none>

added expand_term;


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

tuned eta_contract;


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

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


# 49eb413f 11-Jul-2006 wenzelm <none@none>

removed obsolete xless;


# 66ebcc39 12-Jun-2006 wenzelm <none@none>

tuned Seq/Envir/Unify interfaces;


# c384df2a 12-Apr-2006 wenzelm <none@none>

expand_atom: Type.raw_match;


# 20b420b1 06-Feb-2006 wenzelm <none@none>

added (beta_)eta_contract (from pattern.ML);
added expand_atom;


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

TableFun/Symtab: curried lookup and update;


# 8d88d1ec 01-Sep-2005 wenzelm <none@none>

curried_lookup/update;


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

Fixed bug: lookup' must use = instead of eq_type to compare types of
variables, otherwise pattern matching algorithm may loop.


# 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.


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

Move towards standard functions.


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

Deleted Library.option type.


# 8db527a2 14-Dec-2001 wenzelm <none@none>

added type_env function;
let norm_type_XXX work directly with type env component;


# 04052c94 19-Nov-2001 berghofe <none@none>

Moved head_norm and fastype from unify.ML to envir.ML


# 5fb09d21 31-Aug-2001 berghofe <none@none>

- exported SAME exception
- exported functions for normalizing types


# a8ea1dae 17-Nov-2000 wenzelm <none@none>

added beta_norm;
tuned;


# 4c8f4e82 10-Mar-2000 berghofe <none@none>

Envir now uses Vartab instead of association lists.


# d61f724f 10-Aug-1998 wenzelm <none@none>

fixed comment;


# 7aaafa47 18-Nov-1996 paulson <none@none>

Speedups involving norm


# 77d8c1d9 13-Nov-1996 paulson <none@none>

In-lined the one function call to normTsh


# 15a36972 01-Nov-1996 paulson <none@none>

Deleted Olist constructor. Replaced minidx by "above" function


# f54858a0 15-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.


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

inserted tabs again


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

removed tabs


# 46bde658 21-Nov-1994 lcp <none@none>

Pure/envir/norm_term: replaced equality test for [] by null


# 7779582c 23-Jan-1994 wenzelm <none@none>

added is_empty: env -> bool, minidx: env -> int option;


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

Initial revision