Automating Side Conditions in Formalized Partial Functions

  • Cezary Kaliszyk
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5144)


Assumptions about the domains of partial functions are necessary in state-of-the-art proof assistants. On the other hand when mathematicians write about partial functions they tend not to explicitly write the side conditions. We present an approach to formalizing partiality in real and complex analysis in total frameworks that allows keeping the side conditions hidden from the user as long as they can be computed and simplified automatically. This framework simplifies defining and operating on partial functions in formalized real analysis in HOL Light. Our framework allows simplifying expressions under partiality conditions in a proof assistant in a manner that resembles computer algebra systems.


Multivalued Function Computer Algebra Partial Function Computer Algebra System Domain Condition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abramowitz, M., Stegun, I.A.(eds.): Handbook of Mathematical Functions With Formulas, Graphs, and Mathematical Tables, United States Department of Commerce, Washington, D.C. National Bureau of Standards Applied Mathematics Series, vol. 55 (June 1964); 9th Printing, November 1970 with correctionsGoogle Scholar
  2. 2.
    Aslaksen, H.: Multiple-valued complex functions and computer algebra. SIGSAM Bulletin (ACM Special Interest Group on Symbolic and Algebraic Manipulation) 30(2), 12–20 (1996)zbMATHGoogle Scholar
  3. 3.
    Beeson, M.: Using nonstandard analysis to ensure the correctness of symbolic computations. Int. J. Found. Comput. Sci. 6(3), 299–338 (1995)zbMATHCrossRefGoogle Scholar
  4. 4.
    Bove, A., Capretta, V.: Modelling general recursion in type theory. Mathematical Structures in Computer Science 15(4), 671–708 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Coq Development Team. The Coq Proof Assistant Reference Manual Version 8.1. INRIA-Rocquencourt (2006)Google Scholar
  6. 6.
    Corless, R.M., Jeffrey, D.J.: Well ... it isn’t quite that simple. SIGSAM Bulletin (ACM Special Interest Group on Symbolic and Algebraic Manipulation) 26(3), 2–6 (1992)Google Scholar
  7. 7.
    Cruz-Filipe, L., Geuvers, H., Wiedijk, F.: C-CoRN, the constructive Coq repository at Nijmegen. In: Asperti, A., Bancerek, G., Trybulec, A. (eds.) MKM 2004. LNCS, vol. 3119, pp. 88–103. Springer, Heidelberg (2004)Google Scholar
  8. 8.
    Farmer, W.M., Guttman, J.D., Thayer, F.J.: imps: An Interactive Mathematical Proof System (system abstract). In: Stickel, M.E. (ed.) CADE 1990. LNCS, vol. 449, pp. 653–654. Springer, Heidelberg (1990)Google Scholar
  9. 9.
    Farmer, W.M.: A scheme for defining partial higher-order functions by recursion. In: Butterfield, A., Haegele, K. (eds.) IWFM, Workshops in Computing. BCS (1999)Google Scholar
  10. 10.
    Harrison, J.: HOL light: A tutorial introduction. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 265–269. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  11. 11.
    Kaliszyk, C., Wiedijk, F.: Certified computer algebra on top of an interactive theorem prover. In: Kauers, M., Kerber, M., Miner, R., Windsteiger, W. (eds.) MKM/CALCULEMUS 2007. LNCS (LNAI), vol. 4573, pp. 94–105. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. 12.
    Krauss, A.: Partial recursive functions in higher-order logic. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 589–603. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Lozier, D.W.: Nist digital library of mathematical functions. Ann. Math. Artif. Intell. 38(1-3), 105–119 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Müller, O., Slind, K.: Treating partiality in a logic of total functions. Comput. J. 40(10), 640–652 (1997)CrossRefGoogle Scholar
  15. 15.
    Owre, S., Rushby, J., Shankar, N.: PVS: A prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992)Google Scholar
  16. 16.
    Wiedijk, F., Zwanenburg, J.: First order logic with domain conditions. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 221–237. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Cezary Kaliszyk
    • 1
  1. 1.Institute for Computing and Information SciencesRadboud University NijmegenThe Netherlands

Personalised recommendations