FLOC 2018: FEDERATED LOGIC CONFERENCE 2018
ITP ON MONDAY, JULY 9TH
Days:
next day
all days

View: session overviewtalk overviewside by side with other conferences

09:00-10:30 Session 46: FLoC Plenary Lecture: Peter O'Hearn
Location: Maths LT1
09:00
Continuous Reasoning: Scaling the Impact of Formal Methods

ABSTRACT. Formal reasoning about programs is one of the oldest and most fundamental research directions in computer science. It has also been one of the most elusive. There has been a tremendous amount of valuable research in formal  methods, but rarely have formal reasoning techniques been deployed as part of the development process of large industrial codebases.

 

This talk describes work in continuous reasoning, where formal reasoning about a (changing) codebase is done in a fashion which mirrors the iterative, continuous model of software development that is increasingly practiced in industry. We suggest that advances in continuous reasoning will allow formal reasoning to scale to more programs, and more programmers. We describe our experience using continuous reasoning with large, rapidly changing codebases at Facebook, and we describe open problems and directions for research for the scientific community.

 

This a paper with the same title accompanying this talk appears in the LICS’18 proceedings.

10:30-11:00Coffee Break
11:00-12:00 Session 47C: ITP Invited Talk: John Harrison
Location: Blavatnik LT1
11:00
Mike Gordon: Tribute to a Pioneer in Theorem Proving and Formal Verification

ABSTRACT. Prof. Michael J. C. Gordon, FRS was a great pioneer in both
computer-aided formal verification and interactive theorem proving.
His own work and that of his students helped to explore and map out
these new fields and in particular the fruitful connections between
them. His seminal HOL theorem prover not only gave rise to many
successors and relatives, but was also the framework in which many new
ideas and techniques in theorem proving and verification were explored
for the first time. Mike's untimely death in August 2017 was a tragedy
first and foremost for his family, but was felt as a shocking loss too
by many of us who felt part of his extended family of friends, former
students and colleagues throughout the world. Mike's intellectual
example as well as his unassuming nature and personal kindness will
always be something we treasure. In my talk here I will present an
overall perspective on Mike's life and the whole arc of his
intellectual career. I will also spend  time looking ahead, for
the research themes he helped to establish are still vital and
exciting today in both academia and industry.

12:00-12:30 Session 48
Location: Blavatnik LT1
12:00
Efficient Mendler-Style Lambda-Encodings in Cedille
SPEAKER: Denis Firsov

ABSTRACT. It is common to model inductive datatypes as least fixed points of functors. We show that within the Cedille type theory we can relax functoriality constraints and generically derive an induction principle for Mendler-style lambda-encoded inductive datatypes, which arise as least fixed points of covariant schemes where the morphism lifting is defined only on identities. Additionally, we implement a destructor for these lambda-encodings that runs in constant-time. As a result, we can define lambda-encoded natural numbers with an induction principle and a constant-time predecessor function so that the normal form of a numeral requires only linear space. The paper also includes several more advanced examples.

12:30-14:00Lunch Break
14:00-15:30 Session 49C
Location: Blavatnik LT1
14:00
Formalizing Implicative Algebras in Coq

ABSTRACT. We present a Coq formalization of Alexandre Miquel’s implicative algebras, which aim at providing a general algebraic framework for the study of classical realizability models. We first give a self-contained presentation of the underlying implicative structures, which roughly consists of a complete lattice equipped with a binary law representing the implication. We then explain how these structures can be turned into models by adding separators, giving rise to the so-called implicative algebras. Additionally, we show how they generalize Boolean and Heyting algebras as well as the usual algebraic structures used in the analysis of classical realizability.

14:30
Software Tool Support for Modular Reasoning in Modal Logics of Actions
SPEAKER: Samuel Balco

ABSTRACT. We present a software tool for reasoning in and about propositional sequent calculi for modal logics of actions. As an example, we implement the display calculus D.EAK of dynamic epistemic logic. The tool generates embeddings of the calculus in the theorem prover Isabelle for formalising proofs about D.EAK. Integrating propositional reasoning in D.EAK with inductive reasoning in Isabelle, we verify in Isabelle the solution of the muddy children puzzle for any number of muddy children. There also is a set of meta-tools that allows us to adapt the software for a wide variety of user defined calculi.

15:00
The Coinductive Formulation of Common Knowledge
SPEAKER: Colm Baston

ABSTRACT. We study the coinductive formulation of common knowledge in type theory. We formalise both the traditional relational semantics and an operator semantics, similar in form to the epistemic system S5, but at the level of events on possible worlds rather than as a logical derivation system. We have two major new results. Firstly, the operator semantics is equivalent to the relational semantics: we discovered that this requires a new hypothesis of semantic entailment on operators, not known in previous literature. Secondly, the coinductive version of common knowledge is equivalent to the traditional transitive closure on the relational interpretation. All results are formalised in the proof assistants Agda and Coq.

15:30-16:00Coffee Break
16:00-18:00 Session 51C
Location: Blavatnik LT1
16:00
Understanding Parameters of Deductive Verification: an Empirical Investigation of KeY

ABSTRACT. As formal verification of software systems is a complex task comprising many algorithms and heuristics, modern theorem provers offer numerous parameters that are to be selected by a user to control how a piece of software is verified. Evidently, the number of parameters even increases with each new release. One challenge is that default parameters are often insufficient to close proofs automatically and are not optimal in terms of verification effort. The verification phase becomes hardly accessible for non-experts, who typically must follow a time-consuming trial-and-error strategy to choose the right parameters for even trivial pieces of software. To aid users of deductive verification, we apply machine learning techniques to empirically investigate which parameters and combinations thereof impair or improve provability and verification effort. We exemplify our procedure on the deductive verification system KeY 2.6.1 and formulate 38 hypotheses of which only two have been invalidated. We identified parameters that portrait a trade-off between high provability and low verification effort, enabling the possibility to prioritize the selection of a parameter for either direction. Our insights give tool builders a better understanding of their control parameters and constitute a stepping stone towards automated deductive verification and better applicability of verification tools for non-experts.

16:30
Boosting the Reuse of Formal Specifications

ABSTRACT. Advances in theorem proving have enabled the emergence of a variety of formal developments that, over the years, have resulted in large corpuses of formalizations. For example, the NASA PVS Library is a collection of 55 formal developments written in the Prototype Verification System (PVS) over a period of almost 30 years and containing more 28000 proofs. Unfortunately, the simple accumulation of formal developments does not guarantee their reusability. In fact, in formal systems with very expressive specification languages, it is often the case that a particular conceptual object is defined in different ways. This paper presents a technique to establish sound connections between formal definitions. Such connections support the possibility of (partial) borrowing of proved results from one formal description into another, improving the reusability of formal developments. The technique is described using concepts from the field of universal algebra and algebraic specification. The technique is illustrated with concrete examples taken from formalizations available in the NASA PVS Library.

17:00
Formalization of a Polymorphic Subtyping Algorithm
SPEAKER: Jinxu Zhao

ABSTRACT. Modern functional programming languages such as Haskell support sophisticated forms of type-inference, even in the presence of higher-order polymorphism. Central to such advanced forms of type-inference is an algorithm for polymorphic subtyping. This paper formalizes an algorithmic specification for polymorphic subtyping in the Abella theorem prover. The algorithmic specification is shown to be decidable, and sound and complete with respect to Odersky and Laufer's well-known declarative formulation of polymorphic subtyping. While the meta-theoretical results are not new, as far as we know our work is the first to mechanically formalize them. Moreover, our algorithm differs from those currently in the literature by using a novel approach based on worklist judgements. Worklist judgements simplify the propagation of information required by the unification process during subtyping. Furthermore they enable a simple formulation of the meta-theoretical properties, which can be easily encoded in theorem provers.

17:30
A Formal Equational Theory for Call-by-Push-Value

ABSTRACT. Establishing that two programs are contextually equivalent is hard, yet essential for reasoning about semantics preserving program transformations such as compiler optimizations. We adapt Lassen's normal form bisimulations technique to establish the soundness of equational theories for both an untyped call-by-value lambda calculus and a variant of Levy's call-by-push-value language. We demonstrate that our equational theory significantly simplifies the verification of optimizations.

19:00-21:30 FLoC reception at Ashmolean Museum

FLoC reception at Ashmolean Museum. Drinks and canapés available from 7pm (pre-booking via FLoC registration system required; guests welcome).