Write a Blog >>

Certified Programs and Proofs (CPP) is an international conference on practical and theoretical topics in all areas that consider certification as an essential paradigm for their work. Certification here means formal, mechanized verification of some sort, preferably with the production of independently checkable certificates. CPP spans areas of computer science, mathematics, logic, and education.

CPP 2020 will be held on 20-21 January 2020 in New Orleans, Louisiana, United States and will be co-located with POPL 2020. CPP 2020 is sponsored by ACM SIGPLAN, in cooperation with ACM SIGLOG.

We are delighted to announce that the invited speakers for CPP 2020 will be:

Registration and accommodation information is available on this website.

CPP 2020 has waived the registration fees for authors of accepted papers who needed financial support (especially students and PostDocs) and will also feature a (highly subsidized)
  • conference dinner on Monday, January 20 at 7:00pm at Red Fish Grillsold out!

This is all possible thanks to our generous industrial supporters below:

Supporters
Silver
Silver
Silver
Silver
Bronze
Bronze
Bronze
Bronze
Bronze
Dates
Plenary
You're viewing the program in a time zone which is different from your device's time zone change time zone

Mon 20 Jan

Displayed time zone: Saskatchewan, Central America change

09:00 - 10:00
Invited talkCPP at Maurepas
Chair(s): Cătălin Hriţcu Inria Paris
09:00
60m
Talk
Invited talk: Matching Logic: The Foundation of the K Framework
CPP
Grigore Roşu University of Illinois at Urbana-Champaign, Xiaohong Chen University of Illinois at Urbana-Champaign
DOI Media Attached
10:00 - 10:30
Monday Morning BreakCatering at Break
10:30 - 11:35
Program verificationCPP at Maurepas
Chair(s): Nikhil Swamy Microsoft Research
10:30
21m
Talk
A Verified Packrat Parser Interpreter for Parsing Expression Grammars
CPP
Clément Blaudeau Ecole Polytechnique, Natarajan Shankar SRI International, USA
DOI Pre-print Media Attached
10:51
22m
Talk
Proof Pearl: Braun Trees
CPP
Tobias Nipkow Technische Universität München, Thomas Sewell Chalmers University of Technology, Sweden
DOI Pre-print Media Attached
11:13
22m
Talk
FreeSpec: Specifying, Verifying and Executing Impure Computations in Coq
CPP
Thomas Letan ANSSI, Yann Régis-Gianas IRIF, University Paris Diderot and CNRS, France / INRIA PI.R2
DOI Pre-print Media Attached
11:45 - 12:30
Automated verification and SAT solvingCPP at Maurepas
Chair(s): Ori Lahav Tel Aviv University
11:45
22m
Talk
Verifying x86 Instruction Implementations
CPP
Shilpi Goel Centaur Technology, Inc., Anna Slobodova Centaur Technology, Inc., Rob Sumners Centaur Technology, Inc., Sol Swords Centaur Technology, Inc.
DOI Pre-print File Attached
12:07
22m
Talk
Frying the Egg, Roasting The Chicken: Unit Deletions in DRAT Proofs
CPP
DOI Pre-print Media Attached
12:30 - 14:00
Monday LunchCatering at Lunch Room
12:30
90m
Lunch
Lunch
Catering

14:00 - 15:05
Proof engineering and user interactionCPP at Maurepas
Chair(s): Yves Bertot INRIA
14:00
21m
Talk
An Equational Theory for Weak Bisimulation via Generalized Parameterized Coinduction
CPP
Yannick Zakowski University of Pennsylvania, Paul He University of Pennsylvania, Chung-Kil Hur Seoul National University, Steve Zdancewic University of Pennsylvania
DOI Pre-print Media Attached File Attached
14:21
21m
Talk
Exploration of Neural Machine Translation in Autoformalization of Mathematics in Mizar
CPP
Qingxiang Wang University of Innsbruck, Chad Brown Czech Technical University in Prague, Cezary Kaliszyk University of Innsbruck, Josef Urban Czech Technical University in Prague
DOI Pre-print
14:43
21m
Talk
REPLICA: REPL Instrumentation for Coq Analysis
CPP
Talia Ringer University of Washington, Alex Sanchez-Stern University of California, San Diego, Dan Grossman University of Washington, Sorin Lerner University of California, San Diego
DOI Pre-print Media Attached
15:05 - 15:35
Monday Afternoon BreakCatering at Break
15:35 - 16:40
Decidability and complexityCPP at Maurepas
Chair(s): Kathrin Stark Princeton University, USA
15:35
21m
Talk
Verified Programming of Turing Machines in Coq
CPP
Yannick Forster Saarland University, Fabian Kunze Saarland University, Maximilian Wuttke Saarland University
DOI Pre-print Media Attached
15:56
21m
Talk
A Functional Proof Pearl: Inverting the Ackermann Hierarchy
CPP
Linh Tran National University of Singapore, Anshuman Mohan National University of Singapore, Aquinas Hobor National University of Singapore
DOI Pre-print Media Attached
16:18
21m
Talk
Undecidability of Higher-Order Unification Formalised in Coq
CPP
Simon Spies Saarland University, Yannick Forster Saarland University
DOI Pre-print Media Attached
16:50 - 17:56
Homotopy Type Theory and PC chairs' reportCPP at Maurepas
Chair(s): Floris van Doorn University of Pittsburgh
16:50
22m
Talk
Cubical Synthetic Homotopy Theory
CPP
Anders Mörtberg Department of Mathematics, Stockholm University, Loïc Pujet Gallinette Project-Team, Inria
DOI Pre-print Media Attached File Attached
17:12
22m
Talk
Three equivalent ordinal notation systems in Cubical Agda
CPP
Fredrik Nordvall Forsberg University of Strathclyde, Chuangjie Xu Ludwig-Maximilians-Universität München, Neil Ghani University of Strathclyde
DOI Pre-print Media Attached File Attached
17:34
22m
Talk
PC Chairs' report
CPP
Jasmin Blanchette Vrije Universiteit Amsterdam, Cătălin Hriţcu Inria Paris
DOI Media Attached File Attached

Tue 21 Jan

Displayed time zone: Saskatchewan, Central America change

09:00 - 10:00
Invited talkCPP at Maurepas
Chair(s): Jasmin Blanchette Vrije Universiteit Amsterdam
09:00
60m
Talk
Invited talk: Proof Assistants at the Hardware-Software Interface
CPP
Adam Chlipala Massachusetts Institute of Technology
DOI Media Attached
10:00 - 10:30
Tuesday Morning BreakCatering at Break
10:30 - 11:35
Mechanized metatheoryCPP at Maurepas
Chair(s): Benjamin C. Pierce University of Pennsylvania
10:30
21m
Talk
Coq à la Carte - A Practical Approach to Modular Syntax with Binders
CPP
Yannick Forster Saarland University, Kathrin Stark Princeton University, USA
DOI Pre-print Media Attached
10:51
21m
Talk
A Mechanized Formalization of GraphQL
CPP
Tomás Díaz IMFD Chile, Federico Olmedo University of Chile & IMFD Chile, Éric Tanter University of Chile
DOI Pre-print Media Attached File Attached
11:13
21m
Talk
ConCert: A Smart Contract Certification Framework in Coq
CPP
Danil Annenkov Concordium Blockchain Research Center, Aarhus University, Jakob Botsch Nielsen Concordium Blockchain Research Center, Aarhus University, Bas Spitters Concordium Blockchain Research Center, Aarhus University
DOI Pre-print Media Attached File Attached
11:45 - 12:30
Verified cryptographyCPP at Maurepas
Chair(s): Adam Chlipala Massachusetts Institute of Technology
11:45
22m
Talk
Formalising Oblivious Transfer in the Semi-Honest and Malicious Model in CryptHOL
CPP
David Butler Alan Turing Institute, David Aspinall University of Edinburgh, Adria Gascon Alan Turing Institute
DOI Pre-print Media Attached
12:07
22m
Talk
Verified Security of BLT Signature Scheme
CPP
Denis Firsov Guardtime AS, Ahto Buldas Tallinn University of Technology, Ahto Truu Guardtime AS, Risto Laanoja Guardtime AS
DOI Pre-print Media Attached File Attached
12:30 - 14:00
Tuesday LunchCatering at Lunch Room
12:30
90m
Lunch
Lunch
Catering

14:00 - 15:05
Concurrency and linearityCPP at Maurepas
Chair(s): Zhong Shao Yale University
14:00
21m
Talk
Formalizing Determinacy of Concurrent Revisions
CPP
Roy Overbeek Vrije Universiteit Amsterdam
DOI Pre-print Media Attached
14:21
21m
Talk
Formalizing π-calculus in Guarded Cubical Agda
CPP
Niccolò Veltri Tallinn University of Technology, Andrea Vezzosi IT University Copenhagen
DOI Pre-print Media Attached File Attached
14:43
21m
Talk
Intrinsically-Typed Definitional Interpreters for Linear, Session-Typed Languages
CPP
Arjen Rouvoet Delft University of Technology, Casper Bach Poulsen Delft University of Technology, Robbert Krebbers Delft University of Technology, Eelco Visser Delft University of Technology
DOI Pre-print Media Attached File Attached
15:05 - 15:35
Tuesday Afternoon BreakCatering at Break
15:35 - 16:40
Formalized mathematics 1CPP at Maurepas
Chair(s): Robert Y. Lewis Vrije Universiteit Amsterdam
15:35
21m
Talk
Formalising perfectoid spaces
CPP
Patrick Massot Université Paris Sud, Kevin Buzzard Imperial College London, Johan Commelin Universität Freiburg
DOI Pre-print Media Attached File Attached
15:56
21m
Talk
A Constructive Formalization of the Weak Perfect Graph Theorem
CPP
Abhishek Kr Singh Tata Institute of Fundamental Research Mumbai, Raja Natarajan Tata Institute of Fundamental Research Mumbai
DOI Pre-print Media Attached File Attached
16:18
21m
Talk
Completeness of an Axiomatization of Graph Isomorphism via Graph Rewriting in Coq
CPP
Christian Doczkal Université Côte d'Azur, Damien Pous CNRS, ENS Lyon
DOI Pre-print Media Attached
16:50 - 17:56
Formalized mathematics 2CPP at Maurepas
Chair(s): Tobias Nipkow Technische Universität München
16:50
22m
Talk
The Poincaré-Bendixson Theorem in Isabelle/HOL
CPP
Fabian Immler Carnegie Mellon University, Yong Kiam Tan Carnegie Mellon University, USA
DOI Pre-print Media Attached
17:12
22m
Talk
A Formal Proof of the Independence of the Continuum Hypothesis
CPP
Jesse Michael Han University of Pittsburgh, Floris van Doorn University of Pittsburgh
DOI Pre-print Media Attached
17:34
22m
Talk
The Lean mathematical library
CPP
DOI Pre-print Media Attached File Attached

Accepted Papers

Title
A Constructive Formalization of the Weak Perfect Graph Theorem
CPP
DOI Pre-print Media Attached File Attached
A Formal Proof of the Independence of the Continuum Hypothesis
CPP
DOI Pre-print Media Attached
A Functional Proof Pearl: Inverting the Ackermann Hierarchy
CPP
DOI Pre-print Media Attached
A Mechanized Formalization of GraphQL
CPP
DOI Pre-print Media Attached File Attached
An Equational Theory for Weak Bisimulation via Generalized Parameterized Coinduction
CPP
DOI Pre-print Media Attached File Attached
A Verified Packrat Parser Interpreter for Parsing Expression Grammars
CPP
DOI Pre-print Media Attached
Completeness of an Axiomatization of Graph Isomorphism via Graph Rewriting in Coq
CPP
DOI Pre-print Media Attached
ConCert: A Smart Contract Certification Framework in Coq
CPP
DOI Pre-print Media Attached File Attached
Coq à la Carte - A Practical Approach to Modular Syntax with Binders
CPP
DOI Pre-print Media Attached
Cubical Synthetic Homotopy Theory
CPP
DOI Pre-print Media Attached File Attached
Exploration of Neural Machine Translation in Autoformalization of Mathematics in Mizar
CPP
DOI Pre-print
Formalising Oblivious Transfer in the Semi-Honest and Malicious Model in CryptHOL
CPP
DOI Pre-print Media Attached
Formalising perfectoid spaces
CPP
DOI Pre-print Media Attached File Attached
Formalizing π-calculus in Guarded Cubical Agda
CPP
DOI Pre-print Media Attached File Attached
Formalizing Determinacy of Concurrent Revisions
CPP
DOI Pre-print Media Attached
FreeSpec: Specifying, Verifying and Executing Impure Computations in Coq
CPP
DOI Pre-print Media Attached
Frying the Egg, Roasting The Chicken: Unit Deletions in DRAT Proofs
CPP
DOI Pre-print Media Attached
Intrinsically-Typed Definitional Interpreters for Linear, Session-Typed Languages
CPP
DOI Pre-print Media Attached File Attached
Proof Pearl: Braun Trees
CPP
DOI Pre-print Media Attached
REPLICA: REPL Instrumentation for Coq Analysis
CPP
DOI Pre-print Media Attached
The Lean mathematical library
CPP
DOI Pre-print Media Attached File Attached
The Poincaré-Bendixson Theorem in Isabelle/HOL
CPP
DOI Pre-print Media Attached
Three equivalent ordinal notation systems in Cubical Agda
CPP
DOI Pre-print Media Attached File Attached
Undecidability of Higher-Order Unification Formalised in Coq
CPP
DOI Pre-print Media Attached
Verified Programming of Turing Machines in Coq
CPP
DOI Pre-print Media Attached
Verified Security of BLT Signature Scheme
CPP
DOI Pre-print Media Attached File Attached
Verifying x86 Instruction Implementations
CPP
DOI Pre-print File Attached

Supporting CPP

The ACM SIGPLAN International Conference on Certified Programs and Proofs (CPP) covers all areas that consider formal verification as an essential paradigm for their work. CPP spans areas of computer science, mathematics, logic, and education and brings together 100+ researchers and practitioners to present the latest developments in formal verification.

CPP welcomes corporate donations to help maintain and improve the overall experience at the conference. The money we get from corporate sponsors will generally be used to subsidize student attendance (e.g., registration waiving, which generally increases student participation), cover the travel costs of invited speakers, and pay for the conference dinner. This will also allow us explore new ideas such as adding a distinguished paper award, or covering the fees that would make CPP open access for everyone.

CPP Support Levels

Bronze – Suggested donation $1000

  • your name and logo prominently displayed on the CPP website
  • acknowledgment in the CPP PC chair’s statement for the proceedings
  • big thank you in the CPP PC chair’s report talk

Silver – Suggested donation $2500

  • as above plus:
  • an opportunity to display printed materials or branded merchandise (e.g., t-shirts, but no coffee containers please) on a joint table in the CPP conference room, or, space permitting, next to the entrance door
  • one complementary registration to CPP (20-21 January 2020)

Gold – Suggested donation $5000

  • as above plus:
  • acknowledgement as a sponsor of the CPP keynote talks
  • a banner on stage carrying the supporter’s logo (it is the company’s responsibility to produce and bring this to the conference)
  • table/booth-like space at CPP where, if you wish, you can display publicity material, distribute handouts, talk to people, or demo software (for the duration of CPP, 20-21 January 2020).
  • an opportunity to also display printed materials at the registration desk (which is joint with POPL)
  • two complementary registrations to CPP (20-21 January 2020)
  • other arrangements are possible based on your needs and interests (subject to ACM restrictions on commercial involvement)

Diamond – Suggested donation $10000

  • as above plus:
  • an opportunity to be the sponsor of the CPP conference dinner; a representative from the company will be granted 10 minutes at the beginning of the dinner to address the attendees
  • an opportunity to include branded merchandise in all POPL and CPP participant’s swag bag, such as a flyer or booklet, if desired
  • three complementary registrations to CPP (20-21 January 2020)
  • other arrangements are possible based on your needs and interests (subject to ACM restrictions on commercial involvement)

Contact

Questions about how to contribute to CPP may be directed to catalin.hritcu@gmail.com

Call for Papers

Certified Programs and Proofs (CPP) is an international conference on practical and theoretical topics in all areas that consider certification as an essential paradigm for their work. Certification here means formal, mechanized verification of some sort, preferably with the production of independently checkable certificates. CPP spans areas of computer science, mathematics, logic, and education.

CPP 2020 will be held on 20-21 January 2020 in New Orleans, Louisiana, United States and will be co-located with POPL 2020. CPP 2020 is sponsored by ACM SIGPLAN, in cooperation with ACM SIGLOG.

News

  • Submission guideline news: lightweight double-blind reviewing process and unrestricted appendices that don’t count against the page limit

  • Delighted to announce that the invited speakers for CPP 2020 will be: Adam Chlipala (MIT CSAIL) and Grigore Rosu (UIUC and Runtime Verification)

Important Dates

  • Abstract Deadline: 16 October 2019 at 23:59 AoE (UTC-12h)
  • Paper Submission Deadline: 21 October 2019 at 23:59 AoE (UTC-12h)
  • Notification: 27 November 2019
  • Camera Ready Deadline: 20 December 2019
  • Conference: 20 - 21 January 2020

Deadlines expire at the end of the day, anywhere on earth. Abstract and submission deadlines are tight and there will be no extensions.

Topics of Interest

We welcome submissions in research areas related to formal certification of programs and proofs. The following is a non-exhaustive list of topics of interests to CPP:

  • certified or certifying programming, compilation, linking, OS kernels, runtime systems, security monitors, and hardware;
  • certified mathematical libraries and mathematical theorems;
  • proof assistants (e.g, ACL2, Agda, Coq, Dafny, F*, HOL, HOL-Light, Idris, Isabelle, Lean, Mizar, Nuprl, PVS, etc)
  • new languages and tools for certified programming;
  • program analysis, program verification, and program synthesis;
  • program logics, type systems, and semantics for certified code;
  • logics for certifying concurrent and distributed systems;
  • mechanized metatheory, formalized programming language semantics, and logical frameworks;
  • higher-order logics, dependent type theory, proof theory, logical systems, separation logics, and logics for security;
  • verification of correctness and security properties;
  • formally verified blockchains and smart contracts;
  • certificates for decision procedures, including linear algebra, polynomial systems, SAT, SMT, and unification in algebras of interest;
  • certificates for semi-decision procedures, including equality, first-order logic, and higher-order unification;
  • certificates for program termination;
  • formal models of computation;
  • mechanized (un)decidability and computational complexity proofs;
  • user interfaces for proof assistants and theorem provers
  • teaching mathematics and computer science with proof assistants.

Submission Guidelines

Prior to the paper submission deadline, the authors should upload their anonymized paper in PDF format through the HotCRP system at https://cpp2020.hotcrp.com

Submissions must be written in English and provide sufficient detail to allow the program committee to assess the merits of the paper.

Submitted papers must be formatted following the ACM SIGPLAN Proceedings format using the acmart style with the sigplan option, which provides a two-column style, using 10 point font for the main text, and a header for double blind review submission, i.e.,

\documentclass[sigplan,10pt,anonymous,review]{acmart}\settopmatter{printfolios=true,printccs=false,printacmref=false}

Submitted papers should not exceed 12 pages, including tables and figures, but excluding bibliography and clearly marked appendices. The paper should be self contained without the appendices. Shorter papers are welcome and will be given equal consideration. Papers not conforming to the requirements concerning format and maximum length may be rejected without further consideration.

CPP 2020 will employ a lightweight double-blind reviewing process. To facilitate this, submitted papers must adhere to two rules:

  1. author names and institutions must be omitted, and

  2. references to authors’ own related work should be in the third person (e.g., not “We build on our previous work …” but rather “We build on the work of …").

The purpose of this process is to help the PC and external reviewers come to an initial judgment about the paper without bias, not to make it impossible for them to discover the authors if they were to try. Nothing should be done in the name of anonymity that weakens the submission or makes the job of reviewing the paper more difficult. In particular, important background references should not be omitted or anonymized. In addition, authors are free to disseminate their ideas or draft versions of their paper as usual. For example, authors may post drafts of their papers on the web or give talks on their research ideas. POPL has answers for frequently asked questions addressing many common concerns: https://popl20.sigplan.org/track/POPL-2020-Research-Papers#Submission-and-Reviewing-FAQ

We strongly encourage authors to provide any supplementary material that is required to support the claims made in the paper, such as proof scripts or experimental data. These materials must be uploaded at submission time, as an archive, not via a URL. Two forms of supplementary material may be submitted:

  • Anonymous supplementary material is available to the reviewers before they submit their first-draft reviews.

  • Non-anonymous supplementary material is available to the reviewers after they have submitted their first-draft reviews and learned the identity of the authors.

Use the anonymous form whenever possible, so that the materials can be taken into account from the beginning of the reviewing process.

Submitted papers must adhere to the SIGPLAN Republication Policy and the ACM Policy on Plagiarism. Concurrent submissions to other conferences, journals, workshops with proceedings, or similar forums of publication are not allowed. The PC chairs should be informed of closely related work submitted to a conference or journal in advance of submission.

One author of each accepted paper is expected to present it at the conference.

Publication, copyright, and open access

The CPP proceedings will be published by the ACM, and authors of accepted papers will be required to choose one of the following publication options:

  1. Author retains copyright of the work and grants ACM a non-exclusive permission-to-publish license and, optionally, licenses the work under a Creative Commons license;

  2. Author retains copyright of the work and grants ACM an exclusive permission-to-publish license;

  3. Author transfers copyright of the work to ACM.

For authors who can afford it, we recommend option 1, which will make the paper Gold Open Access, and also encourage such authors to license their work under the CC-BY license. ACM will charge you an article processing fee for this option (currently, US$700), which you have to pay directly with the ACM.

For everyone else, we recommend option 2, which is free and allows you to achieve Green Open Access, by uploading a pre-print of your paper to a repository that guarantees permanent archival such as arXiv or HAL. This is anyway a good idea for timely dissemination even if you chose option 1. Ensuring timely dissemination is particularly important for this edition, since, because of the very tight schedule, the official proceedings might not be available in time for CPP.

The official CPP 2020 proceedings will also be available via SIGPLAN OpenTOC.

For ACM’s take on this, see their Copyright Policy and Author Rights.

Contact

For any questions please contact the two PC chairs: Catalin Hritcu and Jasmin Christian Blanchette

Poster/Flyer

drawing

Previous CPP conferences

  • CPP 2019, Cascais/Lisbon, Portugal, January 14-15, 2019 (co-located with POPL’19)
  • CPP 2018, Los Angeles, USA, January 8-9, 2018 (co-located with POPL’18)
  • CPP 2017, Paris, France, January 16-17, 2017 (co-located with POPL’17)
  • CPP 2016, Saint Petersburg, Florida, USA, January 18-19, 2016 (co-located with POPL’16)
  • CPP 2015, Mumbai, India, January 13-14, 2015 (co-located with POPL’15)
  • CPP 2013, Melbourne, Australia, December 11-13, 2013 (co-located with APLAS’13)
  • CPP 2012, Kyoto, Japan, December 13-15, 2012 (collocation with APLAS’12)
  • CPP 2011, Kenting, Taiwan, December 7-9, 2011 (co-located with APLAS’11)

The CPP Manifesto (from 2011)

In this manifesto, we advocate for the creation of a new international conference in the area of formal methods and programming languages, called Certified Programs and Proofs (CPP). Certification here means formal, mechanized verification of some sort, preferably with the production of independently checkable certificates. CPP would target any research promoting formal development of certified software and proofs, that is:

  • The development of certified or certifying programs
  • The development of certified mathematical theories
  • The development of new languages and tools for certified programming
  • New program logics, type systems, and semantics for certified code
  • New automated or interactive tools and provers for certification
  • Results assessed by an original open source formal development
  • Original teaching material based on a proof assistant

Software today is still developed without precise specification. A developer often starts the programming task with a rather informal specification. After careful engineering, the developer delivers a program that may not fully satisfy the specification. Extensive testing and debugging may shrink the gap between the two, but there is no assurance that the program accurately follows the specification. Such inaccuracy may not always be significant, but when a developer links a large number of such modules together, these “noises” may multiply, leading to a system that nobody can understand and manage. System software built this way often contains hard-to-find “zero-day vulnerabilities” that become easy targets for Stuxnet-like attacks. CPP aims to promote the development of new languages and tools for building certified programs and for making programming precise.

Certified software consists of an executable program plus a formal proof that the software is free of bugs with respect to a particular dependability claim. With certified software, the dependability of a software system is measured by the actual formal claim that it is able to certify. Because the claim comes with a mechanized proof, the dependability can be checked independently and automatically in an extremely reliable way. The formal dependability claim can range from making almost no guarantee, to simple type safety property, or all the way to deep liveness, security, and correctness properties. It provides a great metric for comparing different techniques and making steady progress in constructing dependable software.

The conventional wisdom is that certified software will never be practical because any real software must also rely on the underlying runtime system which is too low-level and complex to be verifiable. In recent years, however, there have been many advances in the theory and engineering of mechanized proof systems applied to verification of low-level code, including proof-carrying code, certified assembly programming, local reasoning and separation logic, certified linking of heterogeneous components, certified protocols, certified garbage collectors, certified or certifying compilation, and certified OS-kernels. CPP intends to be a driving force that would facilitate the rapid development of this exciting new area, and be a natural international forum for such work.

The recent development in several areas of modern mathematics requires mathematical proofs containing enormous computation that cannot be verified by mathematicians in an entire lifetime. Such development has puzzled the mathematical community and prompted some of our colleagues in mathematics and computer science to start developing a new paradigm, formal mathematics, which requires proofs to be verified by a reliable theorem prover. As particular examples, such an effort has been made for the four-color theorem and has started for the sphere packing problem and the classification of finite groups. We believe that this emerging paradigm is the beginning of a new era. No essential existing theorem in computer science has yet been considered worth a similar effort, but it could well happen in the very near future. For example, existing results in security would often benefit from a formal development allowing us to exhibit the essential hypotheses under which the result really holds. CPP would again be a natural international forum for this kind of work, either in mathematics or in computer science, and would participate strongly in the emergence of this paradigm.

On the other hand, there is a recent trend in computer science to formally prove new results in highly technical subjects such as computational logic, at least in part. In whichever scientific area, formal proofs have three major advantages: no assumption can be missing, as is sometimes the case; the result cannot be disputed by a wrong counterexample, as sometimes happens; and more importantly, a formal development often results in a better understanding of the proof or program, and hence results in easier and better implementation. This new trend is becoming strong in computer science work, but is not recognized yet as it should be by traditional conferences. CPP would be a natural forum promoting this trend.

There are not many proof assistants around. There should be more, because progress benefits from competition. On the other hand, there is much theoretical work that could be implemented in the form of a proof assistant, but this does not really happen. One reason is that it is hard to publish a development work, especially when this requires a long-term effort as is the case for a proof assistant. It is even harder to publish work about libraries which, we all know, are fundamental for the success of a proof assistant. CPP would pay particular attention in publishing, publicizing, and promoting this kind of work.

Finally, CPP also aims to be a publication arena for innovative teaching experiences, in computer science or mathematics, using proof assistants in an essential way. These experiences could be submitted in an innovative format to be defined.

Questions? Use the CPP contact form.