Getting Started with ZeroProofML v0.4 (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 plotting/logging utilities
pip install "zeroproofml[viz]"
# or, from a repo checkout (development):
# pip install -e ".[dev,torch]"
Quickstart¶
from zeroproof.scm.ops import scm_add, scm_div
from zeroproof.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
zeroproof.autodiff.policies.
Next Steps¶
- Read SCM Foundations for the algebraic rules we follow.
- Explore Projective Learning if you train rational heads.