Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3372885acmconferencesBook PagePublication PagespoplConference Proceedingsconference-collections
CPP 2020: Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and Proofs
ACM2020 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
POPL '20: 47th Annual ACM SIGPLAN Symposium on Principles of Programming Languages New Orleans LA USA January 20 - 21, 2020
ISBN:
978-1-4503-7097-4
Published:
22 January 2020
Sponsors:
In-Cooperation:
Recommend ACM DL
ALREADY A SUBSCRIBER?SIGN IN
Next Conference
January 11 - 17, 2026
Rennes , France
Reflects downloads up to 25 Jan 2025Bibliometrics
Abstract

No abstract available.

Skip Table Of Content Section
SESSION: Invited Talks
invited-talk
Public Access
Matching logic: the foundation of the K framework (invited talk)

The K framework (kframework.org) is an effort in realizing the ideal language framework, where programming languages must have formal semantics and all language tools are automatically generated from the formal semantics. Until recently, K has been ...

invited-talk
Public Access
Proof assistants at the hardware-software interface (invited talk)

Some of the earliest applications of proof assistants were to correctness of digital hardware designs, but the subject doesn’t come up too frequently today at venues like CPP. I will try to make the case that proof assistants are a crucial tool for ...

SESSION: Program Verification
research-article
Public Access
A verified packrat parser interpreter for parsing expression grammars

Parsing expression grammars (PEGs) offer a natural opportunity for building verified parser interpreters based on higher-order parsing combinators. PEGs are expressive, unambiguous, and efficient to parse in a top-down recursive descent style. We use ...

research-article
Proof pearl: Braun trees

Braun trees are functional data structures for implementing extensible arrays and priority queues (and sorting functions based on the latter) efficiently. Some well-known functions on Braun trees have not yet been verified, including especially Okasaki’...

research-article
FreeSpec: specifying, verifying, and executing impure computations in Coq

FreeSpec is a framework for the Coq theorem prover which allows for specifying and verifying complex systems as hierarchies of components verified both in isolation and in composition. While FreeSpec was originally introduced for reasoning about ...

SESSION: Automated Verification and SAT Solving
research-article
Verifying x86 instruction implementations

Verification of modern microprocessors is a complex task that requires a substantial allocation of resources. Despite significant progress in formal verification, the goal of complete verification of an industrial design has not been achieved. In this ...

research-article
Open Access
Frying the egg, roasting the chicken: unit deletions in DRAT proofs

The clausal proof format DRAT is the standard de facto to certify SAT solvers' unsatisfiability results. DRAT proofs act as logs of clause inferences and clause deletions in the solver. The non-monotonic nature of the proof system makes deletions ...

SESSION: Proof Engineering and User Interaction
research-article
Public Access
An equational theory for weak bisimulation via generalized parameterized coinduction

Coinductive reasoning about infinitary structures such as streams is widely applicable. However, practical frameworks for developing coinductive proofs and finding reasoning principles that help structure such proofs remain a challenge, especially in ...

research-article
Open Access
Exploration of neural machine translation in autoformalization of mathematics in Mizar

In this paper we share several experiments trying to automatically translate informal mathematics into formal mathematics. In our context informal mathematics refers to human-written mathematical sentences in the LaTeX format; and formal mathematics ...

research-article
Public Access
REPLica: REPL instrumentation for Coq analysis

Proof engineering tools make it easier to develop and maintain large systems verified using interactive theorem provers. Developing useful proof engineering tools hinges on understanding the development processes of proof engineers. This paper breaks ...

SESSION: Decidability and Complexity
research-article
Verified programming of Turing machines in Coq

We present a framework for the verified programming of multi-tape Turing machines in Coq. Improving on prior work by Asperti and Ricciotti in Matita, we implement multiple layers of abstraction. The highest layer allows a user to implement nontrivial ...

research-article
A functional proof pearl: inverting the Ackermann hierarchy

We implement in Gallina a hierarchy of functions that calculate the upper inverses to the hyperoperation/Ackermann hierarchy. Our functions run in Θ(b) for inputs expressed in unary, and in O(b2) for inputs expressed in binary (where b = bitlength). We ...

research-article
Undecidability of higher-order unification formalised in Coq

We formalise undecidability results concerning higher-order unification in the simply-typed λ-calculus with β-conversion in Coq. We prove the undecidability of general higher-order unification by reduction from Hilbert’s tenth problem, the solvability ...

SESSION: Homotopy Type Theory
research-article
Cubical synthetic homotopy theory

Homotopy type theory is an extension of type theory that enables synthetic reasoning about spaces and homotopy theory. This has led to elegant computer formalizations of multiple classical results from homotopy theory. However, many proofs are still ...

research-article
Three equivalent ordinal notation systems in cubical Agda

We present three ordinal notation systems representing ordinals below ε0 in type theory, using recent type-theoretical innovations such as mutual inductive-inductive definitions and higher inductive types. We show how ordinal arithmetic can be developed ...

SESSION: Mechanized Metatheory
research-article
Coq à la carte: a practical approach to modular syntax with binders

The mechanisation of the meta-theory of programming languages is still considered hard and requires considerable effort. When formalising properties of the extension of a language, one hence wants to reuse definitions and proofs. But type-theoretic ...

research-article
A mechanized formalization of GraphQL

GraphQL is a novel language for specifying and querying web APIs, allowing clients to flexibly and efficiently retrieve data of interest. The GraphQL language specification is unfortunately only available in prose, making it hard to develop robust ...

research-article
ConCert: a smart contract certification framework in Coq

We present a new way of embedding functional languages into the Coq proof assistant by using meta-programming. This allows us to develop the meta-theory of the language using the deep embedding and provides a convenient way for reasoning about concrete ...

SESSION: Verified Cryptography
research-article
Formalising oblivious transfer in the semi-honest and malicious model in CryptHOL

Multi-Party Computation (MPC) allows multiple parties to compute a function together while keeping their inputs private. Large scale implementations of MPC protocols are becoming practical thus it is important to have strong guarantees for the whole ...

research-article
Verified security of BLT signature scheme

The majority of real-world applications of digital signatures use timestamping to ensure non-repudiation in face of possible key revocations. This observation led Buldas, Laanoja, and Truu to a server-assisted digital signature scheme built around ...

SESSION: Concurrency and Linearity
research-article
Formalizing determinacy of concurrent revisions

Concurrent revisions is a concurrency control model designed to guarantee determinacy, meaning that the outcomes of programs are uniquely determined. This paper describes an Isabelle/HOL formalization of the model’s operational semantics and proof of ...

research-article
Formalizing 𝜋-calculus in guarded cubical Agda

Dependent type theories with guarded recursion have shown themselves suitable for the development of denotational semantics of programming languages. In particular Ticked Cubical Type Theory (TCTT) has been used to show that for guarded labelled ...

research-article
Open Access
Intrinsically-typed definitional interpreters for linear, session-typed languages

An intrinsically-typed definitional interpreter is a concise specification of dynamic semantics, that is executable and type safe by construction. Unfortunately, scaling intrinsically-typed definitional interpreters to more complicated object languages ...

SESSION: Formalized Mathematics 1
research-article
Formalising perfectoid spaces

Perfectoid spaces are sophisticated objects in arithmetic geometry introduced by Peter Scholze in 2012. We formalised enough definitions and theorems in topology, algebra and geometry to define perfectoid spaces in the Lean theorem prover. This ...

research-article
A constructive formalization of the weak perfect graph theorem

The Perfect Graph Theorems are important results in graph theory describing the relationship between clique number ω(G) and chromatic number χ(G) of a graph G. A graph G is called perfect if χ(H)=ω(H) for every induced subgraph H of G. The Strong ...

research-article
Completeness of an axiomatization of graph isomorphism via graph rewriting in Coq

The labeled multigraphs of treewidth at most two can be described using a simple term language over which isomorphism of the denoted graphs can be finitely axiomatized. We formally verify soundness and completeness of such an axiomatization using Coq ...

SESSION: Formalized Mathematics 2
research-article
Open Access
The Poincaré-Bendixson theorem in Isabelle/HOL

The Poincaré-Bendixson theorem is a classical result in the study of (continuous) dynamical systems. Colloquially, it restricts the possible behaviors of planar dynamical systems: such systems cannot be chaotic. In practice, it is a useful tool for ...

research-article
A formal proof of the independence of the continuum hypothesis

We describe a formal proof of the independence of the continuum hypothesis (CH) in the Lean theorem prover. We use Boolean-valued models to give forcing arguments for both directions, using Cohen forcing for the consistency of ¬ CH and a σ-closed ...

research-article
The lean mathematical library

This paper describes mathlib, a community-driven effort to build a unified library of mathematics formalized in the Lean proof assistant. Among proof assistant libraries, it is distinguished by its dependently typed foundations, focus on classical ...

Contributors
  • Ludwig-Maximilians-University Munich
  • Max Planck Institute for Security and Privacy

Recommendations

Acceptance Rates

Overall Acceptance Rate 18 of 26 submissions, 69%
YearSubmittedAcceptedRate
CPP '15261869%
Overall261869%