Skip to main content
NM-RFC-0031

Generic Simon program

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-256
6a4650d2a7c7cb6295643dba358b0e2b52a86856f6095caf448fab012b9c5d16

Reading edition reviewed: 2026-10-02

Purpose and scope

Defines the boundary for composing typed XOR oracles, ordered measurement rows and GF(2) solving into generic Simon experiments. A fixed teaching circuit does not establish a generic algorithm product.

Core design rules

  • The oracle shape is XorOracle<N,N>; promise checking and independent repetitions are additional requirements.
  • A run plan retains measurement rows, rank state and classical post-processing as provenance-bearing evidence.
  • The ready size range must be backed by a separate measured statevector resource decision.

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.

text
s != 0^N
f(x) = f(y) iff y = x or y = x xor s

Limits and interpretation

  • A standard instance needs 2N data/output qubits; N=3 requires six qubits.
  • Revision 1 creates no parser rule, UI control or decision to raise the existing five-qubit ceiling.

Status and implementation boundary

The source is proposed and requires both review approval and a separate resource-range decision. Do not claim generic Simon readiness before those gates are met.

Table 1
Review topicInformation to check
Source revisionSHA-256 digest bound to this reading edition
AvailabilityCurrent capability record and tool options
Evidence boundaryModel, size and interpretation limits above