Skip to content

Make scalar Flux predicates load-bearing at their call sites #414

Description

@arniber21

What to build

Turn the existing boolean reification proofs for bounds, arity, linearity, and schedule ordering into contracts that protect the operations relying on them. A proof that a helper returns the comparison in its body is not sufficient unless the refined fact reaches construction or indexing.

Acceptance criteria

  • QASM index and gate-arity validation produce validated IDs/gates whose later use needs no repeated unchecked indexing.
  • Linearity boundary predicates feed the IR verifier result rather than existing only as standalone equivalence proofs.
  • Schedule monotonicity and wait-barrier predicates are used by the authoritative schedule validator under Flux checking.
  • Decorative predicate specs with no proof-consuming caller are removed or replaced by refined constructors.
  • Negative compile fixtures demonstrate Flux rejects one bounds, arity, linearity, and ordering violation.
  • Stable runtime validation behavior remains unchanged for builds without Flux.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    compilerFrontend / MLIR passes, type system, language semanticsenhancementNew feature or requestready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions