Results 1  10
of
10
Numerical Analysis of Ordinary Differential Equations
, 2013
"... Since many ordinary differential equations (ODEs) do not have a closed solution, approximating them is an important problem in numerical analysis. This work formalizes a method to approximate solutions of ODEs in Isabelle/HOL. We formalize initial value problems (IVPs) of ODEs and prove the existenc ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
(Show Context)
Since many ordinary differential equations (ODEs) do not have a closed solution, approximating them is an important problem in numerical analysis. This work formalizes a method to approximate solutions of ODEs in Isabelle/HOL. We formalize initial value problems (IVPs) of ODEs and prove the existence of a unique solution, i.e. the PicardLindelöf theorem. We introduce general onestep methods for numerical approximation of the solution and provide an analysis regarding the local and global error of onestep methods. We give an executable specification of the Euler method to approximate the solution of IVPs. With usersupplied proofs for bounds of the differential equation we can prove an explicit bound for the global error. We use arbitraryprecision floatingpoint numbers and also handle rounding errors when we truncate the numbers for efficiency reasons. 1 Relations to the paper Our paper [1] is structured roughly according to the sources you find here. In the following list we show which notions of the paper correspond to which parts of the source code:
Recycling Proof Patterns in Coq: Case Studies
 Journal Mathematics in Computer Science, accepted
, 2014
"... Abstract. Development of Interactive Theorem Provers has led to the creation of big libraries and varied infrastructures for formal proofs. However, despite (or perhaps due to) their sophistication, the reuse of libraries by nonexperts or across domains is a challenge. In this paper, we provide de ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Abstract. Development of Interactive Theorem Provers has led to the creation of big libraries and varied infrastructures for formal proofs. However, despite (or perhaps due to) their sophistication, the reuse of libraries by nonexperts or across domains is a challenge. In this paper, we provide detailed case studies and evaluate the machinelearning tool ML4PG built to interactively datamine the electronic libraries of proofs, and to provide user guidance on the basis of proof patterns found in the existing libraries.
The Picard Algorithm for Ordinary Differential Equations in Coq
"... Abstract. Ordinary Differential Equations (ODEs) are ubiquitous in physical applications of mathematics. The PicardLindelöf theorem is the first fundamental theorem in the theory of ODEs. It allows one to solve differential equations numerically. We provide a constructive development of the Picar ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Ordinary Differential Equations (ODEs) are ubiquitous in physical applications of mathematics. The PicardLindelöf theorem is the first fundamental theorem in the theory of ODEs. It allows one to solve differential equations numerically. We provide a constructive development of the PicardLindelöf theorem which includes a program together with sufficient conditions for its correctness. The proof/program is written in the Coq proof assistant and uses the implementation of efficient real numbers from the CoRN library and the MathClasses library. Our proof makes heavy use of operators and functionals, functions on spaces of functions. This is faithful to the usual mathematical description, but a novel level of abstraction for certified exact real computation.
ROSCoq: Robots powered by constructive reals.
 ITP 2015,
, 2015
"... Abstract. We present ROSCoq, a framework for developing certified Coq programs for robots. ROSCoq subsystems communicate using messages, as they do in the Robot Operating System (ROS). We extend the logic of events to enable holistic reasoning about the cyberphysical behavior of robotic systems. T ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. We present ROSCoq, a framework for developing certified Coq programs for robots. ROSCoq subsystems communicate using messages, as they do in the Robot Operating System (ROS). We extend the logic of events to enable holistic reasoning about the cyberphysical behavior of robotic systems. The behavior of the physical world (e.g. Newton's laws) and associated devices (e.g. sensors, actuators) are specified axiomatically. For reasoning about physics we use and extend CoRN's theory of constructive real analysis. Instead of floating points, our Coq programs use CoRN's exact, yet fast computations on reals, thus enabling accurate reasoning about such computations. As an application, we specify the behavior of an iRobot Create. Our specification captures many real world imperfections. We write a Coq program which receives requests to navigate to specific positions and computes appropriate commands for the robot. We prove correctness properties about this system. Using the ROSCoq shim, we ran the program on the robot and provide even experimental evidence of correctness.
Program Extraction from Nested Definitions
, 2013
"... Minlog is a proof assistant which automatically extracts computational content in an extension of Gödel’s T from formalized proofs. We report on extending Minlog to deal with predicates defined using a particular combination of induction and coinduction, via socalled nested definitions. In order to ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Minlog is a proof assistant which automatically extracts computational content in an extension of Gödel’s T from formalized proofs. We report on extending Minlog to deal with predicates defined using a particular combination of induction and coinduction, via socalled nested definitions. In order to increase the efficiency of the extracted programs, we have also implemented a feature to translate terms into Haskell programs. To illustrate our theory and implementation, a formalisation of a theory of uniformly continuous functions due to Berger is presented.
Formalization of Real Analysis: A Survey of Proof . . .
 UNDER CONSIDERATION FOR PUBLICATION IN MATH. STRUCT. IN COMP. SCIENCE
"... In the recent years, numerous proof systems have improved enough to be used for formally verifying nontrivial mathematical results. They, however, have different purposes and it is not always easy to choose which one is adapted to undertake a formalization effort. In this survey, we focus on proper ..."
Abstract
 Add to MetaCart
In the recent years, numerous proof systems have improved enough to be used for formally verifying nontrivial mathematical results. They, however, have different purposes and it is not always easy to choose which one is adapted to undertake a formalization effort. In this survey, we focus on properties related to real analysis: real numbers, arithmetic operators, limits, differentiability, integrability, and so on. We have chosen to look into the formalizations provided in standard by the following systems: Coq, HOL4, HOL Light, Isabelle/HOL, Mizar, ProofPowerHOL, and PVS. We have also accounted for large developments that play a similar role or extend standard libraries: ACL2(r) for ACL2, CCoRN/MathClasses for Coq, and the NASA PVS library. This survey presents how real numbers have been defined in these various provers and how the notions of real analysis described above have been formalized. We also look at the methods of automation these systems provide for real analysis.
Formally Verified Differential Dynamic Logic Formally Verified Differential Dynamic Logic *
"... Abstract We formalize the soundness theorem for differential dynamic logic, a logic for verifying hybrid systems. To increase confidence in the formalization, we present two versions: one in Isabelle/HOL and one in Coq. We extend the metatheory to include features used in practice, such as systems ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract We formalize the soundness theorem for differential dynamic logic, a logic for verifying hybrid systems. To increase confidence in the formalization, we present two versions: one in Isabelle/HOL and one in Coq. We extend the metatheory to include features used in practice, such as systems of differential equations and functions of multiple arguments. We demonstrate the viability of constructing a verified kernel for the hybrid systems theorem prover KeYmaera X by embedding proof checkers for differential dynamic logic in Coq and Isabelle. We discuss how different provers and libraries influence the design of the formalization.
Exact real arithmetic with perturbation analysis and proof of correctness Exact Real Arithmetic with Perturbation Analysis and Proof of Correctness Exact Real Arithmetic with Perturbation Analysis and Proof of Correctness
"... Abstract In this article, we consider a simple representation for real numbers and propose topdown procedures to approximate various algebraic and transcendental operations with arbitrary precision. Detailed algorithms and proofs are provided to guarantee the correctness of the approximations. Mor ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract In this article, we consider a simple representation for real numbers and propose topdown procedures to approximate various algebraic and transcendental operations with arbitrary precision. Detailed algorithms and proofs are provided to guarantee the correctness of the approximations. Moreover, we develop and apply a perturbation analysis method to show that our approximation procedures only recompute expressions when unavoidable. In the last decade, various theories have been developed and implemented to realize real computations with arbitrary precision. Proof of correctness for existing approaches typically consider basic algebraic operations, whereas detailed arguments about transcendental operations are not available. Another important observation is that in each approach some expressions might require iterative computations to guarantee the desired precision. However, no formal reasoning is provided to prove that such iterative calculations are essential in the approximation procedures. In our approximations of real functions, we explicitly relate the precision of the inputs to the guaranteed precision of the output, provide full proofs and a precise analysis of the necessity of iterations.
Elimination of Square Roots and Divisions by Partial Inlining
"... Computing accurately with real numbers is always a challenge. This is particularly true in critical embedded systems since memory issues do not allow the use of dynamic data structures. This constraint imposes a finite representations of the real numbers, provoking uncertainties and rounding error ..."
Abstract
 Add to MetaCart
(Show Context)
Computing accurately with real numbers is always a challenge. This is particularly true in critical embedded systems since memory issues do not allow the use of dynamic data structures. This constraint imposes a finite representations of the real numbers, provoking uncertainties and rounding errors that might modify the actual behavior of a program from its ideal one. This article presents a solution to this problem with a program transformation that eliminates square roots and divisions in straight line programs without nested function calls. These two operations are the source of infinite sequences of digits in numerical representations, thus, eliminating these operations allows to compute exactly using for example a fixedpoint number representation with a sufficient number of bits. In order to avoid an explosion of the size of the produced code this transformation relies on a particular antiunification to realize a partial inlining of the variable and function definitions. This transformation targeting code for aeronautics certified in PVS, we want to prove the semantics preservation in this proof assistant. Thus we use both an OCaml implementation and the subtyping features of PVS to ensure the correctness of the transformation by defining a proofproducing (certifying) program transformation, providing a specific semantics preservation lemma for every definition in the transformed program.