Reseña: Machine-checked proofs for realizability checking algorithms

Se ha publicado un artículo de razonamiento formalizado en Coq sobre titulado Machine-checked proofs for realizability checking algorithms.

Sus autores son

Su resumen es

We have recently proposed a contract-based realizability checking algorithm involving the use of theories, to provide an auxiliary procedure to consistency checking of “leaf-level” components in complex embedded systems. To prove the soundness of our approach on realizability, we formalized the necessary definitions and theorems of Towards realizability checking of contracts using theories, in the Coq proof and specification language.

El código de las correspondientes teorías en Coq se encuentra [aquí](.https://github.com/andrewkatis/Coq/
blob/master/realizability/Realizability.v).

Reseña: Verifying fast and sparse SSA-based optimizations in Coq

Se ha publicado un artículo de razonamiento formalizado en Coq sobre
compiladores titulado Verifying fast and sparse SSA-based optimizations in Coq .

Sus autores son Delphine Demange, David Pichardie y Léo Stefanesco (del grupo Celtique en el INRIA Rennes, Francia).

Su resumen es

The Static Single Assignment (SSA) form is a predominant technology in modern compilers, enabling powerful and fast program optimizations. Despite its great success in the implementation of pro- duction compilers, it is only very recently that this technique has been introduced in verified compilers. As of today, few evidence exist on that, in this context, it also allows faster and simpler optimizations. This work builds on the CompCertSSA verified compiler (an SSA branch of the verified CompCert C compiler). We implement and verify two prevail- ing SSA optimizations: Sparse Conditional Constant Propagation and Global Value Numbering. For both transformations, we mechanically prove their soundness in the Coq proof assistant. Both optimization proofs are embedded in a single sparse optimization framework, factoring out many of the dominance-based reasoning steps required in proofs of SSA-based optimizations. Our experimental evaluations indicate both a better precision, and a significant compilation time speedup.

El trabajo se presentará en CC 2015 (24th International Conference on Compiler Construction).

El código de las correspondientes teorías en Coq se encuentra aquí.

Reseña: Formal proofs for nonlinear optimization

Se ha publicado un artículo de razonamiento formalizado en Coq titulado Formal proofs for nonlinear optimization.

Sus autores son

Su resumen es

We present a formally verified global optimization framework. Given a semialgebraic or transcendental function f and a compact semialgebraic domain K, we use the nonlinear maxplus template approximation algorithm to provide a certified lower bound of f over K.

This method allows to bound in a modular way some of the constituents of f by suprema of quadratic forms with a well chosen curvature. Thus, we reduce the initial goal to a hierarchy of semialgebraic optimization problems, solved by sums of squares relaxations.

Our implementation tool interleaves semialgebraic approximations with sums of squares witnesses to form certificates. It is interfaced with Coq and thus benefits from the trusted arithmetic available inside the proof assistant. This feature is used to produce, from the certificates, both valid underestimators and lower bounds for each approximated constituent.

The application range for such a tool is widespread; for instance Hales’ proof of Kepler’s conjecture yields thousands of multivariate transcendental inequalities. We illustrate the performance of our formal framework on some of these inequalities as well as on examples from the global optimization literature.

El trabajo se ha publicado en el Journal of Formalized Reasoning.

El código de las correspondientes teorías en Coq se encuentra aquí.

Reseña: Bind induction: Extracting monadic programs from proofs

Se ha publicado un artículo de razonamiento formalizado en Coq sobre titulado Bind induction: Extracting monadic programs from proofs.

Sus autores son Hadi Shafei y James Caldwell (de la Univ. de Wyoming).

Su resumen es

Container types can be modeled as foldable monads that support the MonadPlus operations together with a membership operation. In this paper we present a new typeclass we call -Monad that supports a membership operator for instances of the MonadPlus typeclass. The laws for the -Monad typeclass specify how membership behaves with respect to the monad and monad plus operators. Using -Monads we are able write specifications of properties of generic containers. We also present an induction rule for monads we call bind induction. The new proof rule is proved to be sound. The computational content of the new induction rule is a bind operator, using this rule we are able to extract monadic programs from proofs. We present an example that uses the rule to extract a monadic program from a proof of a specification. We have used the Coq theorem prover to formalize the definitions presented here and to prove properties of the formalization. We rely on the Coq Type Class mechanism for our formalization.

El trabajo se ha presentado en el Symposium on Trends in Functional Programming 2014.

El código de las correspondientes teorías en Coq se encuentra en epsilon-Monad.v y decomposition.v.

Reseña: HOCore in Coq

Se ha publicado un artículo de razonamiento formalizado en Coq titulado HOCore in Coq.

Sus autores son

Su resumen es

We consider a recent publication on higher-order process calculi and describe how its results are formalized in the Coq proof assistant. We also highlight some important technical issues that we have uncovered in the original publication. We believe these issues are not unique to the paper under consideration, and require particular care to be avoided. Our ultimate goal is to show that it is possible to build a solid, high-confidence setting for formal reasoning on higher-order process calculi.

El trabajo se ha presentado en las Journées Francophones des Langages Applicatifs (JFLA 2015).

El código de las correspondientes teorías en Coq se encuentra aquí.