Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Alberto Ciaffaglione is active.

Publication


Featured researches published by Alberto Ciaffaglione.


Theoretical Computer Science | 2006

A certified, corecursive implementation of exact real numbers

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

Reasoning about Object-based Calculi in (Co)Inductive Type Theory and the Theory of Contexts

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

A Co-inductive Approach to Real Numbers

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

Proof methodologies for behavioural equivalence in DPI

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

Imperative Object-Based Calculi in Co-inductive Type Theories

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

A weak HOAS approach to the POPLmark Challenge

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

Reasoning on an imperative object-based calculus in Higher Order Abstract Syntax

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

A coinductive semantics of the Unlimited Register Machine

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

A Tour with Constructive Real Numbers

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

Towards Turing computability via coinduction

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.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Furio Honsell

French Institute for Research in Computer Science and Automation

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Julian Rathke

University of Southampton

View shared research outputs
Top Co-Authors

Avatar

Horatiu Cirstea

École normale supérieure de Cachan

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Claude Kirchner

École normale supérieure de Lyon

View shared research outputs
Top Co-Authors

Avatar

Mathieu Hoyrup

École normale supérieure de Lyon

View shared research outputs
Researchain Logo
Decentralizing Knowledge