Compare commits
10 Commits
main
...
isabelle_n
Author | SHA1 | Date |
---|---|---|
Achim D. Brucker | aa6b3a16aa | |
Achim D. Brucker | add058886f | |
Achim D. Brucker | 566c97b41c | |
Achim D. Brucker | ed2a15db5d | |
Achim D. Brucker | 38985a1b47 | |
Achim D. Brucker | f615eb6e4f | |
Achim D. Brucker | 415c9efdfa | |
Achim D. Brucker | b9f3a9eb7e | |
Achim D. Brucker | caeef3121a | |
Achim D. Brucker | f2e102cf0f |
|
@ -1,6 +1,6 @@
|
||||||
pipeline:
|
pipeline:
|
||||||
build:
|
build:
|
||||||
image: git.logicalhacking.com/lh-docker/lh-docker-isabelle/isabelle2023:latest
|
image: git.logicalhacking.com/lh-docker/lh-docker-isabelle/isabelle_nightly:latest
|
||||||
pull: true
|
pull: true
|
||||||
commands:
|
commands:
|
||||||
- hg log --limit 2 /root/isabelle
|
- hg log --limit 2 /root/isabelle
|
||||||
|
@ -23,7 +23,7 @@ pipeline:
|
||||||
- cd ../..
|
- cd ../..
|
||||||
- ln -s * latest
|
- ln -s * latest
|
||||||
archive:
|
archive:
|
||||||
image: git.logicalhacking.com/lh-docker/lh-docker-isabelle/isabelle2023:latest
|
image: git.logicalhacking.com/lh-docker/lh-docker-isabelle/isabelle_nightly:latest
|
||||||
commands:
|
commands:
|
||||||
- export ARTIFACT_DIR=$CI_WORKSPACE/.artifacts/$CI_REPO/$CI_BRANCH/$CI_BUILD_NUMBER/$LATEX
|
- export ARTIFACT_DIR=$CI_WORKSPACE/.artifacts/$CI_REPO/$CI_BRANCH/$CI_BUILD_NUMBER/$LATEX
|
||||||
- mkdir -p $ARTIFACT_DIR
|
- mkdir -p $ARTIFACT_DIR
|
||||||
|
|
|
@ -544,7 +544,7 @@ text*[T4::technical]\<open>
|
||||||
\<^enum> \<^ML>\<open>Sign.typ_match: theory -> typ * typ -> Type.tyenv -> Type.tyenv\<close>
|
\<^enum> \<^ML>\<open>Sign.typ_match: theory -> typ * typ -> Type.tyenv -> Type.tyenv\<close>
|
||||||
\<^enum> \<^ML>\<open>Sign.typ_unify: theory -> typ * typ -> Type.tyenv * int -> Type.tyenv * int\<close>
|
\<^enum> \<^ML>\<open>Sign.typ_unify: theory -> typ * typ -> Type.tyenv * int -> Type.tyenv * int\<close>
|
||||||
\<^enum> \<^ML>\<open>Sign.const_type: theory -> string -> typ option\<close>
|
\<^enum> \<^ML>\<open>Sign.const_type: theory -> string -> typ option\<close>
|
||||||
\<^enum> \<^ML>\<open>Sign.certify_term: theory -> term -> term * typ * int\<close>, the function for CERTIFICATION of types
|
\<^enum> \<^ML>\<open>Sign.certify_term: theory -> term -> term * typ\<close>, the function for CERTIFICATION of types
|
||||||
\<^enum> \<^ML>\<open>Sign.cert_term: theory -> term -> term\<close>, short-cut for the latter
|
\<^enum> \<^ML>\<open>Sign.cert_term: theory -> term -> term\<close>, short-cut for the latter
|
||||||
\<^enum> \<^ML>\<open>Sign.tsig_of: theory -> Type.tsig\<close>, projects from a theory the type signature
|
\<^enum> \<^ML>\<open>Sign.tsig_of: theory -> Type.tsig\<close>, projects from a theory the type signature
|
||||||
\<close>
|
\<close>
|
||||||
|
@ -610,8 +610,6 @@ text\<open>Now we turn to the crucial issue of type-instantiation and with a giv
|
||||||
subsection\<open>More operations on types\<close>
|
subsection\<open>More operations on types\<close>
|
||||||
|
|
||||||
text\<open>
|
text\<open>
|
||||||
\<^item> \<^ML>\<open>Term_Subst.map_types_same : (typ -> typ) -> term -> term\<close>
|
|
||||||
\<^item> \<^ML>\<open>Term_Subst.map_aterms_same : (term -> term) -> term -> term\<close>
|
|
||||||
\<^item> \<^ML>\<open>Term_Subst.instantiate: typ TVars.table * term Vars.table -> term -> term\<close>
|
\<^item> \<^ML>\<open>Term_Subst.instantiate: typ TVars.table * term Vars.table -> term -> term\<close>
|
||||||
\<^item> \<^ML>\<open>Term_Subst.instantiateT: typ TVars.table -> typ -> typ\<close>
|
\<^item> \<^ML>\<open>Term_Subst.instantiateT: typ TVars.table -> typ -> typ\<close>
|
||||||
\<^item> \<^ML>\<open>Term_Subst.generalizeT: Names.set -> int -> typ -> typ\<close>
|
\<^item> \<^ML>\<open>Term_Subst.generalizeT: Names.set -> int -> typ -> typ\<close>
|
||||||
|
@ -639,16 +637,13 @@ val ty' = Term_Subst.instantiateT S'' t_schematic;
|
||||||
(* Don't know how to build a typ TVars.table *)
|
(* Don't know how to build a typ TVars.table *)
|
||||||
val t = (generalize_term @{term "[]"});
|
val t = (generalize_term @{term "[]"});
|
||||||
|
|
||||||
val t' = Term_Subst.map_types_same (Term_Subst.instantiateT (TVars.make S')) (t)
|
val t' = Term.map_types (Term_Subst.instantiateT S'') (t)
|
||||||
(* or alternatively : *)
|
|
||||||
val t'' = Term.map_types (Term_Subst.instantiateT S'') (t)
|
|
||||||
\<close>
|
\<close>
|
||||||
|
|
||||||
text\<open>A more abstract env for variable management in tactic proofs. A bit difficult to use
|
text\<open>A more abstract env for variable management in tactic proofs. A bit difficult to use
|
||||||
outside the very closed-up tracks of conventional use...\<close>
|
outside the very closed-up tracks of conventional use...\<close>
|
||||||
|
|
||||||
ML\<open> Consts.the_const; (* T is a kind of signature ... *)
|
ML\<open> Variable.import_terms;
|
||||||
Variable.import_terms;
|
|
||||||
Vartab.update;\<close>
|
Vartab.update;\<close>
|
||||||
|
|
||||||
subsection*[t232::technical]\<open> Type-Inference (= inferring consistent type information if possible) \<close>
|
subsection*[t232::technical]\<open> Type-Inference (= inferring consistent type information if possible) \<close>
|
||||||
|
@ -903,7 +898,7 @@ With the exception of the \<^ML>\<open>Specification.axiomatization\<close> cons
|
||||||
are all-together built as composition of conservative extensions.
|
are all-together built as composition of conservative extensions.
|
||||||
|
|
||||||
The components are a bit scattered in the architecture. A relatively recent and
|
The components are a bit scattered in the architecture. A relatively recent and
|
||||||
high-level component (more low-level components such as \<^ML>\<open>Global_Theory.add_defs\<close>
|
high-level component (more low-level components such as \<^ML>\<open>Global_Theory.add_def\<close>
|
||||||
exist) for definitions and axiomatizations is here:
|
exist) for definitions and axiomatizations is here:
|
||||||
\<close>
|
\<close>
|
||||||
|
|
||||||
|
|
|
@ -1310,7 +1310,7 @@ ML
|
||||||
\<open> DOF_core.get_onto_class_name_global "requirement" @{theory};
|
\<open> DOF_core.get_onto_class_name_global "requirement" @{theory};
|
||||||
Syntax.parse_typ @{context} "requirement";
|
Syntax.parse_typ @{context} "requirement";
|
||||||
val Type(t,_) = Syntax.parse_typ @{context} "requirement" handle ERROR _ => dummyT;
|
val Type(t,_) = Syntax.parse_typ @{context} "requirement" handle ERROR _ => dummyT;
|
||||||
Syntax.read_typ @{context} "hypothesis" handle _ => dummyT;
|
Syntax.read_typ @{context} "hypothesis" handle ERROR _ => dummyT;
|
||||||
Proof_Context.init_global; \<close>
|
Proof_Context.init_global; \<close>
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -39,10 +39,10 @@ import isabelle._
|
||||||
object DOF {
|
object DOF {
|
||||||
/** parameters **/
|
/** parameters **/
|
||||||
|
|
||||||
val isabelle_version = "2023"
|
val isabelle_version = ""
|
||||||
val isabelle_url = "https://isabelle.in.tum.de/website-Isabelle2023"
|
val isabelle_url = "https://isabelle.sketis.net/devel/release_snapshot/"
|
||||||
|
|
||||||
val afp_version = "afp-2023-09-13"
|
val afp_version = "afp-devel"
|
||||||
|
|
||||||
// Isabelle/DOF version: "Unreleased" for development, semantic version for releases
|
// Isabelle/DOF version: "Unreleased" for development, semantic version for releases
|
||||||
val version = "Unreleased"
|
val version = "Unreleased"
|
||||||
|
|
|
@ -1866,7 +1866,7 @@ fun check_invariants thy binding =
|
||||||
fun create_and_check_docitem is_monitor {is_inline=is_inline} {define=define} binding cid_pos doc_attrs thy =
|
fun create_and_check_docitem is_monitor {is_inline=is_inline} {define=define} binding cid_pos doc_attrs thy =
|
||||||
let
|
let
|
||||||
val oid = Binding.name_of binding
|
val oid = Binding.name_of binding
|
||||||
val (((name, args_cid), typ), pos') = check_classref is_monitor cid_pos thy
|
val (((name, args_cid), typ:typ), pos') = check_classref is_monitor cid_pos thy
|
||||||
val cid_pos' = (name, pos')
|
val cid_pos' = (name, pos')
|
||||||
val cid_long = fst cid_pos'
|
val cid_long = fst cid_pos'
|
||||||
val default_cid = args_cid = DOF_core.default_cid
|
val default_cid = args_cid = DOF_core.default_cid
|
||||||
|
@ -1891,13 +1891,13 @@ fun create_and_check_docitem is_monitor {is_inline=is_inline} {define=define} bi
|
||||||
val defaults_init = create_default_object thy binding cid_long typ
|
val defaults_init = create_default_object thy binding cid_long typ
|
||||||
fun conv (na, _(*ty*), parsed_term) =(Binding.name_of na, Binding.pos_of na, "=", parsed_term);
|
fun conv (na, _(*ty*), parsed_term) =(Binding.name_of na, Binding.pos_of na, "=", parsed_term);
|
||||||
val S = map conv (DOF_core.get_attribute_defaults cid_long thy);
|
val S = map conv (DOF_core.get_attribute_defaults cid_long thy);
|
||||||
val (defaults, _(*ty*), _) = calc_update_term {mk_elaboration=false}
|
val (defaults, _) = calc_update_term {mk_elaboration=false}
|
||||||
thy (name, typ) S defaults_init;
|
thy (name, typ) S defaults_init;
|
||||||
val (value_term', _(*ty*), _) = calc_update_term {mk_elaboration=true}
|
val (value_term', _) = calc_update_term {mk_elaboration=true}
|
||||||
thy (name, typ) assns' defaults
|
thy (name, typ) assns' defaults
|
||||||
in if Config.get_global thy DOF_core.object_value_debug
|
in if Config.get_global thy DOF_core.object_value_debug
|
||||||
then let
|
then let
|
||||||
val (input_term, _(*ty*), _) = calc_update_term {mk_elaboration=false}
|
val (input_term, _) = calc_update_term {mk_elaboration=false}
|
||||||
thy (name, typ) assns' defaults
|
thy (name, typ) assns' defaults
|
||||||
in (input_term, value_term') end
|
in (input_term, value_term') end
|
||||||
else (\<^term>\<open>()\<close>, value_term') end
|
else (\<^term>\<open>()\<close>, value_term') end
|
||||||
|
@ -2248,7 +2248,7 @@ fun meta_args_2_latex thy sem_attrs transform_attr
|
||||||
fun ltx_of_markup ctxt s = let
|
fun ltx_of_markup ctxt s = let
|
||||||
val term = (Syntax.check_term ctxt o Syntax.parse_term ctxt) s
|
val term = (Syntax.check_term ctxt o Syntax.parse_term ctxt) s
|
||||||
val str_of_term = ltx_of_term ctxt true term
|
val str_of_term = ltx_of_term ctxt true term
|
||||||
handle _ => "Exception in ltx_of_term"
|
(* handle _ => "Exception in ltx_of_term" *)
|
||||||
in
|
in
|
||||||
str_of_term
|
str_of_term
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,7 +7,7 @@ Isabelle/DOF allows for both conventional typesetting and formal development.
|
||||||
|
|
||||||
Isabelle/DOF has two major prerequisites:
|
Isabelle/DOF has two major prerequisites:
|
||||||
|
|
||||||
* **Isabelle 2023:** Isabelle/DOF requires [Isabelle](https://isabelle.in.tum.de/)
|
* **Isabelle (Development Version):** Isabelle/DOF requires [Isabelle](https://isabelle.in.tum.de/)
|
||||||
and several entries from the [Archive of Formal Proofs
|
and several entries from the [Archive of Formal Proofs
|
||||||
(AFP)](https://www.isa-afp.org/).
|
(AFP)](https://www.isa-afp.org/).
|
||||||
* **LaTeX:** Isabelle/DOF requires a modern LaTeX installation, i.e., at least
|
* **LaTeX:** Isabelle/DOF requires a modern LaTeX installation, i.e., at least
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
Isabelle/DOF has three major prerequisites:
|
Isabelle/DOF has three major prerequisites:
|
||||||
|
|
||||||
* **Isabelle:** Isabelle/DOF requires [Isabelle
|
* **Isabelle:** Isabelle/DOF requires [Isabelle
|
||||||
2023](https://isabelle.in.tum.de/website-Isabelle2023/). Please download the
|
2022](https://isabelle.in.tum.de/website-Isabelle2022/). Please download the
|
||||||
Isabelle 2023 distribution for your operating system from the [Isabelle
|
Isabelle 2022 distribution for your operating system from the [Isabelle
|
||||||
website](https://isabelle.in.tum.de/website-Isabelle2023/).
|
website](https://isabelle.in.tum.de/website-Isabelle2022/).
|
||||||
* **AFP:** Isabelle/DOF requires several entries from the [Archive of Formal Proofs
|
* **AFP:** Isabelle/DOF requires several entries from the [Archive of Formal Proofs
|
||||||
(AFP)](https://www.isa-afp.org/).
|
(AFP)](https://www.isa-afp.org/).
|
||||||
* **LaTeX:** Isabelle/DOF requires a modern LaTeX installation, i.e., at least
|
* **LaTeX:** Isabelle/DOF requires a modern LaTeX installation, i.e., at least
|
||||||
|
|
Loading…
Reference in New Issue