Discharging Proof Obligations from Atelier B Using Multiple Automated Provers

We present a method to discharge proof obligations from Atelier B using multiple SMT solvers. It is based on a faithful modeling of B's set theory into polymorphic first-order logic. We report on two case studies demonstrating a significant improvement in the ratio of obligations that are automatically discharged.

[1]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[2]  Georges Mariano,et al.  Coq, l'alpha et l'omega de la preuve pour B ? , 2009 .

[3]  Bruno Barras,et al.  Sets in Coq, Coq in Sets , 2010, J. Formaliz. Reason..

[4]  David Déharbe Integration of SMT-solvers in B and Event-B development environments , 2013, Sci. Comput. Program..

[5]  Mamoun Filali,et al.  A Formalization of the B-Method in Coq and PVS , 1999 .

[6]  Jérôme Rocheteau,et al.  BRILLANT: an open source and XML-based platform for rigourous software development , 2005, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05).

[7]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[8]  Sylvain Conchon,et al.  CC(X): Semantic Combination of Congruence Closure with Solvable Theories , 2008, Electron. Notes Theor. Comput. Sci..

[9]  Frédéric Badeau,et al.  Using B as a High Level Programming Language in an Industrial Project: Roissy VAL , 2005, ZB.

[10]  Steve A. Schneider,et al.  ZB 2005: Formal Specification and Development in Z and B, 4th International Conference of B and Z Users, Guildford, UK, April 13-15, 2005, Proceedings , 2005, ZB.

[11]  Paul Benoit,et al.  Météor: A Successful Application of B in a Large Project , 1999, World Congress on Formal Methods.

[12]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[13]  François Bobot,et al.  Why3: Shepherd Your Herd of Provers , 2011 .

[14]  David Delahaye,et al.  Verifying B proof rules using deep embedding and automated theorem proving , 2013, Software & Systems Modeling.

[15]  S. Anderson,et al.  Secure Synthesis of Code: A Process Improvement Experiment , 1999, World Congress on Formal Methods.

[16]  François Bobot,et al.  Expressing Polymorphic Types in a Many-Sorted Language , 2011, FroCoS.

[17]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .