Skip to main content

Generic Proof Scores for Generate & Check Method in CafeOBJ 

  • Chapter
  • First Online:
Logic, Rewriting, and Concurrency

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9200))

  • 786 Accesses

Abstract

Generic proof scores for the generate & check method in CafeOBJ are described. The generic proof scores codify the generate & check method as parameterized modules in the CafeOBJ language independently of specific systems to which the method applies. Basic proof scores for a specific system can be obtained by instantiating the formal parameter modules of the parameterized modules with the actual specification modules of the specific system. The effectiveness of the generic proof scores is demonstrated by applying them to a couple of non-trivial examples.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    \({(T_{\varSigma })}_{{\small {\mathtt{{State}}}}}/\!({\small {\mathtt{{=}}}}_E)_{\small {\mathtt{{State}}}}\) is better to be understood as \(T_{\varSigma }/\!{\small {\mathtt{{=}}}}_E\), for usually the sort State can only be understood together with other related sorts like Bool, Nat, Queue, etc.

  2. 2.

    We may need some \( Data \) for specifying a predicate on a transition system like “the agent with the name N is working” where N is \( Data \).

  3. 3.

    See [10] for a more precise definition.

  4. 4.

    The file genCheck.cafe on the web page contains the seven parameterized modules. The files exState.cafe, genCases.cafe, pnat.cafe and predCj.cafe are used in genCheck.cafe. Note that each file without suffix “abp-” or “qlock-” in its name is not depend on QLOCK or ABP and generic for the generate & check method.

  5. 5.

    The module GENcases is in the file genCases.cafe on the web page.

  6. 6.

    These equations are in the file qlock-genStTerm.cafe on the web page.

  7. 7.

    The module PREDcj is in the file predCj.cafe on the web page.

  8. 8.

    The modules INV-1v, INV-2v are in the file genCheck.cafe on the web page.

  9. 9.

    The modules VALIDq, G&C-Tv, INV-3q are in the file genCheck.cafe on the web page.

  10. 10.

    The modules EX-STATE, PCJ-EX-STATE are in the file exState.cafe on the web page.

  11. 11.

    The modules PQ-1q, PQ-2q, PQ-3v, PQ-4v are in the file genCheck.cafe on the web page.

  12. 12.

    The specifications explained in this section are in the file qlock-sys.cafe on the web page.

  13. 13.

    The file qlock-sys-ex.cafe on the web page contains the translated tyc and ex rules.

  14. 14.

    The modules in this section is in the file qlock-prop.cafe unless otherwise stated.

  15. 15.

    The module PNAT* is in the file qlock-natQuSet.cafe on the web page.

  16. 16.

    The base modules Q-INV-1v, Q-INV-2v, Q-INV-3q, and Q-PQ-1q, Q-PQ-2q, Q-PQ-3v, Q-PQ-4v are in the file qlock-genCheck.cafe on the web page.

  17. 17.

    The module Q-INV-1-genCheck is in the file qlock-inv-1-ps.cafe on the web.

  18. 18.

    The module Q-INV-2-genCheck is in the file qlock-inv-2-ps.cafe on the web page.

  19. 19.

    The module Q-INV-3-genCheck is in the file qlock-inv-3-ps.cafe on the web page.

  20. 20.

    The module GENstTerm is in the file qlock-genStTerm.cafe on the web page.

  21. 21.

    The module CONSTandLITL is in the file qlock-constAndLitl.cafe on the web page.

  22. 22.

    The module FACTtbu is in the file qlock-factTbu.cafe on the web page.

  23. 23.

    You can see the proof score using Generate&Check-T2 in the file qlock-inv-3-ps. cafe on the web page.

  24. 24.

    The module Q-PQ-1-genCheck is in the file qlock-pq-1-ps.cafe on the web page.

  25. 25.

    The module Q-PQ-2-genCheck is in the file qlock-pq-2-ps.cafe on the web page.

  26. 26.

    The module Q-PQ-3-genCheck is in the file qlock-pq-3-ps.cafe on the web page.

  27. 27.

    The module Q-PQ-4-genCheck is in the file qlock-pq-4-ps.cafe on the web page.

  28. 28.

    You can see the expanded term after the eof in the file qlocik-pq-3-ps.cafe on the web page.

  29. 29.

    The base modules ABP-INV-1v, ABP-INV-2v, ABP-INV-3q are in the file abp- genCheck.cafe on the web page.

  30. 30.

    You can see the similarity by looking into the files abp-genCheck.cafe and qlock-genCheck.cafe on the web page.

  31. 31.

    Examples of CITP usage (i.e. :goal and :ctf) can be found in file abp-factTbu-ps. cafe on the web page.

References

  1. Bae, K., Escobar, S., Meseguer, J.: Abstract logical model checking of infinite-state systems using narrowing. In: van Raamsdonk, F. (ed.) RTA. LIPIcs, vol. 21, pp. 81–96. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2013)

    Google Scholar 

  2. Baier, C., Katoen, J.P.: Principles of Model Checking. MIT Press, Cambridge (2008)

    MATH  Google Scholar 

  3. CafeOBJ (2015). http://cafeobj.org/

  4. Chandy, K.M., Misra, J.: Parallel Program Design - a Foundation. Addison-Wesley, Boston (1989)

    MATH  Google Scholar 

  5. Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2001)

    Book  Google Scholar 

  6. Coq (2015). http://coq.inria.fr

  7. Escobar, S., Meseguer, J.: Symbolic model checking of infinite-state systems using narrowing. In: Baader, F. (ed.) RTA 2007. LNCS, vol. 4533, pp. 153–168. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  8. Futatsugi, K.: Verifying specifications with proof scores in CafeOBJ. In: Proceedings of 21st IEEE/ACM International Conference on Automated Software Engineering (ASE 2006), pp. 3–10. IEEE Computer Society (2006)

    Google Scholar 

  9. Futatsugi, K.: Fostering proof scores in \({\sf {CafeOBJ}}\). In: Dong, J.S., Zhu, H. (eds.) ICFEM 2010. LNCS, vol. 6447, pp. 1–20. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  10. Futatsugi, K.: Generate & check method for verifying transition systems in \({\sf {CafeOBJ}}\). In: Nicola, R.D., Hennicker, R. (eds.) Software, Services, and Systems. LNCS, vol. 8950, pp. 171–192. Springer, Switzerland (2015)

    Google Scholar 

  11. Futatsugi, K., Găină, D., Ogata, K.: Principles of proof scores in CafeOBJ. Theor. Comput. Sci. 464, 90–112 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  12. Găină, D., Lucanu, D., Ogata, K., Futatsugi, K.: On automation of OTS/CafeOBJ method. In: Iida, S., Meseguer, J., Ogata, K. (eds.) Specification, Algebra, and Software. LNCS, vol. 8373, pp. 578–602. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  13. Goguen, J.A., Meseguer, J.: Order-sorted algebra I: equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theor. Comput. Sci. 105(2), 217–273 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  14. Guttag, J.V., Horning, J.J., Garland, S.J., Jones, K.D., Modet, A., Wing, J.M.: Larch Languages and Tools for Formal Specification. Springer, New York (1993)

    Book  Google Scholar 

  15. HOL (2015). http://hol.sourceforge.net

  16. Maude (2015). http://maude.cs.uiuc.edu/

  17. Meseguer, J.: Twenty years of rewriting logic. J. Log. Algebr. Program. 81(7–8), 721–781 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  18. Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283, p. 3. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  19. Ogata, K., Futatsugi, K.: Proof scores in the OTS/CafeOBJ method. In: Najm, E., Nestmann, U., Stevens, P. (eds.) FMOODS 2003. LNCS, vol. 2884, pp. 170–184. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  20. PVS (2015). http://pvs.csl.sri.com

  21. Rocha, C., Meseguer, J.: Proving safety properties of rewrite theories. Technical report, University of Illinois at Urbana-Champaign (2010)

    Google Scholar 

  22. Rocha, C., Meseguer, J.: Proving safety properties of rewrite theories. In: Corradini, A., Klin, B., Cîrstea, C. (eds.) CALCO 2011. LNCS, vol. 6859, pp. 314–328. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

Download references

Acknowledgments

It is a great pleasure for the author (KF) to have the chance to prepare this paper for the Festschrift in honor of Professor Jos\(\acute{\mathrm {e}}\) Meseguer who has originated the rewriting logic and been leading the development of the area. The work reported in this paper is based on that development.

Comments from anonymous reviewers help to improve the quality of the paper and are appreciated.

This work was supported in part by Grant-in-Aid for Scientific Research (S) 23220002 from Japan Society for the Promotion of Science (JSPS).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kokichi Futatsugi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Futatsugi, K. (2015). Generic Proof Scores for Generate & Check Method in CafeOBJ . In: Martí-Oliet, N., Ölveczky, P., Talcott, C. (eds) Logic, Rewriting, and Concurrency. Lecture Notes in Computer Science(), vol 9200. Springer, Cham. https://doi.org/10.1007/978-3-319-23165-5_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-23165-5_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-23164-8

  • Online ISBN: 978-3-319-23165-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics