Properties of Sequent-Calculus-Based Languages

dc.contributor.advisorAriola, Zena
dc.contributor.authorJohnson-Freyd, Philip
dc.date.accessioned2018-04-10T15:10:16Z
dc.date.available2018-04-10T15:10:16Z
dc.date.issued2018-04-10
dc.description.abstractProgrammers don't just have to write programs, they are have to reason about them. Programming languages aren't just tools for instructing computers what to do, they are tools for reasoning. And, it isn't just programmers who reason about programs: compilers and other tools reason similarly as they transform from one language into another one, or as they optimize an inefficient program into a better one. Languages, both surface languages and intermediate ones, need therefore to be both efficiently implementable and to support effective logical reasoning. However, these goals often seem to be in conflict. This dissertation studies programming language calculi inspired by the Curry-Howard correspondence, relating programming languages to proof systems. Our focus is on calculi corresponding logically to classical sequent calculus and connected computationally to abstract machines. We prove that these calculi have desirable properties to help bridge the gap between reasoning and implementation. Firstly, we explore a persistent conflict between extensionality and effects for lazy functional programs that manifests in a loss of confluence. Building on prior work, we develop a new rewriting theory for lazy functions and control which we first prove corresponds to the desired equational theory and then prove, by way of reductions into a smaller system, to be confluent. Next, we turn to the inconsistency between weak-head normalization and extensionality. Using ideas from our study of confluence, we develop a new operational semantics and series of abstract machines for head reduction which show us how to retain weak-head reduction's ease of implementation. After demonstrating the limitations of the above approach for call-by-value or types other than functions, we turn to typed calculi, showing how a type system can be used not only for mixing different kinds of data, but also different evaluation strategies in a single program. Building on variations of the reducibility candidates method such as biorthogonality and symmetric candidates, we present a uniform proof of strong normalization for our mixed-strategy system which works so long as all the strategies used satisfy criteria we isolate. This dissertation includes previously published co-authored material.en_US
dc.identifier.urihttps://hdl.handle.net/1794/23191
dc.language.isoen_US
dc.publisherUniversity of Oregon
dc.rightsAll Rights Reserved.
dc.subjectClassical logicen_US
dc.subjectConfluenceen_US
dc.subjectControlen_US
dc.subjectSequent calculusen_US
dc.subjectStrong normalizationen_US
dc.titleProperties of Sequent-Calculus-Based Languages
dc.typeElectronic Thesis or Dissertation
thesis.degree.disciplineDepartment of Computer and Information Science
thesis.degree.grantorUniversity of Oregon
thesis.degree.leveldoctoral
thesis.degree.namePh.D.

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
JohnsonFreyd_oregon_0171A_12081.pdf
Size:
788.89 KB
Format:
Adobe Portable Document Format