TY - GEN
T1 - Intuitionistic ancestral logic as a dependently typed abstract programming language
AU - Cohen, Liron
AU - Constable, Robert L.
N1 - Funding Information: This research was partially supported by the Ministry of Science, Technology and Space, Israel, and the Cornell University PRL Group. Publisher Copyright: © Springer-Verlag Berlin Heidelberg 2015.
PY - 2015/1/1
Y1 - 2015/1/1
N2 - It is well-known that concepts and methods of logic (more specifically constructive logic) occupy a central place in computer science. While it is quite common to identify ‘logic’ with ‘first-order logic’ (FOL), a careful examination of the various applications of logic in computer science reveals that FOL is insufficient for most of them, and that its most crucial shortcoming is its inability to provide inductive definitions in general, and the notion of the transitive closure in particular. The minimal logic that can serve for this goal is ancestral logic (AL). In this paper we define a constructive version of AL, pure intuitionistic ancestral logic (iAL), extending pure intuitionistic first-order logic (iFOL). This logic is a dependently typed abstract programming language with computational functionality beyond iFOL, given by its realizer for the transitive closure operator TC, which corresponds to recursive programs. We derive this operator from the natural type theoretic definition of TC using intersection type. We show that provable formulas in iAL are uniformly realizable, thus iAL is sound with respect to constructive type theory. We further outline how iAL can serve as a natural framework for reasoning about programs.
AB - It is well-known that concepts and methods of logic (more specifically constructive logic) occupy a central place in computer science. While it is quite common to identify ‘logic’ with ‘first-order logic’ (FOL), a careful examination of the various applications of logic in computer science reveals that FOL is insufficient for most of them, and that its most crucial shortcoming is its inability to provide inductive definitions in general, and the notion of the transitive closure in particular. The minimal logic that can serve for this goal is ancestral logic (AL). In this paper we define a constructive version of AL, pure intuitionistic ancestral logic (iAL), extending pure intuitionistic first-order logic (iFOL). This logic is a dependently typed abstract programming language with computational functionality beyond iFOL, given by its realizer for the transitive closure operator TC, which corresponds to recursive programs. We derive this operator from the natural type theoretic definition of TC using intersection type. We show that provable formulas in iAL are uniformly realizable, thus iAL is sound with respect to constructive type theory. We further outline how iAL can serve as a natural framework for reasoning about programs.
UR - http://www.scopus.com/inward/record.url?scp=84947064278&partnerID=8YFLogxK
U2 - https://doi.org/10.1007/978-3-662-47709-0_2
DO - https://doi.org/10.1007/978-3-662-47709-0_2
M3 - Conference contribution
SN - 9783662477083
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 14
EP - 26
BT - Logic, Language, Information and Computation - 22nd International Workshop, WoLLIC 2015, Proceedings
A2 - de Queiroz, Ruy
A2 - Moss, Lawrence S.
A2 - de Oliveira, Anjolina G.
A2 - de Paiva, Valeria
A2 - Leivant, Daniel
PB - Springer Verlag
T2 - 22nd International Workshop on Logic, Language, Information and Computation, WoLLIC 2015
Y2 - 20 July 2015 through 23 July 2015
ER -