Lawrence C. Paulson

dblp:p/LCPaulson · DBLP profile ↗
← Back
81ranked-venue papers
35as first author
13since 2021 · last 2026
0000-0003-0288-4279ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 41 · 18 first-author · 11 since 2021Artificial intelligence and machine learning · 35 · 13 first-author · 5 since 2021Software engineering, systems software and programming languages · 16 · 7 first-author · 4 since 2021Security and privacy · 9 · 5 first-authorSystems, architecture and hardware · 1Computer networks · 1Graphics, computer vision, multimedia, augmented reality and games · 1Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author
YearPublicationVenuePosition
2026 Nitro Isolation Engine: Formally Verifying a Production Hypervisor (Invited Talk)
abstract
Cloud computing relies on hypervisors to enforce isolation between co-tenanted virtual machines. Hypervisors are therefore critical security infrastructure, and assurance of their correctness is paramount. Traditional engineering techniques - code review, testing, fuzzing - provide strong assurance but cannot exhaustively verify that isolation holds across all possible execution paths. Formal verification extends and complements these approaches by establishing mathematical guarantees about system behaviour. This talk presents our experience applying interactive theorem proving to verify a production hypervisor component: the Nitro Isolation Engine. This is a trusted, minimalist computing base written in Rust, enforcing isolation between virtual machines on AWS Graviton5 EC2 instances. Designed for verification from inception, we have specified the intended behaviour of this component and verified correctness in the Isabelle/HOL interactive theorem prover, producing approximately 330,000 lines of machine-checked models and proofs, and establishing three key classes of property: 1) Functional correctness: The system behaves as specified for all operations including virtual machine creation, memory mapping, and abort handling. Our total verification approach additionally establishes memory-safety, termination, and absence of runtime errors. 2) Confidentiality: A noninterference-style property demonstrates that guest virtual machine state remains hidden from an expansive definition of observer monitoring system actions, formalised as indistinguishability preservation up to permitted declassification flows. 3) Integrity: Guest virtual machine private state is unaffected by operations on distinct virtual machines. Currently, our proof coverage extends to verification of the core virtual machine-management hypercalls, guest power management, various utility hypercalls, and a subset of data, instruction, and asynchronous abort handling, and will continue to expand to cover more functionality including PCI device management and virtual GIC (Generic Interrupt Controller) handling. The talk will discuss the verification approach, key proof techniques, and challenges in applying formal methods to production systems. Note that this work builds on decades of academic research across interactive theorem proving, formal specification, separation logic and its automation, and programming language semantics.
Hanno Becker, Nathan Chong, Robert Dockins, Jim Grundy, Jason Z. S. Hu, Ike Mulder, Dominic P. Mulligan, Paul Mure, Bryan Parno, Lawrence C. Paulson, Konrad Slind
ITP10
2026 From Weierstraß to Dedekind via Jacobi: Formalising Foundations of Modular Forms
abstract
We present an Isabelle/HOL formalisation of the foundations of analytic number theory related to modular forms. We begin by refactoring and extending the existing library on elliptic functions, adding the theorem that every elliptic function can be written in terms of the Weierstraß elliptic function ℘ and the addition theorem for ℘, which links complex lattices to elliptic curves. Next, we develop an extensive library on the Jacobi theta functions, including well-known results such as the Jacobi triple product, the Pentagonal Number Theorem, and the Rogers-Ramanujan identities. Finally, we apply this library to the study of the Dedekind η function and "forbidden" Eisenstein series G₂. In all of this, we aim for short and clean proofs, building a library of reusable lemmas.
Manuel Eberl, Wenda Li 0001, Lawrence C. Paulson
ITP3
2025 Formalising New Mathematics in Isabelle: Diagonal Ramsey
abstract
The formalisation of mathematics is becoming routine, but its value to research mathematicians remains unproven. There are few examples of using proof assistants to verify new work. This paper reports the formalisation - inspired by a Lean one by Bhavik Mehta - of a major new result [Marcelo Campos et al., 2023] about Ramsey numbers. One unexpected finding was a heavy role for computer algebra techniques.
Lawrence C. Paulson
ITP1
2024 Formal Probabilistic Methods for Combinatorial Structures using the Lovász Local Lemma
abstract
Formalised libraries of combinatorial mathematics have rapidly expanded over the last five years, but few use one of the most important tools: probability. How can often intuitive probabilistic arguments on the existence of combinatorial structures, such as hypergraphs, be translated into a formal text? We present a modular framework using locales in Isabelle/HOL to formalise such probabilistic proofs, including the basic existence method and first formalisation of the Lovász local lemma, a fundamental result in probability. The formalisation focuses on general, reusable formal probabilistic lemmas for combinatorial structures, and highlights several notable gaps in typical intuitive probabilistic reasoning on paper. The applicability of the techniques is demonstrated through the formalisation of several classic lemmas on the existence of hypergraphs with certain colourings.
Chelsea Edmonds, Lawrence C. Paulson
CPP2
2024 Formalising Half of a Graduate Textbook on Number Theory (Short Paper)
Manuel Eberl, Anthony Bordg, Lawrence C. Paulson, Wenda Li 0001
ITP3
2024 A formalised theorem in the partition calculus
abstract
A paper on ordinal partitions by Erdős and Milner [7] has been formalised using the proof assistant Isabelle/HOL, augmented with a library for Zermelo–Fraenkel set theory. The work is part of a project on formalising the partition calculus. The chosen material is particularly appropriate in view of the substantial corrections [8] later published by its authors, illustrating the potential value of formal verification.
Lawrence C. Paulson
Ann. Pure Appl. Log.1
2023 Large-Scale Formal Proof for the Working Mathematician - Lessons Learnt from the ALEXANDRIA Project
abstract
ALEXANDRIA is an ERC-funded project that started in 2017, with the aim of bringing formal verification to mathematics. The past six years have seen great strides in the formalisation of mathematics and also in some relevant technologies, above all machine learning. Six years of intensive formalisation activity seem to show that even the most advanced results, drawing on multiple fields of mathematics, can be formalised using the tools available today.
Lawrence C. Paulson
CICM1
2023 Formalising Szemerédi's Regularity Lemma and Roth's Theorem on Arithmetic Progressions in Isabelle/HOL
abstract
Abstract We have formalised Szemerédi’s Regularity Lemma and Roth’s Theorem on Arithmetic Progressions, two major results in extremal graph theory and additive combinatorics, using the proof assistant Isabelle/HOL. For the latter formalisation, we used the former to first show the Triangle Counting Lemma and the Triangle Removal Lemma: themselves important technical results. Here, in addition to showcasing the main formalised statements and definitions, we focus on sensitive points in the proofs, describing how we overcame the difficulties that we encountered.
Chelsea Edmonds, Angeliki Koutsoukou-Argyraki, Lawrence C. Paulson
J. Autom. Reason.3
2022 Formalising Fisher's Inequality: Formal Linear Algebraic Proof Techniques in Combinatorics
abstract
The formalisation of mathematics is continuing rapidly, however combinatorics continues to present challenges to formalisation efforts, such as its reliance on techniques from a wide range of other fields in mathematics. This paper presents formal linear algebraic techniques for proofs on incidence structures in Isabelle/HOL, and their application to the first formalisation of Fisher's inequality. In addition to formalising incidence matrices and simple techniques for reasoning on linear algebraic representations, the formalisation focuses on the linear algebra bound and rank arguments. These techniques can easily be adapted for future formalisations in combinatorics, as we demonstrate through further application to proofs of variations on Fisher's inequality.
Chelsea Edmonds, Lawrence C. Paulson
ITP2
2022 Wetzel: Formalisation of an Undecidable Problem Linked to the Continuum Hypothesis
abstract
In 1964, Paul Erdős published a paper [ 5 ] settling a question about function spaces that he had seen in a problem book. Erdős proved that the answer was yes if and only if the continuum hypothesis was false: an innocent-looking question turned out to be undecidable in the axioms of ZFC. The formalisation of these proofs in Isabelle/HOL demonstrate the combined use of complex analysis and set theory, and in particular how the Isabelle/HOL library for ZFC [ 17 ] integrates set theory with higher-order logic.
Lawrence C. Paulson
CICM1
2022 Formal Verification of Transcendental Fixed- and Floating-point Algorithms using an Automatic Theorem Prover
abstract
We present a method for formal verification of transcendental hardware and software algorithms that scales to higher precision without suffering an exponential growth in runtimes. A class of implementations using piecewise polynomial approximation to compute the result is verified using MetiTarski, an automated theorem prover, which verifies a range of inputs for each call. The method was applied to commercial implementations from Cadence Design Systems with significant runtime gains over exhaustive testing methods and was successful in proving that the expected accuracy of one implementation was overly optimistic. Reproducing the verification of a sine implementation in software, previously done using an alternative theorem-proving technique, demonstrates that the MetiTarski approach is a viable competitor. Verification of a 52-bit implementation of the square root function highlights the method’s high-precision capabilities.
Samuel Coward, Lawrence C. Paulson, Theo Drane, Emiliano Morini
Formal Aspects Comput.2
2021 IsarStep: a Benchmark for High-level Mathematical Reasoning
Wenda Li 0001, Yuhuai Wu, Lawrence C. Paulson
ICLR4
2021 A Modular First Formalisation of Combinatorial Design Theory
Chelsea Edmonds, Lawrence C. Paulson
CICM2
2020 Bayesian Optimisation for Premise Selection in Automated Theorem Proving (Student Abstract)
abstract
Modern theorem provers utilise a wide array of heuristics to control the search space explosion, thereby requiring optimisation of a large set of parameters. An exhaustive search in this multi-dimensional parameter space is intractable in most cases, yet the performance of the provers is highly dependent on the parameter assignment. In this work, we introduce a principled probabilistic framework for heuristic optimisation in theorem provers. We present results using a heuristic for premise selection and the Archive of Formal Proofs (AFP) as a case study.
Agnieszka Slowik, Chaitanya Mangla, Mateja Jamnik, Sean B. Holden, Lawrence C. Paulson
AAAI5
2020 Evaluating Winding Numbers and Counting Complex Roots Through Cauchy Indices in Isabelle/HOL
abstract
In complex analysis, the winding number measures the number of times a path (counter-clockwise) winds around a point, while the Cauchy index can approximate how the path winds. We formalise this approximation in the Isabelle theorem prover, and provide a tactic to evaluate winding numbers through Cauchy indices. By further combining this approximation with the argument principle, we are able to make use of remainder sequences to effectively count the number of complex roots of a polynomial within some domains, such as a rectangular box and a half-plane.
Wenda Li 0001, Lawrence C. Paulson
J. Autom. Reason.2
2019 Counting polynomial roots in isabelle/hol: a formal proof of the budan-fourier theorem
abstract
Many problems in computer algebra and numerical analysis can be reduced to counting or approximating the real roots of a polynomial within an interval. Existing verified root-counting procedures in major proof assistants are mainly based on the classical Sturm theorem, which only counts distinct roots.
Wenda Li 0001, Lawrence C. Paulson
CPP2
2019 From LCF to Isabelle/HOL
abstract
Abstract Interactive theorem provers have developed dramatically over the past four decades, from primitive beginnings to today’s powerful systems. Here, we focus on Isabelle/HOL and its distinctive strengths. They include automatic proof search, borrowing techniques from the world of first order theorem proving, but also the automatic search for counterexamples. They include a highly readable structured language of proofs and a unique interactive development environment for editing live proof documents. Everything rests on the foundation conceived by Robin Milner for Edinburgh LCF: a proof kernel, using abstract types to ensure soundness and eliminate the need to store proofs. Compared with the research prototypes of the 1970s, Isabelle is a practical and versatile tool. It is used by system designers, mathematicians and many others.
Lawrence C. Paulson, Tobias Nipkow, Markus Wenzel 0001
Formal Aspects Comput.1
2019 An Isabelle/HOL Formalisation of Green's Theorem
Mohammad Abdulaziz, Lawrence C. Paulson
J. Autom. Reason.2
2019 Deciding Univariate Polynomial Problems Using Untrusted Certificates in Isabelle/HOL
abstract
We present a proof procedure for univariate real polynomial problems in Isabelle/HOL. The core mathematics of our procedure is based on univariate cylindrical algebraic decomposition. We follow the approach of untrusted certificates, separating solving from verifying: efficient external tools perform expensive real algebraic computations, producing evidence that is formally checked within Isabelle’s logic. This allows us to exploit highly-tuned computer algebra systems like Mathematica to guide our procedure without impacting the correctness of its results. We present experiments demonstrating the efficacy of this approach, in many cases yielding orders of magnitude improvements over previous methods.
Wenda Li 0001, Grant Olney Passmore, Lawrence C. Paulson
J. Autom. Reason.3
2018 Introduction to Milestones in Interactive Theorem Proving
Jeremy Avigad, Jasmin Blanchette, Gerwin Klein, Lawrence C. Paulson, Andrei Popescu 0001, Gregor Snelting
J. Autom. Reason.4
2017 Porting the HOL light analysis library: some lessons (invited talk)
abstract
The HOL Light proof assistant is famous for its huge multivariate analysis library: nearly 300,000 lines of code and 13,000 theorems. A substantial fraction of this library has been manually ported to Isabelle/HOL. The Isabelle analysis library contains approximately 7400 named theorems, including Cauchy's integral and residue theorems, the Liouville theorem, the open mapping and domain invariance theorems, the maximum modulus principle and the Krein-Milman Minkowski theorem.
Lawrence C. Paulson
CPP1
2016 A modular, efficient formalisation of real algebraic numbers
abstract
This paper presents a construction of the real algebraic numbers with executable arithmetic operations in Isabelle/HOL. Instead of verified resultants, arithmetic operations on real algebraic numbers are based on a decision procedure to decide the sign of a bivariate polynomial (with rational coefficients) at a real algebraic point. The modular design allows the safe use of fast external code. This work can be the basis for decision procedures that rely on real algebraic numbers.
Wenda Li 0001, Lawrence C. Paulson
CPP2
2016 An Isabelle/HOL Formalisation of Green's Theorem
Mohammad Abdulaziz, Lawrence C. Paulson
ITP2
2016 A Formal Proof of Cauchy's Residue Theorem
Wenda Li 0001, Lawrence C. Paulson
ITP2
2015 A Formalisation of Finite Automata Using Hereditarily Finite Sets
Lawrence C. Paulson
CADE1
2015 The Higher-Order Prover Leo-II
abstract
Leo-II is an automated theorem prover for classical higher-order logic. The prover has pioneered cooperative higher-order-first-order proof automation, it has influenced the development of the TPTP THF infrastructure for higher-order logic, and it has been applied in a wide array of problems. Leo-II may also be called in proof assistants as an external aid tool to save user effort. For this it is crucial that Leo-II returns proof information in a standardised syntax, so that these proofs can eventually be transformed and verified within proof assistants. Recent progress in this direction is reported for the Isabelle/HOL system.
Christoph Benzmüller, Nik Sultana, Lawrence C. Paulson, Frank Theiss
J. Autom. Reason.3
2015 A Mechanised Proof of Gödel's Incompleteness Theorems Using Nominal Isabelle
Lawrence C. Paulson
J. Autom. Reason.1
2014 Applying Machine Learning to the Problem of Choosing a Heuristic to Select the Variable Ordering for Cylindrical Algebraic Decomposition
Zongyan Huang, Matthew England 0001, David J. Wilson, James H. Davenport, Lawrence C. Paulson, James P. Bridge
CICM5
2014 Machine Learning for First-Order Theorem Proving - Learning to Select a Good Heuristic
James P. Bridge, Sean B. Holden, Lawrence C. Paulson
J. Autom. Reason.3
2013 Extending Sledgehammer with SMT Solvers
Jasmin Blanchette, Sascha Böhme, Lawrence C. Paulson
J. Autom. Reason.3
2013 Case Splitting in an Automatic Theorem Prover for Real-Valued Special Functions
James P. Bridge, Lawrence C. Paulson
J. Autom. Reason.2
2012 MetiTarski: Past and Future
Lawrence C. Paulson
ITP1
2011 Extending Sledgehammer with SMT Solvers
Jasmin Blanchette, Sascha Böhme, Lawrence C. Paulson
CADE3
2010 Formal verification of analog circuits in the presence of noise and process variation
abstract
We model and verify analog designs in the presence of noise and process variation using an automated theorem prover, MetiTarski. Due to the statistical nature of noise, we propose to use stochastic differential equations (SDE) to model the designs. We find a closed form solution for the SDEs, then integrate the device variation due to the 0.18¿m fabrication process and verify properties using MetiTarski. We illustrate the proposed approach on an inverting Op-Amp Integrator and a Band-Gap reference bias circuit.
Rajeev Narayanan, Behzad Akbarpour, Mohamed H. Zaki, Sofiène Tahar, Lawrence C. Paulson
DATE5
2010 MetiTarski: An Automatic Theorem Prover for Real-Valued Special Functions
Behzad Akbarpour, Lawrence C. Paulson
J. Autom. Reason.2
2009 Formal verification of analog designs using MetiTarski
abstract
MetiTarski, an automatic theorem prover for inequalities on real-valued elementary functions, can be used to verify properties of analog circuits. First, a closed form solution to the model of the circuit is obtained. We present two techniques for obtaining the closed form solution. One is based on piecewise linear modeling and the inverse Laplace transform. The other is based on small-signal analysis and transfer function theory. Second, the properties of interest are turned into a set of inequalities involving analytic functions, which are proved automatically using MetiTarski. We verify properties concerning oscillation and the change in gain due to component tolerances.
William Denman, Behzad Akbarpour, Sofiène Tahar, Mohamed H. Zaki, Lawrence C. Paulson
FMCAD5
2009 Applications of MetiTarski in the Verification of Control and Hybrid Systems
Behzad Akbarpour, Lawrence C. Paulson
HSCC2
2008 The Relative Consistency of the Axiom of Choice - Mechanized Using Isabelle/ZF
Lawrence C. Paulson
CiE1
2008 Translating Higher-Order Clauses to First-Order Clauses
Jia Meng 0002, Lawrence C. Paulson
J. Autom. Reason.2
2007 Extending a Resolution Prover for Inequalities on Elementary Functions
Behzad Akbarpour, Lawrence C. Paulson
LPAR2
2007 Preface
Bernhard Beckert, Lawrence C. Paulson
J. Autom. Reason.2
2006 Automation for interactive proof: First prototype
Jia Meng 0002, Claire Quigley, Lawrence C. Paulson
Inf. Comput.3
2006 Erratum to "Automation for interactive proof: First prototype" [Inform. and Comput. 204(2006) 1575-1596]
Jia Meng 0002, Claire Quigley, Lawrence C. Paulson
Inf. Comput.3
2006 Verifying the SET Purchase Protocols
Giampaolo Bella, Fabio Massacci, Lawrence C. Paulson
J. Autom. Reason.3
2006 Accountability protocols: Formalized and verified
abstract
Classical security protocols aim to achieve authentication and confidentiality under the assumption that the peers behave honestly. Some recent protocols are required to achieve their goals even if the peer misbehaves. Accountability is a protocol design strategy that may help. It delivers to peers sufficient evidence of each other's participation in the protocol. Accountability underlies the nonrepudiation protocol of Zhou and Gollmann and the certified email protocol of Abadi et al. This paper provides a comparative, formal analysis of the two protocols, and confirms that they reach their goals under realistic conditions. The treatment, which is conducted with mechanized support from the proof assistant Isabelle, requires various extensions to the existing analysis method. A byproduct is an account of the concept of higher-level protocol .
Giampaolo Bella, Lawrence C. Paulson
ACM Trans. Inf. Syst. Secur.2
2006 Defining functions on equivalence classes
abstract
A quotient construction defines an abstract type from a concrete type, using an equivalence relation to identify elements of the concrete type that are to be regarded as indistinguishable. The elements of a quotient type are equivalence classes : sets of equivalent concrete values. Simple techniques are presented for defining and reasoning about quotient constructions, based on a general lemma library concerning functions that operate on equivalence classes. The techniques are applied to a definition of the integers from the natural numbers, and then to the definition of a recursive datatype satisfying equational constraints.
Lawrence C. Paulson
ACM Trans. Comput. Log.1
2005 Mechanizing compositional reasoning for concurrent systems: some lessons
abstract
Abstract. The paper reports on experiences of mechanizing various proposals for compositional reasoning in concurrent systems. The work uses the UNITY formalism and the Isabelle proof tool. The proposals investigated include existential/universal properties, guarantees properties and progress sets. The results also apply to related proposals such as traditional assumption-commitment guarantees and Misra’s closure properties. Findings that have been published in detail elsewhere are summarised and consolidated here. One conclusion is that UNITY and related formalisms leave some important issues implicit, such as their concept of the program state, which means that great care must be exercised when implementing tool support. Another conclusion is that many compositional reasoning methods can be mechanized, provided that the issues mentioned above are correctly addressed.
Sidi O. Ehmety, Lawrence C. Paulson
Formal Aspects Comput.2
2004 Organizing Numerical Theories Using Axiomatic Type Classes
Lawrence C. Paulson
J. Autom. Reason.1
2003 Verifying the SET registration protocols
abstract
Secure electronic transaction (SET) is an immense e-commerce protocol designed to improve the security of credit card purchases. In this paper, we focus on the initial bootstrapping phases of SET, whose objective is the registration of cardholders and merchants with a SET certificate authority. The aim of registration is twofold: getting the approval of the cardholder's or merchant's bank and replacing traditional credit card numbers with electronic credentials that cardholders can present to the merchant so that their privacy is protected. These registration subprotocols present a number of challenges to current formal verification methods. First, they do not assume that each agent knows the public keys of the other agents. Key distribution is one of the protocols' tasks. Second, SET uses complex encryption primitives (digital envelopes) which introduce dependency chains: the loss of one secret key can lead to potentially unlimited losses. Building upon our previous work, we have been able to model and formally verify SETs registration with the inductive method in Isabelle/HOL (T. Nipkow et al., 2002). We have solved its challenges with very general techniques.
Giampaolo Bella, Fabio Massacci, Lawrence C. Paulson
IEEE J. Sel. Areas Commun.3
2002 The Reflection Theorem: A Study in Meta-theoretic Reasoning
Lawrence C. Paulson
CADE1
2002 The verification of an industrial payment protocol: the SET purchase phase
abstract
The Secure Electronic Transaction (SET) protocol has been proposed by a consortium of credit card companies and software corporations to secure e-commerce transactions. When the customer makes a purchase, the SET dual signature guarantees authenticity while keeping the customer's account details secret from the merchant and his choice of goods secret from the bank.This paper reports the first verification results for the complete purchase phase of SET. Using Isabelle and the inductive method, we showed that the credit card details do remain confidential and customer, merchant and bank can confirm most details of a transaction even when some of those details are kept from them. The complex protocol construction makes proofs more difficult but still feasible.Though enough goals can be proved to give confidence in SET, a lack of explicitness in the dual signature makes some agreement properties fail: it is impossible to prove that the customer meant to sent his credit card details to the payment gateway that receives them.
Giampaolo Bella, Lawrence C. Paulson, Fabio Massacci
CCS2
2001 Relations Between Secrets: Two Formal Analyses of the Yahalom Protocol
abstract
The Yahalom protocol is one of those analyzed by Burrows et al. [5]. Based upon their analysis, they have proposed modifications to make the protocol easier to understand and to analyze. Both versions of Yahalom have now been analyzed using Isabelle/HOL. Modified Yahalom satisfies strong security goals, and the original version is adequate. The mathematical reasoning behind these machine proofs is presented informally. An Appendix gives extracts from a formal proof. Yahalom presents special difficulties because the compromise of one session key compromises other secrets. The proofs show that the resulting losses are limited. They rely on a new proof technique, which involves reasoning about the relationship between keys and the secrets encrypted by them. This technique is applicable to other difficult protocols, such as Kerberos IV [2]. The new proofs do not rely on a belief logic. They use a fundamentally different formal model: the inductive method. They confirm the BAN analysis and the advantages of the proposed modifications. The new proof methods detect more flaws than BAN and analyze protocols in finer detail, while remaining broadly consistent with the BAN principles. In particular, the proofs confirm the explicitness principle of Abadi and Needham [1]. The proofs also suggest that any realistic model of security must admit that secrets can become compromised over time.
Lawrence C. Paulson
J. Comput. Secur.1
2001 Mechanizing a theory of program composition for UNITY
abstract
Compositional reasoning must be better understood if non-trivial concurrent programs are to be verified. Chandy and Sanders [2000] have proposed a new approach to reasoning about composition, which Charpentier and Chandy [1999] have illustrated by developing a large example in the UNITY formalism. The present paper describes extensive experiments on mechanizing the compositionality theory and the example, using the proof tool Isabelle. Broader issues are discussed, in particular, the formalization of program states. The usual representation based upon maps from variables to values is contrasted with the alternatives, such as a signature of typed variables. Properties need to be transferred from one program component's signature to the common signature of the system. Safety properties can be so transferred, but progress properties cannot be. Using polymorphism, this problem can be circumvented by making signatures sufficiently flexible. Finally the proof of the example itself is outlined.
Lawrence C. Paulson
ACM Trans. Program. Lang. Syst.1
2000 Formal Verification of Cardholder Registration in SET
Giampaolo Bella, Fabio Massacci, Lawrence C. Paulson, Piero Tramontano
ESORICS3
2000 Mechanizing UNITY in Isabelle
abstract
UNITY is an abstract formalism for proving properties of concurrent systems, which typically are expressed using guarded assignments [Chandy and Misra 1988]. UNITY has been mechanized in higher-order logic using Isabelle, a proof assistant. Safety and progress primitives, their weak forms (for the substitution axiom), and the program composition operator (union) have been formalized. To give a feel for the concrete syntax, this article presents a few extracts from the Isabelle definitions and proofs. It discusses a small example, two-process mutual exclusion. A mechanical theory of unions of programs supports a degree of compositional reasoning. Original work on extending program states is presented and then illustrated through a simple example involving an array of processes.
Lawrence C. Paulson
ACM Trans. Comput. Log.1
1999 Proving Security Protocols Correct
abstract
Security protocols use cryptography to set up private communication channels on an insecure network. Many protocols contain flaws, and because security goals are seldom specified in detail, we cannot be certain what constitutes a flaw. Thanks to recent work by a number of researchers, security protocols can now be analyzed formally. The paper outlines the problem area, emphasizing the notion of freshness. It describes how a protocol can be specified using operational semantics and properties proved by rule induction, with machine support from the proof tool Isabelle. The main example compares two versions of the Yahalom protocol. Unless the model of the environment is sufficiently detailed, it cannot distinguish the correct protocol from a flawed version. The paper attempts to draw some general lessons on the use of formalisms. Compared with model checking, the inductive method performs a finer analysis, but the cost of using it is greater.
Lawrence C. Paulson
LICS1
1999 A Pragmatic Approach to Extending Provers by Computer Algebra - with Applications to Coding Theory
abstract
The use of computer algebra is usually considered beneficial for mechanised reasoning in mathematical domains. We present a case study, in the application domain of coding theory, that supports this claim: the mechanised proofs depend on non-trivial
Clemens Ballarin, Lawrence C. Paulson
Fundam. Informaticae2
1999 A Formal Proof of Sylow's Theorem
Florian Kammüller, Lawrence C. Paulson
J. Autom. Reason.2
1999 Final coalgebras as greatest fixed points in ZF set theory
Lawrence C. Paulson
Math. Struct. Comput. Sci.1
1999 Inductive Analysis of the Internet Protocol TLS
abstract
Internet browsers use security protocols to protect sensitive messages. An inductive analysis of TLS (a descendant of SSL 3.0) has been performed using the theorem prover Isabelle. Proofs are based on higher-order logic and make no assumptions concerning beliefs of finiteness. All the obvious security goals can be proved; session resumption appears to be secure even if old session keys are compromised. The proofs suggest minor changes to simplify the analysis. TLS, even at an abstract level, is much more complicated than most protocols verified by researchers. Session keys are negotiated rather than distributed, and the protocol has many optional parts. Netherless, the resources needed to verify TLS are modest: six man-weeks of effort and three minutes of processor time.
Lawrence C. Paulson
ACM Trans. Inf. Syst. Secur.1
1999 Should your specification language be typed
abstract
Most specification languages have a type system. Type systems are hard to get right, and getting them wrong can lead to inconsistencies. Set theory can serve as the basis for a specification language without types. This possibility, which has been widely overlooked, offers many advantages. Untyped set theory is simple and is more flexible than any simple typed formalism. Polymorphism, overloading, and subtyping can make a type system more powerful, but at the cost of increased somplexity, and such refinements can never attain the flexibility of having no types at all. Typed formalisms have advantages, too, stemming from the power of mechanical type checking. While types serve little purpose in hand proofs, they do help with mechanized proofs. In the absence of verificaiton, type checking can catch errors in specifications. It may be possible to have the best of both worlds by adding typing annotations to an untyped specification language. We consider only specification languages, not programming languages.
Leslie Lamport, Lawrence C. Paulson
ACM Trans. Program. Lang. Syst.2
1998 A Combination of Nonstandard Analysis and Geometry Theorem Proving, with Application to Newton's Principia
Jacques D. Fleuriot, Lawrence C. Paulson
CADE2
1998 Mechanising BAN Kerberos by the Inductive Method
Giampaolo Bella, Lawrence C. Paulson
CAV2
1998 Kerberos Version 4: Inductive Analysis of the Secrecy Goals
Giampaolo Bella, Lawrence C. Paulson
ESORICS2
1998 The Inductive Approach to Verifying Cryptographic Protocols
abstract
Informal arguments that cryptographic protocols are secure can be made rigorous using inductive definitions. The approach is based on ordinary predicate calculus and copes with infinite-state systems. Proofs are generated using Isabelle/HOL. The huma
Lawrence C. Paulson
J. Comput. Secur.1
1997 Proving Properties of Security Protocols by Induction
abstract
Informal justifications of security protocols involve arguing backwards that various events are impossible. Inductive definitions can make such arguments rigorous. The resulting proofs are complicated, but can be generated reasonably quickly using the proof tool Isabelle/HOL. There is no restriction to finite state systems and the approach is not based on belief logics. Protocols are inductively defined as sets of traces, which may involve many interleaved protocol runs. Protocol descriptions model accidental key losses as well as attacks. The model spy can send spoof messages made up of components decrypted from previous traffic. Several key distribution protocols have been studied, including Needham-Schroeder, Yahalom and Otway-Rees. The method applies to both symmetric key and public key protocols. A new attack has been discovered in a variant of Otway-Rees (already broken by W. Mao and C. Boyd (1993)). Assertions concerning secrecy and authenticity have been proved.
Lawrence C. Paulson
CSFW1
1997 Mechanized proofs for a recursive authentication protocol
abstract
A novel protocol has been formally analyzed using the prover Isabelle/HOL, following the inductive approach described in earlier work (L.C. Paulson, 1997). There is no limit on the length of a run, the nesting of messages or the number of agents involved. A single run of the protocol delivers session keys for all the agents, allowing neighbours to perform mutual authentication. The basic security theorem states that session keys are correctly delivered to adjacent pairs of honest agents, regardless of whether other agents in the chain are compromised. The protocol's complexity caused some difficulties in the specification and proofs, but its symmetry reduced the number of theorems to prove.
Lawrence C. Paulson
CSFW1
1997 Mechanizing Coinduction and Corecursion in Higher-Order Logic
abstract
A theory of recursive and corecursive definitions has been developed in higher-order logic (HOL) and mechanized using Isabelle. Least fixedpoints express inductive data types such as strict lists: greatest fixedpoints express coinductive data types, such as lazy lists. Well-founded recursion expresses recursive functions over inductive data types: corecursion expresses functions that yield elements of coinductive data types. The theory rests on a traditional formalization of infinite trees. The theory is intended for use in specification and verification. It supports reasoning about a wide range of computable functions, but it does not formalize their operational semantics and can express noncomputable functions also. The theory is illustrated using finite and infinite lists. Corecursion expresses functions over infinite lists, coinduction reasons about such functions.
Lawrence C. Paulson
J. Log. Comput.1
1996 Mechanizing Set Theory
Lawrence C. Paulson, Krzysztof Grabczewski
J. Autom. Reason.1
1995 Set Theory for Verification. II: Induction and Recursion
Lawrence C. Paulson
J. Autom. Reason.1
1994 A Fixedpoint Approach to Implementing (Co)Inductive Definitions
Lawrence C. Paulson
CADE1
1993 Set Theory for Verification: I. From Foundations to Functions
Lawrence C. Paulson
J. Autom. Reason.1
1992 Isabelle-91
Tobias Nipkow, Lawrence C. Paulson
CADE2
1989 The Foundation of a Generic Theorem Prover
Lawrence C. Paulson
J. Autom. Reason.1
1988 Isabelle: The Next Seven Hundred Theorem Provers
Lawrence C. Paulson
CADE1
1986 Proving Termination of Normalization Functions for Conditional Experessions
Lawrence C. Paulson
J. Autom. Reason.1
1986 Constructing Recursion Operators in Intuitionistic Type Theory
Lawrence C. Paulson
J. Symb. Comput.1
1985 Lessons Learned from LCF: A Survey of Natural Deduction Proofs
abstract
The LCF project has produced a family of interactive, programmable theorem-provers, particularly intended for verifying computer hardware and software. The introduction sketches basic concepts: the metalanguage ML, the logic PPLAMBDA, backwards proof, rewriting, and theory construction. A historical section surveys some LCF proofs. Several proofs involve denotational semantics, notably for compiler correctness. Functional programs for parsing and unification have been verified. Digital circuits have been proved correct, and some subsequently fabricated. There is an extensive bibliography of work related to LCF. The most dynamic issues at present are data types, subgoaling techniques, logics of computation, and the development of ML.
Lawrence C. Paulson
Comput. J.1
1985 Verifying the Unification Algorithm in LCF
Lawrence C. Paulson
Sci. Comput. Program.1
1983 A Higher-Order Implementation of Rewriting
Lawrence C. Paulson
Sci. Comput. Program.1
1982 A Semantics-Directed Compiler Generator
abstract
Article Free Access Share on A semantics-directed compiler generator Author: Lawrence Paulson Stanford University and Computer Laboratory, University of Cambridge, U. K. Stanford University and Computer Laboratory, University of Cambridge, U. K.View Profile Authors Info & Claims POPL '82: Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesJanuary 1982 Pages 224–233https://doi.org/10.1145/582153.582178Online:25 January 1982Publication History 54citation699DownloadsMetricsTotal Citations54Total Downloads699Last 12 Months13Last 6 weeks7 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Lawrence C. Paulson
POPL1