Source/Packages

Std.Flag

packages/foundation/standard/src/Std/Flag.alpha

42 lines4 declarations1.7 KiBSHA-256 444897ae2be0

def · lines 12–18

inferenceFlagNot

Full file
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.