Static XOR-to-phase oracle adapters
Design document · English reading edition
RFCs record designs and changes. A proposal appearing here does not mean its feature is ready to use. Explore current language support
Status recorded in the original: Proposed
Bound original source · SHA-25696d366aa1a48c01e60d61831fe01c873df348f456b565d3bb4bcc67ffcafa2d1
Reading edition reviewed: 2026-10-02
Purpose and scope
Proposes a static verified conversion from an XOR oracle to a phase effect. Dynamic oracle values that capture runtime qubits and unchecked implicit coercions are rejected.
Core design rules
- Conversion is one-way and combines
XorOracle<N,1>with a caller-owned|->resource. MinusAncilla<1>ownership and restoration are verified explicitly.- The resulting phase effect remains subject to Tier B verification with full sign, phase and restoration checks.
Example from the original
This example illustrates the design recorded in the original. It is not by itself a claim of executable or stable support; check required options and the current version.
derive phase_oracle marked_by_f<const N: Int>
from xor_oracle package.example@1.2.3::f
using MinusAncilla<1>;Limits and interpretation
- Revision 2 is a design contract; it creates no executable ready range, package export or Playground toggle.
- The conversion does not raise qubit, verification or runtime budgets.
Status and implementation boundary
The source is proposed and gated by pre-implementation review. Distinguish this static adapter design from existing oracle calls or automatic runtime conversion.
| Review topic | Information to check |
|---|---|
| Source revision | SHA-256 digest bound to this reading edition |
| Availability | Current capability record and tool options |
| Evidence boundary | Model, size and interpretation limits above |