Constructive logic: Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
imported>Citation bot
Alter: pages, journal. Added isbn. Formatted dashes. | Use this bot. Report bugs. | Suggested by Abductive | Category:Intuitionism | #UCB_Category 19/24
 
No edit summary
 
(One intermediate revision by one other user not shown)
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>\neg \neg P</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|Coq]], [[Agda (programming language)|Agda]].
'''Used in''': Proof assistants like [[Rocq]], [[Agda (programming language)|Agda]].


== 5. Linear logic ==
== 5. Linear logic ==
Line 127: Line 127:
  | doi = 10.1016/0304-3975(87)90045-4
  | doi = 10.1016/0304-3975(87)90045-4
  | publisher = Elsevier
  | publisher = Elsevier
}}
| doi-access = free
}}


*{{cite book
*{{cite book
Line 204: 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 “P or not P” unless one can prove P or prove ¬P.

Features:

Used in: type theory, constructive mathematics.

2. Modal logics for constructive reasoning

Script error: No such module "Labelled list hatnote". Founder(s):

Interpretation (Gödel): P means “P is provable” (or “necessarily P” 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

  • 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".

Template:Non-classical logic

Template:Authority control