7 research outputs found
Bibliography on Realizability
AbstractThis document is a bibliography on realizability and related matters. It has been collected by Lars Birkedal based on submissions from the participants in âA Workshop on Realizability Semantics and Its Applicationsâ, Trento, Italy, June 30âJuly 1, 1999. It is available in BibTEX format at the following URL: http://www.cs.cmu.edu./~birkedal/realizability-bib.html
Intersection Logic in sequent calculus style
The intersection type assignment system has been designed directly as
deductive system for assigning formulae of the implicative and conjunctive
fragment of the intuitionistic logic to terms of lambda-calculus. But its
relation with the logic is not standard. Between all the logics that have been
proposed as its foundation, we consider ISL, which gives a logical
interpretation of the intersection by splitting the intuitionistic conjunction
into two connectives, with a local and global behaviour respectively, being the
intersection the local one. We think ISL is a logic interesting by itself, and
in order to support this claim we give a sequent calculus formulation of it,
and we prove that it enjoys the cut elimination property.Comment: In Proceedings ITRS 2010, arXiv:1101.410
A Type Checker for a Logical Framework with Union and Intersection Types
We present the syntax, semantics, and typing rules of Bull, a prototype
theorem prover based on the Delta-Framework, i.e. a fully-typed lambda-calculus
decorated with union and intersection types, as described in previous papers by
the authors. Bull also implements a subtyping algorithm for the Type Theory Xi
of Barbanera-Dezani-de'Liguoro. Bull has a command-line interface where the
user can declare axioms, terms, and perform computations and some basic
terminal-style features like error pretty-printing, subexpressions
highlighting, and file loading. Moreover, it can typecheck a proof or normalize
it. These terms can be incomplete, therefore the typechecking algorithm uses
unification to try to construct the missing subterms. Bull uses the syntax of
Berardi's Pure Type Systems to improve the compactness and the modularity of
the kernel. Abstract and concrete syntax are mostly aligned and similar to the
concrete syntax of Coq. Bull uses a higher-order unification algorithm for
terms, while typechecking and partial type inference are done by a
bidirectional refinement algorithm, similar to the one found in Matita and
Beluga. The refinement can be split into two parts: the essence refinement and
the typing refinement. Binders are implemented using commonly-used de Bruijn
indices. We have defined a concrete language syntax that will allow the user to
write Delta-terms. We have defined the reduction rules and an evaluator. We
have implemented from scratch a refiner which does partial typechecking and
type reconstruction. We have experimented Bull with classical examples of the
intersection and union literature, such as the ones formalized by Pfenning with
his Refinement Types in LF. We hope that this research vein could be useful to
experiment, in a proof theoretical setting, forms of polymorphism alternatives
to Girard's parametric one
Towards a Logical Framework with Intersection and Union Types
International audienceWe present an ongoing implementation of a dependent-type theory (â-framework) based on the Edinburgh Logical Framework LF, extended with Proof-functional logical connectives such as intersection , union, and strong (or minimal relevant) implication. Proof-functional connectives take into account the shape of logical proofs, thus allowing to reflect polymorphic features of proofs in formulae. This is in contrast to classical Truth-functional connec-tives where the meaning of a compound formula is only dependent on the truth value of its subformulas. Both Logical Frameworks and proof functional logics consider proofs as first class citizens. But they do it differently namely, explicitly in the former while implicitly in the latter. Their combination opens up new possibilites of formal reasoning on proof-theoretic semantics. We provide some examples in the extended type theory and we outline a type checker. The theory of the system is under investigation. Once validated in vitro, the proof-functional type theory can be successfully plugged in existing truth-functional proof assistants
The Delta-calculus: syntax and types
International audienceWe present the -calculus, an explicitly typed -calculus with strong pairs, projections and explicit type coercions. The calculus can be parametrized with different intersection type theories T , e.g. the Coppo-Dezani, the Coppo-Dezani-Salle', the Coppo-Dezani-Venneri and the Barendregt-Coppo-Dezani ones, producing a family of -calculi with related intersection typed systems. We prove the main properties like Church-Rosser, unicity of type, subject reduction, strong normalization, decidability of type checking and type reconstruction. We state the relationship between the intersection type assignment systems a` la Curry and the corresponding intersection typed systems a` la Church by means of an essence function translating an explicitly typed -term into a pure -term one. We finally translate a -term with type coercions into an equivalent one without them; the translation is proved to be coherent because its essence is the identity. The generic - calculus can be parametrized to take into account other intersection type theories as the ones in the Barendregt et al. book
A Type Checker for a Logical Framework with Union and Intersection Types
International audienceWe present the syntax, semantics, typing, subtyping, unification, refinement, and REPL of Bull, a prototype theorem prover based on the â-Framework, i.e. a fully-typed Logical Framework Ă la Edinburgh LF decorated with union and intersection types, as described in previous papers by the authors. Bull also implements a subtyping algorithm for the Type Theory Î of Barbanera-Dezani-de'Liguoro. Bull has a command-line interface where the user can declare axioms, terms, and perform computations and some basic terminal-style features like error pretty-printing, subexpressions highlighting, and file loading. Moreover, it can typecheck a proof or normalize it. These terms can be incomplete, therefore the typechecking algorithm uses unification to try to construct the missing subterms. Bull uses the syntax of Berardi's Pure Type Systems to improve the compactness and the modularity of the kernel. Abstract and concrete syntax are mostly aligned and similar to the concrete syntax of Coq. Bull uses a higher-order unification algorithm for terms, while typechecking and partial type inference are done by a bidirectional refinement algorithm, similar to the one found in Matita and Beluga. The refinement can be split into two parts: the essence refinement and the typing refinement. Binders are implemented using commonly-used de Bruijn indices. We have defined a concrete language syntax that will allow user to write â-terms. We have defined the reduction rules and an evaluator. We have implemented from scratch a refiner which does partial typechecking and type reconstruction. We have experimented Bull with classical examples of the intersection and union literature, such as the ones formalized by Pfenning with his Refinement Types in LF and by Pierce. We hope that this research vein could be useful to experiment, in a proof theoretical setting, forms of polymorphism alternatives to Girard's parametric one