Skip to main content
Log in

Verifying B proof rules using deep embedding and automated theorem proving

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

We propose a formal and mechanized framework which consists in verifying proof rules of the B method, which cannot be automatically proved by the elementary prover of Atelier B and using an external automated theorem prover called Zenon. This framework contains in particular a set of tools, named BCARe and developed by Siemens IC-MOL, which relies on a deep embedding of the B theory within the logic of the Coq proof assistant. This toolkit allows us to automatically generate the required properties to be checked for a given proof rule. Currently, this tool chain is able to automatically verify a part of the derived rules of the B-Book, as well as some added rules coming from Atelier B and the rule database maintained by Siemens IC-MOL.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  1. Abrial, J.-R.: The \(\sf {B}\)-Book, Assigning Programs to Meanings. Cambridge University Press, Cambridge (UK) (1996). ISBN: 0521496195

  2. Abrial, J.-R., Butler, M., Hallerstede, S., Hoang, T., Mehta, F., Voisin, L.: \(\sf {Rodin}\): an open toolset for modelling and reasoning in \(\sf {Event}\)-\(\sf {B}\). Softw. Tools Technol. Transf. 12(6), 447–466 (2010)

  3. Abrial, J.-R., Mussat, L.: On using conditional definitions in formal theories. In: Formal Specification and Development in \(\sf {Z}\) and \(\sf {B}\) (ZB), vol. 2272 of LNCS, pp. 317–322. Springer, Grenoble (France) Jan (2002)

  4. Barendregt, H., Cohen, A.M.: Electronic communication of mathematics and the interaction of computer algebra systems and proof assistants. J. Symbolic Comput. 32(1–2), 3–22 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  5. Berkani, K., Dubois, C., Faivre, A., Falampin, J.: Validation des règles de base de l’\(\sf {Atelier~B}\). Technique et Science Informatiques 23(7), 855–878 (2004)

  6. Bobot, F., Conchon, S., Contejean, V., Iguernelala, M., Lescuyer, S., Mebsout, A.:\(\sf {Alt}\)-\(\sf {Ergo}\), version 0.94. \(\sf {CNRS, INRIA}\), and Université Paris-Sud 11. http://alt-ergo.lri.fr/. Dec (2011)

  7. Bobot, F., Filliâtre, J.-C., Marché, C., Paskevich, A.: \(\sf {Why3}\): Shepherd your herd of provers. In: International Workshop on Intermediate Verification Languages (BOOGIE), Wrocław (Poland) Aug (2011)

  8. Bodeveix, J.-P., Filali, M., Muñoz, C.: A Formalization of the \(\sf {B}\)-method in \(\sf {Coq}\) and \(\sf {PVS}\). In: \(\sf {B}\) Users Group Meeting, Toulouse (France) Sept (1999)

  9. Bonichon, R., Delahaye, D., Doligez, D.: \(\sf {Zenon}\): An extensible automated theorem prover producing checkable proofs. In: Logic for Programming Artificial Intelligence and Reasoning (LPAR), vol. 4790 of LNCS/LNAI, pp. 151–165. Springer, Yerevan (Armenia) Oct (2007)

  10. Chartier, P.: Formalisation of \(\sf {B}\) in \(\sf {Isabelle/ HOL}\). In: \(\sf {B}\) Conference, vol. 1393 of LNCS, pp. 66–82. Springer, Montpellier (France) Apr (1998)

  11. Cirstea, H., Kirchner, C.: Using rewriting and strategies for describing the \(\sf {B}\) predicate prover. In: Strategies in Automated Deduction, pp. 25–36. Lindau (Germany) July (1998)

  12. \(\sf {ClearSy: Atelier \ B}\) 4.0. http://www.atelierb.eu/ Feb (2009)

  13. Couchot, J.-F., Dadeau, F., Déharbe, D., Giorgetti, A., Ranise, S.: Proving and debugging set-based specifications. In: Workshop on Formal Methods, vol. 95 of ENTCS, pp. 189–208. Elsevier, Campina Grande (Brazil) Oct (2003)

  14. Delahaye, D.: A tactic language for the system \(\sf { Coq}\). In: Logic for Programming and Automated Reasoning (LPAR), vol. 1955 of LNCS/LNAI, pp. 85–95. Springer, Reunion Island (France) Nov (2000)

  15. Déharbe, D.: Automatic verification for a class of proof obligations with SMT-solvers. In: Abstract State Machines, \(\sf {Alloy}\), \(\sf {B}\) and \(\sf {Z}\) (ABZ), vol. 5977 of LNCS, pp. 217–230. Springer, Orford (Canada, QC) Feb (2010)

  16. Jaeger, É., Dubois, C.: Why would you trust \(\sf {B?}\) In: Logic for Programming Artificial Intelligence and Reasoning (LPAR), vol. 4790 of LNCS/LNAI, pp 288–302. Springer, Yerevan (Armenia) Oct (2007)

  17. Korovin, K.: \(\sf {iProver}\) - An instantiation-based theorem prover for first-order logic (System Description). In: International Joint Conference on Automated Reasoning (IJCAR), vol. 5195 of LNCS/LNAI, pp 292–298. Springer, Sydney (Australia) Aug (2008)

  18. Le Lay, É.: Automatiser la validation des règles. Master’s thesis, \(\sf {INSA}\) (Rennes), \(\sf {Siemens \ IC}\)-\(\sf {MOL}\), Sept (2008)

  19. Maamria, I., Butler, M., Edmunds, A., Rezazadeh, A.: On an extensible rule-based prover for \(\sf {Event}\)-\(\sf {B}\). In: Abstract State Machines, \(\sf {Alloy}\), \(\sf {B}\) and \(\sf {Z}\) (ABZ), vol. 5977 of LNCS, p 407. Springer, Orford (Canada, QC) Feb (2010)

  20. McCune, W., Wos, L.: \(\sf {Otter}\) – the CADE-13 competition incarnations. J. Autom. Reason. 18(2), 211–220 (1997)

  21. Mentré, D., Marché, C., Filliâtre, J.-C., Asuka, M.: Discharging proof obligations from \(\sf {Atelier \ B}\) using multiple automated provers. In: Abstract State Machines, \(\sf {Alloy}\), \(\sf {B}\) and \(\sf {Z}\) (ABZ), vol. 7316 of LNCS, pp 238–251. Springer, Pisa (Italy) June (2012)

  22. Mikhailov, L., Butler, M.: An approach to combining \(\sf {B}\) and \(\sf {Alloy}\). In: Formal Specification and Development in \(\sf {Z}\) and \(\sf {B}\) (ZB), vol. 2272 of LNCS, pp 140–161. Springer, Grenoble (France) Jan (2002)

  23. Riazanov, A., Voronkov, A.: \(\sf {Vampire}\). In: Conference on Automated Deduction (CADE), vol. 1632 of LNCS, pp 292–296. Springer, Trento (Italy) July (1999)

  24. Schulz, S.: \(\sf {E}\) – A brainiac theorem prover. AI Commun. 15(2/3), 111–126 (2002)

  25. The \(\sf {Coq}\) Development Team: \(\sf {Coq}\), version 8.3. \(\sf {INRIA}\). http://coq.inria.fr/. Oct (2010)

Download references

Acknowledgments

The authors wish to thank the anonymous reviewers for their helpful comments and suggestions. They also thank Éric Dubois for his help in the production of the graphics for the benchmarks, as well as Hélène and Dalton Nelson for their careful reading.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to David Delahaye.

Additional information

Communicated by Dr. Gerardo Schneider, Gilles Barthe, and Alberto Pardo.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jacquel, M., Berkani, K., Delahaye, D. et al. Verifying B proof rules using deep embedding and automated theorem proving. Softw Syst Model 14, 101–119 (2015). https://doi.org/10.1007/s10270-013-0322-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-013-0322-z

Keywords

Navigation