852 research outputs found
Imperative Object-based Calculi in (Co)Inductive Type Theories
We discuss the formalization of Abadi and Cardelli's imps, a paradigmatic object-based calculus with types and side effects, in Co-Inductive Type Theories, such as the Calculus of (Co)Inductive Constructions (CC(Co)Ind).
Instead of representing directly the original system "as it is", we reformulate its syntax and semantics bearing in mind the proof-theoretical features provided by the target metalanguage. On one hand, this methodology allows for a smoother implementation and treatment of the calculus in the metalanguage. On the other, it is possible to see the calculus from a new perspective, thus having the occasion to suggest original and cleaner presentations.
We give hence anew presentation of imps, exploiting natural deduction semantics, (weak) higher-order abstract syntax, and, for a significant fragment of the calculus, coinductive typing systems. This presentation is easier to use and implement than the original one, and the proofs of key metaproperties, e.g. subject reduction, are much simpler.
Although all proof developments have been carried out in the Coq system, the solutions we have devised in the encoding of and metareasoning on imps can be applied to other imperative calculi and proof environments with similar features
A Verified Theorem Prover for Higher-Order Logic
This thesis is about mechanically establishing the correctness of computer programs.\ua0In particular, we are interested in establishing the correctness of tools used in computer-aided mathematics. We build on tools for proof-producing program synthesis, and verified compilation, and a verified theorem proving kernel.\ua0With these, we have produced an interactive theorem prover for higher-order logic, called Candle, that is verified to accept only true theorems.\ua0To the best of our knowledge, Candle is the only interactive theorem prover for higher-order logic that has been verified to this degree.Candle and all technology that underpins it is developed using the HOL4 theorem prover.\ua0We use proof-producing synthesis and the verified CakeML compiler to obtain a machine code executable for the Candle theorem prover.\ua0Because the CakeML compiler is verified to preserve program semantics, we are able to obtain a soundness result about the machine code which implements the Candle theorem prover
CoqJVM : an executable specification of the Java Virtual Machine using dependent types
We describe an executable specification of the Java Virtual Machine (JVM) within the Coq proof assistant. The principal features of the development are that it is executable, meaning that it can be tested against a real JVM to gain confidence in the correctness of the specification; and that it has been written with heavy use of dependent types, this is both to structure the model in a useful way, and to constrain the model to prevent spurious partiality. We describe the structure of the formalisation and the way in which we have used dependent types
Dedukti: a Logical Framework based on the -Calculus Modulo Theory
Dedukti is a Logical Framework based on the -Calculus Modulo
Theory. We show that many theories can be expressed in Dedukti: constructive
and classical predicate logic, Simple type theory, programming languages, Pure
type systems, the Calculus of inductive constructions with universes, etc. and
that permits to used it to check large libraries of proofs developed in other
proof systems: Zenon, iProver, FoCaLiZe, HOL Light, and Matita
Supplier Ranking System and Its Effect on the Reliability of the Supply Chain
Today, due to the growing use of social media and an increase in the number of
A HITS with a solution in PageRank (Massimo, 2011) sharing their opinions globally, customers can review products and services in many novel ways. However, since most reviewers lack in-depth technical knowledge, the true picture concerning product quality remains unclear. Furthermore, although product defects may come from the supplier side, making it responsible for repair cost, it is ultimately the manufacturer whose name is damaged when such defects are revealed. In this context, we need to revisit the cost vs. quality equations. Observations of customer behavior towards brand name and reputation suggest that, contrary to the currently dominant model in production where manufacturers are
expected to control only Tier 1 supplier and make it responsible for all higher tiers,
manufacturers should also have a better hold on the entire supply chain. Said differently, while the current system considers all parts in Tier 1 as equally important, it underestimates the importance of the impact of each piece on the final product. Another flaw of the current system is that, by commonizing the pieces in several different products, such as different care models of the same manufacturer to reduce the cost, only the supplier of the most common parts will be considered essential and thus get the most attention during quality control. To address the aforementioned concerns, in the present study, we created a parts/supplier ranking algorithm and
implemented it into our supply chain system. Upon ranking all suppliers and parts, we calculated the minimum number of the elements, from Tier 1 to Tier 4, that have to be checked in our supply chain. In doing so, we prioritized keeping the cost as low as possible with most inferior possible defects
A Formal Semantics of the GraalVM Intermediate Representation
The optimization phase of a compiler is responsible for transforming an
intermediate representation (IR) of a program into a more efficient form.
Modern optimizers, such as that used in the GraalVM compiler, use an IR
consisting of a sophisticated graph data structure that combines data flow and
control flow into the one structure. As part of a wider project on the
verification of optimization passes of GraalVM, this paper describes a
semantics for its IR within Isabelle/HOL. The semantics consists of a big-step
operational semantics for data nodes (which are represented in a graph-based
static single assignment (SSA) form) and a small-step operational semantics for
handling control flow including heap-based reads and writes, exceptions, and
method calls. We have proved a suite of canonicalization optimizations and
conditional elimination optimizations with respect to the semantics.Comment: 16 pages, 8 figures, to be published to ATVA 202
Competitive adsorption of phenolic compounds from aqueous solution using sludgeâbased activated carbon.
Preparation of activated carbon from sewage sludge is a promising approach to produce cheap and efficient adsorbent for pollutants removal as well as to dispose of sewage sludge. The first objective of this study was to investigate the physical and chemical properties (BET surface area, ash and elemental content, surface functional groups by Boehm titration and weight loss by thermogravimetric analysis) of the sludgeâbased activated carbon (SBAC) so as to give a basic understanding of its structure and to compare to those of two commercial activated carbons, PICA S23 and F22. The second and main objective was to evaluate the performance of SBAC for single and competitive adsorption of four substituted phenols (pânitrophenol, pâchlorophenol, pâhydroxy benzoic acid and phenol) from their aqueous solutions. The results indicated that, despite moderate micropore and mesopore surface areas, SBAC had remarkable adsorption capacity for phenols, though less than PICA carbons. Uptake of the phenolic compound was found to be dependent on both the porosity and surface chemistry of the carbons. Furthermore, the electronegativity and the hydrophobicity of the adsorbate have significant influence on the adsorption capacity. The Langmuir and Freundlich models were used for the mathematical description of the adsorption equilibrium for singleâsolute isotherms. Moreover, the LangmuirâFreundlich model gave satisfactory results for describing multicomponent system isotherms. The capacity of the studied activated carbons to adsorb phenols from a multiâsolute system was in the following order: pânitrophenol > pâchlorophenol > PHBA > phenol
- âŠ