|
ABSTRACT
We present a process logic for the p -calculus with the linear/affine type discipline [6, 7, 31, 32, 33, 59, 60]. Built on the preceding studies on logics for programs and processes, simple systems of assertions are developed, capturing the classes of behaviours ranging from purely functional interactions to those with destructive update, local state and genericity. A central feature of the logic is representation of the behaviour of an environment as the dual of that of a process in an assertion, which is crucial for obtaining compositional proof systems. From the process logic we can derive compositional program logics for various higher-order programming languages, whose soundness is proved via their embeddings into the process logic. In this paper, the key technical framework of the process logic and its applications is presented focussing on pure functional behaviour and a prototypical call-by-value functional language, leaving the full technical development to [27, 26].
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
|
 |
4
|
|
| |
5
|
|
| |
6
|
Berger, M., Honda, K. and Yoshida, N., Sequentiality and the π-Calculus, TLCA01, LNCS 2044, 29--45, 2001.
|
| |
7
|
Berger, M., Honda, K. and Yoshida, N., Genericity and the π-Calculus, FoSSaCs'03, LNCS 2620, 103--119, 2003.
|
| |
8
|
Boudol, G., Asynchrony and the pi-calculus, INRIA Research Report 1702, 1992.
|
| |
9
|
|
| |
10
|
Clint, M. and Hoare C.A.R. Program proving: jumps and functions. Acta Inf. 1:214--224, 1971.
|
| |
11
|
|
| |
12
|
Curry, B. and Feys, R. Combinatory Logic. North-Holland, 1958.
|
| |
13
|
|
| |
14
|
Gordon, M., Milner, A. and Wadsworth, C., Edinburgh LCF, LNCS 78, 1979.
|
| |
15
|
|
| |
16
|
Floyd, W. Assigning meaning to programs. Prc. Symp. in Applied Mathematics. 19:19--32, 1967.
|
| |
17
|
Francez N. and Pnueli, A. A proof method for cyclic programs. Acta Inf. 9, pp.133--157, 1978.
|
| |
18
|
|
| |
19
|
Harel, D. Proving the correctness of regular deterministic programs. TCS, 12:61--81, 1980.
|
 |
20
|
|
 |
21
|
|
| |
22
|
Hoare, C.A.R. Procedures and Parameters: an axiomatic approach. Lecture Notes in Mathematics 188, 102--116, Semantics of Algorithmic Languages, Springer, 1971.
|
| |
23
|
|
| |
24
|
Hoare, C.A.R. and Wirth, N., An axiomatic definition of the programming language PASCAL. Acta Inf. 2:335--355, 1973.
|
 |
25
|
|
| |
26
|
Honda, K. Sequential Process Logics: Soundness Proofs. Typescript, 50pp. November 2003/January 2004. Available at: www.dcs.qmul.ac.uk/~kohei/logics.
|
| |
27
|
Honda, K. Process Logic and Duality: Part (1) Sequential Processes. Typescript, 210pp. March 2004. Available at: www.dcs.qmul.ac.uk/~kohei/logics.
|
 |
28
|
|
| |
29
|
|
| |
30
|
|
 |
31
|
|
| |
32
|
|
| |
33
|
Honda, K., Yoshida, N. and Berger, M., Control in the π -Calculus, Proc. CW'04, ACM, 2004.
|
| |
34
|
|
 |
35
|
Bart Jacobs , Joachim van den Berg , Marieke Huisman , Martijn van Berkum , U. Hensel , H. Tews, Reasoning about Java classes: preliminary report, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.329-340, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
36
|
Jones, C.B. Specification and Design of (Parallel) Programs. Proc. IFIP 9th World Computer Congress. North Holland, 321--332, 1983.
|
 |
37
|
|
| |
38
|
Kowaltowsky, T. Axiomatic approach to side effects and general jumps. Acta Informatica 7, 357--360.
|
| |
39
|
|
| |
40
|
|
| |
41
|
Longley, J. and Plotkin, G. Logical Full Abstraction and PCF. Tbilisi Symposium on Logic, Language and Information. 333--352, Stanford, CSLI, 1998.
|
| |
42
|
|
| |
43
|
|
| |
44
|
Milner, R., Functions as Processes, MSCS. 2(2):119--141, 1992,
|
| |
45
|
Milner, R., Speech by Robin Milner on receiving an Honorary Degree from the University of Bologna, ICALP'97, http://www.cs.unibo.it/icalp/Lauree milner.html.
|
| |
46
|
|
| |
47
|
|
| |
48
|
Milner, R., Polyadic π -Calculus: a tutorial. Proceedings of the International Summer School on Logic Algebra of Specification, Marktoberdorf, 1992.
|
| |
49
|
Naur, P. Proof of algorithms by general snapshots. BIT 6, 310--316, 1966.
|
 |
50
|
|
| |
51
|
Oheimb, D.V., Hoare Logic for Java in Isabelle/HOL. Concurrency: Practice and Experience. John Wiley, 2002.
|
| |
52
|
|
| |
53
|
Pierce, B.C. and Sangiorgi. D, Typing and subtyping for mobile processes. MSCS, 6(5):409--454, 1996.
|
| |
54
|
|
| |
55
|
|
| |
56
|
Reynolds, J. Intuitionistic Reasoning about Shared Mutable Data Structure, Millennial Perspectives in Computer Science, Oxford, 1999.
|
| |
57
|
|
| |
58
|
|
| |
59
|
|
| |
60
|
|
|