Constructive logic: Difference between revisions
imported>OAbot m Open access bot: doi updated in citation with #oabot. |
No edit summary |
||
| Line 8: | Line 8: | ||
'''Founder''': [[L. E. J. Brouwer]] (1908, philosophy){{sfn|Brouwer|1908}}{{sfn|Brouwer|1913}} formalized by [[Arend Heyting|A. Heyting]] (1930){{sfn|Heyting|1930}} and [[Andrey Kolmogorov|A. N. Kolmogorov]] (1932){{sfn|Kolmogorov|1932}} | '''Founder''': [[L. E. J. Brouwer]] (1908, philosophy){{sfn|Brouwer|1908}}{{sfn|Brouwer|1913}} formalized by [[Arend Heyting|A. Heyting]] (1930){{sfn|Heyting|1930}} and [[Andrey Kolmogorov|A. N. Kolmogorov]] (1932){{sfn|Kolmogorov|1932}} | ||
'''Key Idea''': Truth = having a proof. One cannot assert “<math>P</math> or not <math>P</math>” unless one can prove <math>P</math> or prove <math> | '''Key Idea''': Truth = having a proof. One cannot assert “<math>P</math> or not <math>P</math>” unless one can prove <math>P</math> or prove <math>\neg P</math>. | ||
'''Features''': | '''Features''': | ||
| Line 50: | Line 50: | ||
* Very strict — everything must be directly constructible. | * Very strict — everything must be directly constructible. | ||
'''Used in''': Proof assistants like [[Rocq | '''Used in''': Proof assistants like [[Rocq]], [[Agda (programming language)|Agda]]. | ||
== 5. Linear logic == | == 5. Linear logic == | ||
| Line 205: | Line 205: | ||
[[Category:Logic in computer science]] | [[Category:Logic in computer science]] | ||
[[Category:Non-classical logic]] | [[Category:Non-classical logic]] | ||
[[Category:Constructivism (mathematics)]] | [[Category:Constructivism (philosophy of mathematics)]] | ||
[[Category:Systems of formal logic]] | [[Category:Systems of formal logic]] | ||
[[Category:Intuitionism]] | [[Category:Intuitionism]] | ||
Latest revision as of 13:28, 11 December 2025
Template:Use dmy dates Constructive logic is a family of logics where proofs must be constructive (i.e., proving something means one must build or exhibit it, not just argue it “must exist” abstractly). No “non-constructive” proofs are allowed (like the classic proof by contradiction without a witness).
The main constructive logics are the following:
1. Intuitionistic logic
Script error: No such module "Labelled list hatnote". Founder: L. E. J. Brouwer (1908, philosophy)Template:SfnTemplate:Sfn formalized by A. Heyting (1930)Template:Sfn and A. N. Kolmogorov (1932)Template:Sfn
Key Idea: Truth = having a proof. One cannot assert “ or not ” unless one can prove or prove .
Features:
- No law of excluded middle ( is not generally valid).
- No double negation elimination ( is not valid generally).
- Implication is constructive: a proof of is a method turning any proof of P into a proof of Q.
Used in: type theory, constructive mathematics.
2. Modal logics for constructive reasoning
Script error: No such module "Labelled list hatnote". Founder(s):
- K F. Gödel (1933) showed that intuitionistic logic can be embedded into modal logic S4.Template:Sfn
- (other systems)
Interpretation (Gödel): means “ is provable” (or “necessarily ” in the proof sense).
Further: Modern provability logics build on this.
3. Minimal logic
Script error: No such module "Labelled list hatnote". Simpler than intuitionistic logic.
Founder: I. Johansson (1937)Template:Sfn
Key Idea: Like intuitionistic logic but without assuming the principle of explosion (ex falso quodlibet, “from falsehood, anything follows”).
Features:
- Doesn’t automatically infer any proposition from a contradiction.
Used for: Studying logics without commitment to contradictions blowing up the system.
4. Intuitionistic type theory (Martin-Löf type theory)
Script error: No such module "Labelled list hatnote". Founder: P. E. R. Martin-Löf (1970s)
Key Idea: Types = propositions, terms = proofs (this is the Curry–Howard correspondence).
Features:
- Every proof is a program (and vice versa).
- Very strict — everything must be directly constructible.
Used in: Proof assistants like Rocq, Agda.
5. Linear logic
Script error: No such module "Labelled list hatnote". Not strictly intuitionistic, but very constructive.
Founder: J. Girard (1987)Template:Sfn
Key Idea: Resource sensitivity — one can only use an assumption once unless one specifically says it can be reused.
Features:
- Tracks “how many times” one can use a proof.
- Splits conjunction/disjunction into multiple types (e.g., additive vs. multiplicative).
Used in: Computer science, concurrency, quantum logic.
6. Other Constructive Systems
- Constructive set theory (e.g., CZF — Constructive Zermelo–Fraenkel set theory): Builds sets constructively.
- Realizability Theory: Ties constructive logic to computability — proofs correspond to algorithms.
- Topos Logic: Internal logics of topoi (generalized spaces) are intuitionistic.
See also
Notes
<templatestyles src="Reflist/styles.css" />
Script error: No such module "Check for unknown parameters".
References
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "citation/CS1". / Paperback: Template:Isbn
- Script error: No such module "Citation/CS1".
(abridged reprint in Script error: No such module "Footnotes".)
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".