// ---
// tags: nox, rust
// crystal-type: source
// crystal-domain: comp
// ---
//! 16 deterministic patterns + 1 non-deterministic call + 1 deterministic look
//! each pattern = one file, one function, one responsibility
//!
//! four groups map to algebraic domains:
//! structural (0-4): tree operations, algebra-independent
//! field (5-10): arithmetic over F, parameterized by field
//! bitwise (11-14): boolean over W, parameterized by word width
//! hash (15): identity via H, parameterized by hash function
//! call (16): non-deterministic witness injection (Layer 2)
//! look (17): deterministic external lookup
// structural โ tree operations, algebra-independent
// 0: navigate
// 1: literal
// 2: apply
// 3: construct
// 4: choose
// field โ arithmetic over F (dispatched by algebra)
// 5: a + b
// 6: a - b
// 7: a * b
// 8: a^-1
// 9: a = b ? 0 : 1
// 10: a < b ? 0 : 1
// bitwise โ boolean over W (dispatched by word width)
// 11: a ^ b
// 12: a & b
// 13: !a
// 14: a << n
// hash โ identity via H (dispatched by hash function)
// 15: H(x)
// call โ non-deterministic witness (Layer 2)
// 16: prover injects, Layer 1 validates
// look โ deterministic external lookup
// 17: deterministic lookup from external source
nox/rs/patterns/mod.rs
ฯ 0.0%