You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ArghDA M10: Mizar adapter — heavy tail complete (a real verify, not detect-only)
The "highest uncertainty" backend turned out tractable: Mizar 8.1.15's
statically-linked i386 verifier runs on x86_64 with no 32-bit libs, so M10 is a
genuine dogfooded verify rather than the planned detect-only stub. arghda is now
a nine-backend prover-parametric workspace; the heavy tail (M8-M10) is complete.
Adapter (src/prover/mizar.rs, `Mizar`):
- Assistant kind, extensions [miz], command `verifier`.
- No lint pack, by design: Mizar has no sorry/admit escape hatch — an incomplete
proof is just a verifier error, and a normal article cannot introduce axioms —
so soundness IS the verifier and the verdict is binary.
- check_file, ground-truthed vs Mizar 8.1.15: `MIZFILES` unset → Unavailable
(the MML data dir is the precondition — honest, never a fabricated pass);
binary absent → Unavailable; otherwise copy the .miz (+ siblings) to a temp
dir, run `accom` then `verifier` (env MIZFILES), and read the sibling
`<stem>.err` — EMPTY + exit 0 → Proven, non-empty / exit≠0 → Error (Mizar
reports errors in .err, the authoritative signal).
- Imports: the `environ` block's directives (vocabularies/notations/theorems/…),
lower-cased to match on-disk stems; MML references are external and dropped.
- Roots: none — Mizar has no aggregator convention (honest empty set).
- probe() overridden to `verifier -v`.
Provisioning at source: install_mizar upgraded from a warn-stub to a real
installer (static i386 tarball from mizar.uwb.edu.pl → /opt/mizar + symlinks),
with a MIZAR_TAR pin and a doctor verify line.
Wired: backend_for "mizar", KNOWN_BACKENDS, all four `--backend` help strings,
the CLI about line.
Verification (actually run): cargo fmt --check, clippy -D warnings, cargo test
(167 pass: +6 mizar unit, +2 mizar integration; graph tests hermetic — environ
text only, run tool-less), check-spdx.sh — all green. Dogfooded vs real Mizar
8.1.15 (MIZFILES=/opt/mizar): `check` → good=proven (theorem for X being set
holds X = X, importing XBOOLE_0) / broken=error / empty=proven; `doctor` →
[OK] mizar assistant Mizar Ver. 8.1.15.
Remaining (M10 at 85%): local-article cross-references need prel export
(miz2prel) for the throwaway session; no root convention.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012MpYSh6Wy8YMBH2E3qVyT7
Copy file name to clipboardExpand all lines: .machine_readable/6a2/STATE.a2ml
+48-13Lines changed: 48 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ status = "active" # active | paused | archived
11
11
12
12
[project-context]
13
13
name = "arghda-core"
14
-
purpose = "Multi-backend proof-workspace manager — the 'Flying Logic for provers/solvers' engine. A four-state triage workspace (inbox/working/proven/rejected) as file moves, per-backend lint packs targeting the silent-failure class, a backend-parametric import-graph DAG, a demote-only status-propagating reasoning graph, and a JSON + event-stream contract a visual layer (arghda-studio) consumes. Eight backends across both interaction models (Agda, Cubical-Agda, Idris2, Lean4, Coq/Rocq, Isabelle/HOL assistants; Z3, CVC5 solvers). It never proves anything itself; the tools do."
14
+
purpose = "Multi-backend proof-workspace manager — the 'Flying Logic for provers/solvers' engine. A four-state triage workspace (inbox/working/proven/rejected) as file moves, per-backend lint packs targeting the silent-failure class, a backend-parametric import-graph DAG, a demote-only status-propagating reasoning graph, and a JSON + event-stream contract a visual layer (arghda-studio) consumes. Nine backends across both interaction models (Agda, Cubical-Agda, Idris2, Lean4, Coq/Rocq, Isabelle/HOL, Mizar assistants; Z3, CVC5 solvers). It never proves anything itself; the tools do."
15
15
completion-percentage = 92
16
16
17
17
[position]
@@ -50,7 +50,7 @@ milestones = [
50
50
{ name = "M7: Echidna dispatch seam (optional route to orchestrator :8090, same Outcome)", completion = 70 },
"M3 follow-on: DONE — `reason --workspace <ws>` sources real verdicts from a `proven/` state (workspace_verdicts) + demotes stale-proven via the content-hash closure. Refinement follow-ons bucket now complete.",
"M10 (Mizar): next, foundation-first — detect-only first (distribution is manual/niche via mizar.org; provision honestly, check_file → Unavailable until a real toolchain confirms invocation). Then climb to M6 lake-env, M4 totality lint, M7 Echidna client.",
383
+
"M10 (Mizar): DONE (85%) — turned out to be a REAL verify, not detect-only: static i386 verifier runs on x86_64; provisioned + adapter (accom+verifier+.err) + dogfooded (proven/error). HEAVY TAIL M8-M10 COMPLETE. Remaining: local-article prel export.",
384
+
"Next, climb up: M6 (lake-env/LEAN_PATH so imported Lean files get audited), M4 (totality-hole ?name + per-def partial lint for Idris2), M7 (real Echidna HTTP client, feature-gated). Each its own focused draft PR, gate green, real-tool dogfood where installed.",
0 commit comments