Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleFebruary 2024
Discovering agents (abstract reprint)
AAAI'24/IAAI'24/EAAI'24: Proceedings of the Thirty-Eighth AAAI Conference on Artificial Intelligence and Thirty-Sixth Conference on Innovative Applications of Artificial Intelligence and Fourteenth Symposium on Educational Advances in Artificial IntelligenceArticle No.: 2568, Page 22701https://doi.org/10.1609/aaai.v38i20.30601Causal models of agents have been used to analyse the safety aspects of machine learning systems. But identifying agents is non-trivial – often the causal model is just assumed by the modeller without much justification – and modelling failures can lead ...
- research-articleSeptember 2023
Discovering agents
AbstractCausal models of agents have been used to analyse the safety aspects of machine learning systems. But identifying agents is non-trivial – often the causal model is just assumed by the modeller without much justification – and modelling failures ...
Highlights- First formal causal definition of agents.
- First causal discovery algorithm for discovering agents from empirical data.
- Algorithms for translating between causal models and game-theoretic influence diagrams.
- Resolves confusions ...
Cakes That Bake Cakes: Dynamic Computation in CakeML
- Thomas Sewell,
- Magnus O. Myreen,
- Yong Kiam Tan,
- Ramana Kumar,
- Alexander Mihajlovic,
- Oskar Abrahamsson,
- Scott Owens
Proceedings of the ACM on Programming Languages (PACMPL), Volume 7, Issue PLDIArticle No.: 152, Pages 1121–1144https://doi.org/10.1145/3591266We have extended the verified CakeML compiler with a new language primitive, Eval, which permits evaluation of new CakeML syntax at runtime. This new implementation supports an ambitious form of compilation at runtime and dynamic execution, where ...
- research-articleFebruary 2021
TacticToe: Learning to Prove with Tactics
Journal of Automated Reasoning (JAUR), Volume 65, Issue 2Pages 257–286https://doi.org/10.1007/s10817-020-09580-xAbstractWe implement an automated tactical prover TacticToe on top of the HOL4 interactive theorem prover. TacticToe learns from human proofs which mathematical technique is suitable in each proof situation. This knowledge is then used in a Monte Carlo ...
- research-articleOctober 2020
Proof-Producing Synthesis of CakeML from Monadic HOL Functions
- Oskar Abrahamsson,
- Son Ho,
- Hrutvik Kanabar,
- Ramana Kumar,
- Magnus O. Myreen,
- Michael Norrish,
- Yong Kiam Tan
Journal of Automated Reasoning (JAUR), Volume 64, Issue 7Pages 1287–1306https://doi.org/10.1007/s10817-020-09559-8AbstractWe introduce an automatic method for producing stateful ML programs together with proofs of correctness from monadic functions in HOL. Our mechanism supports references, exceptions, and I/O operations, and can generate functions manipulating local ...
-
Verified compilation on a verified processor
- Andreas Lööw,
- Ramana Kumar,
- Yong Kiam Tan,
- Magnus O. Myreen,
- Michael Norrish,
- Oskar Abrahamsson,
- Anthony Fox
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 1041–1053https://doi.org/10.1145/3314221.3314622Developing technology for building verified stacks, i.e., computer systems with comprehensive proofs of correctness, is one way the science of programming languages furthers the computing discipline. While there have been successful projects verifying ...
- ArticleJuly 2018
Program Verification in the Presence of I/O: Semantics, Verified Library Routines, and Verified Applications
Verified Software. Theories, Tools, and ExperimentsPages 88–111https://doi.org/10.1007/978-3-030-03592-1_6AbstractSoftware verification tools that build machine-checked proofs of functional correctness usually focus on the algorithmic content of the code. Their proofs are not grounded in a formal semantic model of the environment that the program runs in, or ...
- ArticleJuly 2018
Verified Certificate Checking for Counting Votes
Verified Software. Theories, Tools, and ExperimentsPages 69–87https://doi.org/10.1007/978-3-030-03592-1_5AbstractWe introduce a new framework for verifying electronic vote counting results that are based on the Single Transferable Vote scheme (STV). Our approach frames electronic vote counting as certified computation where each execution of the counting ...
Verifying efficient function calls in CakeML
Proceedings of the ACM on Programming Languages (PACMPL), Volume 1, Issue ICFPArticle No.: 18, Pages 1–27https://doi.org/10.1145/3110262We have designed an intermediate language (IL) for the CakeML compiler that supports the verified, efficient compilation of functions and calls. Verified compilation steps include batching of multiple curried arguments, detecting calls to statically ...
- ArticleApril 2017
Verified Characteristic Formulae for CakeML
AbstractCharacteristic Formulae (CF) offer a productive, principled approach to generating verification conditions for higher-order imperative programs, but so far the soundness of CF has only been considered with respect to an informal specification of a ...
- research-articleJanuary 2017
Verified compilation of CakeML to multiple machine-code targets
CPP 2017: Proceedings of the 6th ACM SIGPLAN Conference on Certified Programs and ProofsPages 125–137https://doi.org/10.1145/3018610.3018621This paper describes how the latest CakeML compiler supports verified compilation down to multiple realistically modelled target architectures. In particular, we describe how the compiler definition, the various language semantics, and the correctness ...
- research-articleSeptember 2016
A new verified compiler backend for CakeML
ICFP 2016: Proceedings of the 21st ACM SIGPLAN International Conference on Functional ProgrammingPages 60–73https://doi.org/10.1145/2951913.2951924We have developed and mechanically verified a new compiler backend for CakeML. Our new compiler features a sequence of intermediate languages that allows it to incrementally compile away high-level features and enables verification at the right levels ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 9 - ArticleApril 2016
Functional Big-Step Semantics
Proceedings of the 25th European Symposium on Programming Languages and Systems - Volume 9632Pages 589–615https://doi.org/10.1007/978-3-662-49498-1_23When doing an interactive proof about a piece of software, it is important that the underlying programming language's semantics does not make the proof unnecessarily difficult or unwieldy. Both small-step and big-step semantics are commonly used, and the ...
- articleMarch 2016
Self-Formalisation of Higher-Order Logic
Journal of Automated Reasoning (JAUR), Volume 56, Issue 3Pages 221–259https://doi.org/10.1007/s10817-015-9357-xWe present a mechanised semantics for higher-order logic (HOL), and a proof of soundness for the inference system, including the rules for making definitions, implemented by the kernel of the HOL Light theorem prover. Our work extends Harrison's ...
- research-articleSeptember 2015
A verified type system for CakeML
IFL '15: Proceedings of the 27th Symposium on the Implementation and Application of Functional Programming LanguagesArticle No.: 7, Pages 1–12https://doi.org/10.1145/2897336.2897344CakeML is a dialect of the (strongly typed) ML family of programming languages, designed to play a central role in high-assurance software systems. To date, the main artefact supporting this is a verified compiler from CakeML source code to x86-64 ...
- research-articleJanuary 2014
CakeML: a verified implementation of ML
POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 179–191https://doi.org/10.1145/2535838.2535841We have developed and mechanically verified an ML system called CakeML, which supports a substantial subset of Standard ML. CakeML is implemented as an interactive read-eval-print loop (REPL) in x86-64 machine code. Our correctness theorem ensures that ...
Also Published in:
ACM SIGPLAN Notices: Volume 49 Issue 1 - ArticleJuly 2013
Steps towards verified implementations of HOL light
ITP'13: Proceedings of the 4th international conference on Interactive Theorem ProvingPages 490–495https://doi.org/10.1007/978-3-642-39634-2_38This short paper describes our plans and progress towards construction of verified ML implementations of HOL Light: the first formally proved soundness result for an LCF-style prover. Building on Harrison's formalisation of the HOL Light logic and our ...
- ArticleAugust 2011
Formal verification of real-time data processing of the LHC beam loss monitoring system: a case study
FMICS'11: Proceedings of the 16th international conference on Formal methods for industrial critical systemsPages 212–227We describe a collaborative effort in which the HOL4 theorem prover is being used to formally verify properties of a structure within the Large Hadron Collider (LHC) machine protection system at the European Organization for Nuclear Research (CERN). ...
- ArticleAugust 2011
Validating QBF validity in HOL4
ITP'11: Proceedings of the Second international conference on Interactive theorem provingPages 168–183The Quantified Boolean Formulae (QBF) solver Squolem can generate certificates of validity, based on Skolem functions. We present independent checking of these certificates in the HOL4 theorem prover. This enables HOL4 users to benefit from Squolem's ...
- ArticleJuly 2010
(Nominal) unification by recursive descent with triangular substitutions
ITP'10: Proceedings of the First international conference on Interactive Theorem ProvingPages 51–66https://doi.org/10.1007/978-3-642-14052-5_6Using HOL4, we mechanise termination and correctness for two unification algorithms, written in a recursive descent style. One computes unifiers for first order terms, the other for nominal terms (terms including α-equivalent binding structure). Both ...