1 * MW: check uses of Unsynchronized.ref vs. Synchronized.var;
3 * MW: clarify/eliminate Isabelle/Scala add-ons (presently unused)
5 diff -r /home/makarius/isabelle/repos-Isabelle2021/src/Pure/build-jars ./src/Pure/build-jars
7 > src/Tools/isac/BridgeJEdit/isac.scala
9 diff -r /home/makarius/isabelle/repos-Isabelle2021/src/Pure/Tools/scala_project.scala ./src/Pure/Tools/scala_project.scala
11 > "src/Tools/isac/etc" -> Path.explode("isabelle.isac"),
13 * MW: exception TYPE raised by Skip_Proof.make_thm, see
14 https://hg.risc.uni-linz.ac.at/wneuper/isa/file/a14022b99b92/src/Tools/isac/ProgLang/evaluate.sml#l210
16 * MW: error with \<^rule_thm>\<open>filterVar.simps(1)\<close>
17 https://hg.risc.uni-linz.ac.at/wneuper/isa/diff/4f5f29fd0af9/src/Tools/isac/Knowledge/DiffApp.thy#l1.34
19 * Eliminate Thy_Info.get_theory eventually: should take theory from ancestory
20 within current context.
21 cf. e587c45cae0f note in Build_Thydata.thy
23 * Clarify symmetric rule: Thm.apply_attribute Calculation.symmetric thm context (!?);
26 * KEStore_Elems: Should we eliminate union_overwrite and use standard namespace merge?
27 (Exception: rlss with its special cross-theory merge.)
28 ? how adapt the different signatures ?
29 union_overwrite: ('a * 'a -> bool) -> 'a list -> 'a list -> 'a list
30 merge : ('a * 'a -> bool) -> 'a list * 'a list -> 'a list
32 * What is the purpose of "#numeral" instead of plain numeral?
35 * Check/clarify Context.theory_name vs. Context.theory_long_name.
36 present ISAC assumes 2 sessions in the MathEngine, Specify and Interpret,
37 and all Isac_Knowledge is in session Isac.
38 So Context.theory_name suffices
40 * Eliminate mutable Rewrite_Ord.rew_ord' (!?);
41 shall be done in connection with cf. e587c45cae0f note in Build_Thydata.thy
43 * What is the idea behind KEStore_Elems.add_thes? How to do it properly in current Isabelle?
44 https://static.miraheze.org/isacwiki/0/04/Isac-docu.pdf distinguishes
45 several kinds of ISAC users, in particular "math author (Mathematik-Autor)" and
46 "course designer (Kurs-Designer)". The latter just adds examples which re-use existing
47 knowledge designed by the former. KEStore_Elems.add_thes is an interface for the latter.
49 * WN: proper ML antiquotations for "Tactical.Try" etc. --- be careful about unclear situations,
50 e.g. "Tactical.Try" vs. "Lucas_Interpreter.Try";
52 * WN: Avoid Thm.get_name_hint and use Global_Theory.get_thm instead, get theory from References.T
53 and push theory through as argument of respective functions.
55 * WN: more direct logical foundations wrt. Isabelle/HOL, eliminate many axiomatizations
56 - quite often "axiomatization ..." can be turned into "lemma ... by auto"
58 - sometimes this requires to use more specific types / type classes;
59 - sometimes this requires to use proper definitional mechanisms (e.g. 'primrec', 'fun');
60 - a few "hard" cases will remain, to be reconsidered eventually (e.g. differentiation);
62 * WN: eliminate ThmC.numerals_to_Free, check tests marked TOODOO.1
63 + ? how do algebraic operations on numerals ? Presburger ? simplifier ? hack see
64 https://hg.risc.uni-linz.ac.at/wneuper/isa/file/a14022b99b92/src/Tools/isac/ProgLang/evaluate.sml#l210
66 * WN: "fun pr_ord" is not required if used with @{make_string}, @{print}, @{print tracing};
67 takes only static arguments ----------------^^^^^^^^^^^^^^, not value of "hd_ord (f, g)"
68 ? are there better approximations to old output of (*1*) than with (*2*)
69 (*1*)val _ = tracing ("hd_ord (f, g) = " ^ ((pr_ord o hd_ord) (f, g)) );
70 (*2*)val _ = @{print tracing}{a = "hd_ord (f, g) = ", z = hd_ord (f, g)}(**)
72 * WN: reduce the number of TermC.parse*;
73 + 0d22a6bf1fc6 was too much for 1 changeset
74 + first parse with ctxt in Specify (O_Model.init shall return a context,..) etc