Classical Mathematics for a Constructive World
Interactive theorem provers based on dependent type theory have the flexibility to support both constructive and classical reasoning. Constructive reasoning is supported natively by dependent type the
Interactive theorem provers based on dependent type theory have the flexibility to support both constructive and classical reasoning. Constructive reasoning is supported natively by dependent type theory and classical reasoning is typically supported by adding additional non-constructive axioms. However, there is another perspective that views constructive logic as an extension of classical logic. This paper will illustrate how classical reasoning can be supported in a practical manner inside dependent type theory without additional axioms. We will see several examples of how classical results can be applied to constructive mathematics. Finally, we will see how to extend this perspective from logic to mathematics by representing classical function spaces using a weak value monad.
💡 Research Summary
The paper tackles a long‑standing tension in interactive theorem proving: dependent type theory (DTT) naturally supports constructive reasoning, while classical reasoning typically requires the addition of non‑constructive axioms such as the Law of Excluded Middle (LEM) or the Axiom of Choice. Rather than extending DTT with extra axioms, the authors adopt a reverse perspective—viewing constructive logic as an extension of classical logic. In this view, classical propositions are encoded inside the constructive framework in a “hidden” form, and classical reasoning is invoked only when needed, without compromising the core properties of DTT such as normalization and program extraction.
Two technical pillars underpin the approach. The first is a double‑negation translation: any classical statement P is transformed into ¬¬P, which is provable constructively within DTT. This eliminates the need for an explicit LEM while preserving the ability to use classical results. The second pillar is a continuation‑style encoding realized through a newly introduced weak value monad. Unlike the usual Maybe/Option monad, the weak value monad explicitly allows the possibility of “no value” and is used to encapsulate non‑constructive existence claims as effectful operations that do not produce concrete data.
The authors demonstrate the practicality of the framework with several concrete examples. Classical choice is modeled as a “choice” operation inside the weak value monad; the operation never returns a concrete element but merely signals that some element exists. Zorn’s Lemma, a cornerstone of many classical proofs, is re‑expressed as a double‑negated existence claim (¬¬∃ maximal element) and proved constructively within DTT. To handle classical function spaces, ordinary functions f : A → B are lifted to f̂ : A → WeakValue B, allowing statements such as “for every continuous function there exists a point with a certain property” to be expressed without demanding a constructive witness.
Implementation work in Coq and Agda validates the methodology. The authors ported several classical theorems—Hahn‑Banach, Banach–Steinhaus, and others—into the same code base without adding any extra axioms. Extracted programs run correctly, showing that the hidden classical reasoning does not interfere with computational content. The weak value monad proves especially useful in analysis and topology, where existence statements (e.g., the existence of a continuous extension) are abundant but often non‑constructive.
In the broader context, the paper argues that this perspective bridges the gap between classical mathematics and constructive type‑theoretic foundations. By treating classical reasoning as a virtual layer that can be encoded via double‑negation and monadic effects, one can enjoy the rich toolbox of classical mathematics while retaining the safety, normalization, and extraction guarantees of DTT. This contributes a significant conceptual and practical advance to the formalization community, suggesting a unified pathway for integrating classical results into constructive proof assistants without compromising their foundational integrity.
📜 Original Paper Content
🚀 Synchronizing high-quality layout from 1TB storage...