Quantum and CircuitsReading edition

Why the coordinate certificates mean complex identities

Reading tools
Reading libraryFind statementsInspect Lean
Switch work

Saved reading

Read side by side

Verification statements describe the retained edition and its recorded evidence. This HTML presentation adds no Lean execution or proof review.

Start reading

Resources & source

Original TeX with line links · Download TeX

The wording and mathematics follow the retained manuscript. This reading format does not add a proof review or extend Lean coverage.

Skip contents and start reading

A.8 Why the coordinate certificates mean complex identities

The semantics map is explicitly defined with the positive real square root. Soundness for addition, multiplication, conjugation, powers, and finite sums prevents the exact coordinate layer from being a detached calculation with an unproved interpretation.

Literal source. SemanticBridge.lean, physical lines 14–56.

/-- The exact coordinate arithmetic is interpreted in the ordinary complex numbers. -/
noncomputable def interpret (x : Cyclo12) : ℂ :=
  ⟨(x.a : ℝ) + (x.b : ℝ) * Real.sqrt 3,
   (x.c : ℝ) + (x.d : ℝ) * Real.sqrt 3⟩

@[simp] theorem interpret_zero : interpret cZero = 0 := by
  apply Complex.ext <;> simp [interpret, cZero]

@[simp] theorem interpret_one : interpret cOne = 1 := by
  apply Complex.ext <;> simp [interpret, cOne]

@[simp] theorem interpret_rat (r : ℚ) : interpret (cRat r) = (r : ℂ) := by
  apply Complex.ext <;> simp [interpret, cRat]

@[simp] theorem interpret_add (x y : Cyclo12) :
    interpret (cAdd x y) = interpret x + interpret y := by
  apply Complex.ext <;> simp [interpret, cAdd] <;> ring

@[simp] theorem interpret_mul (x y : Cyclo12) :
    interpret (cMul x y) = interpret x * interpret y := by
  apply Complex.ext <;> simp [interpret, cMul, Complex.mul_re, Complex.mul_im] <;>
    ring_nf <;> norm_num [Real.sq_sqrt]

@[simp] theorem interpret_conj (x : Cyclo12) :
    interpret (cConj x) = star (interpret x) := by
  apply Complex.ext <;> simp [interpret, cConj]
  ring

@[simp] theorem interpret_pow (x : Cyclo12) (n : Nat) :
    interpret (cPow x n) = interpret x ^ n := by
  induction n with
  | zero => simp [cPow]
  | succ n ih => simp [cPow, ih, pow_succ]

@[simp] theorem interpret_sum (xs : List Cyclo12) :
    interpret (cSum xs) = (xs.map interpret).sum := by
  induction xs with
  | nil => simp [cSum]
  | cons x xs ih => simp [cSum, ih]

@[simp] theorem interpret_kSum (f : Index → Cyclo12) :
    interpret (kSum f) = ∑ i, interpret (f i) := by
  simp only [kSum, interpret_sum, List.map_ofFn, List.sum_ofFn]

The multiplication proof uses complex extensionality, real polynomial normalization, and the square-root identity. It proves preservation for arbitrary coordinates, not merely for the handful of roots that occur in the example. The power and finite-sum proofs use induction.

Injectivity of this interpretation is not needed to transfer an equality: if two coordinate expressions are proved equal, applying the interpretation gives equal complex expressions. No claim of a globally packaged field equivalence is required by the theorem chain.

Source and conversion record

Source SHA-256: dfa61baf4014e2f4ecd8488a7beed31183bbc682fe66825008194f0cf46a3f66

Unsupported prose commands stop the build. The mathematical expression sequence is checked against the source, with manuscript macros expanded for display.

Conversion records

Notation in Quantum and Circuits

Look up a symbol without leaving this chapter. Select text before opening help to search for it.

Search this work’s notation.

    Symbols can have different meanings in different passages. Read each result in its own context.

    Open the full notation index