Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

A Nonstandard Functional Programming Language

  • Conference paper
  • First Online:
Programming Languages and Systems (APLAS 2017)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10695))

Included in the following conference series:

Abstract

Nonstandard programming languages are the languages that deal with hyperreal numbers—real numbers extended with infinitesimal (i.e., smaller than any positive real) numbers—whose theory is given by nonstandard analysis (NSA). Nonstandard imperative language \(\mathbf {While}^\mathbf {dt}\) and nonstandard stream-processing language \(\mathbf {SProc}^\mathbf {dt}\) have been proposed so far and applied to hybrid system modeling and verification. We introduce a nonstandard functional language \(\textsc {NSF}\). We extend a simply typed functional language with a constant \(\mathbf {dt}\) that denotes an infinitesimal number and define its denotational semantics. The major challenge consists in giving the semantics of functions of an arbitrarily high order. To this end, we introduce *-cpos, a nonstandard counterpart of the standard domains.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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.

    The set is also called the superstructure over in the literature [7].

  2. 2.

    This lemma requires the condition , which is stronger than . This stronger condition is indeed necessary. For example, if \(M_f = \mathbf {if}\ 0 \le t\ \mathbf {then}\ \mathbf {dt}\ \mathbf {else}\ 0\) and for all r, then they satisfy the weaker condition, but \([\![{{D}\ M_f} ]\!]_{\partial }(0) = 1 \ne 0 = f'(0)\).

  3. 3.

    \(\langle {M([D_i]_\mathcal {F}),M([\preceq _i]_\mathcal {F})}\rangle \) is an internal domain but not a *-cpo if \(D_i := \{{0,1,\dots ,i,\bot }\}\) and \({\preceq _i} \subseteq D_i \times D_i\) is defined by \(x \preceq _i y \iff x = \bot \vee x = y\).

References

  1. Asada, K., Sato, R., Kobayashi, N.: Verifying relational properties of functional programs by first-order refinement. In: PEPM 2015, pp. 61–72 (2015)

    Google Scholar 

  2. Beauxis, R., Mimram, S.: A non-standard semantics for Kahn networks in continuous time. In: CSL 2011, pp. 35–50 (2011)

    Google Scholar 

  3. Benveniste, A., Bourke, T., Caillaud, B., Pouzet, M.: Non-standard semantics of hybrid systems modelers. J. Comput. Syst. Sci. 78(3), 877–910 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  4. Bliudze, S., Krob, D.: Modelling of complex systems: systems as dataflow machines. Fundam. Inform. 91(2), 251–274 (2009)

    MathSciNet  MATH  Google Scholar 

  5. Cowles, J.R., Gamboa, R.: Equivalence of the traditional and non-standard definitions of concepts from real analysis. In: Proceedings Twelfth International Workshop on the ACL2 Theorem Prover and its Applications, pp. 89–100 (2014)

    Google Scholar 

  6. Gamboa, R., Kaufmann, M.: Nonstandard analysis in ACL2. J. Autom. Reasoning 27(4), 323–351 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  7. Goldblatt, R.: Lectures on the Hyperreals: An Introduction to Nonstandard Analysis. Springer, New York (1998)

    Book  MATH  Google Scholar 

  8. Hashimoto, K., Unno, H.: Refinement type inference via horn constraint optimization. In: Blazy, S., Jensen, T. (eds.) SAS 2015. LNCS, vol. 9291, pp. 199–216. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48288-9_12

    Chapter  Google Scholar 

  9. Hasuo, I., Suenaga, K.: Exercises in Nonstandard Static Analysis of hybrid systems. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 462–478. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31424-7_34

    Chapter  Google Scholar 

  10. Kido, K., Chaudhuri, S., Hasuo, I.: Abstract interpretation with infinitesimals. In: Jobstmann, B., Leino, K.R.M. (eds.) VMCAI 2016. LNCS, vol. 9583, pp. 229–249. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49122-5_11

    Chapter  Google Scholar 

  11. Kobayashi, N.: Model checking higher-order programs. J. ACM 60(3), 20:1–20:62 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  12. Kohlenbach, U.: Applied Proof Theory: Proof Interpretations and their Use in Mathematics. Springer Monographs in Mathematics. Springer, New York (2008)

    MATH  Google Scholar 

  13. Kuwahara, T., Sato, R., Unno, H., Kobayashi, N.: Predicate abstraction and CEGAR for disproving termination of higher-order functional programs. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9207, pp. 287–303. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21668-3_17

    Chapter  Google Scholar 

  14. Loeb, P.A., Wolff, M. (eds.): Nonstandard Analysis for the Working Mathematician. Mathematics and its Applications, vol. 510. Kluwer Academic Publishers, Dordrecht (2000)

    MATH  Google Scholar 

  15. Murase, A., Terauchi, T., Kobayashi, N., Sato, R., Unno, H.: Temporal verification of higher-order functional programs. In: Bodík, R., Majumdar, R. (eds.) POPL 2016, pp. 57–68. ACM (2016)

    Google Scholar 

  16. Nakamura, K., Fusaoka, A.: An analysis of the fuller phenomenon on transfinite hybrid automata. In: Majumdar, R., Tabuada, P. (eds.) HSCC 2009. LNCS, vol. 5469, pp. 450–454. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-00602-9_33

    Chapter  Google Scholar 

  17. Nelson, E.: Internal set theory: a new approach to nonstandard analysis. Bull. Amer. Math. Soc. 83(6), 1165–1198 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  18. Robinson, A.: Non-standard Analysis. Princeton University Press, Princeton (1996)

    Book  MATH  Google Scholar 

  19. Rondon, P.M., Kawaguchi, M., Jhala, R.: Liquid types. In: PLDI 2008, pp. 159–169 (2008)

    Google Scholar 

  20. Rust, H.: Operational Semantics for Timed Systems. LNCS, vol. 3456. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-32008-1

    MATH  Google Scholar 

  21. Sanders, S.: The computational content of nonstandard analysis. In: Proceedings Sixth International Workshop on Classical Logic and Computation, CL&C 2016, Porto, Portugal, 23th June 2016, pp. 24–40 (2016)

    Google Scholar 

  22. Streicher, T.: Domain-Theoretic Foundations of Functional Programming. World Scientific, Singapore (2007)

    MATH  Google Scholar 

  23. Suenaga, K., Hasuo, I.: Programming with infinitesimals: a While-language for hybrid system modeling. In: Aceto, L., Henzinger, M., Sgall, J. (eds.) ICALP 2011. LNCS, vol. 6756, pp. 392–403. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22012-8_31

    Chapter  Google Scholar 

  24. Suenaga, K., Sekine, H., Hasuo, I.: Hyperstream processing systems: nonstandard modeling of continuous-time signals. In: POPL 2013, pp. 417–430 (2013)

    Google Scholar 

Download references

Acknowledgments

We appreciate the anonymous reviewers for their comments. This work was supported in part by JST CREST (Kojima), JST PRESTO No. JPMJPR15E5 (Suenaga), and MEXT KAKENHI Grant Number 15H05706 (Igarashi).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hirofumi Nakamura .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Nakamura, H., Kojima, K., Suenaga, K., Igarashi, A. (2017). A Nonstandard Functional Programming Language. In: Chang, BY. (eds) Programming Languages and Systems. APLAS 2017. Lecture Notes in Computer Science(), vol 10695. Springer, Cham. https://doi.org/10.1007/978-3-319-71237-6_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-71237-6_25

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-71236-9

  • Online ISBN: 978-3-319-71237-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics