بنقرة واحدة
isabelle-ml-style
Isabelle/ML coding style guide and conventions based on official implementation documentation
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Isabelle/ML coding style guide and conventions based on official implementation documentation
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Operational pipeline to start, monitor, STOP, and recover the MathBench missing-lemma loop running in multi-node fleet mode on the MBZUAI cluster (watcher + slurmx fleet REPLs + login-node RPC host + serial adjudication + phase-2 import reconciliation). Use when launching/resuming the fleet run, stopping it cleanly, recovering after a crash, or applying the hard-won operational rules (correct kill sequence, git safety on the shared checkout, shell/conda/timeout fixes, re-collection prerequisite). For the single-machine AoA×PutnamBench eval use `aoa-putnam-eval` instead; for the design rationale of the loop see `MISSING_LEMMA_LOOP.md`.
How to refresh the local semantic embedding database (~1.5 GB of LMDB at ~/.cache/Isabelle_Semantic_Embedding). The development channel is the Hugging Face Hub tarball via manage_data.py (get/update). End users instead pull it anonymously from Cloudflare R2 with `semantics_manage.py pull`. Use when setting up or refreshing the semantic DB on a machine, or when deformalizations / vector stores are stale or missing. Do NOT run R2 `push` — it overwrites the shared remote and is a human-only action.
How to repackage/upload and download/unpack the Isabelle + paired AFP distribution, published together as contrib/Isabelle2025-2_and_afp-2026-05-13.tar.zst on the Hugging Face Hub (via manage_data.py update/get). Use when publishing a rebuilt Isabelle+AFP tarball (after isabelle scala_build, patches, etc.) or installing/refreshing the distribution on another machine.
How to read Isabelle introduction and elimination rules
Playbook for adding a new import to MathBench_ProverBase and reconciling any syntax conflicts (constant/type short-name resolution and notation) so that PutnamBench problems still parse to identical goal terms. Use when adding/changing imports of the MathBench_Prover session, or when investigating MathBench-vs-PutnamBench environment divergences.
How to read constants and theorems generated by Isabelle datatype and codatatype definitions
| name | isabelle-ml-style |
| description | Isabelle/ML coding style guide and conventions based on official implementation documentation |
Coding style conventions for writing Isabelle/ML code.
foo_bar) - values, types, record fieldsFoo_Bar) - datatype constructors, structures, functorsFOO_BAR) - special values, exception constructors, signaturesFooBar → use Foo_Bar)foo_barT is OKfoo', foo'', foo''') or digits (foo0, foo42)Syntax.string_of_term (not open)helper, aux, or fConversion functions:
foo_to_bar or bar_of_foofoo2bar, bar_from_foo, bar_for_foo, bar4fooContext types:
thy (rarely theory, never thry)ctxt (rarely context, never ctx)contextlthyLogical entities:
ST, U, or ty (never t)t, u, or tm (never trm)cT (rarely T)ct (rarely t, never ctrm)th or thmTactics:
_tac suffixist (not thm)fun my_tac ctxt arg1 arg2 i st = ...Follow mathematical typesetting conventions:
val x = y + z * (a + b);
val pair = (a, b);
val record = {foo = 1, bar = 2};
Break after infix operator or punctuation:
(* RIGHT *)
val x =
a +
b +
c;
(* RIGHT *)
val tuple =
(a,
b,
c);
f a bg (a, b) — note the space between g and (Add extra indentation for fun, fn, handle, case:
(* RIGHT *)
fun foo p1 =
expr1
| foo p2 =
expr2
For case in function body, use extra parentheses for clarity:
(* RIGHT *)
fun foo p1 =
(case e of
q1 => ...
| q2 => ...)
| foo p2 =
let
...
in
...
end
Exceptions to compositionality:
Multi-branch if:
if b1 then e1
else if b2 then e2
else e3
fn with combinators (use with care):
fun foo x y = fold (fn z =>
expr)
Standard header (see ~~/src/Pure/thm.ML):
(**** chapter ****)
(*** section ***)
(** subsection **)
(* subsubsection *)
(*short paragraph*)
(*
long paragraph,
with more text
*)
legacy - Operation to be discontinued soonglobal - Works with background theory instead of local context (migrate away from this)