Testing versus proving in climate impact research

Higher-order properties arise naturally in some areas of climate impact research. For example, "vulnerability measures", crucial in assessing the vulnerability to climate change of various regions and entities, must fulfill certain conditions which are best expressed by quantification over all increasing functions of an appropriate type. This kind of property is notoriously difficult to test. However, for the measures used in practice, it is quite easy to encode the property as a dependent type and prove it correct. Moreover, in scientific programming, one is often interested in correctness "up to implication": the program would work as expected, say, if one would use real numbers instead of floating-point values. Such counterfactuals are impossible to test, but again, they can be easily encoded as types and proven. We show examples of such situations (encoded in Agda), encountered in actual vulnerability assessments.

[1]  Fredrik Lindblad,et al.  A Tool for Automated Theorem Proving in Agda , 2004, TYPES.

[2]  Cezar Ionescu,et al.  Generic Libraries in C++ with Concepts from High-Level Domain Descriptions in Haskell , 2009, DSL.

[3]  John Harrison Floating Point Verification in HOL Light: The Exponential Function , 1997, AMAST.

[4]  C. Ionescu Vulnerability modeling and monadic dynamical systems , 2009 .

[5]  Guillaume Melquiond,et al.  Flocq: A Unified Library for Proving Floating-Point Algorithms in Coq , 2011, 2011 IEEE 20th Symposium on Computer Arithmetic.

[6]  Luciano Baresi,et al.  An Introduction to Software Testing , 2006, FoVMT.

[7]  Russell O'Connor,et al.  Certified Exact Transcendental Real Number Computation in Coq , 2008, TPHOLs.

[8]  Katharina Thywissen,et al.  Components of risk: a comparative glossary , 2006 .

[9]  Wouter Swierstra,et al.  The power of Pi , 2008, ICFP.

[10]  S Miner Paul,et al.  Defining the IEEE-854 Floating-Point Standard in PVS , 1995 .

[11]  Martha C. Anderson,et al.  Climate change impacts and adaptation: A Canadian perspective , 2004 .

[12]  Daniel R. Licata,et al.  Security-typed programming within dependently typed programming , 2010, ICFP '10.

[13]  John Hughes Specification based testing with QuickCheck , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[14]  Bas Spitters,et al.  Computer Certified Efficient Exact Reals in Coq , 2011, Calculemus/MKM.

[15]  Russell O'Connor A monadic, functional implementation of real numbers , 2007, Math. Struct. Comput. Sci..

[16]  U. Norell,et al.  Towards a practical programming language based on dependent type theory , 2007 .

[17]  John Harrison,et al.  Floating Point Verification in HOL Light: The Exponential Function , 1997, Formal Methods Syst. Des..

[18]  Joachim von Braun,et al.  IS THE WORLD BECOMING A MORE RISKY PLACE? TRENDS IN DISASTERS AND VULNERABILITY TO THEM , 2002 .

[19]  Edwin Brady,et al.  IDRIS ---: systems programming meets full dependent types , 2011, PLPV '11.

[20]  Jayajit Chakraborty,et al.  Population Evacuation: Assessing Spatial Variability in Geophysical Risk and Social Vulnerability to Natural Hazards , 2005 .

[21]  Dagmar Schröter,et al.  Towards a spatially explicit and quantitative vulnerability assessment of environmental change in Europe , 2006 .

[22]  Koen Claessen,et al.  Testing Polymorphic Properties , 2010, ESOP.