Step 2 · Metrics overview
ProofAtlas separates the spec of a metric from any particular instance of one. The spec is one file. The instances are many.
Two layers
-
Hypergraph metric (spec). The
IsHypergraphMetricspecification: four metric-space axioms (identity, symmetry, triangle inequality, non-negativity) plus three sensitivity witnesses (direction, ordering, colour). Any candidate distance that satisfies this spec is registered as a hypergraph metric and automatically usable downstream. Registration is checked at CI time. -
Registered metrics. Concrete distances that have a sorry-free
IsHypergraphMetricinstance theorem. The framework is open — more can be added at any time. The metrics we currently ship:- Resistance distance — effective resistance in the clique-expanded conductance network. Measures how hard two propositions are to disconnect by removing inference steps.
- Commute time distance — expected random-walk round-trip time. Dual to resistance via Doyle–Snell.
- Jensen–Shannon distance — information-theoretic divergence between the stationary neighbourhoods of two vertices.
- Diffusion distance — distance between heat-kernel rows at finite time, capturing multi-scale proximity.
Why split spec from instance
Three reasons:
-
Replaceability. Any downstream theorem that needs "a metric" takes an
IsHypergraphMetrichypothesis, not a specific distance. Swap in a new metric and every downstream result still applies. -
Honesty about sensitivity. The three sensitivity witnesses force every registered metric to demonstrate it distinguishes the four structural axes — a metric that quietly ignored direction or colour would fail to register.
-
CI discipline.
scripts/check_bdf_metric_instances.shwalks the registry and refuses to merge if any instance issorry'd. The spec is the contract; CI is the enforcer.