Advertisement

Soundly Proving B Method Formulæ Using Typed Sequent Calculus

  • Pierre Halmagrand
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9965)

Abstract

The B Method is a formal method mainly used in the railway industry to specify and develop safety-critical software. To guarantee the consistency of a B project, one decisive challenge is to show correct a large amount of proof obligations, which are mathematical formulæ expressed in a classical set theory extended with a specific type system. To improve automated theorem proving in the B Method, we propose to use a first-order sequent calculus extended with a polymorphic type system, which is in particular the output proof-format of the tableau-based automated theorem prover Zenon. After stating some modifications of the B syntax and defining a sound elimination of comprehension sets, we propose a translation of B formulæ into a polymorphic first-order logic format. Then, we introduce the typed sequent calculus used by Zenon, and show that Zenon proofs can be translated to proofs of the initial B formulæ in the B proof system.

References

  1. 1.
    Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)CrossRefzbMATHGoogle Scholar
  2. 2.
    Blanchette, J.C., Böhme, S., Popescu, A., Smallbone, N.: Encoding monomorphic and polymorphic types. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 493–507. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-36742-7_34 CrossRefGoogle Scholar
  3. 3.
    Bobot, F., Filliâtre, J.C., Marché, C., Paskevich, A.: Why3: shepherd your herd of provers. In: International Workshop on Intermediate Verification Languages (Boogie) (2011)Google Scholar
  4. 4.
    Bodeveix, J.-P., Filali, M.: Type synthesis in B and the translation of B to PVS. In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.) ZB 2002. LNCS, vol. 2272, pp. 350–369. Springer, Heidelberg (2002). doi: 10.1007/3-540-45648-1_18 CrossRefGoogle Scholar
  5. 5.
    Boespflug, M., Carbonneaux, Q., Hermant, O.: The \(\lambda \varPi \)-calculus modulo as a universal proof language. In: Proof Exchange for Theorem Proving (PxTP) (2012)Google Scholar
  6. 6.
    Bonichon, R., Delahaye, D., Doligez, D.: Zenon: an extensible automated theorem prover producing checkable proofs. In: Dershowitz, N., Voronkov, A. (eds.) LPAR 2007. LNCS (LNAI), vol. 4790, pp. 151–165. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-75560-9_13 CrossRefGoogle Scholar
  7. 7.
    Bury, G., Delahaye, D., Doligez, D., Halmagrand, P., Hermant, O.: Automated deduction in the B set theory using typed proof search and deduction modulo. In: LPAR 20 : 20th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, Suva, Fiji (2015)Google Scholar
  8. 8.
    Cauderlier, R., Halmagrand, P.: Checking Zenon modulo proofs in Dedukti. In: Fourth Workshop on Proof eXchange for Theorem Proving (PxTP), Berlin, Germany (2015)Google Scholar
  9. 9.
    Delahaye, D., Doligez, D., Gilbert, F., Halmagrand, P., Hermant, O.: Zenon modulo: when achilles outruns the tortoise using deduction modulo. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) LPAR 2013. LNCS, vol. 8312, pp. 274–290. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-45221-5_20 CrossRefGoogle Scholar
  10. 10.
    Delahaye, D., Dubois, C., Marché, C., Mentré, D.: The Bware project: building a proof platform for the automated verification of B proof obligations. In: Ameur, Y.A., Schewe, K.-S. (eds.) Abstract State Machines, Alloy, B, VDM, and Z (ABZ). LNCS, vol. 8477, pp. 290–293. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  11. 11.
    Dowek, G., Hardin, T., Kirchner, C.: Theorem proving Modulo. J. Autom. Reasoning (JAR) 31, 33–72 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Dowek, G., Miquel, A.: Cut elimination for zermelo set theory. Archive for Mathematical Logic. Springer, Heidelberg (2007, submitted)Google Scholar
  13. 13.
    Jacquel, M., Berkani, K., Delahaye, D., Dubois, C.: Verifying B proof rules using deep embedding and automated theorem proving. Softw. Eng. Formal Methods 7041, 253–268 (2011)CrossRefzbMATHGoogle Scholar
  14. 14.
    Jaeger, É., Dubois, C.: Why would you trust B? In: Dershowitz, N., Voronkov, A. (eds.) LPAR 2007. LNCS (LNAI), vol. 4790, pp. 288–302. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-75560-9_22 CrossRefGoogle Scholar
  15. 15.
    Kleene, S.C.: Permutability of inferences in Gentzens calculi LK and LJ. In: Bulletin Of The American Mathematical Society, vol. 57, pp. 485–485. Amer Mathematical Soc, Providence (1951)Google Scholar
  16. 16.
    Mentré, D., Marché, C., Filliâtre, J.-C., Asuka, M.: Discharging proof obligations from Atelier B using multiple automated provers. In: Derrick, J., Fitzgerald, J., Gnesi, S., Khurshid, S., Leuschel, M., Reeves, S., Riccobene, E. (eds.) ABZ 2012. LNCS, vol. 7316, pp. 238–251. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-30885-7_17 CrossRefGoogle Scholar
  17. 17.
    Schmalz, M.: Formalizing the logic of event-B. Ph.D. thesis, Diss., Eidgenössische Technische Hochschule ETH Zürich, Nr. 20516, 2012 (2012)Google Scholar
  18. 18.
    ClearSy: Atelier B 4.1 (2013). http://www.atelierb.eu/

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  1. 1.Cnam/Inria/Ens CachanParisFrance

Personalised recommendations