Photo credit: La Semaine de Nancy

Jasmin Christian Blanchette
ジャスミン・クリスチャン・ブランチェット
亚斯麦·克里斯蒂安·布兰切特
 

As of March 2016, my home page moved with me to Vrije Universiteit Amsterdam. The page below is no longer updated.

I am an assistant professor in the Theoretical Computer Science section of the Vrije Universiteit Amsterdam, Netherlands. I am also a guest researcher in the VeriDis group at Loria in Nancy, France, and in the Automation of Logic group at the Max-Planck-Institut für Informatik in Saarbrücken, Germany. From 2008 to 2014, I was a member of the Chair for Logic and Verification at the Technische Universität München, Germany, which I joined as a Ph.D. student. From 2000 to 2008, I worked as software engineer and documentation manager for Trolltech (now The Qt Company) in Oslo, Norway.

My research focuses on the use of first-order automatic theorem provers and model finders to find proofs and counterexamples in higher-order logic (Sledgehammer, Nitpick, Nunchaku, and Matryoshka). Another aspect of my work is the development of foundational definitional mechanisms for (co)datatypes and (co)recursive functions. I am also interested in formalizing classic results and modern research in automated reasoning (IsaFoL).


News

  • I will be giving a joint invited talk at FroCoS, ITP, and TABLEAUX 2017 in Brasília about (co)datatypes and (co)recursion in Isabelle/HOL.
  • Pascal Fontaine and I are looking for outstanding candidates for Ph.D. positions and internships to start in 2017 and 2018, located in Nancy or Amsterdam. See the Matryoshka project page for details.

Contents:  TeachingSupervisionDraftsJournal ArticlesConference PapersWorkshop PapersWorkshop AbstractsThesesBooksOther PublicationsFormal ProofsSoftwareActivitiesVideosAddressResume


Teaching

During the 2015 summer term, I taught Concrete Semantics with Isabelle/HOL at the Universität des Saarlandes with Mathias Fleury and Daniel Wand. During the 2012–13, 2013–14, and 2014–15 winter terms, I was the proud Master of Competition for the course Einführung in die Informatik 2 at the Technische Universität München.


Supervision

Note to students: Please send me an email if you are interested in working under my supervision. See also the Matryoshka project page.

Current:

  • Alexander Bentkamp (Ph.D., higher-order reasoning)
  • Simon Cruanes (postdoctoral software engineer, Nunchaku)
  • Michaël Noël Divo (M.Sc., formalization of lambda-calculi)
  • Daniel El Ouraoui (M.Sc. intern, towards higher-order SMT; main supervisor: Pascal Fontaine; from March 2017)
  • Mathias Fleury (Ph.D., formalization of inference systems; cosupervisor: Christoph Weidenbach)
  • Anders Schlichtkrull (Ph.D., formalization of logical calculi; main supervisor: Jørgen Villadsen)
  • Daniel Wand (Ph.D., Superposition and Sledgehammer; main supervisor: Christoph Weidenbach)

Past:

  • Heiko Becker (graduate research immersion lab, higher-order automatic proving)
  • Alexander Bentkamp (M.Sc., formalization of tensors and deep learning; main supervisor: Dietrich Klakow)
  • Aymeric Bouzy (M.Sc. intern, implementation of corecursion up-to; cosupervisor: Dmitriy Traytel)
  • Martin Desharnais (B.Eng. intern, properties of (co)datatypes; cosupervisor: Dmitriy Traytel)
  • Mathias Fleury (M.Sc. intern, integration of provers in Sledgehammer and formalization of ground inference systems; cosupervisor: Dmitriy Traytel)
  • Charles Francis (Google Summer of Code, proof redirection)
  • Yuan Gao (B.Sc. research assistant, genetic algorithms for time slicing)
  • Maximilian Haslbeck (M.Sc. directed research, translation of Naproche to Isabelle; main supervisor: Tobias Nipkow)
  • Philipp Hermann (graduate research immersion lab, formalization of tableaux)
  • Fabian Kunze (graduate research immersion lab, towards Sledgehammer for Coq)
  • Matthieu Lequesne (M.Sc. internship, frontends for Nunchaku; cosupervisor: Simon Cruanes)
  • Lorenz Panny (B.Sc., (co)recursive function definitions; cosupervisor: Dmitriy Traytel)
  • Anders Schlichtkrull (M.Sc., formalization of resolution; main supervisor: Jørgen Villadsen)
  • Steffen Juilf Smolka (B.Sc., structured Isabelle proofs from refutation proofs)
  • Albert Steckermeier (B.Sc., enhanced integration of Waldmeister in Sledgehammer)
  • Dmytro Traytel (M.Sc., (co)datatype definitions; main supervisor: Andrei Popescu)

Drafts

  • A verified SAT solver framework with learn, forget, restart, and incrementality
    J. C. B., Mathias Fleury, and Christoph Weidenbach.
    Draft paper (PDF)
  • Foundational nonuniform (co)datatypes for higher-order logic
    J. C. B., Fabian Meier, Andrei Popescu, and Dmitriy Traytel.
    Draft paper (PDF)

Journal Articles

  • Soundness and completeness proofs by coinductive methods
    J. C. B., Andrei Popescu, and Dmitriy Traytel. Journal of Automated Reasoning 58(1), pp. 149–179, 2017.
    Free PDFWeb pagePostprint (PDF)
  • Encoding monomorphic and polymorphic types
    J. C. B., Sascha Böhme, Andrei Popescu, and Nicholas Smallbone. Logical Methods in Computer Science 12(4), 2016.
    Preprint (PDF)
  • A learning-based fact selector for Isabelle/HOL
    J. C. B., David Greenaway, Cezary Kaliszyk, Daniel Kühlwein, and Josef Urban. Journal of Automated Reasoning 57(3), pp. 219–244, 2016.
    Web pagePostprint (PDF)
  • Semi-intelligible Isar proofs from machine-generated proofs
    J. C. B., Sascha Böhme, Mathias Fleury, Steffen Juilf Smolka, and Albert Steckermeier. Journal of Automated Reasoning 56(2), pp. 155–200, 2016.
    Web pagePostprint (PDF)
  • Hammering towards QED
    J. C. B., Cezary Kaliszyk, Lawrence C. Paulson, and Josef Urban. Journal of Formalized Reasoning 9(1), pp. 101–148, 2016.
    Web pagePostprint (PDF)
  • Extending Sledgehammer with SMT solvers
    J. C. B., Sascha Böhme, and Lawrence C. Paulson. Journal of Automated Reasoning 51(1), pp. 109–128, 2013.
    Web pagePostprint (PDF)
  • LEO-II and Satallax on the Sledgehammer test bench
    Nik Sultana, J. C. B., and Lawrence C. Paulson. Journal of Applied Logic 11(1), pp. 91–102, 2013.
    Web pagePostprint (PDF)
  • Relational analysis of (co)inductive predicates, (co)inductive datatypes, and (co)recursive functions
    J. C. B. Software Quality Journal 21(1), pp. 101–126, 2013.
    Web pagePostprint (PDF)
  • Monotonicity inference for higher-order formulas
    J. C. B. and Alexander Krauss. Journal of Automated Reasoning 47(4), pp. 369–398, 2011.
    Web pagePostprint (PDF)
  • Proof pearl: Mechanizing the textbook proof of Huffman's algorithm in Isabelle/HOL
    J. C. B. Journal of Automated Reasoning 43(1), pp. 1–18, 2009.
    Web pagePostprint (PDF)

Conference Papers

  • Friends with benefits: Implementing corecursion in foundational proof assistants
    J. C. B., Aymeric Bouzy, Andreas Lochbihler, Andrei Popescu, and Dmitriy Traytel. Accepted at 26th European Symposium on Programming (ESOP 2017).
    Postprint (PDF)Report (PDF)
  • A decision procedure for (co)datatypes in SMT solvers
    Andrew Reynolds and J. C. B. In Kambhampati, S. (ed.) 25th International Joint Conference on Artificial Intelligence (IJCAI-16), pp. 4205–4209, IJCAI/AAAI Press, 2016.
    Postprint (PDF)
  • A verified SAT solver framework with learn, forget, restart, and incrementality
    J. C. B., Mathias Fleury, and Christoph Weidenbach. In Olivetti, N., Tiwari, A. (eds.) 8th International Joint Conference on Automated Reasoning (IJCAR 2016), LNCS 9706, pp. 25–44, Springer, 2016.
    Postprint (PDF)
  • Model finding for recursive functions in SMT
    Andrew Reynolds, J. C. B., Simon Cruanes, and Cesare Tinelli. In Olivetti, N., Tiwari, A. (eds.) 8th International Joint Conference on Automated Reasoning (IJCAR 2016), LNCS 9706, pp. 133–151, Springer, 2016.
    Postprint (PDF)
  • Foundational extensible corecursion—A proof assistant perspective
    J. C. B., Andrei Popescu, and Dmitriy Traytel. In Fisher, K., Reppy, J. H. (eds.) 20th ACM SIGPLAN International Conference on Functional Programming (ICFP 2015), pp. 192–204, ACM, 2015.
    Postprint (PDF)
  • A decision procedure for (co)datatypes in SMT solvers
    Andrew Reynolds and J. C. B. In Felty, A., Middeldorp, A. (eds.) 25th International Conference on Automated Deduction (CADE-25), LNCS 9195, pp. 197–213, Springer, 2015.
    Postprint (PDF)Report (PDF)
  • Mining the Archive of Formal Proofs
    J. C. B., Maximilian Haslbeck, Daniel Matichuk, and Tobias Nipkow. In Kerber, M. (ed.) International Conference on Intelligent Computer Mathematics (CICM 2015), LNCS 9150, pp. 1–15, Springer, 2015.
    Postprint (PDF)
  • Witnessing (co)datatypes
    J. C. B., Andrei Popescu, and Dmitriy Traytel. In Vitek, J. (ed.) European Symposium on Programming (ESOP 2015), LNCS 9032, pp. 359–382, Springer, 2015.
    Postprint (PDF)
  • Experience report: The next 1100 Haskell programmers
    J. C. B., Lars Hupel, Tobias Nipkow, Lars Noschinski, and Dmitriy Traytel. In Jeuring, J., Chakravarty, M. M. T. (eds.) ACM SIGPLAN Haskell Symposium 2014 (Haskell 2014), pp. 25–30, ACM Press, 2014.
    Web pagePostprint (PDF)
  • Truly modular (co)datatypes for Isabelle/HOL
    J. C. B., Johannes Hölzl, Andreas Lochbihler, Lorenz Panny, Andrei Popescu, and Dmitriy Traytel. In Klein, G., Gamboa, R. (eds.) 5th Conference on Interactive Theorem Proving (ITP 2014), LNCS 8558, pp. 93–110, Springer, 2014.
    Web pagePostprint (PDF)
  • Cardinals in Isabelle/HOL
    J. C. B., Andrei Popescu, and Dmitriy Traytel. In Klein, G., Gamboa, R. (eds.) 5th Conference on Interactive Theorem Proving (ITP 2014), LNCS 8558, pp. 111–127, Springer, 2014.
    Web pagePostprint (PDF)
  • Unified classical logic completeness: A coinductive pearl
    J. C. B., Andrei Popescu, and Dmitriy Traytel. In Demri, S., Kapur, D., Weidenbach, C. (eds) 7th International Joint Conference on Automated Reasoning (IJCAR 2014), LNCS 8562, pp. 46–60, Springer, 2014.
    Web pagePostprint (PDF)
  • Mechanizing the metatheory of Sledgehammer
    J. C. B. and Andrei Popescu. In Fontaine, P., Ringeissen, C., Schmidt, R. A. (eds.) 9th International Symposium on Frontiers of Combining Systems (FroCoS 2013), LNCS 8152, pp. 245–260, Springer, 2013.
    Web pagePostprint (PDF)
  • MaSh: Machine learning for Sledgehammer
    Daniel Kühlwein, J. C. B., Cezary Kaliszyk, and Josef Urban. In Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) 4th Conference on Interactive Theorem Proving (ITP 2013), LNCS 7998, pp. 35–50, Springer, 2013.
    Web pagePostprint (PDF)
  • TFF1: The TPTP typed first-order form with rank-1 polymorphism (system description)
    J. C. B. and Andrei Paskevich. In Bonacina, M. P. (ed.) 24th International Conference on Automated Deduction (CADE-24), LNCS 7898, pp. 414–420, Springer, 2013.
    Web pagePostprint (PDF)Draft specification (PDF)
  • Encoding monomorphic and polymorphic types
    J. C. B., Sascha Böhme, Andrei Popescu, and Nicholas Smallbone. In Piterman, N., Smolka, S. (eds.) 19th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2013), LNCS 7795, pp. 493–507, Springer, 2013.
    Web pagePostprint (PDF)
  • Foundational, compositional (co)datatypes for higher-order logic—Category theory applied to theorem proving
    Dmitriy Traytel, Andrei Popescu, and J. C. B. In 27th Annual IEEE Symposium on Logic in Computer Science (LICS 2012), pp. 596–605, IEEE, 2012.
    Web pagePostprint (PDF)
  • More SPASS with Isabelle—Superposition with hard sorts and configurable simplification
    J. C. B., Andrei Popescu, Daniel Wand, and Christoph Weidenbach. In Beringer, L., Felty, A. P. (eds.) Third International Conference on Interactive Theorem Proving (ITP 2012), LNCS 7406, pp. 345–360, Springer, 2012.
    Web pagePostprint (PDF)
  • Automatic proof and disproof in Isabelle/HOL
    J. C. B., Lukas Bulwahn, and Tobias Nipkow. In Tinelli, C., Sofronie-Stokkermans, V. (eds.) 8th International Symposium Frontiers of Combining Systems (FroCoS 2011), LNCS 6989, pp. 12–27, Springer, 2011.
    Web pagePostprint (PDF)
  • Extending Sledgehammer with SMT solvers
    J. C. B., Sascha Böhme, and Lawrence C. Paulson. In Bjørner, N., Sofronie-Stokkermans, V. (eds.) 23rd International Conference on Automated Deduction (CADE-23), LNCS 6803, pp. 116–130, Springer, 2011.
    Web pagePostprint (PDF)
  • Nitpicking C++ concurrency
    J. C. B., Tjark Weber, Mark Batty, Scott Owens, and Susmit Sarkar. 13th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (PPDP 2011), pp. 113–124, ACM Press, 2011.
    Web pagePostprint (PDF)
  • Generating counterexamples for structural inductions by exploiting nonstandard models
    J. C. B. and Koen Claessen. In Fermüller, C. G., Voronkov, A. (eds.) 17th International Conference on Logic for Programming, Artificial Intelligence and Reasoning (LPAR Yogyakarta 2010), LNCS 6397, pp. 117–141, Springer, 2010.
    Web pagePostprint (PDF)
  • Nitpick: A counterexample generator for Isabelle/HOL based on the relational model finder Kodkod (system description)
    J. C. B. Presented at the 17th International Conference on Logic for Programming, Artificial Intelligence and Reasoning (LPAR Yogyakarta 2010).
    Web pagePostprint (PDF)
  • Monotonicity inference for higher-order formulas
    J. C. B. and Alexander Krauss. In Giesl, J., Hähnle, R. (eds.) 5th International Joint Conference on Automated Reasoning (IJCAR 2010), LNCS 6173, pp. 91–106, Springer, 2010.
    Web pagePostprint (PDF)
  • Nitpick: A counterexample generator for higher-order logic based on a relational model finder
    J. C. B. and Tobias Nipkow. In Kaufmann, M., Paulson, L. C. (eds.) First International Conference on Interactive Theorem Proving (ITP 2010), LNCS 6172, pp. 131–146, Springer, 2010.
    Web pagePostprint (PDF)
  • Relational analysis of (co)inductive predicates, (co)inductive datatypes, and (co)recursive functions
    J. C. B. In Fraser, G., Gargantini, A. (eds.) Fourth International Conference on Tests and Proofs (TAP 2010), LNCS 6143, pp. 117–134, Springer, 2010.
    Web pagePostprint (PDF)
  • Nitpick: A counterexample generator for higher-order logic based on a relational model finder (extended abstract)
    J. C. B. and Tobias Nipkow. Third International Conference on Tests and Proofs (TAP 2009). In Dubois, C. (ed.) TAP 2009: Short Papers, ETH Technical Report 630, 2009.
    Full proceedings (PDF)Postprint (PDF)

Workshop Papers

  • Model finding for recursive functions in SMT
    Andrew Reynolds, J. C. B., and Cesare Tinelli. Satisfiability Modulo Theories Workshop (SMT 2015).
    Postprint (PDF)Report (PDF)
  • Primitively (co)recursive definitions for Isabelle/HOL
    Lorenz Panny, J. C. B., and Dmitriy Traytel. Isabelle Workshop 2014.
    Postprint (PDF)
  • My life with an automatic theorem prover
    J. C. B. In Kovács, L., Voronkov, A. (eds.) First and Second Vampire Workshops (Vampire 2014 and 2015), pp. 1–7, EPiC 38, EasyChair, 2016.
    Postprint (PDF)
  • A survey of axiom selection as a machine learning problem
    J. C. B. and Daniel Kühlwein. In Geschke, S., Loewe, B., Schlicht, P. (eds.) Infinity, Computability, and Metamathematics: Festschrift Celebrating the 60th Birthdays of Peter Koepke and Philip Welch, Tributes, College Publications, 2014.
    Postprint (PDF)
  • Robust, semi-intelligible Isabelle proofs from ATP proofs
    Steffen Juilf Smolka and J. C. B. In Blanchette, J. C., Urban, J. (eds.) Third International Workshop on Proof Exchange for Theorem Proving (PxTP 2013), pp. 117–132, EPiC 14, EasyChair, 2013.
    Postprint (PDF)
  • Redirecting proofs by contradiction
    J. C. B. In Blanchette, J. C., Urban, J. (eds.) Third International Workshop on Proof Exchange for Theorem Proving (PxTP 2013), pp. 11–26, EPiC 14, EasyChair, 2013.
    Postprint (PDF)
  • Three years of experience with Sledgehammer, a practical link between automated and interactive theorem provers
    Lawrence C. Paulson and J. C. B. 8th International Workshop on the Implementation of Logics (IWIL-2010).
    Full proceedings (PDF)Postprint (PDF)
  • Intra-object versus inter-object: Concurrency and reasoning in Creol
    Einar Broch Johnsen, J. C. B., Marcel Kyas, and Olaf Owe. Electronic Notes in Theoretical Computer Science 243 (2nd International Workshop on Harnessing Theories for Tool Support in Software, TTSS 2008), pp. 89–103, 2009.
    Web pagePostprint (PDF)
  • An open system operational semantics for an object-oriented and component-based language
    J. C. B. and Olaf Owe. Electronic Notes in Theoretical Computer Science 215 (4th International Workshop on Formal Aspects of Component Software, FACS 2007), pp. 151–169, 2008.
    Web pagePostprint (PDF)

Workshop Abstracts

  • Friends with benefits: Implementing foundational corecursion in Isabelle/HOL (extended abstract)
    J. C. B., Aymeric Bouzy, Andreas Lochbihler, Andrei Popescu, and Dmitriy Traytel. Isabelle Workshop 2016.
    Abstract (PDF)
  • A verified SAT solver framework with learn, forget, restart, and incrementality
    J. C. B., Mathias Fleury, and Christoph Weidenbach. Isabelle Workshop 2016.
    Abstract (PDF)
  • Model finding for recursive functions in SMT
    Andrew Reynolds, J. C. B., and Cesare Tinelli. QUANTIFY 2015.
    Abstract (PDF)
  • Toward Nitpick and Sledgehammer for Coq
    J. C. B. Coq Workshop 2015.
    Abstract (PDF)
  • Isabelle and security
    J. C. B. and Andrei Popescu. Grande Region Security and Reliability Day 2015, accepted for poster session.
    Abstract (PDF)

Theses

  • Verification of Assertions in Creol Programs
    J. C. B. M.Sc. thesis, Institutt for informatikk, Universitetet i Oslo, May 2008.
    PDF

Books

  • C++ GUI Programming with Qt 4
    J. B. and Mark Summerfield. Prentice Hall, July 2006.
    Chinese (Simplified), French, German, Japanese, and Russian translations are available.
    Web pagePDF
  • C++ GUI Programming with Qt 3
    J. B. and Mark Summerfield. Bruce Perens' Open Source Series, Prentice Hall, January 2004.
    Chinese (Simplified), German, Japanese, and Russian translations are available.
    Web pagePDF

Other Publications

  • Third International Workshop on Proof Exchange for Theorem Proving (PxTP 2013)
    J. C. B. and Josef Urban (eds.)
    EPiC 14, EasyChair, 2013.
    Web pagePDF
  • Monotonicity or how to encode polymorphic types safely and efficiently
    J. C. B., Sascha Böhme, and Nicholas Smallbone. Subsumed by “Encoding monomorphic and polymorphic types.”
    Technical report (PDF)
  • An Isabelle/HOL formalization of the textbook proof of Huffman's algorithm
    J. C. B. In Klein, G., Nipkow, T., Paulson, L. (eds.), Archive of Formal Proofs, October 2008.
    Web pagePDF
  • The Little Manual of API Design
    J. B. Trolltech, a Nokia company, June 2008.
    PDF
  • Overview of the Creol language
    J. C. B. Essay, Department of Informatics, Univerity of Oslo, May 2007.
    PDF
  • Throwing MFC out of Windows—Qt application development with Visual Studio .NET
    J. B. Linux Magazine 73, pp. 40–43, December 2006.
    Web page
  • Windows-to-Linux migration with Qt
    J. B. TUX 4, July 2005.
    Web pagePDF

Formal Proofs

  • Formalization of Knuth–Bendix orders for lambda-free higher-order terms
    Heiko Becker, J. C. B., Uwe Waldmann, and Daniel Wand. Archive of Formal Proofs, 2016.
    Web page
  • Formalization of nested multisets, hereditary multisets, and syntactic ordinals
    J. C. B., Mathias Fleury, and Dmitriy Traytel. Archive of Formal Proofs, 2016.
    Web page
  • Formalization of recursive path orders for lambda-free higher-order terms
    J. C. B., Uwe Waldmann, and Daniel Wand. Archive of Formal Proofs, 2016.
    Web page
  • Abstract completeness
    J. C. B., Andrei Popescu, and Dmitriy Traytel. Archive of Formal Proofs, 2014.
    Web page
  • Sound and complete sort encodings for first-order logic
    J. C. B. and Andrei Popescu. Archive of Formal Proofs, 2013.
    Web page
  • The textbook proof of Huffman's algorithm
    J. C. B. Archive of Formal Proofs, 2008.
    Web page

Software

  • DiffPDF—A utility to compare PDFs. Developed by Mark Summerfield.
    Web page

Activities


Videos

  • Qt 4 Dance, 2005. Jean-Claude, c'est moi.
    YouTube

Address

dr. J.C. Blanchette
Vrije Universiteit Amsterdam
Department of Computer Science
Section Theoretical Computer Science
De Boelelaan 1081
1081 HV Amsterdam
Netherlands

Phone: +31 20 598 9886
Email: j.c.blanchette the at sign vu.nl



“A proof is a proof.
What kind of a proof?
It's a proof.
A proof is a proof,
and when you have a good proof,
it's because it's proven.”

— Jean Chrétien