
This Article  
 
Share  
Bibliographic References  
Add to:  
Digg Furl Spurl Blink Simpy Del.icio.us Y!MyWeb  
Search  
 
ASCII Text  x  
Raymond Boute, "Supertotal Function Definition in Mathematics and Software Engineering," IEEE Transactions on Software Engineering, vol. 26, no. 7, pp. 662672, July, 2000.  
BibTex  x  
@article{ 10.1109/32.859534, author = {Raymond Boute}, title = {Supertotal Function Definition in Mathematics and Software Engineering}, journal ={IEEE Transactions on Software Engineering}, volume = {26}, number = {7}, issn = {00985589}, year = {2000}, pages = {662672}, doi = {http://doi.ieeecomputersociety.org/10.1109/32.859534}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, }  
RefWorks Procite/RefMan/Endnote  x  
TY  JOUR JO  IEEE Transactions on Software Engineering TI  Supertotal Function Definition in Mathematics and Software Engineering IS  7 SN  00985589 SP662 EP672 EPD  662672 A1  Raymond Boute, PY  2000 KW  Formal methods KW  software specification KW  predicate calculus KW  calculational reasoning KW  functional mathematics KW  guarded formulas KW  conditional expressions KW  undefinedness KW  type correctness KW  subtyping. VL  26 JA  IEEE Transactions on Software Engineering ER   
Abstract—In engineering (including computing), mathematics and logic, expressions can arise that contain function applications where the argument is outside the function's domain. Such a situation need not represent a conceptual error, for instance, in conditional expressions, but it is traditionally considered a type error. Various solutions can be found in the literature based on the notion of
[1] D.L. Parnas, “Predicate Logic for Software Engineering,” IEEE Trans Software Eng., vol. 19, no. 9 pp. 856–862 Sept. 1993.
[2] W.F. Farmer, “A Partial Functions Version of Church's Simple Theory of Types,” J. Symbolic Logic, pp. 1269–1291, Sep. 1990.
[3] J.H. Cheng and C.B. Jones, “On the Usability of Logics which Handle Partial Functions,” Proc. Third Refinement Workshop, C. Morgan and J. Woodcock, eds., SpringerVerlag, pp. 51–69, 1991.
[4] D. Gries, “Foundations for Calculational Logic,” M. Broy and B. Schieder Eds., Mathematical Methods in Program Development, pp. 83126, Springer NATO ASI Series F158, 1997.
[5] E. Dijkstra and C. Scholten, Predicate Calculus and Program Semantics. SpringerVerlag, 1989.
[6] D. Gries and F.B. Schneider, A Logical Approach to Discrete Math, Berlin: SpringerVerlag, 1993.
[7] R. Boute, “Algorithms for Combinational Fault Equivalence using LISP,” Technical Note No. 9, Digital Systems Laboratory, Stanford Univ., Sept. 1971
[8] E.W. Dijkstra, A Discipline of Programming.Englewood Cliffs, N.J.: Prentice Hall, 1976.
[9] M. Levin, “Mathematical Logic for Computer Scientists,” Report MAC TR131, Massachusetts Inst. of Tech nology, June 1974.
[10] R.T. Boute, “Fundamentals of Hardware Description Languages and Declarative Languages,” Fundamentals and Standards in Hardware Description Languages, pp. 338, J.P. Mermet ed., Kluwer Academic, 1993.
[11] R.T. Boute, “Funmath illustrated: A Declarative Formalism and Application Examples,” Declarative Systems Series No. 1, Computing Science Inst., Univ. of Nijmegen, July 1993.
[12] S. Lang, “Undergraduate Analysis,” Berlin, 1983.
[13] E. Mendelson, Introduction to Mathematical Logic, second edition. D. Van Nostrand. (author: year published?)
[14] B. Meyer, Introduction to the Theory of Programming Languages, Prentice Hall, Hemel Hempstead, U.K., 1990.
[15] A. Syropoulos and A. Karakos, “Bottom in the Imperative World,” ACM SIGPLAN Notices, vol. 30, no. 5, pp. 18–20, May 1995.
[16] A. Bijlsma, “Semantics of QuasiBoolean Expressions,” Beauty Is Our Business–A Birthday Salute to Edsger W. Dijkstra, W.H.J. Feyen, A.J.M. van Gasteren, D. Gries, and J. Misra, eds., pp. 27–35 New York: SpringerVerlag, 1990
[17] J.A Bergstra, I. Bethke, and P.H. Rodenburg, “A Propositional Logic with 4 Values: True, False, Divergent, and Meaningless,” Programming Research Group Technical Report P9406., Univ. of Amsterdam, 1994.
[18] J.A Bergstra and A. Ponse, “Process Algebra with FourValued Logic,” Programming Research Group Technical Report P9724, Univ. of Amsterdam, 1997
[19] E.B. Eichelberger, “Hazard Detection in Combinational and Sequential Circuits,” IBM J. on Res. and Dev., pp.90–99, Mar. 1965.
[20] A. Zamfirescu, “Logic and Arithmetic in Hardware Description Languages,” Fundamentals and Standards in Hardware Description Languages, NATO ASI Series, pp. 79–107 J.P. Mermet, ed., Dordrecht: Kluwer Academic, 1993.
[21] R. Boute, “Conditionals, Guards and Inverses in Funmath and Comma,” Tech. Note, School of Math. and Informatics, Univ. of Nijmegen, Netherlands, 1990.
[22] F. van den Beuken, “A Functional Approach to Syntax and Typing,” Ph.D. Thesis, School of Math. and Informatics, Univ. of Nijmegen, Netherlands, 1997.
[23] D.S Scott, “Existence and Description in Formal Logic,” Bertrand Russell, Philosopher of the Century, pp. 51–69, R. Schoenman, ed., St. Leonards: Allen and Unwin, 1967.
[24] E.C. Hehner, “From Boolean Algebra to Unified Algebra,” Internal Report, Univ. of Toronto, June 1997.
[25] C.B. Jones and C.A. Middelburg, “A Typed Logic of Partial Functions Reconstructed Classically,” Acta Informatica vol. 31 pp. 399–430, 1994.
[26] C.B. Jones, “Partial Functions and Logics: A Warning,” Information Processing Letters 54, pp. 65–68, 1995.
[27] L. Lamport and L.C. Paulson, “Should Your Specification Language Be Typed?,” SRC Research Report 147, Digital Equip. Corp., May 1997.
[28] J. Rushby, S. Owre, and N. Shankar, “Subtypes for Specifications: Predicate Subtyping in PVS,” IEEE Trans. Software Eng., vol. 24, no. 9, pp. 709–720, Sept. 1998.
[29] R. Guym, “Wat's Left?,” Math Horizons, pp. 57–57, Apr. 1998.