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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The set
is also called the superstructure over
in the literature [7].
- 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.
\(\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
Asada, K., Sato, R., Kobayashi, N.: Verifying relational properties of functional programs by first-order refinement. In: PEPM 2015, pp. 61–72 (2015)
Beauxis, R., Mimram, S.: A non-standard semantics for Kahn networks in continuous time. In: CSL 2011, pp. 35–50 (2011)
Benveniste, A., Bourke, T., Caillaud, B., Pouzet, M.: Non-standard semantics of hybrid systems modelers. J. Comput. Syst. Sci. 78(3), 877–910 (2012)
Bliudze, S., Krob, D.: Modelling of complex systems: systems as dataflow machines. Fundam. Inform. 91(2), 251–274 (2009)
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)
Gamboa, R., Kaufmann, M.: Nonstandard analysis in ACL2. J. Autom. Reasoning 27(4), 323–351 (2001)
Goldblatt, R.: Lectures on the Hyperreals: An Introduction to Nonstandard Analysis. Springer, New York (1998)
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
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
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
Kobayashi, N.: Model checking higher-order programs. J. ACM 60(3), 20:1–20:62 (2013)
Kohlenbach, U.: Applied Proof Theory: Proof Interpretations and their Use in Mathematics. Springer Monographs in Mathematics. Springer, New York (2008)
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
Loeb, P.A., Wolff, M. (eds.): Nonstandard Analysis for the Working Mathematician. Mathematics and its Applications, vol. 510. Kluwer Academic Publishers, Dordrecht (2000)
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)
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
Nelson, E.: Internal set theory: a new approach to nonstandard analysis. Bull. Amer. Math. Soc. 83(6), 1165–1198 (1977)
Robinson, A.: Non-standard Analysis. Princeton University Press, Princeton (1996)
Rondon, P.M., Kawaguchi, M., Jhala, R.: Liquid types. In: PLDI 2008, pp. 159–169 (2008)
Rust, H.: Operational Semantics for Timed Systems. LNCS, vol. 3456. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-32008-1
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)
Streicher, T.: Domain-Theoretic Foundations of Functional Programming. World Scientific, Singapore (2007)
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
Suenaga, K., Sekine, H., Hasuo, I.: Hyperstream processing systems: nonstandard modeling of continuous-time signals. In: POPL 2013, pp. 417–430 (2013)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
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)