Alberto Ciaffaglione
University of Udine
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Alberto Ciaffaglione.
Theoretical Computer Science | 2006
Alberto Ciaffaglione; Pietro Di Gianantonio
We implement exact real numbers in the logical framework Coq using streams, i.e., infinite sequences, of digits, and characterize constructive real numbers through a minimal axiomatization. We prove that our construction inhabits the axiomatization, working formally with coinductive types and corecursive proofs. Thus we obtain reliable, corecursive algorithms for computing on real numbers.
Journal of Automated Reasoning | 2007
Alberto Ciaffaglione; Luigi Liquori; Marino Miculan
We illustrate a methodology for formalizing and reasoning about Abadi and Cardelli’s object-based calculi, in (co)inductive type theory, such as the Calculus of (Co)Inductive Constructions, by taking advantage of natural deduction semantics and coinduction in combination with weak higher-order abstract syntax and the Theory of Contexts. Our methodology allows us to implement smoothly the calculi in the target metalanguage; moreover, it suggests novel presentations of the calculi themselves. In detail, we present a compact formalization of the syntax and semantics for the functional and the imperative variants of the ς-calculus. Our approach simplifies the proof of subject deduction theorems, which are proved formally in the proof assistant Coq with a relatively small overhead.
types for proofs and programs | 1999
Alberto Ciaffaglione; Pietro Di Gianantonio
We define constructive real numbers in the logical framework Coq using streams, i.e. infinite sequences of digits. Co-inductive types and co-inductive proofs permit to work naturally on this representation. We prove our representation satisfies a set of basic properties which we propose as a set of axioms for constructive real numbers.
formal techniques for networked and distributed systems | 2005
Alberto Ciaffaglione; Matthew Hennessy; Julian Rathke
We focus on techniques for proving behavioural equivalence between systems in Dpi, a distributed version of the picalculus in which processes may migrate between dynamically created locations, and where resource access policies are implemented by means of capability types. We devise a tractable collection of auxiliary proof methods, relying mainly on the use of bisimulations up-to β-reductions, which considerably relieve the burden of exhibiting witness bisimulations. Using such methods we model simple distributed protocols, such as crossing a firewall, a server and its clients, metaservers installing memory services, and address their correctness in a relatively simple manner.
international conference on logic programming | 2003
Alberto Ciaffaglione; Luigi Liquori; Marino Miculan
We discuss the formalization of Abadi and Cardelli’s imp ς, a paradigmatic object-based calculus with types and side effects, in Co-Inductive Type Theories, such as the Calculus of (Co)Inductive Constructions (CC \(^\text{(Co)Ind}\)).
arXiv: Logic in Computer Science | 2012
Alberto Ciaffaglione; Ivan Scagnetto
Capitalizing on previous encodings and formal developments about nominal calculi and type systems, we propose a weak Higher-Order Abstract Syntax formalization of the type language of pure System F<: within Coq, a proof assistant based on the Calculus of Inductive Constructions. Our encoding allows us to accomplish the proof of the transitivity property of algorithmic subtyping, which is in fact the first of the three tasks stated by the POPLmark Challenge, a set of problems that capture the most critical issues in formalizing programming language metatheory.
international conference on functional programming | 2003
Alberto Ciaffaglione; Luigi Liquori; Marino Miculan
We illustrate the benefits of using Natural Deduction in combination with weak Higher-Order Abstract Syntax for formalizing an object-based calculus with objects, cloning, method-update, types with subtyping, and side-effects, in inductive type theories such as the Calculus of Inductive Constructions. This setting suggests a clean and compact formalization of the syntax and semantics of the calculus, with an efficient management of method closures. Using our formalization and the Theory of Contexts, we can prove formally the Subject Reduction Theorem in the proof assistant Coq, with a relatively small overhead.
Infinity | 2011
Alberto Ciaffaglione
We exploit (co)inductive specifications and proofs to appro ach the evaluation of low-level programs for the Unlimited Register Machine (URM)within the Coq system, a proof assistant based on the Calculus of (Co)Inductive Constructionstype theory. Our formalization allows us to certify the implementation of partial functions, thus it can be regarde d as a first step towards the development of a workbench for the formal analysis and verification of both c onverging and diverging computations.
types for proofs and programs | 2000
Alberto Ciaffaglione; Pietro Di Gianantonio
The aim of this work is to characterize constructive real numbers through a minimal axiomatization. We introduce, discuss and justify 16 constructive axioms. Then we address their expressivity considering the alternative axiomatizations.
Science of Computer Programming | 2016
Alberto Ciaffaglione
We adopt corecursion and coinduction to formalize Turing Machines and their operational semantics in the Coq proof assistant. By combining the formal analysis of converging and diverging computations, via big-step and small-step predicates, our approach allows us to certify the correctness of concrete Turing Machines. An immediate application of our methodology is the proof of the undecidability of the halting problem, therefore our effort may be seen as a first step towards the formal development of basic computability theory. We adopt coinductive types in Coq to formalize Turing Machines.We certify the correctness of concrete Turing Machines.We prove the undecidability of the halting problem.
Collaboration
Dive into the Alberto Ciaffaglione's collaboration.
French Institute for Research in Computer Science and Automation
View shared research outputs