Getting Started with ZeroProofML v0.6.0 (SCM)

Install

Create a virtual environment, then install a backend extra:

python -m venv .venv
source .venv/bin/activate

# PyPI install
pip install "zeroproofml[torch]"

# optional experimental plotting/logging utilities
pip install "zeroproofml[viz]"

# optional interactive training-log reports
pip install "zeroproofml[interactive]"

# or, from a repo checkout (development):
# pip install -e ".[dev,torch]"

The zeroproofml[viz] extra installs optional experimental reporting helpers (zeroproofml.utils.viz, TensorBoardLogger, and jsonl_to_dataframe) in addition to the stable JSONL logger. For dashboard/CSV/BI pipelines, zeroproofml.utils.logging also exposes experimental metric_log_records_to_wide_rows(...) and metric_log_records_to_long_rows(...) converters. The optional zeroproofml[interactive] extra installs Plotly so training-log report regeneration can also write an interactive <stem>_REPORT.html beside the Markdown summary and SVG.

zeroproofml is the canonical public namespace for package/docs/install references. The legacy zeroproof import path remains supported as a compatibility namespace, so existing integrations do not need an immediate rename. That compatibility commitment holds through the roadmap's next major milestone, the M4 core 1.0-or-stay-0.x decision, and no namespace deprecation warning is planned before then unless a concrete migration plan is published. See 33_namespace_guide.md for import guidance, maintainer layering rules, and example consistency expectations.

Quickstart

from zeroproofml.scm.ops import scm_add, scm_div
from zeroproofml.scm.value import scm_real, scm_bottom

x = scm_real(3.0)
y = scm_real(0.0)

print(scm_div(x, y))   # SCMValue(⊥) — absorptive bottom on division by zero
print(scm_add(scm_bottom(), x))  # SCMValue(⊥) — bottom absorbs addition

Projective vs. Strict SCM

  • SCM mode (default): All operations propagate ⊥ according to meadow axioms. Gradient policies shape backpropagation near singularities.
  • Projective mode (optional): Rational heads run on homogeneous tuples (N, D) during training for smooth optimisation; decoding back to SCM introduces ⊥ only at the boundary.

What Changed from v0.3

  • No Transreal tags (+∞, −∞, Φ); a single ⊥ represents all singular states.
  • Guard logic has been removed—one SCM check at the output replaces layer-by-layer conditionals.
  • Gradient handling is explicit via policies (clamp, project, reject, passthrough) defined in zeroproofml.autodiff.policies.

Next Steps