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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 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.
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.
See [10] for a more precise definition.
- 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.
The module GENcases is in the file genCases.cafe on the web page.
- 6.
These equations are in the file qlock-genStTerm.cafe on the web page.
- 7.
The module PREDcj is in the file predCj.cafe on the web page.
- 8.
The modules INV-1v, INV-2v are in the file genCheck.cafe on the web page.
- 9.
The modules VALIDq, G&C-Tv, INV-3q are in the file genCheck.cafe on the web page.
- 10.
The modules EX-STATE, PCJ-EX-STATE are in the file exState.cafe on the web page.
- 11.
The modules PQ-1q, PQ-2q, PQ-3v, PQ-4v are in the file genCheck.cafe on the web page.
- 12.
The specifications explained in this section are in the file qlock-sys.cafe on the web page.
- 13.
The file qlock-sys-ex.cafe on the web page contains the translated tyc and ex rules.
- 14.
The modules in this section is in the file qlock-prop.cafe unless otherwise stated.
- 15.
The module PNAT* is in the file qlock-natQuSet.cafe on the web page.
- 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.
The module Q-INV-1-genCheck is in the file qlock-inv-1-ps.cafe on the web.
- 18.
The module Q-INV-2-genCheck is in the file qlock-inv-2-ps.cafe on the web page.
- 19.
The module Q-INV-3-genCheck is in the file qlock-inv-3-ps.cafe on the web page.
- 20.
The module GENstTerm is in the file qlock-genStTerm.cafe on the web page.
- 21.
The module CONSTandLITL is in the file qlock-constAndLitl.cafe on the web page.
- 22.
The module FACTtbu is in the file qlock-factTbu.cafe on the web page.
- 23.
You can see the proof score using Generate&Check-T2 in the file qlock-inv-3-ps. cafe on the web page.
- 24.
The module Q-PQ-1-genCheck is in the file qlock-pq-1-ps.cafe on the web page.
- 25.
The module Q-PQ-2-genCheck is in the file qlock-pq-2-ps.cafe on the web page.
- 26.
The module Q-PQ-3-genCheck is in the file qlock-pq-3-ps.cafe on the web page.
- 27.
The module Q-PQ-4-genCheck is in the file qlock-pq-4-ps.cafe on the web page.
- 28.
You can see the expanded term after the eof in the file qlocik-pq-3-ps.cafe on the web page.
- 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.
You can see the similarity by looking into the files abp-genCheck.cafe and qlock-genCheck.cafe on the web page.
- 31.
Examples of CITP usage (i.e. :goal and :ctf) can be found in file abp-factTbu-ps. cafe on the web page.
References
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)
Baier, C., Katoen, J.P.: Principles of Model Checking. MIT Press, Cambridge (2008)
CafeOBJ (2015). http://cafeobj.org/
Chandy, K.M., Misra, J.: Parallel Program Design - a Foundation. Addison-Wesley, Boston (1989)
Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2001)
Coq (2015). http://coq.inria.fr
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)
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)
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)
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)
Futatsugi, K., Găină, D., Ogata, K.: Principles of proof scores in CafeOBJ. Theor. Comput. Sci. 464, 90–112 (2012)
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)
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)
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)
HOL (2015). http://hol.sourceforge.net
Maude (2015). http://maude.cs.uiuc.edu/
Meseguer, J.: Twenty years of rewriting logic. J. Log. Algebr. Program. 81(7–8), 721–781 (2012)
Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283, p. 3. Springer, Heidelberg (2002)
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)
PVS (2015). http://pvs.csl.sri.com
Rocha, C., Meseguer, J.: Proving safety properties of rewrite theories. Technical report, University of Illinois at Urbana-Champaign (2010)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)