Skip to main content
Log in

On a Machine-Checked Proof for Fraction Arithmetic over a GCD Domain

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

In this paper, we describe design principles for certified programs of fraction arithmetic over any domain with the greatest common divisor (GCD) function. This is a small part of the DoCon-A library of certified programs, which is designed by the author of this paper. In this system, programs include definitions of the corresponding mathematical notions and proofs for the main properties of the methods implemented. These proofs are checked by the compiler. A purely functional programming language Agda, which supports dependent types, is used. A technique to generate formal machine-checked proofs for a certain optimized method of fraction addition is described.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

REFERENCES

  1. Meshveliani, S.D., On dependent types and intuitionism in programming mathematics, in Electronic library of Cornel University. http://arxiv.org/find/all:+Mechveliani/0/1/0/all/0/1 (2017).

  2. Meshveliani, S.D., DoCon-A: A library of provable programs for computer algebra, 2015–2018. http://www.botik.ru/pub/local/Mechveliani/docon-A.

  3. Mechveliani, S.D., Computer algebra with Haskell: Applying functional-categorial-'lazy' programming, Proc. Int. Workshop CAAP, Gerdt, V.P., Ed., Dubna, 2001, pp. 203–211.

  4. Norell, U., Dependently typed programming in Agda, Adv. Funct. Program.,Lect. Notes Comput. Sci., Springer, 2008, vol. 5832, pp. 230–266.

    MATH  Google Scholar 

  5. Wikipedia, Agda. http://wiki.portal.chalmers.se/agda/pmwiki.php.

  6. Curry, H.B. and Feys, R., Combinatory Logic, Amsterdam, 1958, vol. 1.

    MATH  Google Scholar 

  7. Howard, W.A., The formulae-as-types notion of construction, To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, Boston: Academic, 1980, pp. 479–490.

    Google Scholar 

  8. Markov, A.A., On constructive mathematics, Tr. Mat. Inst.im.V. A. Steklova, 1962, vol. 67, pp. 8–14.

    Google Scholar 

  9. Martin-Loef, P., Intuitionistic Type Theory, Bibliopolis, 1984.

    Google Scholar 

  10. van der Waerden, B.L., Algebra, Springer, 1971, vol. 1.

    MATH  Google Scholar 

  11. Knuth, D.E., The Art of Computer Programming, Addison-Wesley, 1969, vol. 2.

    MATH  Google Scholar 

  12. Jenks, R.D., Sutor, R.S., et al., Axiom: The Scientific Computation System, Springer, 1992.

    MATH  Google Scholar 

  13. Chlipala, A., Certified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant, MIT Press, 2013. http://adam.chlipala.net/cpdt.

  14. de Moura, L., Kong, S., Avigad, J., van Doorn, F., and von Raumer, J., The Lean theorem prover, Proc. 25th Int. Conf. Automated Deduction (CADE), Berlin, 2015. https://leanprover.github.io/papers/system.pdf.

Download references

6. ACKNOWLEDGMENTS

The author is grateful to an unknown referee who pointed to the existence of the generalized Euclid’s lemma.

Funding

This work was supported by the Ministry of Science and Higher Education of the Russian Federation, project no. AAAA-A19-119020690043-9.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to S. D. Meshveliani.

Additional information

Translated by Yu. Kornienko

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Meshveliani, S.D. On a Machine-Checked Proof for Fraction Arithmetic over a GCD Domain. Program Comput Soft 46, 110–119 (2020). https://doi.org/10.1134/S0361768820020073

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768820020073

Navigation