Expand description
Predicate analyzer entry point — spec §10.9.2.
Single public function: analyze. Takes a predicate
string + a coord set, dispatches through the §10.9.5
pattern recognizers, and returns a PredicateInfo.
The analyzer’s correctness contract per spec §10.9.4:
- Sound. Every assertion in the returned
PredicateInfois true of the predicate. - Conservatively incomplete. Unrecognized patterns →
Opaque(UnknownPattern); missing an optimization is acceptable, false assertions are not. - Total. Every well-formed boolean expression
produces a
PredicateInfo. The trivial bundle (everythingNone/Opaque) is the worst case but never a failure. - Deterministic. Same
(predicate, coords)always produces the samePredicateInfo. - Constant-time per node. Single walk through the predicate text; no SMT, no fixed-point iteration.
Functions§
- analyze
- Analyze a predicate string in the context of a coordinate
set. Returns a structured
PredicateInfoconsumable by the optimizer’s R5 and the deferred R8 / R9 / R10 rules.