8 research outputs found
A Proof Strategy Language and Proof Script Generation for Isabelle/HOL
We introduce a language, PSL, designed to capture high level proof strategies
in Isabelle/HOL. Given a strategy and a proof obligation, PSL's runtime system
generates and combines various tactics to explore a large search space with low
memory usage. Upon success, PSL generates an efficient proof script, which
bypasses a large part of the proof search. We also present PSL's monadic
interpreter to show that the underlying idea of PSL is transferable to other
ITPs.Comment: This paper has been submitted to CADE2
LiFtEr: Language to Encode Induction Heuristics for Isabelle/HOL
Proof assistants, such as Isabelle/HOL, offer tools to facilitate inductive
theorem proving. Isabelle experts know how to use these tools effectively;
however, there is a little tool support for transferring this expert knowledge
to a wider user audience. To address this problem, we present our
domain-specific language, LiFtEr. LiFtEr allows experienced Isabelle users to
encode their induction heuristics in a style independent of any problem domain.
LiFtEr's interpreter mechanically checks if a given application of induction
tool matches the heuristics, thus automating the knowledge transfer loop.Comment: This is the pre-print of our paper of the same title accepted at
APLAS2019 (https://doi.org/10.1007/978-3-030-34175-6_14). We updated the
draft after fixing the errata found by Kenji Miyamot
Practical Probability: Applying pGCL to Lattice Scheduling
Abstract. Building on our published mechanisation of the probabilistic program logic pGCL we present a verified lattice scheduler, a standard covert-channel mitigation technique, employing randomisation as an elegant means of ensuring starvation-freeness. We show that this scheduler enforces probabilistic non-leakage, in addition to non-starvation. The refinement framework employed is compatible with that used in the L4.verified project, supporting our argument that full-scale verification of probabilistic security properties for realistic systems software is feasible.
Modal Kleene Algebra Applied to Program Correctness
Modal Kleene algebras are relatives of dynamic logics that support program construction and verification by equational reasoning. We describe their application in implementing versatile program correctness components in interactive theorem provers such as Isabelle/HOL. Starting from a weakest precondition based component with a simple relational store model, we show how variants for Hoare logic, strongest postconditions and program refinement can be built in a principled way. Modularity of the approach is demonstrated by variants that capture program termination and recursion, memory models for programs with pointers, and program trace semantics.Engineering and Physical Sciences Research Council (Grant ID: REMS: Rigorous Engineering for Mainstream Systems, EP/K008528/1)This is the author accepted manuscript. It is currently under an indefinite embargo pending publication by Springer