Skip to main content

Functional Pearl: Folding Polynomials of Polynomials

  • Conference paper
  • First Online:
Functional and Logic Programming (FLOPS 2018)

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

Included in the following conference series:

  • 569 Accesses

Abstract

Polynomials are a central concept to many branches in mathematics and computer science. In particular, manipulation of polynomial expressions can be used to model a wide variety of computation. In this paper, we consider a simple recursive construction of multivariate polynomials over a base ring such as the integers or a (finite) field. We show that this construction allows inductive implementation of polynomial operations such as arithmetic, evaluation, substitution, etc. Furthermore, we can transform a polynomial expression into in a sequence of arithmetic expressions in the base ring and prove the correctness of this transformation in Agda. Combined with our recursive construction, this allows for compiling polynomial expressions over a tower of extension fields into scalar expressions over the ground field, for example. Such a technique is not only interesting in its own right but also finds plentiful application in research areas such as cryptography.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.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

Similar content being viewed by others

Notes

  1. 1.

    We use Haskell convention that infix data constructors start with a colon and, for concise typesetting, write \(\mathsf {({:\!\!+})}\) instead of the Agda notation \(\_\) \({:\!\!+}\)\(\_\). In the rest of the paper we also occasionally use Haskell syntax for brevity.

References

  1. Bird, R.S., de Moor, O.: Algebra of Programming. Prentice Hall International Series in Computer Science. Prentice Hall, Upper Saddle River (1997)

    MATH  Google Scholar 

  2. Carette, J., Kiselyov, O., Shan, C.-C.: Finally tagless, partially evaluated: tagless staged interpreters for simpler typed languages. J. Funct. Program. 19(5), 509–543 (2009)

    Article  MathSciNet  Google Scholar 

  3. Chen, A.I.-T., Chen, C.-H.O., Chen, M.-S., Cheng, C.-M., Yang, B.-Y.: Practical-sized instances of multivariate PKCs: rainbow, TTS, and \(\ell \)IC-derivatives. In: Buchmann, J., Ding, J. (eds.) PQCrypto 2008. LNCS, vol. 5299, pp. 95–108. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-88403-3_7

    Chapter  Google Scholar 

  4. Crockett, E., Peikert, C.: \(\varLambda {o}\lambda \): functional lattice cryptography. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, October 24–28, pp. 993–1005. ACM (2016)

    Google Scholar 

  5. Danielsson, N.A.: Ring Solver, the Agda standard library. https://github.com/agda/agda-stdlib/blob/master/src/Algebra/RingSolver.agda

  6. Hungerford, T.: Algebra. Graduate Texts in Mathematics. Springer, New York (2003). https://doi.org/10.1007/978-1-4612-6101-8

    Book  MATH  Google Scholar 

  7. Lyubashevsky, V., Peikert, C., Regev, O.: On ideal lattices and learning with errors over rings. IACR Cryptology ePrint Archive 2012:230 (2012)

    Google Scholar 

  8. Miller, V.S.: Use of elliptic curves in cryptography. In: Williams, H.C. (ed.) CRYPTO 1985. LNCS, vol. 218, pp. 417–426. Springer, Heidelberg (1986). https://doi.org/10.1007/3-540-39799-X_31

    Chapter  Google Scholar 

  9. Norell, U.: Towards a practical programming language based on dependent type theory. Ph.D. thesis, Chalmers University of Technology (2007)

    Google Scholar 

Download references

Acknowledgements

The authors would like to thank the members of IFIP Working Group 2.1 for their valuable comments on the first presentation of this work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Chen-Mou Cheng .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Cheng, CM., Hsu, RL., Mu, SC. (2018). Functional Pearl: Folding Polynomials of Polynomials. In: Gallagher, J., Sulzmann, M. (eds) Functional and Logic Programming. FLOPS 2018. Lecture Notes in Computer Science(), vol 10818. Springer, Cham. https://doi.org/10.1007/978-3-319-90686-7_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-90686-7_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-90685-0

  • Online ISBN: 978-3-319-90686-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics