Abstract
We review the concept of logical relations and how they interact with structural induction; furthermore we give examples of their use, and of particular interest is the combination with the PER-idea (partial equivalence relations). This is then generalized to Kripke-logical relations; the major application is to show that in combination with the PER-idea this solves the problem of establishing a substitution property in a manner conducive to structural induction. Finally we introduce the concept of Kripke-layered predicates; this allows a modular definition of predicates and supports a methodology of “proofs in stages” where each stage focuses on only one aspect and thus is more manageable. All of these techniques have been tested and refined in “realistic applications” that have been documented elsewhere.
Preview
Unable to display preview. Download preview PDF.
References
S. Hunt: PERs Generalise Projections for Strictness Analysis, report DOC 90/14, Imperial College (1990).
S. Hunt, D. Sands: Binding Time Analysis: A New PERspective, Proc. ACM Symposium on Partial Evaluation and Semantics-Based Program Manipulation, ACM Press (1991) 154–165.
R. Milner: Fully abstract models of typed λ-calculi, Theoretical Computer Science 4 (1977) 1–22.
J.C.Mitchell: Type Systems for Programming Languages, in: Handbook of Theoretical Computer Science, vol. B: Formal Models and Semantics, J. van Leeuwen (ed.), Elsevier (1990).
J.C. Mitchell, E. Moggi: Kripke-style models for typed λ-calculus, Proc. 2nd Ann. IEEE Symposium on Logic in Computer Science, IEEE Press (1987) 303–314.
F. Nielson: Program Transformations in a Denotational Setting, ACM Transactions on Programming Languages and Systems 7 (1985) 359–379.
F. Nielson: Correctness of code generation from a two-level metalanguage, Proc. ESOP 1986, Springer Lecture Notes in Computer Science 213 (1986) 30–40.
F. Nielson: Strictness Analysis and Denotational Abstract Interpretation, Information and Computation 76 29–92.
F. Nielson, H.R. Nielson: Two-Level Semantics and Code Generation, Theoretical Computer Science 56 (1988) 59–133.
F. Nielson, H.R. Nielson: Two-Level Functional Languages, Cambridge Tracts in Theoretical Computer Science 34, Cambridge University Press (1992).
G.D. Plotkin: Lambda-definability and logical relations, Edinburgh AI memo, Edinburgh University (1973).
G.D. Plotkin: Lambda-definability in the Pull Type Hierarchy, in: To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism, J.P. Seldin and J.R. Hindley (eds.), Academic Press (1980).
J.C. Reynolds: On the relation between direct and continuation semantics, Proc. 2nd ICALP, Springer Lecture Notes in Computer Science 14 (1974).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nielson, F., Nidson, H.R. (1993). Layered predicates. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Semantics: Foundations and Applications. REX 1992. Lecture Notes in Computer Science, vol 666. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56596-5_43
Download citation
DOI: https://doi.org/10.1007/3-540-56596-5_43
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56596-3
Online ISBN: 978-3-540-47595-8
eBook Packages: Springer Book Archive