The README makes claims. This file shows where to look for the evidence: source files, runnable commands, canonical-count docs. It is deliberately count-free at the prose level — every number lives in exactly one place and is referenced from here.
Each section quotes a claim from README.adoc, then names the file or
command that backs it up. If you want a specific number, run the
command; if you want the canonical version of a tier or count, follow
the link.
ECHIDNA orchestrates theorem provers, SMT solvers, first-order ATPs, and constraint solvers through a unified Rust core. Every proof result passes through a trust-hardening pipeline that checks solver integrity, tracks axiom usage, verifies proof certificates, and assigns a 5-level confidence score.
Evidence:
-
Backend tiering, count semantics (variants vs. impl files vs. advertised vs. core), and live answers to "how many backends" live in
docs/PROVER_COUNT.md. -
ProverBackendtrait:src/rust/provers/mod.rs—pub enum ProverKind,pub fn all(),pub fn all_core(). -
Trust pipeline:
src/rust/verification/(portfolio, certificates, axiom_tracker, confidence, mutation, pareto, statistics) andsrc/rust/dispatch.rs. -
Integrity hashing:
src/rust/integrity/(SHAKE3-512, BLAKE3). -
Sandboxed execution:
src/rust/executor/(Podman / bubblewrap / unsandboxed-with-opt-in). -
Cross-prover exchange:
src/rust/exchange/(OpenTheory, Dedukti, TPTP, SMT-LIB, SMTCoq, Lambdapi — six formats; seesrc/rust/exchange/mod.rs:11). -
Arbitration: four mechanisms turn multi-prover outcomes into a single decision —
portfolio.rs(majority vote),bayesian_arbiter.rs(log-odds posterior),dempster_shafer.rs(mass-function combination with explicit ignorance), andpareto_arbiter.rs(multi-objective dominance with tiebreak). -
Corpus ingest: 17 adapters under
src/rust/corpus/cover 17 distinct proof languages — agda / coq / lean / idris2 (pre-2026-04) plus isabelle / metamath / mizar / hol_light / hol4 / dafny / why3 / fstar / acl2_books / tptp / smtlib / proofnet / minif2f added in the 2026-06-01 saturation campaign. Index:docs/CORPUS-ADAPTERS.md. -
Cross-prover vocabulary: per-prover synonym TOMLs under
data/synonyms/plus three taxonomic dictionaries —_msc2020.toml(87 MSC2020 codes),_wordnet_math.toml(~80 WordNet 3.1 math lemmas), and_conceptnet_seed.toml(~55 ConceptNet 5.7 edges) — used by theechidna suggestvariant tester. -
Shared data dictionary between echidna and its long-term memory store: the formal E-R schema at
docs/architecture/VERISIM-ER-SCHEMA.mdwith Cap’n Proto wire formatcrates/echidna-wire/schemas/verisim_er.capnp. 12 first-class entities + 7 first-class relationships, each with Rust struct + VeriSimDB table + Cap’n Proto schema + PK/FK set.
Caveat:
"Operational" means ProverBackend trait-implemented and shells out
to a real external binary; it does NOT mean every live subprocess path
has been exercised in CI against non-trivial goals. The test suite
mixes in-process mocked-prover scenarios with binary-shelled-out paths;
the split is documented in tests/ and in
docs/PROVER_COUNT.md.
Caveat (binaries):
Running Tier-1 backends requires the corresponding external binaries
on the host (coqc, lean, agda, isabelle, idris2, z3, cvc5,
…). These are not bundled. The Wave-3 Containerfile.wave3 lineage
gives reproducible per-prover images; the weekly cron in
container-ci.yml builds each Tier-3 image and runs a stub-sentinel
detection step so a silently-degraded image red-flags rather than
masquerading as healthy.
The test surface spans unit tests inside
src/rust/and integration suites undertests/, supplemented by property tests, criterion benchmarks, and Idris2 ABI type-checks. Current counts are not embedded here —cargo test --lib,cargo test --tests, andCHANGELOG.mdcarry the live numbers.
Evidence (commands):
# Library unit tests
cargo test --lib
# Integration suites
cargo test --tests
# Property tests (PropTest)
cargo test --test property_tests
# Criterion benchmarks
cargo bench
# Idris2 ABI type-check (zero believe_me / postulate / admit
# in src/abi/ enforced by `.github/workflows/idris2-abi-ci.yml`)
idris2 --build src/abi/echidnaabi.ipkgEvidence (recent counts): rough function-count from grep -rE
'\s*\[test\]|\s*\[tokio::test\]':
-
src/rust/: ~1.1k unit-test functions -
tests/: ~400 integration / property / interface functions
Numbers above are floors and drift as work lands; `cargo test’s own summary line is the only post-build truth.
| Technology | Where to look |
|---|---|
Rust (core) |
|
Julia 1.10+ |
|
Idris2 |
|
Zig |
|
Chapel |
|
ReScript / |
|
ECHIDNA uses the hyperpolymath ABI / FFI standard (Idris2 + Zig) —
same pattern that runs in proven, burble, and gossamer.
ECHIDNA-specific anchors:
-
src/abi/EchidnaABI/— Idris2 formal contracts.TacticRecord.idrpins the GNN→Chapel cross-FFI suggestion format with a fixed-pointConfidenceFPencoding plus reflexivity, antisymmetry, in-range round-trip, and clamp round-trip lemmas — all total, no escapes. -
ffi/zig/— Zig FFI layer (C-ABI compatibility for all wired backends). -
generated/abi/— auto-generated C headers from the Idris2 ABI.
The Agda meta-checker provides independent formal verification of the
Rust trust-pipeline properties; see proofs/agda/.
| Path | What’s there |
|---|---|
|
|
|
Trust pipeline (portfolio, certificates, axioms, confidence, mutation, pareto, statistics) + four arbiters ( |
|
17 corpus adapters (see |
|
Solver-binary integrity (SHAKE3-512, BLAKE3) |
|
Sandboxed solver execution (Podman, bubblewrap) |
|
Cross-prover proof exchange — six formats (OpenTheory, Dedukti, TPTP, SMT-LIB, SMTCoq, Lambdapi) |
|
Per-prover synonym TOMLs + 3 cross-prover dictionaries (MSC2020, WordNet, ConceptNet); see |
|
Formal E-R schema — shared data dictionary echidna ↔ long-term memory store |
|
Cap’n Proto wire format for the E-R schema |
|
Full trust-hardening dispatch pipeline |
|
Agentic proof search (actor model) |
|
GNN integration (graph construction, embeddings, guided search) |
|
Neural premise selection (tactic prediction) |
|
Core types (Term, ProofState, Tactic, Goal, Context, Theorem) |
|
HTTP API server (GraphQL, gRPC, REST) |
|
Interactive REPL |
|
API interfaces (GraphQL, gRPC, REST with real prover invocation) |
|
ML layer (logistic-regression tactic prediction) |
|
UI components — migration to AffineScript-TEA in progress |
|
Idris2 formal specifications (ABI contracts + totality proofs) |
|
Zig FFI implementation |
|
Agda meta-checker (independent verification of trust properties) |
|
Integration / property / interface test suites |
Open an issue at https://github.com/hyperpolymath/echidna/issues for questions about backend implementation, trust pipeline architecture, formal verification approach, or GNN-guided proof search.