Encyclopedia Foundation Foundation Complex From Logic Equiv Complex
ARTICLE 2 claims 2 theorems
Foundation Complex From Logic Equiv Complex
A formal bridge shows that complex numbers built from a recovered real line are the same objects mathematicians already use.
The recovered complex plane
Complex numbers extend the real line by adjoining a square root of negative one, written i, so that every number takes the form a + bi with a and b real. They are the standard setting for waves, rotations, and quantum mechanics. The declaration equivComplex establishes that a complex number built inside the Recognition Science framework is exactly a complex number in the ordinary mathematical sense, no more and no less.
The framework begins with a discrete record of events, called a ledger, and from that recovers a real line. The declaration builds complex numbers as pairs of those recovered reals, one for the real part and one for the imaginary part. It then proves a two-way translation: every recovered complex number maps to a standard complex number, and every standard complex number maps back to a recovered one, with the round trips returning the original object.
This equivalence is not a new kind of complex number. It is a carrier-level identification, meaning the underlying collections of objects match perfectly. The framework's own documentation states that it does not redevelop complex analysis in this file. The equivalence simply guarantees that later work can use the standard complex plane without worrying about which construction is in play.
The declaration also transfers the basic algebraic operations. Addition, subtraction, multiplication, division, and negation on recovered complex numbers all agree with their standard counterparts under the translation. This is proved as a set of theorems, each one a machine-checked statement that the operation commutes with the mapping.
In Recognition Science, this bridge matters because it lets the framework inherit the full power of established mathematics. The recovered complex plane is not a parallel universe with its own rules; it is the same plane, reached by a different road. What the declaration does not do is prove any theorem about holomorphic functions, contour integrals, or the deeper results of complex analysis. Those remain open targets for later modules, which can now state explicitly when they work in the standard complex plane via this equivalence.
THEOREM equivComplex · IndisputableMonolith/Foundation/ComplexFromLogic.lean
/-- Carrier equivalence between recovered complex numbers and Mathlib `ℂ`. -/
def equivComplex : LogicComplex ≃ ℂ where
toFun := toComplex
invFun := fromComplex
left_inv := fromComplex_toComplex
right_inv := toComplex_fromComplex
THEOREM toComplex_add · toComplex_sub · toComplex_mul · toComplex_div · toComplex_neg · IndisputableMonolith/Foundation/ComplexFromLogic.lean
@[simp] theorem toComplex_add (z w : LogicComplex) :
toComplex (z + w) = toComplex z + toComplex w := by
simp [HAdd.hAdd, Add.add]
@[simp] theorem toComplex_sub (z w : LogicComplex) :
toComplex (z - w) = toComplex z - toComplex w := by
simp [HSub.hSub, Sub.sub]
@[simp] theorem toComplex_mul (z w : LogicComplex) :
toComplex (z * w) = toComplex z * toComplex w := by
simp [HMul.hMul, Mul.mul]
@[simp] theorem toComplex_div (z w : LogicComplex) :
toComplex (z / w) = toComplex z / toComplex w := by
simp [HDiv.hDiv, Div.div]
@[simp] theorem toComplex_neg (z : LogicComplex) :
toComplex (-z) = -toComplex z := by
simp [Neg.neg]
What this page does not claim
The declaration does not prove any theorem of complex analysis, such as Cauchy's integral theorem or the residue theorem. The equivalence does not define a new or alternative complex number system with different algebraic properties. The framework's recovery of the real line itself is not established by this declaration.
Verify this page
Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:
$ lake env lean IndisputableMonolith/Foundation/ComplexFromLogic.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)
A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.
Derived articles
This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:
- How does the framework recover the real line from the ledger of recognition events?
- What further structure must be added to LogicComplex before holomorphic functions can be defined on it?
- Does the equivalence extend to the analytic results of complex analysis, such as Cauchy's integral theorem?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM equivComplex · IndisputableMonolith/Foundation/ComplexFromLogic.lean
/-- Carrier equivalence between recovered complex numbers and Mathlib `ℂ`. -/ def equivComplex : LogicComplex ≃ ℂ where toFun := toComplex invFun := fromComplex left_inv := fromComplex_toComplex right_inv := toComplex_fromComplexThe declaration equivComplex establishes that a complex number built inside the Recognition Science framework is exactly a complex number in the ordinary mathematical sense. equivComplex · IndisputableMonolith/Foundation/ComplexFromLogic.leanTHEOREM toComplex_add · toComplex_sub · toComplex_mul · toComplex_div · toComplex_neg · IndisputableMonolith/Foundation/ComplexFromLogic.lean
@[simp] theorem toComplex_add (z w : LogicComplex) : toComplex (z + w) = toComplex z + toComplex w := by simp [HAdd.hAdd, Add.add]@[simp] theorem toComplex_sub (z w : LogicComplex) : toComplex (z - w) = toComplex z - toComplex w := by simp [HSub.hSub, Sub.sub]@[simp] theorem toComplex_mul (z w : LogicComplex) : toComplex (z * w) = toComplex z * toComplex w := by simp [HMul.hMul, Mul.mul]@[simp] theorem toComplex_div (z w : LogicComplex) : toComplex (z / w) = toComplex z / toComplex w := by simp [HDiv.hDiv, Div.div]@[simp] theorem toComplex_neg (z : LogicComplex) : toComplex (-z) = -toComplex z := by simp [Neg.neg]Addition, subtraction, multiplication, division, and negation on recovered complex numbers all agree with their standard counterparts under the translation. toComplex_add · toComplex_sub · toComplex_mul · toComplex_div · toComplex_neg · IndisputableMonolith/Foundation/ComplexFromLogic.lean