From c69b11a31245424051982e8e684cee11e1e894e7 Mon Sep 17 00:00:00 2001 From: "Achim D. Brucker" Date: Tue, 22 Mar 2022 21:47:26 +0000 Subject: [PATCH] First steps towards Isabelle 2021-1 support. --- .../TR_MyCommentedIsabelle.thy | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/examples/technical_report/TR_my_commented_isabelle/TR_MyCommentedIsabelle.thy b/examples/technical_report/TR_my_commented_isabelle/TR_MyCommentedIsabelle.thy index ecbe066..d5671b8 100755 --- a/examples/technical_report/TR_my_commented_isabelle/TR_MyCommentedIsabelle.thy +++ b/examples/technical_report/TR_my_commented_isabelle/TR_MyCommentedIsabelle.thy @@ -612,18 +612,19 @@ subsection\More operations on types\ text\ \<^item> \<^ML>\Term_Subst.map_types_same : (typ -> typ) -> term -> term\ \<^item> \<^ML>\Term_Subst.map_aterms_same : (term -> term) -> term -> term\ -\<^item> \<^ML>\Term_Subst.instantiate: ((indexname * sort) * typ) list * ((indexname * typ) * term) list - -> term -> term\ -\<^item> \<^ML>\Term_Subst.instantiateT: ((indexname * sort) * typ) list -> typ -> typ\ -\<^item> \<^ML>\Term_Subst.generalizeT: string list -> int -> typ -> typ\ +\<^item> \<^ML>\Term_Subst.instantiate: typ TVars.table * term Vars.table -> term -> term\ +\<^item> \<^ML>\Term_Subst.instantiateT: typ TVars.table -> typ -> typ\ +\<^item> \<^ML>\Term_Subst.generalizeT: Names.set -> int -> typ -> typ\ this is the standard type generalisation function !!! only type-frees in the string-list were taken into account. -\<^item> \<^ML>\Term_Subst.generalize: string list * string list -> int -> term -> term\ +\<^item> \<^ML>\Term_Subst.generalize: Names.set * Names.set -> int -> term -> term\ this is the standard term generalisation function !!! only type-frees and frees in the string-lists were taken into account. \ + + text \Apparently, a bizarre conversion between the old-style interface and the new-style \<^ML>\tyenv\ is necessary. See the following example.\ ML\ @@ -794,11 +795,11 @@ text\ We come now to the very heart of the LCF-Kernel of Isabelle, which \<^item> \<^ML>\ Thm.forall_intr: cterm -> thm -> thm\ \<^item> \<^ML>\ Thm.forall_elim: cterm -> thm -> thm\ \<^item> \<^ML>\ Thm.transfer : theory -> thm -> thm\ -\<^item> \<^ML>\ Thm.generalize: string list * string list -> int -> thm -> thm\ -\<^item> \<^ML>\ Thm.instantiate: ((indexname*sort)*ctyp)list * ((indexname*typ)*cterm) list -> thm -> thm\ +\<^item> \<^ML>\ Thm.generalize: Names.set * Names.set -> int -> thm -> thm\ +\<^item> \<^ML>\ Thm.instantiate: ctyp TVars.table * cterm Vars.table -> thm -> thm\ \ -text\ They reflect the Pure logic depicted in a number of presentations such as +text\ They reflect the Pure logic depicted in a number of presentations such as M. Wenzel, \<^emph>\Parallel Proof Checking in Isabelle/Isar\, PLMMS 2009, or simiular papers. Notated as logical inference rules, these operations were presented as follows: \