Kernels
kernel
betterwithage's picture
lambda-gate public API v0.2.0
9cf4c8b verified
Raw
History Blame Contribute Delete
6.77 kB
# SPDX-License-Identifier: Apache-2.0
# © 2026 SZL Holdings · Stephen P. Lutar · ORCID 0009-0001-0110-4173
"""szl_lambda_gate — the Lambda-Spine aggregator (Λ) as a universal kernel.
A pure-PyTorch (universal) kernel from SZL Holdings for the Hugging Face
Kernel Hub. It ports the canonical Λ aggregator into a differentiable,
torch.compile-friendly torch op:
Λ(x) = ∏ xᵢ^{wᵢ}, Σwᵢ = 1, wᵢ > 0, xᵢ ∈ [0,1] (weighted geometric mean)
plus an ADVISORY governance gate (Λ vs threshold), the four carried axioms as
real runtime self-checks, and pure nn.Module layers.
Load from the Hub:
import torch
from kernels import get_kernel
lg = get_kernel("SZLHOLDINGS/szl-lambda-gate")
axes = torch.tensor([0.9, 0.8, 0.95]) # axis scores in [0,1]
score = lg.lambda_aggregate(axes) # Λ(x) ∈ [0,1]
res = lg.lambda_gate(axes, threshold=0.5) # ADVISORY pass/fail
print(res.score, res.passed, res.advisory)
WHAT Λ IS / IS NOT (HONESTY — SZL Holdings doctrine v11):
Λ is the weighted-geometric-mean aggregator — a non-compensatory, ADVISORY
way to roll axis scores in [0,1] into one number (any zeroed axis zeroes the
aggregate). It is NOT "proven trust" and NOT a closed theorem: Λ-uniqueness
remains Conjecture 1 (OPEN — an unresolved CAUCHY_ND step plus a missing
symmetry axiom). Label it honestly everywhere; a gate "pass" is advisory.
PROVENANCE: backed by the Lean 4 formalization szl-holdings/lutar-lean
(749 declarations / 14 axioms / 163 tracked sorries),
DOI 10.5281/zenodo.20434308 (lutar-lean). Λ uniqueness = Conjecture 1 (open).
"""
from typing import Optional
import torch
from . import layers # noqa: F401 (must be importable for Hub layer mapping)
from ._lambda import YUYAY_AXES, YUYAY_FLOORS, LambdaGateResult
from ._lambda import find_axiom_violation as _find_axiom_violation
from ._lambda import is_bounded_by_max as _is_bounded_by_max
from ._lambda import is_egyptian_exact as _is_egyptian_exact
from ._lambda import is_homogeneous as _is_homogeneous
from ._lambda import is_monotone as _is_monotone
from ._lambda import lambda_aggregate as _lambda_aggregate
from ._lambda import lambda_gate as _lambda_gate
from ._lambda import lambda_gate_batch as _lambda_gate_batch
from ._lambda import selfcheck as _selfcheck
from ._lambda import yuyay_weights as _yuyay_weights
__all__ = [
"lambda_aggregate",
"lambda_gate",
"lambda_gate_batch",
"LambdaGateResult",
"is_monotone",
"is_egyptian_exact",
"is_bounded_by_max",
"is_homogeneous",
"find_axiom_violation",
"selfcheck",
"yuyay_weights",
"YUYAY_AXES",
"YUYAY_FLOORS",
"layers",
"DOCTRINE_FOOTER",
"PROVENANCE",
"__version__",
]
__version__ = "0.2.0"
DOCTRINE_FOOTER = (
"SZL Holdings · Λ = Conjecture 1 (ADVISORY, weighted geometric mean) · "
"uniqueness OPEN · NOT proven trust · honesty over checklist"
)
PROVENANCE = {
"lean_repo": "szl-holdings/lutar-lean",
"lean_declarations": 749,
"lean_axioms": 14,
"lean_tracked_sorries": 163,
"doi_lutar_lean": "10.5281/zenodo.20434308",
"lambda_status": "Conjecture 1 (open) — uniqueness unproven; advisory only",
}
def lambda_aggregate(
axes: torch.Tensor,
weights: Optional[torch.Tensor] = None,
) -> torch.Tensor:
"""Λ(x) = ∏ xᵢ^{wᵢ}, the weighted geometric mean over the last dim of axes.
See ``szl_lambda_gate._lambda.lambda_aggregate``. Axis scores in [0,1],
uniform weights when ``weights`` is None. Differentiable, batched, and
torch.compile-friendly. ADVISORY — NOT proven trust.
"""
return _lambda_aggregate(axes, weights=weights)
def lambda_gate(
axes: torch.Tensor,
weights: Optional[torch.Tensor] = None,
threshold: float = 0.5,
) -> LambdaGateResult:
"""ADVISORY Λ governance gate: returns LambdaGateResult(score, passed,
threshold, advisory). ``passed`` = Λ(axes) >= threshold. A pass is an
advisory, non-compensatory signal — NOT proven trust (Λ = Conjecture 1).
"""
return _lambda_gate(axes, weights=weights, threshold=threshold)
def lambda_gate_batch(
candidates: torch.Tensor,
weights: Optional[torch.Tensor] = None,
threshold: float = 0.5,
) -> LambdaGateResult:
"""ADVISORY batch gate over many candidate action-vectors (shape (..., N, k)).
The realistic per-inference-step call: score all N candidates at once and
return the advisory pass mask. Returns LambdaGateResult(score, passed,
threshold, advisory) with score/passed of shape (..., N). NOT proven trust.
"""
return _lambda_gate_batch(candidates, weights=weights, threshold=threshold)
def yuyay_weights(dtype: torch.dtype = torch.float64, device=None) -> torch.Tensor:
"""Canonical 13-axis Yuyay Λ weight vector (uniform 1/13), ADVISORY only.
Use as ``weights`` over the 13 ``YUYAY_AXES``. The yuyay_v3 gate is a
conjunctive AND with per-axis floors (``YUYAY_FLOORS``); this Λ roll-up is
the weighted geometric mean and is ADVISORY — NOT proven trust.
"""
return _yuyay_weights(dtype=dtype, device=device)
def find_axiom_violation(k=5, trials=200, weights=None, seed=0, tol=1e-6):
"""Random-search for any A1–A4 violation; returns (axiom, axes, weights) or
None. An honest falsification attempt — finding nothing is evidence, not a
proof (Λ-uniqueness is Conjecture 1, open).
"""
return _find_axiom_violation(k=k, trials=trials, weights=weights, seed=seed, tol=tol)
def selfcheck(k=5, trials=64, seed=0) -> dict:
"""Expose the A1–A4 empirical self-checks + version as a single verdict dict.
Callable as get_kernel(...).selfcheck(). EMPIRICAL checks on sampled inputs,
NOT a proof of Λ-uniqueness (Conjecture 1, open). Advisory only.
"""
return _selfcheck(k=k, trials=trials, seed=seed)
# ---- axiom runtime self-checks (real, verifiable; NOT a uniqueness proof) -- #
def is_monotone(axes, weights=None, delta=0.05, tol=1e-7) -> bool:
"""A1 IsMonotone self-check: Λ is non-decreasing in each axis (on this data)."""
return _is_monotone(axes, weights=weights, delta=delta, tol=tol)
def is_egyptian_exact(c, k=3, weights=None, tol=1e-5) -> bool:
"""A3 IsEgyptianExact self-check: Λ(c, …, c) = c."""
return _is_egyptian_exact(c, k=k, weights=weights, tol=tol)
def is_bounded_by_max(axes, weights=None, tol=1e-6) -> bool:
"""A4 IsBounded self-check: Λ(x) ≤ maxᵢ xᵢ."""
return _is_bounded_by_max(axes, weights=weights, tol=tol)
def is_homogeneous(axes, t, weights=None, tol=1e-5) -> bool:
"""A2 IsHomogeneous(degree 1) self-check: Λ(t·x) = t·Λ(x)."""
return _is_homogeneous(axes, t, weights=weights, tol=tol)