Encyclopedia Foundation Foundation Complex From Logic
ARTICLE 3 claims 2 theorems 1 model
Foundation Complex From Logic
Complex numbers, the mathematician's two-dimensional number system, can be built purely from logic's discrete ledger of recognition events.
Complex numbers from logic
Complex numbers extend the real line with a second axis, the imaginary one, so that every algebraic equation has a solution. The number i, whose square is -1, anchors that axis. A complex number is a pair (a, b) of real numbers, written a + bi, and it obeys the same addition and multiplication rules as ordinary numbers. This system underlies most of physics and engineering, from alternating current to quantum mechanics.
In Recognition Science, the recovered real line is built first, as the continuous limit of a discrete ledger of recognition events. The framework then asks whether the complex numbers can be recovered just as faithfully. The answer lives in a construction called ComplexFromLogic. It defines a carrier type, LogicComplex, whose elements are pairs of recovered reals. This is a definitional choice, a model of what a complex number is in this setting.
The central result is a proved equivalence, not a new kind of complex analysis. It shows that LogicComplex is exactly the same as the standard complex numbers, written ℂ in the machine-checked library. Two transport functions move a number in either direction: toComplex sends a recovered pair to the standard complex plane, and fromComplex sends a standard complex number back to a recovered pair. The library proves that these two functions are inverses, so nothing is lost or gained in translation.
This equivalence is a theorem, checked by the machine. It means that every theorem about standard complex numbers, including holomorphy and contour integration, can be used in the recovered setting through this bridge. The construction does not redevelop complex analysis; it establishes that the recovered complex numbers are not a new species but the familiar one, built on the ledger's real line.
What this changes: the framework's recovered mathematics now includes the full power of complex analysis. When later modules need analytic functions or integrals around loops, they can state that they are working in the standard complex plane via this equivalence. The recovered complex numbers are not a curiosity; they are the same numbers mathematicians have used for two centuries, now shown to grow from the same logical soil as the rest of the framework.
MODEL LogicComplex · IndisputableMonolith/Foundation/ComplexFromLogic.lean
/-- Complex numbers built over recovered reals. -/
structure LogicComplex where
re : LogicReal
im : LogicReal
THEOREM fromComplex_toComplex · toComplex_fromComplex · IndisputableMonolith/Foundation/ComplexFromLogic.lean
@[simp] theorem fromComplex_toComplex (z : LogicComplex) :
fromComplex (toComplex z) = z := by
cases z with
| mk re im =>
simp [toComplex, fromComplex, fromReal_toReal]
@[simp] theorem toComplex_fromComplex (z : ℂ) :
toComplex (fromComplex z) = z := by
apply Complex.ext <;> simp [toComplex, fromComplex, toReal_fromReal]
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
What this page does not claim
This construction does not develop complex analysis, only the carrier equivalence. The recovered complex numbers are not a new mathematical object, but the standard ℂ built on a different foundation. No claim is made about the physical interpretation of complex numbers in the framework.
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 recovered real line itself emerge from the ledger of recognition events?
- Which analytic theorems about holomorphic functions transfer through the carrier equivalence?
- What role do the recovered complex numbers play in deriving physical constants?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
MODEL LogicComplex · IndisputableMonolith/Foundation/ComplexFromLogic.lean
/-- Complex numbers built over recovered reals. -/ structure LogicComplex where re : LogicReal im : LogicRealThe construction defines a carrier type, LogicComplex, whose elements are pairs of recovered reals. LogicComplex · IndisputableMonolith/Foundation/ComplexFromLogic.leanTHEOREM fromComplex_toComplex · toComplex_fromComplex · IndisputableMonolith/Foundation/ComplexFromLogic.lean
@[simp] theorem fromComplex_toComplex (z : LogicComplex) : fromComplex (toComplex z) = z := by cases z with | mk re im => simp [toComplex, fromComplex, fromReal_toReal]@[simp] theorem toComplex_fromComplex (z : ℂ) : toComplex (fromComplex z) = z := by apply Complex.ext <;> simp [toComplex, fromComplex, toReal_fromReal]The library proves that these two functions are inverses, so nothing is lost or gained in translation. fromComplex_toComplex · toComplex_fromComplex · IndisputableMonolith/Foundation/ComplexFromLogic.leanTHEOREM 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_fromComplexIt shows that LogicComplex is exactly the same as the standard complex numbers, written ℂ in the machine-checked library. equivComplex · IndisputableMonolith/Foundation/ComplexFromLogic.lean