Nat-encoded boolean flags (zero = false, succ zero = true): not / and / or,
and byte equality as a flag. Lifted VERBATIM out of Inference.Runtime by the
R4b reroute (2026-09-09, tools/refactor/extract_contract.py, reconstruction
proof): the SM86 sampling realization and the float32 bit-pattern contract
both need exactly these, so they belong in foundation (RFC S2 standard =
numbers). The `inference` prefix of the def names is the lifted identity —
renaming is the later namespace chunk. Inference.Runtime imports this module
and never redeclares the defs. Imports nothing; must stay that way (R6/R6b/
R6c walls).
12def inferenceFlagNot =
13 (lambda unrestricted flag : Nat .
14 (nat-eliminate
15 (lambda unrestricted current : Nat . Nat)
16 (succ zero)
17 (lambda unrestricted predecessor : Nat . (lambda unrestricted induction : Nat . zero))
18 flag))The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.