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.
Similar content being viewed by others
References
Abrial, J.-R.: The \(\sf {B}\)-Book, Assigning Programs to Meanings. Cambridge University Press, Cambridge (UK) (1996). ISBN: 0521496195
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
\(\sf {ClearSy: Atelier \ B}\) 4.0. http://www.atelierb.eu/ Feb (2009)
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)
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)
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)
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)
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)
Le Lay, É.: Automatiser la validation des règles. Master’s thesis, \(\sf {INSA}\) (Rennes), \(\sf {Siemens \ IC}\)-\(\sf {MOL}\), Sept (2008)
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)
McCune, W., Wos, L.: \(\sf {Otter}\) – the CADE-13 competition incarnations. J. Autom. Reason. 18(2), 211–220 (1997)
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)
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)
Riazanov, A., Voronkov, A.: \(\sf {Vampire}\). In: Conference on Automated Deduction (CADE), vol. 1632 of LNCS, pp 292–296. Springer, Trento (Italy) July (1999)
Schulz, S.: \(\sf {E}\) – A brainiac theorem prover. AI Commun. 15(2/3), 111–126 (2002)
The \(\sf {Coq}\) Development Team: \(\sf {Coq}\), version 8.3. \(\sf {INRIA}\). http://coq.inria.fr/. Oct (2010)
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
Corresponding author
Additional information
Communicated by Dr. Gerardo Schneider, Gilles Barthe, and Alberto Pardo.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-013-0322-z