Superposition and SMT (satisfiability modulo theories) are currently the most successful proof calculi for reasoning about classical first-order logic. Despite some convergence, they remain very different technologies, with complementary strengths and weaknesses.
Our main contribution has been to extend superposition and SMT to handle higher-order constructs. These are constructs that are present in nearly all proof assistants (Coq, Isabelle, ...) and hence are needed to do actual reasoning in practice. In particular, higher-order logic supports functions as arguments, quantification over functions, and binders (e.g. the notations for summation and integration). For superposition and SMT, we now support full higher-order logic. These techniques are implemented in the SMT solver veriT and the superposition provers E and Zipperposition.
The new versions of the provers E and Zipperposition are now included with the Isabelle/HOL proof assistant, where they are used to discharge proof obligations automatically via a tool called Sledgehammer. This helps make hundreds of users more productive. Instead of having to spend perhaps 15 or 30 minutes on a manual proofs, users can simply press a button and wait up to 30 seconds for an automatically generated proof. The provers E and Zipperposition also won trophies at the annual theorem proving competition CASC. Zipperposition won in 2020 and 2021 in the higher-order theorem division. E won in the Sledgehammer division. This demonstrated to the entire theorem proving community the superiority of our approach.
We have also made some contributions to the formal mathematical library of the Lean proof assistant. Notably, we have developed a formal theory of p-adic numbers and a formal proof of the solution of the cap set problem. Some of these contributions are now part of the Lean mathlib library, which is used and developed largely by mathematicians.
On the theoretical side, our main contribution has been the development of the lambda-superposition proof calculus, which forms the basis of the new E and Zipperposition. Lambda-superposition is both sound and complete: It can be used to prove a problem if and only if that problem is provable. Soundness (the "only if" direction if the previous sentence) is relatively easy to establish, but completeness (the "if" direction) is quite a challenge. Our solution has been to identify three intermediate milestones, corresponding to fragments of higher-order logic, and for each milestone to design a calculus and prove it sound and complete. Moreover, we structured each of the proof in a layered fashion, with three modular layers, to keep the complexity under control.
Before the pandemic, we organized two project workshops, Matryoshka 2018 and Matryoshka 2019, where we also invited developers of competing higher-order approaches. We also organized the WAIT (Workshop on Automated (Co)induction Theorem Proving) 2018 workshop the same week as Matryoshka 2018 to foster collaborations, and for Matryoshka 2019 we merged it with the VeriDis 2019 retreat, comprising the theorem proving groups of Stephan Merz at Inria Nancy and Christoph Weidenbach at MPI Saarbrücken.