1 * WN: eliminate "handle _ => ..." (essential for PIDE interaction):
2 - either use \<^try>CARTOUCHE / \<^can>CARTOUCHE antiquotation
3 - or more basic try/can combinators;
4 - or more direct ML of intention;
6 * WN: purge BridgeLibisabelle: eliminate unused code;
9 * reconsider use of Thy_Info.get_theory: only works with batch-build, not within PIDE session;
12 * MW: ML antiqutation @{rule_thm NAME} to produce (Rule.Thm ("NAME", ThmC.numerals_to_Free "NAME"));
14 * MW: more concise "setup KEStore_Elems.add_rlss" etc.;
16 * MW: check uses of Unsynchronized.ref vs. Synchronized.var;
18 * MW: proper formal name space for rule set, model patterns, methods;
21 * MW: clarify/eliminate Isabelle/Scala add-ons (presently unused)
23 diff -r /home/makarius/isabelle/repos-Isabelle2021/src/Pure/build-jars ./src/Pure/build-jars
25 > src/Tools/isac/BridgeJEdit/isac.scala
27 diff -r /home/makarius/isabelle/repos-Isabelle2021/src/Pure/Tools/scala_project.scala ./src/Pure/Tools/scala_project.scala
29 > "src/Tools/isac/etc" -> Path.explode("isabelle.isac"),
32 * WN: more direct logical foundations wrt. Isabelle/HOL, eliminate many axiomatizations
33 - quite often "axiomatization ..." can be turned into "lemma ... by auto"
35 - sometimes this requires to use more specific types / type classes;
36 - sometimes this requires to use proper definitional mechanisms (e.g. 'primrec', 'fun');
37 - a few "hard" cases will remain, to be reconsidered eventually (e.g. differentiation);
38 - abbreviation real_powr :: "real \<Rightarrow> real \<Rightarrow> real" (infixr "\<up>" 80)
39 where "x \<up> a \<equiv> x powr a"
41 * WN: eliminate ThmC.numerals_to_Free, use existing Isabelle/HOL representation
42 - clarify role of type "real" vs. "float" (see theory "HOL-Library.Float");
44 * WN: investigate errors further which popped up in rewriting when replacing ^^^ by \<up> in ac7426ab0491.
45 The errors occur with examples in test/../poly.sml, which do not work properly in isabisac20 either.
47 * WN: cleanup remaining ^^^ in comments (but sometimes it is just ASCII art);
49 * WN: simplify const names like "is'_expanded": no need to imitate the escape of mixfix syntax;
51 * WN: proper statement for rcancel_den ("not" is a free variable!?!!):
52 rcancel_den: "not(a=0) ==> a * (b / a) = b" and
54 * WN: "fun pr_ord" is not required if used with @{make_string}, @{print}, @{print tracing};
56 * WN: use File.read / File.write instead of low-level TextIO operations (not portable);
57 * WN: use Path.T (e.g. via Path.explode) for portability;
58 * WN: refrain from using global /tmp directory
59 (e.g. see Isabelle_System.create_tmp_path / with_tmp_file / with_tmp_dir);