Resolution

Definition

Resolution is the process of computing the canonical representation of an object in the ring substrate. The Resolver hierarchy implements this process.

Resolver Hierarchy

ClassRole
ResolverAbstract resolver base
DihedralFactorizationResolverFactorizes in D_{2^n}
CanonicalFormResolverComputes canonical form
EvaluationResolverEvaluates the canonical form

Resolution Process

  1. A Query specifies what to resolve
  2. The resolver uses its strategy (strategy)
  3. The input type (inputType) is the source
  4. Resolution produces a Partition (output type is partition:Partition via outputType)

Query Types

Three specialized queries correspond to the three resolver strategies:

QueryDescription
CoordinateQueryResolves spatial coordinates
MetricQueryResolves metric properties
RepresentationQueryResolves canonical representation

Complexity

The property hasComplexityClass declares the computational complexity of the resolver (e.g., "O(n)" or "O(log n)").

Output

The final output of resolution is:

The Full Pipeline

The resolution pipeline flows through several stages, each tracked by the ResolutionState:

  1. Query: A Query specifies the target — what element or property to resolve and which coordinate system to use.
  2. Type check: The resolver reads the input's TypeDefinition to determine which constraints apply (residue classes, carry patterns, depth bounds).
  3. Factorization: The DihedralFactorizationResolver decomposes the element in the dihedral group D_{2^n}, producing the canonical neg/bnot factorization.
  4. Partition: The factorization result classifies the element into one of the four Partition components (irreducible, reducible, unit, exterior).
  5. Observation: Observable instances measure properties of the resolved element — Hamming weight, spectral gap, entropy.
  6. Certification: A Certificate records the resolution result with a verification status and hash.

Iterative vs Single-Pass

The factorization pipeline (steps 1–6 above) is a single pass through the resolver hierarchy. When constraints conflict or the type's site budget is not fully resolved, the system enters an iterative resolution loop that refines the solution. Each iteration applies constraints, re-evaluates observables, and checks convergence. See Iterative Resolution for convergence conditions and Factorization for the single-pass dihedral decomposition.

Topological Diagnostics

When iterative resolution stalls, the CechNerve provides structural diagnostics. Its Betti numbers reveal whether stalls arise from topological obstructions (constraint loops) or from insufficient constraint coverage. See Analytical Completeness for the nerve construction and ψ-Pipeline for the full structural reasoning workflow.