Proof-Carrying Code in a Session-Typed Process Calculus
|
|
- Rodney Wood
- 5 years ago
- Views:
Transcription
1 Proof-Carrying Code in a Session-Typed Process Calculus Frank Pfenning with Luís Caires and Bernardo Toninho Department of Computer Science Carnegie Mellon University 1st International Conference on Certified Programs and Proofs (CPP) December 7, / 33
2 Why do we trust software? 2 / 33
3 Why do we trust software? We don t! 2 / 33
4 Why do we trust software? We don t! To the extent that we do, we rely on: 2 / 33
5 Why do we trust software? We don t! To the extent that we do, we rely on: Digital signatures (state-of-the-practice) Formal proof (state-of-the-art) 2 / 33
6 Why do we trust software? We don t! To the extent that we do, we rely on: Digital signatures (state-of-the-practice) Formal proof (state-of-the-art) Can we combine digital signatures and proofs? 2 / 33
7 Why do we trust software? We don t! To the extent that we do, we rely on: Digital signatures (state-of-the-practice) Formal proof (state-of-the-art) Can we combine digital signatures and proofs? Digital signatures are here to stay Proofs are here to stay 2 / 33
8 System Modeling and Security Properties 3 / 33
9 System Modeling and Security Properties Communicating processes 3 / 33
10 System Modeling and Security Properties Communicating processes Name-passing (mobile) Value-passing (applied) Proof-passing (proof-carrying) 3 / 33
11 System Modeling and Security Properties Communicating processes Name-passing (mobile) Value-passing (applied) Proof-passing (proof-carrying) Reason about process behavior 3 / 33
12 System Modeling and Security Properties Communicating processes Name-passing (mobile) Value-passing (applied) Proof-passing (proof-carrying) Reason about process behavior Deadlock-freedom Session fidelity Termination 3 / 33
13 System Modeling and Security Properties Communicating processes Name-passing (mobile) Value-passing (applied) Proof-passing (proof-carrying) Reason about process behavior Deadlock-freedom Session fidelity Termination Reason about values and proofs 3 / 33
14 System Modeling and Security Properties Communicating processes Name-passing (mobile) Value-passing (applied) Proof-passing (proof-carrying) Reason about process behavior Deadlock-freedom Session fidelity Termination Reason about values and proofs Types Correctness of proofs Validity of signatures 3 / 33
15 Approach 4 / 33
16 Approach Communicating processes 4 / 33
17 Approach Communicating processes Value-passing extension of π-calculus 4 / 33
18 Approach Communicating processes Value-passing extension of π-calculus Reason about process behavior [CONCUR 10] 4 / 33
19 Approach Communicating processes Value-passing extension of π-calculus Reason about process behavior [CONCUR 10] Session types Curry-Howard isomorphism between Intuitionistic linear propositions and session types Sequent proofs and π-calculus processes Proof reduction and process reduction 4 / 33
20 Approach Communicating processes Value-passing extension of π-calculus Reason about process behavior [CONCUR 10] Session types Curry-Howard isomorphism between Intuitionistic linear propositions and session types Sequent proofs and π-calculus processes Proof reduction and process reduction Reason about values and proofs 4 / 33
21 Approach Communicating processes Value-passing extension of π-calculus Reason about process behavior [CONCUR 10] Session types Curry-Howard isomorphism between Intuitionistic linear propositions and session types Sequent proofs and π-calculus processes Proof reduction and process reduction Reason about values and proofs Dependent session types [PPDP 11] Terms and proofs from dependent type theory Add proof irrelevance (to avoid sending proofs) Add affirmation (to capture digital signatures) 4 / 33
22 Outline 1 Session types for π-calculus 2 Dependent session types 3 Proof irrelevance 4 Affirmation and digital signatures 5 Conclusion 5 / 33
23 Session types: judgment forms Judgment P :: x : A Process P offers service A along channel x Linear sequent P uses x i :A i and offers x:a. Cut as composition x 1 :A 1,..., x n :A }{{} n P :: x : A A, A C, C cut Identity as forwarding A A id 6 / 33
24 Session types: judgment forms Judgment P :: x : A Process P offers service A along channel x Linear sequent P uses x i :A i and offers x:a. Cut as composition x 1 :A 1,..., x n :A }{{} n P :: x : A x : A, x:a z : C, z : C cut Identity as forwarding A A id 6 / 33
25 Session types: judgment forms Judgment P :: x : A Process P offers service A along channel x Linear sequent P uses x i :A i and offers x:a. Cut as composition x 1 :A 1,..., x n :A }{{} n P :: x : A P :: x : A, x:a Q :: z : C, (νx)(p Q) :: z : C cut Identity as forwarding A A id 6 / 33
26 Session types: judgment forms Judgment P :: x : A Process P offers service A along channel x Linear sequent P uses x i :A i and offers x:a. Cut as composition x 1 :A 1,..., x n :A }{{} n P :: x : A P :: x : A, x:a Q :: z : C, (νx)(p Q) :: z : C cut Identity as forwarding x:a z : A id 6 / 33
27 Session types: judgment forms Judgment P :: x : A Process P offers service A along channel x Linear sequent P uses x i :A i and offers x:a. Cut as composition x 1 :A 1,..., x n :A }{{} n P :: x : A P :: x : A, x:a Q :: z : C, (νx)(p Q) :: z : C cut Identity as forwarding x:a [x z] :: z : A id 6 / 33
28 Session types: input (A B) P :: x : A B P inputs an A along x and then behaves as B Right rule: offer of service, A B A B R Can reuse x, due to linearity Left rule: matching use of service A, B C,, A B C L Can reuse x, due to linearity Channel y must be new 7 / 33
29 Session types: input (A B) P :: x : A B P inputs an A along x and then behaves as B Right rule: offer of service, y:a x : B x : A B R Can reuse x, due to linearity Left rule: matching use of service A, B C,, A B C L Can reuse x, due to linearity Channel y must be new 7 / 33
30 Session types: input (A B) P :: x : A B P inputs an A along x and then behaves as B Right rule: offer of service, y:a P :: x : B x(y).p :: x : A B R Can reuse x, due to linearity Left rule: matching use of service A, B C,, A B C L Can reuse x, due to linearity Channel y must be new 7 / 33
31 Session types: input (A B) P :: x : A B P inputs an A along x and then behaves as B Right rule: offer of service, y:a P :: x : B x(y).p :: x : A B R Can reuse x, due to linearity Left rule: matching use of service y : A, x:b z : C,, x:a B z : C L Can reuse x, due to linearity Channel y must be new 7 / 33
32 Session types: input (A B) P :: x : A B P inputs an A along x and then behaves as B Right rule: offer of service, y:a P :: x : B x(y).p :: x : A B R Can reuse x, due to linearity Left rule: matching use of service P :: y : A, x:b Q :: z : C,, x:a B (νy)x y.(p Q) :: z : C L Can reuse x, due to linearity Channel y must be new 7 / 33
33 Session types: reduction Proof reduction, A B A B R 1 A 2, B C 1, 2, A B C 1 A, 1, 2 C, A B, 1 B cut, 1, 2 C Corresponding process reduction 2, B C L, 1, 2 (νx)(x(y).p 1 (νw)(x w.(p 2 Q))) :: z : C cut cut, 1, 2 (νx)((νw)(p 2 P 1 {w/y}) Q) :: z : C 8 / 33
34 Session types: other connectives Linear propositions as session types P :: x : A B P :: x : A B P :: x : 1 P :: x : A & B P :: x : A B P :: x :!A Input a y:a along x and behave as B Output a new y:a along x and behave as B Terminate session on x Offer choice between A and B along x Offer either A or B along x Offer A persistently along x Sequent proofs as process expressions Proof reduction as process reduction 9 / 33
35 Two small examples PDF indexing service, version 1 index 1 :!(file file 1) Persistently offer to input a file, then output a file and terminate session. Intent: input PDF, output indexed PDF for keyword search. Persistent file storage store 1 :!(file!(file 1)) Persistently offer to input a file, then output a persistent handle for retrieving this file. Intent: output file is the same as input file. 10 / 33
36 Outline 1 Session types for π-calculus 2 Dependent session types 3 Proof irrelevance 4 Affirmation and digital signatures 5 Conclusion 11 / 33
37 Term passing Types τ from a (dependent) type theory Hypothetical judgment x 1 :τ 1,..., x k :τ }{{} k M : τ Ψ Some example type constructors Πx:τ.σ, τ σ Σx:τ.σ, τ σ nat Functions from τ to σ Pairs of a τ and a σ Natural numbers Integrate into sequent calculus Ψ }{{} ; Γ }{{} ; }{{} term variables persistent channels linear channels P :: x : A }{{} linear 12 / 33
38 Term passing: input ( y:τ.a) P :: x : y:τa P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; A Ψ ; Γ ; y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, A{M/y} C Ψ ; Γ ;, y:τ.a C L Proof reduction yields 13 / 33
39 Term passing: input ( y:τ.a) P :: x : y:τa P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; x : A Ψ ; Γ ; x : y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, A{M/y} C Ψ ; Γ ;, y:τ.a C L Proof reduction yields 13 / 33
40 Term passing: input ( y:τ.a) P :: x : y:τa P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; P :: x : A Ψ ; Γ ; x(y).p :: x : y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, A{M/y} C Ψ ; Γ ;, y:τ.a C L Proof reduction yields 13 / 33
41 Term passing: input ( y:τ.a) P :: x : y:τa P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; P :: x : A Ψ ; Γ ; x(y).p :: x : y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, x:a{m/y} z : C Ψ ; Γ ;, x: y:τ.a z : C L Proof reduction yields 13 / 33
42 Term passing: input ( y:τ.a) P :: x : y:τa P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; P :: x : A Ψ ; Γ ; x(y).p :: x : y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, x:a{m/y} Q :: z : C Ψ ; Γ ;, x: y:τ.a x M.Q :: z : C L Proof reduction yields 13 / 33
43 Term passing: input ( y:τ.a) P :: x : y:τa P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; P :: x : A Ψ ; Γ ; x(y).p :: x : y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, x:a{m/y} Q :: z : C Ψ ; Γ ;, x: y:τ.a x M.Q :: z : C L Proof reduction yields (νx)(x(y).p x M.Q) 13 / 33
44 Term passing: input ( y:τ.a) P :: x : y:τa P inputs an M : τ along x and then behaves as A{M/x} Right rule: offer of service Ψ, y:τ ; Γ ; P :: x : A Ψ ; Γ ; x(y).p :: x : y:τ.a R Left rule: matching use of service Ψ M : τ Ψ ; Γ ;, x:a{m/y} Q :: z : C Ψ ; Γ ;, x: y:τ.a x M.Q :: z : C L Proof reduction yields (νx)(x(y).p x M.Q) (νx)(p{m/y} Q) 13 / 33
45 Term passing: other connectives Quantified proposition as dependent session types x : y:τ.a x : $τ A x : y:τ.a x : $τ A Input an M : A along x and behave as A{M/y} Input an M : A along x and behave as A Output an M : A along x and behave as A{M/y} Output an M : A along x and behave as A $τ A as shorthand for y:τ.a if y not free in A $τ A as shorthand for y:τ.a if y not free in A We will omit the $ for readability 14 / 33
46 Examples, carrying proofs PDF indexing service index 1 :!(file file 1) index 2 :!( f :file. pdf(f ) g:file. pdf(g) 1) Persistently offer to input a file f, a proof that f is in PDF format, then output a PDF file g, and a proof that g is in PDF format and terminate the session. Persistent file storage store 1 :!(file!(file 1)) store 2 :!( f :file.! g:file. g. = f 1) Persistently offer to input a file, then output a persistent channel for retrieving this file and a proof that the two are equal. 15 / 33
47 Outline 1 Session types for π-calculus 2 Dependent session types 3 Proof irrelevance 4 Affirmation and digital signatures 5 Conclusion 16 / 33
48 Proof irrelevance In many examples, we want to know that proofs exist, but we do not want to transmit them We can easily check pdf(g) when using the indexing service The proof of g. = f (by reflexivity) would not be informative Use proof irrelevance in type theory M : [τ] M is a term of type τ that is computationally irrelevant 17 / 33
49 Proof irrelevance: rules Introduction and elimination Ψ M : τ Ψ [M] : [τ] []I Ψ M : [τ] Ψ, x τ N : σ Ψ let [x] = M in N : σ Ψ promotes hypotheses x τ to x:τ In examples, may use pattern matching instead of let By agreement, terms [M] will be erased before transmission Typing guarantees this can be done consistently []E 18 / 33
50 Examples with proof irrelevance Mark proofs as computationally irrelevant PDF indexing service index 2 :!( f :file. pdf(f ) g:file. pdf(g) 1) index 3 :!( f :file. [pdf(f )] g:file. [pdf(g)] 1) Persistent file storage store 2 :!( f :file.! g:file. g =. f 1) store 3 :!( f :file.! g:file. [g =. f ] 1) After erasure, communication can be optimized further 19 / 33
51 Examples: affirming the existence of proofs In the PDF indexing example, we may want to have some evidence that g and f agree. index 4 :!( f :file. [pdf(f )] g:file. [pdf(g)] [agree(g, f )] 1) agree(g, f ) if g and f differ at most in the index Since no proof is transmitted, client may require indexer X s explicit affirmation (= digital signature)! Similarly, in the persistent file storage example 20 / 33
52 Outline 1 Session types for π-calculus 2 Dependent session types 3 Proof irrelevance 4 Affirmation and digital signatures 5 Conclusion 21 / 33
53 Affirmation Judgment M : K τ Principal K affirms property τ due to evidence M. Ψ M : τ Ψ M:τ K : K τ (affirms) Internalize judgment as proposition K τ Ψ M : K τ Ψ M : K τ I Ψ M : K τ Ψ, x:τ N : K σ Ψ let x:τ K = M in N : K σ E Note same principal K in premises and conclusion of E M:τ K can be realized by K s signature on M:τ Assume some public key infrastructure K is a K-indexed family of strong monads 22 / 33
54 Examples: affirmations PDF indexing service, with indexer X index 5 :!( f :file. [pdf(f )] g:file. [pdf(g)] X [agree(g, f )] 1) Persistent file storage, with file system Y store 4 :!( f :file.! g:file. Y [g. = f ] 1) Idiom K [τ] may transmit [ ]:τ K, a certificate, digitally signed by K affirming τ Some proof that [τ] follows from affirmations by K, according to the laws of K 23 / 33
55 Example: a PDF compression service A PDF compression service, with compressor C compress :!( f :file. [pdf(f )] g:file. [pdf(g)] C [approx(g, f )] 1) A consolidator service: indexing and compression ixc :!( f :file. [pdf(f )] g:file. [pdf(g)] X C [approx(g, f )] 1) Have to trust both X and C! 24 / 33
56 Example: consolidator implementation Specification ixc :!( f :file. [pdf(f )] g:file. [pdf(g)] X C [approx(g, f )] 1) Implementation consolidator =!ixc(a).a(f 1 ).a([p 1 ]). (νb)index b.b f 1.b [p 1 ].b(f 2 ).b([p 2 ]).b(q 2 ). (νc)compress c.c f 2.c [p 2 ].c(f 3 ).c([p 3 ]).c(q 3 ). a f 3.a [p 3 ].a comb q 2 q 3.0 Certificate types q 2 : X [agree(f 2, f 1 )] q 3 : C [approx(f 3, f 2 )] comb q 2 q 3 : C X [approx(f 3, f 1 )] 25 / 33
57 Certificate combination Certificate types Proof q 2 : X [agree(f 2, f 1 )] q 3 : C [approx(f 3, f 2 )] comb q 2 q 3 : C X [approx(f 3, f 1 )] ida : agree(f 2, f 1 ) approx(f 2, f 1 ) tra : approx(f 3, f 2 ) approx(f 2, f 1 ) approx(f 3, f 1 ) comb q 2 q 3 = let [q 3]:[approx(f 3, f 2 )] C = q 3 in let [q 2]:[agree(f 2, f 1 )] X = q 2 in [tra q 3 (ida q 2)]: X : C 26 / 33
58 Trust axioms Affirmations track aspects of provenance and info. flow Diamonds are forever In general, K τ τ Need declassification Trust axioms For specific types τ and principals K: trust K,τ : K τ τ Implementable, in general, by stripping signature Omitted proofs [τ] cannot be recovered, in general [τ] τ K [τ] τ not implementable, in general not implementable, in general 27 / 33
59 Example: mobile code For sensitive documents we want to run indexing locally Specification index 6 :!( X (Πf :file. [pdf(f )] Σg:file. [pdf(g)] [agree(g, f )]) 1) Service persistently offers a function for indexing Cannot leak information since only process layer can communicate 28 / 33
60 Example: electronic commerce Signed certificates may have external meaning Signed certificates may flow in both directions index u 7 :!( u [pay(u, X, 1)] ( f :file. [pdf(f )] g:file. [pdf(g)] X [agree(g, f )] 1)) Need to make principals more explicit? Some experience in proof-carrying authorization 29 / 33
61 Outline 1 Session types for π-calculus 2 Dependent session types 3 Proof irrelevance 4 Affirmation and digital signatures 5 Conclusion 30 / 33
62 Summary A Curry-Howard isomorphism Linear propositions as session types A B (input), A B (output), A & B (external choice) A B (internal choice),!a (replication) Sequent proofs as π-calculus processes with a binary guarded choice and channel forwarding Cut reduction as π-calculus reduction Term-passing extension with a type theory x:τ.a (term input), x:τ.a (term output) Additional type theory constructs [τ] for proof irrelevance (not transmitted) K τ for affirmations (evidenced by digital signatures) 31 / 33
63 Assessment Strong basis in logic and type theory Modular construction and extensibility Integrated computation and reasoning Uniform logical integration Proofs (implicit or explicit) Affirmations (implicit or explicit signatures) Enable gradual integration of formal proofs in current practice based on digital signatures? 32 / 33
64 Current and Future Work Practical language design and implementation Explicit spatial distribution, principals, and authorization (with Jamie Morgenstern) Interaction with databases (with João Seco and OutSystems) Reasoning about processes (with Jorge Pérez and Henry DeYoung) Observational equivalence via proof theory Towards concurrent type theory 33 / 33
65 Summary A Curry-Howard isomorphism Linear propositions as session types A B (input), A B (output), A & B (external choice) A B (internal choice),!a (replication) Sequent proofs as π-calculus processes with a binary guarded choice and channel forwarding Cut reduction as π-calculus reduction Term-passing extension with a type theory x:τ.a (term input), x:τ.a (term output) Additional type theory constructs [τ] for proof irrelevance (not transmitted) K τ for affirmations (evidenced by digital signatures) 34 / 33
Towards Concurrent Type Theory
Towards Concurrent Type Theory Luís Caires 1, Frank Pfenning 2, Bernardo Toninho 1,2 1 Universidade Nova de Lisboa 2 Carnegie Mellon University Workshop on Types in Language Design and Implementation (TLDI)
More informationAdjoint Logic and Its Concurrent Semantics
Adjoint Logic and Its Concurrent Semantics Frank Pfenning ABCD Meeting, Edinburgh, December 18-19, 2017 Joint work with Klaas Pruiksma and William Chargin Outline Proofs as programs Linear sequent proofs
More informationLecture Notes on Classical Linear Logic
Lecture Notes on Classical Linear Logic 15-816: Linear Logic Frank Pfenning Lecture 25 April 23, 2012 Originally, linear logic was conceived by Girard [Gir87] as a classical system, with one-sided sequents,
More informationCut Reduction in Linear Logic as Asynchronous Session-Typed Communication
Cut Reduction in Linear Logic as Asynchronous Session-Typed Communication Henry DeYoung 1, Luís Caires 2, Frank Pfenning 1, and Bernardo Toninho 1,2 1 Computer Science Department, Carnegie Mellon University
More informationLecture Notes on Ordered Proofs as Concurrent Programs
Lecture Notes on Ordered Proofs as Concurrent Programs 15-317: Constructive Logic Frank Pfenning Lecture 24 November 30, 2017 1 Introduction In this lecture we begin with a summary of the correspondence
More informationDecomposing Modalities
Decomposing Modalities Frank Pfenning Department of Computer Science Carnegie Mellon University Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP 15) Berlin, Germany August 1, 2015 1 /
More informationBehavioral Polymorphism and Parametricity in Session-Based Communication
Behavioral Polymorphism and Parametricity in Session-Based Communication Luís Caires 1, Jorge A. Pérez 1, Frank Pfenning 2, and Bernardo Toninho 1,2 1 CITI and Departamento de Informática, FCT, Universidade
More informationLecture Notes on A Concurrent Logical Framework
Lecture Notes on A Concurrent Logical Framework 15-816: Linear Logic Frank Pfenning Lecture 21 April 9, 2012 Today we will put many of pieces together that we have put in place so far, by moving from a
More informationLecture Notes on Of Course!
Lecture Notes on Of Course! 15-816: Substructural Logics Frank Pfenning Lecture 15 October 20, 2016 In this lecture we combine structural and substructural intuitionistic logics into a single system, using
More informationHarvard School of Engineering and Applied Sciences CS 152: Programming Languages
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 17 Tuesday, April 2, 2013 1 There is a strong connection between types in programming languages and propositions
More informationLecture Notes on Focusing
Lecture Notes on Focusing Oregon Summer School 2010 Proof Theory Foundations Frank Pfenning Lecture 4 June 17, 2010 1 Introduction When we recast verifications as sequent proofs, we picked up a lot of
More informationThe Curry-Howard Isomorphism
The Curry-Howard Isomorphism Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) The Curry-Howard Isomorphism MFES 2008/09
More informationLecture Notes on Certifying Theorem Provers
Lecture Notes on Certifying Theorem Provers 15-317: Constructive Logic Frank Pfenning Lecture 13 October 17, 2017 1 Introduction How do we trust a theorem prover or decision procedure for a logic? Ideally,
More informationLecture Notes on Quantification
Lecture Notes on Quantification 15-317: Constructive Logic Frank Pfenning Lecture 5 September 8, 2009 1 Introduction In this lecture, we introduce universal and existential quantification As usual, we
More informationLinear Logic Propositions as Session Types
Under consideration for publication in Math. Struct. in Comp. Science Linear Logic Propositions as Session Types Luis Caires 1, Frank Pfenning 2 and Bernardo Toninho 1,2 1 Faculdade de Ciências e Tecnologia
More informationAn Isomorphism Between Substructural Proofs and Deterministic Finite Automata
An Isomorphism Between Substructural Proofs and Deterministic Finite Automata Henry DeYoung and Frank Pfenning Computer Science Department, Carnegie Mellon University, Pittsburgh, PA USA {hdeyoung,fp}@cs.cmu.edu
More informationIntensionality, Extensionality, and Proof Irrelevance in Modal Type Theory
Intensionality, Extensionality, and Proof Irrelevance in Modal Type Theory Frank Pfenning LICS 01 Boston, Massachusetts June 17, 2001 Acknowledgments: Alberto Momigliano,... 1 Outline 1. Introduction 2.
More informationAsterix calculus - classical computation in detail
Asterix calculus - classical computation in detail (denoted X ) Dragiša Žunić 1 Pierre Lescanne 2 1 CMU Qatar 2 ENS Lyon Logic and Applications - LAP 2016 5th conference, September 19-23, Dubrovnik Croatia
More informationFocusing on Binding and Computation
Focusing on Binding and Computation Dan Licata Joint work with Noam Zeilberger and Robert Harper Carnegie Mellon University 1 Programming with Proofs Represent syntax, judgements, and proofs Reason about
More informationMode checking in the Concurrent Logical Framework
Mode checking in the Concurrent Logical Framework Jorge Luis Sacchini Iliano Cervesato Frank Pfenning Carsten Schürmann August 2014 CMU-CS-14-134 CMU-CS-QTR-123 School of Computer Science Carnegie Mellon
More informationReasoning with Higher-Order Abstract Syntax and Contexts: A Comparison
1 Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison Amy Felty University of Ottawa July 13, 2010 Joint work with Brigitte Pientka, McGill University 2 Comparing Systems We focus on
More informationLecture Notes on The Curry-Howard Isomorphism
Lecture Notes on The Curry-Howard Isomorphism 15-312: Foundations of Programming Languages Frank Pfenning Lecture 27 ecember 4, 2003 In this lecture we explore an interesting connection between logic and
More informationLecture Notes on Cut Elimination
Lecture Notes on Cut Elimination 15-317: Constructive Logic Frank Pfenning Lecture 10 October 5, 2017 1 Introduction The entity rule of the sequent calculus exhibits one connection between the judgments
More informationRelational Parametricity for Polymorphic Session Types (Extended Version)
Relational Parametricity for Polymorphic Session Types (Extended Version) Luís Caires 1, Jorge A. Pérez 1, Frank Pfenning 2, and Bernardo Toninho 1,2 1 CITI and Departamento de Informática, FCT, Universidade
More informationLecture Notes on Cut Elimination
Lecture Notes on Cut limination 15-816: Linear Logic Frank Pfenning Lecture 7 February 8, 2012 After presenting an interpretation of linear propositions in the sequent calculus as session types, we now
More informationSubtyping and Intersection Types Revisited
Subtyping and Intersection Types Revisited Frank Pfenning Carnegie Mellon University International Conference on Functional Programming (ICFP 07) Freiburg, Germany, October 1-3, 2007 Joint work with Rowan
More informationSession Types as Intuitionistic Linear Propositions
Session Types as Intuitionistic Linear Propositions Luís Caires 1 and Frank Pfenning 2 1 CITI and Departamento de Informática, FCT, Universidade Nova de Lisboa 2 Department of Computer Science, Carnegie
More informationPropositions as Sessions
Propositions as Sessions Philip Wadler University of Edinburgh wadler@inf.ed.ac.uk Abstract Continuing a line of work by Abramsky (1994), by Bellin and Scott (1994), and by Caires and Pfenning (2010),
More informationSession Types as Intuitionistic Linear Propositions
Session Types as Intuitionistic Linear Propositions Luis Caires Frank Pfenning Bernardo Toninho December 21, 2011 CMU-CS-11-138 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213
More informationLecture Notes on Sequent Calculus
Lecture Notes on Sequent Calculus 15-816: Modal Logic Frank Pfenning Lecture 8 February 9, 2010 1 Introduction In this lecture we present the sequent calculus and its theory. The sequent calculus was originally
More informationEvaluation Driven Proof-Search in Natural Deduction Calculi for Intuitionistic Propositional Logic
Evaluation Driven Proof-Search in Natural Deduction Calculi for Intuitionistic Propositional Logic Mauro Ferrari 1, Camillo Fiorentini 2 1 DiSTA, Univ. degli Studi dell Insubria, Varese, Italy 2 DI, Univ.
More informationLecture Notes on Linear Logic
Lecture Notes on Linear Logic 15-816: Modal Logic Frank Pfenning Lecture 23 April 20, 2010 1 Introduction In this lecture we will introduce linear logic [?] in its judgmental formulation [?,?]. Linear
More informationLogical Preliminaries
Logical Preliminaries Johannes C. Flieger Scheme UK March 2003 Abstract Survey of intuitionistic and classical propositional logic; introduction to the computational interpretation of intuitionistic logic
More informationTowards Modal Type Theory
Towards Modal Type Theory Frank Pfenning Constructivism in Non-Classical Logics and Computer Science In Memoriam Pierangelo Miglioli Mantova, Italy October 2, 2000 Disclaimer: Work in Progress! Acknowledgments:
More informationAN INTRODUCTION TO SEPARATION LOGIC. 2. Assertions
AN INTRODUCTION TO SEPARATION LOGIC 2. Assertions John C. Reynolds Carnegie Mellon University January 7, 2011 c 2011 John C. Reynolds Pure Assertions An assertion p is pure iff, for all stores s and all
More informationA Concurrent Logical Framework
A Concurrent Logical Framework Frank Pfenning Carnegie Mellon University Types Workshop Torino, Italy, April 2003 Joint work with Iliano Cervesato, David Walker, and Kevin Watkins Types 03, Torino, April
More informationLecture Notes on Combinatory Modal Logic
Lecture Notes on Combinatory Modal Logic 15-816: Modal Logic Frank Pfenning Lecture 9 February 16, 2010 1 Introduction The connection between proofs and program so far has been through a proof term assignment
More informationStructuring Logic with Sequent Calculus
Structuring Logic with Sequent Calculus Alexis Saurin ENS Paris & École Polytechnique & CMI Seminar at IIT Delhi 17th September 2004 Outline of the talk Proofs via Natural Deduction LK Sequent Calculus
More informationA Proof Theory for Generic Judgments
A Proof Theory for Generic Judgments Dale Miller INRIA/Futurs/Saclay and École Polytechnique Alwen Tiu École Polytechnique and Penn State University LICS 2003, Ottawa, Canada, 23 June 2003 Outline 1. Motivations
More informationAN ALTERNATIVE NATURAL DEDUCTION FOR THE INTUITIONISTIC PROPOSITIONAL LOGIC
Bulletin of the Section of Logic Volume 45/1 (2016), pp 33 51 http://dxdoiorg/1018778/0138-068045103 Mirjana Ilić 1 AN ALTERNATIVE NATURAL DEDUCTION FOR THE INTUITIONISTIC PROPOSITIONAL LOGIC Abstract
More informationMeta-reasoning in the concurrent logical framework CLF
Meta-reasoning in the concurrent logical framework CLF Jorge Luis Sacchini (joint work with Iliano Cervesato) Carnegie Mellon University Qatar campus Nagoya University, 27 June 2014 Jorge Luis Sacchini
More informationHomotopy Type Theory
Homotopy Type Theory Jeremy Avigad Department of Philosophy and Department of Mathematical Sciences Carnegie Mellon University February 2016 Homotopy Type Theory HoTT relies on a novel homotopy-theoretic
More informationCoherence Generalises Duality
Coherence Generalises Duality Marco Carbone, Sam Lindley, Fabrizio Montesi, Carsten Schürmann, Philip Wadler University of Lisbon Tuesday 23 January 2018 1 CONCUR, 2015 2 CONCUR, 2016 3 FORTE, 2016 4 ABCD,
More informationSyddansk Universitet. Classical higher-order processes. Montesi, Fabrizio
Syddansk Universitet Classical higher-order processes Montesi, Fabrizio Published in: Formal Techniques for Distributed Objects, Components, and Systems DOI: 10.1007/978-3-319-60225-7_12 Publication date:
More informationOne Year Later. Iliano Cervesato. ITT Industries, NRL Washington, DC. MSR 3.0:
MSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra MSR 3: Iliano Cervesato iliano@itd.nrl.navy.mil One Year Later ITT Industries, inc @ NRL Washington, DC http://www.cs.stanford.edu/~iliano
More informationRelating State-Based and Process-Based Concurrency through Linear Logic
École Polytechnique 17 September 2009 Relating State-Based and Process-Based oncurrency through Linear Logic Iliano ervesato arnegie Mellon University - Qatar iliano@cmu.edu Specifying oncurrent Systems
More informationBeyond First-Order Logic
Beyond First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) Beyond First-Order Logic MFES 2008/09 1 / 37 FOL
More informationModal Logic as a Basis for Distributed Computation
Modal Logic as a Basis for Distributed Computation Jonathan Moody 1 jwmoody@cs.cmu.edu October 2003 CMU-CS-03-194 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 1 This material
More informationFunctions as Session-Typed Processes
Functions as Session-Typed Processes Bernardo Toninho 1,2, Luis Caires 2, and Frank Pfenning 1 1 Computer Science Department Carnegie Mellon University Pittsburgh, PA, USA 2 CITI and Faculdade de Ciências
More informationMeta-Reasoning in a Concurrent Logical Framework
Meta-Reasoning in a Concurrent Logical Framework Iliano Cervesato and Jorge Luis Sacchini Carnegie Mellon University Chalmers University, 16 Oct 2013 Iliano Cervesato and Jorge Luis Sacchini Meta-Reasoning
More informationLecture Notes on Cut Elimination
Lecture Notes on Cut Elimination 15-816: Substructural Logics Frank Pfenning Lecture 4 September 8, 2016 We first present some additional examples illustrating ordered inference that capture computations
More informationImplementing Proof Systems for the Intuitionistic Propositional Logic
Implementing Proof Systems for the Intuitionistic Propositional Logic Veronica Zammit Supervisor: Dr. Adrian Francalanza Faculty of ICT University of Malta May 27, 2011 Submitted in partial fulfillment
More informationarxiv: v1 [cs.lo] 1 Oct 2018
COMPARING TYPE SYSTEMS FOR DEADLOCK-FREEDOM ORNELA DARDHA AND JORGE A. PÉREZ arxiv:1810.00635v1 [cs.lo] 1 Oct 2018 School of Computing Science, University of Glasgow, UK e-mail address: ornela.dardha@glasgow.ac.uk
More informationNatural deduction for propositional logic via truth tables
Natural deduction for propositional logic via truth tables Herman Geuvers Nijmegen, NL (Joint work with Tonny Hurkens) Bengt Nordström honorary workshop Marstrand, Sweden April 2016 H. Geuvers - April
More informationA Multiple-Conclusion Specification Logic
A Multiple-Conclusion Specification Logic Alwen Tiu Australian National University ANU Logic Summer School Lecture 3, December 14, 2007 Alwen Tiu (ANU) Intuitionistic and Linear Logic (5) LSS07 1 / 18
More informationHuman-Readable Machine-Verifiable Proofs for Teaching Constructive Logic
Human-Readable Machine-Verifiable Proofs for Teaching Constructive Logic Andreas Abel, Bor-Yuh Evan Chang, and Frank Pfenning Workshop on Proof Transformations, Proof Presentations and Complexity of Proofs
More informationBidirectional Decision Procedures for the Intuitionistic Propositional Modal Logic IS4
Bidirectional ecision Procedures for the Intuitionistic Propositional Modal Logic IS4 Samuli Heilala and Brigitte Pientka School of Computer Science, McGill University, Montreal, Canada {sheila1,bpientka}@cs.mcgill.ca
More informationA Judgmental Deconstruction of Modal Logic
A Judgmental Deconstruction of Modal Logic Jason Reed January 30, 2009 Abstract The modalities and of necessary and lax truth described by Pfenning and Davies can be seen to arise from the same pair of
More informationA Semantics for Propositions as Sessions
A Semantics for Propositions as Sessions Sam Lindley and J. Garrett Morris The University of Edinburgh {Sam.Lindley,Garrett.Morris}@ed.ac.uk Abstract. Session types provide a static guarantee that concurrent
More informationLecture Notes on Intuitionistic Kripke Semantics
Lecture Notes on Intuitionistic Kripke Semantics 15-816: Modal Logic Frank Pfenning Lecture 15 March 18, 2010 1 Introduction In this lecture we present an intuitionistic approach to describing a multipleworld
More informationType safety for substructural specifications: preliminary results
Type safety for substructural specifications: preliminary results Robert J. Simmons July 15, 2010 CMU-CS-10-134 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Abstract Substructural
More informationIntroduction to Intuitionistic Logic
Introduction to Intuitionistic Logic August 31, 2016 We deal exclusively with propositional intuitionistic logic. The language is defined as follows. φ := p φ ψ φ ψ φ ψ φ := φ and φ ψ := (φ ψ) (ψ φ). A
More informationInducing syntactic cut-elimination for indexed nested sequents
Inducing syntactic cut-elimination for indexed nested sequents Revantha Ramanayake Technische Universität Wien (Austria) IJCAR 2016 June 28, 2016 Revantha Ramanayake (TU Wien) Inducing syntactic cut-elimination
More informationMechanizing Metatheory in a Logical Framework
Under consideration for publication in J. Functional Programming 1 Mechanizing Metatheory in a Logical Framework Robert Harper and Daniel R. Licata Carnegie Mellon University (e-mail: {rwh,drl}@cs.cmu.edu)
More informationLecture Notes on Heyting Arithmetic
Lecture Notes on Heyting Arithmetic 15-317: Constructive Logic Frank Pfenning Lecture 8 September 21, 2017 1 Introduction In this lecture we discuss the data type of natural numbers. They serve as a prototype
More informationReasoning about the Consequences of Authorization Policies in a Linear Epistemic Logic
Reasoning about the Consequences of Authorization Policies in a Linear Epistemic Logic Henry DeYoung July 2009 CMU-CS-09-140 Frank Pfenning School of Computer Science Carnegie Mellon University Pittsburgh,
More informationFinal Exam Substructural Logics Frank Pfenning. December 12, 2016
Final Exam 15-816 Substructural Logics Frank Pfenning December 12, 2016 Name: Andrew ID: Instructions This exam is closed-book, closed-notes. You have 3 hours to complete the exam. There are 6 problems.
More informationIntroduction to type theory and homotopy theory
Introduction to type theory and homotopy theory Michael Shulman January 24, 2012 1 / 47 Homotopy theory Homotopy type theory types have a homotopy theory Intensional type theory New perspectives on extensional
More informationMSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra. Iliano Cervesato. ITT Industries, NRL Washington, DC
MSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra Iliano Cervesato iliano@itd.nrl.navy.mil ITT Industries, inc @ NRL Washington, DC http://theory.stanford.edu/~iliano ISSS 2003,
More information1 / A bird s-eye view of type theory. 2 A bird s-eye view of homotopy theory. 3 Path spaces and identity types. 4 Homotopy type theory
Introduction to type theory and homotopy theory Michael Shulman January 24, 2012 Homotopy theory Homotopy type theory types have a homotopy theory New perspectives on extensional vs. intensional Intensional
More informationSelf-Adaptation and Information Flow in Multiparty Communications
Self-Adaptation and Information Flow in Multiparty Communications Joint work with Ilaria Castellani (INRIA, FR) Jorge A. Pérez (University of Groningen, NL) ABCD meeting London, 20th April, 2015 1 / 36
More informationLinear Logical Relations and Observational Equivalences for Session-Based Concurrency
Linear Logical Relations and Observational Equivalences for Session-Based Concurrency Jorge A. Pérez a, Luís Caires a, Frank Pfenning b, Bernardo Toninho a,b a CITI and Departamento de Informática, FCT
More informationType Systems as a Foundation for Reliable Computing
Type Systems as a Foundation for Reliable Computing Robert Harper Carnegie Mellon University Summer School on Reliable Computing University of Oregon July, 2005 References These lectures are based on the
More information4.4 Contracting Proofs to Programs
4.4 Contracting Proofs to Programs 75 We close this section with the formal version of the proof above. Note the use of the conversion rule conv. [ x : nat; [ ~ 0 = 0; 0 = 0; F; s(pred(0)) = 0 ]; ~ 0 =
More informationModel Checking. Boris Feigin March 9, University College London
b.feigin@cs.ucl.ac.uk University College London March 9, 2005 Outline 1 2 Techniques Symbolic 3 Software 4 Vs. Deductive Verification Summary Further Reading In a nutshell... Model checking is a collection
More informationLecture Notes on Ordered Logic
Lecture Notes on Ordered Logic 15-317: Constructive Logic Frank Pfenning Lecture 21 November 16, 2017 1 Introduction In this lecture we first review ordered inference with two new examples: a finite state
More informationManifest Sharing with Session Types
Manifest haring with ession Types tephanie Balzer and Frank Pfenning June 2017 CMU-C-17-106R (updated version of CMU-C-17-106, March 2017) Computer cience Department chool of Computer cience Carnegie Mellon
More informationA π-calculus with preorders
A π-calculus with preorders Daniel Hirschkoff, Jean-Marie Madiot, Davide Sangiorgi École Normale Supérieure de Lyon Università di Bologna PACE kick-off meeting, 2013-04-23 Jean-Marie Madiot (Lyon, Bologna)
More informationUML. Design Principles.
.. Babes-Bolyai University arthur@cs.ubbcluj.ro November 20, 2018 Overview 1 2 3 Diagrams Unified Modeling Language () - a standardized general-purpose modeling language in the field of object-oriented
More informationThe Logical Meeting Point of Multiset Rewriting and Process Algebra
MFPS 20 @ MU May 25, 2004 The Logical Meeting Point of Multiset Rewriting and Process Algebra Iliano ervesato iliano@itd.nrl.navy.mil ITT Industries, inc @ NRL Washington, D http://theory.stanford.edu/~iliano
More informationIntersection Synchronous Logic
UnB 2007 p. 1/2 Intersection Synchronous Logic Elaine Gouvêa Pimentel Simona Ronchi della Rocca Luca Roversi UFMG/UNITO, 2007 UnB 2007 p. 2/2 Outline Motivation UnB 2007 p. 2/2 Outline Motivation Intuitionistic
More informationProof Nets in Process Algebraic Form
Proof Nets in Process Algebraic Form Dimitris Mostrous Department of Informatics, University of Lisbon, Portugal dimitris@di.fc.ul.pt Abstract. We present δ-calculus, a computational interpretation of
More informationLogic and Computation
Logic and Computation Brigitte Pientka School of Computer Science McGill University Montreal, Canada These course notes have been developed by Prof. B. Pientka for COMP527:Logic and Computation. Part of
More informationTR : Binding Modalities
City University of New York (CUNY) CUNY Academic Works Computer Science Technical Reports Graduate Center 2012 TR-2012011: Binding Modalities Sergei N. Artemov Tatiana Yavorskaya (Sidon) Follow this and
More informationProof-theoretic semantics, self-contradiction and the format of deductive reasoning
St. Andrews, 19.11.2011 p. 1 To appear as an article in: L. Tranchini (ed.), Anti-Realistic Notions of Truth, Special issue of Topoi vol. 31 no. 1, 2012 Proof-theoretic semantics, self-contradiction and
More informationModular Multiset Rewriting in Focused Linear Logic
Modular Multiset Rewriting in Focused Linear Logic Iliano Cervesato and Edmund S. L. Lam July 2015 CMU-CS-15-117 CMU-CS-QTR-128 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213
More informationThe Inverse Method for the Logic of Bunched Implications
The Inverse Method for the Logic of Bunched Implications Kevin Donnelly 1, Tyler Gibson 2, Neel Krishnaswami 3, Stephen Magill 3,and Sungwoo Park 3 1 Department of Computer Science, Boston University,
More informationObserved Communication Semantics for Classical Processes
Observed Communication Semantics for Classical Processes Robert Atkey MSP Group, University of Strathclyde robert.atkey@strath.ac.uk Abstract. Classical Linear Logic (CLL) has long inspired readings of
More informationLecture Notes on From Rules to Propositions
Lecture Notes on From Rules to Propositions 15-816: Linear Logic Frank Pfenning Lecture 2 January 18, 2012 We review the ideas of ephemeral truth and linear inference with another example from graph theory:
More informationKleene realizability and negative translations
Q E I U G I C Kleene realizability and negative translations Alexandre Miquel O P. D E. L Ō A U D E L A R April 21th, IMERL Plan 1 Kleene realizability 2 Gödel-Gentzen negative translation 3 Lafont-Reus-Streicher
More informationNotes on Logical Frameworks
Notes on Logical Frameworks Robert Harper IAS November 29, 2012 1 Introduction This is a brief summary of a lecture on logical frameworks given at the IAS on November 26, 2012. See the references for technical
More informationHomotopy and Directed Type Theory: a Sample
Homotopy and Directed Type Theory: a Sample Dan Doel October 24, 2011 Type Theory Overview Judgments Γ ctx Γ A type Γ M : A Families Γ, x : A B(x) type Inference Γ 1 J 1 Γ 2 J 2 Type Theory Overview Π
More informationLecture Notes on Kripke Semantics for Validity
Lecture Notes on Kripke Semantics for Validity 15-816: Modal Logic Frank Pfenning Lecture 16 March 23, 2010 1 Introduction In this lecture we continue the analysis of distributed computation through modal
More informationThe L Machines are very high-level, in two senses:
What is a Computer? State of the machine. CMPSCI 630: Programming Languages An Abstract Machine for Control Spring 2009 (with thanks to Robert Harper) Internal registers, memory, etc. Initial and final
More informationCategories, Proofs and Programs
Categories, Proofs and Programs Samson Abramsky and Nikos Tzevelekos Lecture 4: Curry-Howard Correspondence and Cartesian Closed Categories In A Nutshell Logic Computation 555555555555555555 5 Categories
More informationLecture Notes on Data Abstraction
Lecture Notes on Data Abstraction 15-814: Types and Programming Languages Frank Pfenning Lecture 14 October 23, 2018 1 Introduction Since we have moved from the pure λ-calculus to functional programming
More informationOn a computational interpretation of sequent calculus for modal logic S4
On a computational interpretation of sequent calculus for modal logic S4 Yosuke Fukuda Graduate School of Informatics, Kyoto University Second Workshop on Mathematical Logic and Its Applications March
More informationA Symmetric Modal Lambda Calculus for Distributed Computing
Carnegie Mellon University Research Showcase Computer Science Department School of Computer Science 3-1-2004 A Symmetric Modal Lambda Calculus for Distributed Computing Tom Murphy Carnegie Mellon University
More informationOn a Logical Foundation for Explicit Substitutions
On a Logical Foundation for Explicit Substitutions Frank Pfenning Carnegie Mellon University Joint Invited Talk Typed Lambda Calculi and Applications (TLCA 07) Rewriting Techniques and Applications (RTA
More informationAn extension of HM(X) with bounded existential and universal data-types
Groupe de travail Cristal July, 2003 An extension of HM(X) with bounded existential and universal data-types (To appear at ICFP 03) Vincent Simonet INRIA Rocquencourt Cristal project Vincent.Simonet@inria.fr
More information