一键导入
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)