On the Computational Interpretation of Intermediate Logics
On the Computational Interpretation of Intermediate Logics
Disciplines
Computer Sciences (30%); Mathematics (70%)
Keywords
-
Natural Deduction,
Intermediate Logics,
Curry-Howard,
Proof Theory,
Concurrent Lambda Calculi
One of the most remarkable discoveries in the history of logic is that formal proofs can be seen as, and actually are, certified computer programs. Each logical inference corresponds to a natural construct of a functional programming language. This result was first discovered for constructive proofs and then extended to classical ones -- those that may use ineffective principles such as the excluded middle. This correspondence between proofs and programs is known as Curry-Howard isomorphism; it allows logic to become a powerful, bug-free programming language. Nowadays we know how to computationally interpret several expressive logical and mathematical systems, but unfortunately not all of those that matter to us and not as efficiently as possible. In this project we aim to fill an important gap in the theory of the computational interpretation of proofs. Namely, intermediate logics -- logics stronger than intuitionistic logic but weaker than classical -- still do not posses analytic natural deduction systems and Curry-Howard correspondences, but for rare exceptions. They have however a great computational potential. In fact, many intermediate logics include non-constructive axioms, but they have special constructive properties and are more similar to intuitionistic logic than to classical. Moreover, they can model programming mechanisms such as parallelism and message passing between concurrent processes. Since many intermediate logics can be formalized by Avron`s hypersequent calculus, also a full theory of Curry-Howard correspondence can be developed.
The goal of this project was to advance our understanding of parallel computation by means of logic. Parallel programs allow to make several different computations at the same time, and thus solve computational problems faster and more efficiently than sequential programs. Unfortunately, parallel programming is prone to error and there are very few methods that can be used to prove correctness of parallel programs. In this project we used logic as a tool to design and reason about parallel functional programs. We discovered in particular that multiplicative linear logic can be used as a type system for a new, simple, yet expressive parallel extension of simply typed lambda calculus, which is the basis of all functional programming languages. All programs that one can type are correct by construction, that is, they terminate, they don't have deadlocks, they give a result, and always give the same result independently from how they are evaluated. Other results of this project show that intermediate logics, that is, logics that encode constructive reasoning but are contained in classical logical reasoning, can act as type systems for expressive functional programming languages. Namely, one can start from a communication topology that programs should employ for exchanging messages, and automatically obtain a logic that types only processes that communicate according to the topology. This allows complex communication mechanisms, whose correctness and termination is guaranteed by the type system itself.
- Technische Universität Wien - 100%
- Stefano Berardi, Universita di Torino - Italy
- Jorge A. Perez, University of Groningen - Netherlands
Research Output
- 8 Citations
- 11 Publications
-
2021
Title Limits of real numbers in the binary signed digit representation DOI 10.48550/arxiv.2103.15702 Type Preprint Author Wiesnet F -
2020
Title Par means Parallel: multiplicative linear logic proofs as concurrent functional programs Type Conference Proceeding Abstract Author Federico Aschieri Conference Principles of Programming Languages (POPL 2020) Pages 18:1--18:28 Link Publication -
2020
Title On the concurrent computational content of intermediate logics Type Journal Article Author Agata Ciabattoni Journal Theoretical Computer Science Pages 375--409 Link Publication -
2020
Title A typed parallel lambda-calculus via 1-depth intermediate proofs Type Conference Proceeding Abstract Author Agata Ciabattoni Conference LPAR 2020 Pages 68-89 Link Publication -
2019
Title Natural Deduction and Normalization Proofs for the Intersection Type Discipline DOI 10.48550/arxiv.1904.10106 Type Preprint Author Aschieri F -
2019
Title $\unicode{8523}$ means Parallel: Multiplicative Linear Logic Proofs as Concurrent Functional Programs DOI 10.48550/arxiv.1907.03631 Type Preprint Author Aschieri F -
2019
Title Natural Deduction and Normalization Proofs for the Intersection Type Discipline DOI 10.4204/eptcs.293.3 Type Journal Article Author Aschieri F Journal Electronic Proceedings in Theoretical Computer Science Pages 29-37 Link Publication -
2020
Title A typed parallel lambda-calculus via 1-depth intermediate proofs DOI 10.29007/g15z Type Conference Proceeding Abstract Author Aschieri F Pages 68-45 Link Publication -
2019
Title Par means parallel: multiplicative linear logic proofs as concurrent functional programs DOI 10.1145/3371086 Type Journal Article Author Aschieri F Journal Proceedings of the ACM on Programming Languages Pages 1-28 Link Publication -
2022
Title Limits of real numbers in the binary signed digit representation DOI 10.46298/lmcs-18(3:24)2022 Type Journal Article Author Köpp N Journal Logical Methods in Computer Science Link Publication -
2020
Title On the concurrent computational content of intermediate logics DOI 10.1016/j.tcs.2020.01.022 Type Journal Article Author Aschieri F Journal Theoretical Computer Science Pages 375-409 Link Publication