Lectures on the Curry-Howard Isomorphism


Book Description

The Curry-Howard isomorphism states an amazing correspondence between systems of formal logic as encountered in proof theory and computational calculi as found in type theory. For instance,minimal propositional logic corresponds to simply typed lambda-calculus, first-order logic corresponds to dependent types, second-order logic corresponds to polymorphic types, sequent calculus is related to explicit substitution, etc.The isomorphism has many aspects, even at the syntactic level:formulas correspond to types, proofs correspond to terms, provability corresponds to inhabitation, proof normalization corresponds to term reduction, etc.But there is more to the isomorphism than this. For instance, it is an old idea---due to Brouwer, Kolmogorov, and Heyting---that a constructive proof of an implication is a procedure that transformsproofs of the antecedent into proofs of the succedent; the Curry-Howard isomorphism gives syntactic representations of such procedures. The Curry-Howard isomorphism also provides theoretical foundations for many modern proof-assistant systems (e.g. Coq).This book give an introduction to parts of proof theory and related aspects of type theory relevant for the Curry-Howard isomorphism. It can serve as an introduction to any or both of typed lambda-calculus and intuitionistic logic. Key features- The Curry-Howard Isomorphism treated as common theme- Reader-friendly introduction to two complementary subjects: Lambda-calculus and constructive logics- Thorough study of the connection between calculi and logics- Elaborate study of classical logics and control operators- Account of dialogue games for classical and intuitionistic logic- Theoretical foundations of computer-assisted reasoning · The Curry-Howard Isomorphism treated as the common theme.· Reader-friendly introduction to two complementary subjects: lambda-calculus and constructive logics · Thorough study of the connection between calculi and logics.· Elaborate study of classical logics and control operators.· Account of dialogue games for classical and intuitionistic logic.· Theoretical foundations of computer-assisted reasoning










Adapting Proofs-as-Programs


Book Description

This monograph details several important advances in the direction of a practical proofs-as-programs paradigm, which constitutes a set of approaches to developing programs from proofs in constructive logic with applications to industrial-scale, complex software engineering problems. One of the books central themes is a general, abstract framework for developing new systems of programs synthesis by adapting proofs-as-programs to new contexts.




Theorem Proving in Higher Order Logics


Book Description

Felty PuzzleTool:AnExampleofProgrammingComputationandDeduction . . 214 MichaelJ. C. Gordon AFormalApproachtoProbabilisticTermination. ... ... 230 JoeHurd UsingTheoremProvingforNumericalAnalysis. ... ... . 246 MicaelaMayero QuotientTypes:AModularApproach. ... ... ... 263 AlekseyNogin SequentSchemaforDerivedRules ... ... ... . 281 AlekseyNogin, JasonHickey AlgebraicStructuresandDependentRecords ... ... . 298 VirgilePrevosto, DamienDoligez, Thþ er` eseHardin ProvingtheEquivalenceofMicrostepandMacrostepSemantics. ... 314 KlausSchneider WeakestPreconditionforGeneralRecursiveProgramsFormalizedinCoq.




Lecture Notes on the Lambda Calculus


Book Description

This is a set of lecture notes that developed out of courses on the lambda calculus that the author taught at the University of Ottawa in 2001 and at Dalhousie University in 2007 and 2013. Topics covered in these notes include the untyped lambda calculus, the Church-Rosser theorem, combinatory algebras, the simply-typed lambda calculus, the Curry-Howard isomorphism, weak and strong normalization, polymorphism, type inference, denotational semantics, complete partial orders, and the language PCF.




Goal-Directed Proof Theory


Book Description

Goal Directed Proof Theory presents a uniform and coherent methodology for automated deduction in non-classical logics, the relevance of which to computer science is now widely acknowledged. The methodology is based on goal-directed provability. It is a generalization of the logic programming style of deduction, and it is particularly favourable for proof search. The methodology is applied for the first time in a uniform way to a wide range of non-classical systems, covering intuitionistic, intermediate, modal and substructural logics. The book can also be used as an introduction to these logical systems form a procedural perspective. Readership: Computer scientists, mathematicians and philosophers, and anyone interested in the automation of reasoning based on non-classical logics. The book is suitable for self study, its only prerequisite being some elementary knowledge of logic and proof theory.




Program = Proof


Book Description

This course provides a first introduction to the Curry-Howard correspondence between programs and proofs, from a theoretical programmer's perspective: we want to understand the theory behind logic and programming languages, but also to write concrete programs (in OCaml) and proofs (in Agda). After an introduction to functional programming languages, we present propositional logic, λ-calculus, the Curry-Howard correspondence, first-order logic, Agda, dependent types and homotopy type theory.




Categorical Logic and Type Theory


Book Description

This book is an attempt to give a systematic presentation of both logic and type theory from a categorical perspective, using the unifying concept of fibred category. Its intended audience consists of logicians, type theorists, category theorists and (theoretical) computer scientists.