Introduction to mathematical logic; (3rd ed.)
Introduction to mathematical logic; (3rd ed.)
Towards fully abstract semantics for local variables
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A variable typed logic of effects
Information and Computation
Operational reasoning for functions with local state
Higher order operational techniques in semantics
An axiomatic basis for computer programming
Communications of the ACM
Types and programming languages
Types and programming languages
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
A New Approach to Abstract Syntax Involving Binders
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Nominal logic, a first order theory of names and binding
Information and Computation - TACS 2001
A compositional logic for polymorphic higher-order functions
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
From process logic to program logic
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Semantics of Separation-Logic Typing and Higher-Order Frame Rules
LICS '05 Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science
An Observationally Complete Program Logic for Imperative Higher-Order Frame Rules
LICS '05 Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science
A logical analysis of aliasing in imperative higher-order functions
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
A proof theory for generic judgments
ACM Transactions on Computational Logic (TOCL)
Verifying properties of well-founded linked lists
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Small bisimulations for reasoning about higher-order imperative programs
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polymorphism and separation in hoare type theory
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Descriptive and relative completeness of logics for higher-order functions
ICALP'06 Proceedings of the 33rd international conference on Automata, Languages and Programming - Volume Part II
About hoare logics for higher-order store
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
Separation logic for higher-order store
CSL'06 Proceedings of the 20th international conference on Computer Science Logic
BI hyperdoctrines and higher-order separation logic
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
A logical analysis of aliasing in imperative higher-order functions
Journal of Functional Programming
Completeness and Logical Full Abstraction in Modal Logics for Typed Mobile Processes
ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
Weak updates and separation logic
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Verifying generics and delegates
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Program logics for homogeneous meta-programming
LPAR'10 Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning
Program logics for sequential higher-order control
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
A unified theory of program logics: an approach based on the π-calculus
VoCS'08 Proceedings of the 2008 international conference on Visions of Computer Science: BCS International Academic Conference
Hi-index | 0.00 |
We introduce an extension of Hoare logic for call-by-value higher-order functions with ML-like local reference generation. Local references may be generated dynamically and exported outside their scope, may store higher-order functions and may be used to construct complex mutable data structures. This primitive is captured logically using a predicate asserting reachability of a reference name from a possibly higher-order datum and quantifiers over hidden references. The logic enjoys three completeness properties: relative completeness, a logical characterisation of the contextual congruence and derivability of characteristic formulae. The axioms for reachability and local invariants play a fundamental role in reasoning about non-trivial programs combining higher-order procedures and dynamically generated references.