Dias nummer 1 - PowerPoint PPT Presentation

1 / 1
About This Presentation
Title:

Dias nummer 1

Description:

... types are isomorphic in Th iff they can be proven to be isomorphic using only ... Two types are isomorphic if there are mutually inverse procedures for ... – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 2
Provided by: mik93
Category:

less

Transcript and Presenter's Notes

Title: Dias nummer 1


1
UNIVERSITY OF CAMBRIDGE
TYPE ISOMORPHISM OLA MAHMOUD SUPERVISED BY DR.
MARCELO FIORE
Computer Laboratory Theory Semantics Group
INTRODUCTION MOTIVATION
GENERIC RECURSIVE POLYNOMIAL TYPES

Isomorphism The familiar notion of isomorphism
(from Greek isos morphe meaning same shape)
refers to an invertible mapping between two
objects making them in some sense structurally
equivalent
Our current focus is type isomorphism in the
context of generic recursive polynomial types,
more specifically recursively defined types of
the form ?X.P(X), i.e. the type representing the
solution of the equation X P(X), where P(X)
is a multivariate polynomial type, i.e. one built
out of the sum and product type
constructors that are generic in the sense that
the only operations for manipulating them are
those of folding and unfolding.
f
f
idB
idA
A B
A
B
g
We are interested in the isomorphisms of types in
some abstract programming language. Two types are
isomorphic if there are mutually inverse
procedures for transforming data between them.
For example, for the sum type constructor we
know that T S S T, and T 0
T, etc.
Formal definition of the Type Theory The type
theory of sums, products, and generic recursive
types has types given by the following grammar T
X 0 T1 T2 1 T1 T2 ?X.T
Theoretic Motivation Complete Axiomatization As
is common in Mathematical Logic, we seek a
complete axiom system E for a given type theory
Th, i.e. a finite set of ismorphisms of the form
T S such that two types are isomorphic in Th iff
they can be proven to be isomorphic using only
the identities appearing in E. Explicit
Decidability providing non-exhaustive methods
(possibly algorithms) for constructing explicit
isomorphisms, when they exist
Motivation ? Recursively defined types occur
naturally in programming languages (lists, trees,
etc.) ? Isomorphisms in this restricted setting
are realisable by finitistic programs Preliminary
Results The equational theory of polynomial types
and of polynomial type theory with one recursive
type only is completely axiomatized by the
equational theory of the polynomial semiring NX
and by that of the quotient polynomial semiring
NX/X P(X), respectively. This result is due to
Robbie Gates.
Practical Applications Types as search keys
using type isomorphism as a key tool for
retrieving library components Inside Type
Systems performing transformations of data types
inside a programming language via isomorphism
CATEGORICAL TYPE THEORY
Category Theory Category Theory is often referred
to as the Mathematics of Mathematics. It will
be our main tool for proving isomorphisms. DEFINIT
ION A category C consists of (1) a collection
of objects (2) a collection of relations
(arrows) between the objects (3) for f A?B and
gB?C the composition g?f (4) for every object A
the identity arrow such that for all f, f?id f
id?f and for all f,g,h, f?(g?h) (f?g)?h. Why
Category Theory? ? It gives an elegant
formalization of the description of mathematical
structures (type theories) via universal
properties ? It provides an abstract way for
reasoning about theories ? Categories can be used
as models for certain structures/theories,
providing syntactic-hygiene and a better
understanding of the syntax, semantics and logic
of a theory
Categorical Type Theory Correspondence There is a
correspondence between type theories and
categories, enabling us to see the latter as
giving an abstract, or presentation-free,
semantics of a type theory. For a given theory
Th, it is possible to construct a category Cl(Th)
which contains in some sense the smallest or
most general model of Th. We call it the
classifying category of the theory Th. Using the
above correspondence, we want to classify
isomorphisms in Cl(ThR), for ThR the theory of
generic resursive polynomial types.
Th
Cl(Th) Th(C)
C
TYPE THEORY
CATEGORY THEORY
FUTURE DIRECTIONS
Other ? Construct the classifying category of
recursive polynomial type theory ? Characterize
isomorphisms of other type theories, e.g. lambda
calculus plus recursive types ? Formalize
reasoning about categorical isomorphisms
Result we seek THEOREM Two generic mutually
recursive polynomial types are isomorphic iff
they are provably equal in the equational theory
of commutative semirings with the equations Xi
Pi(X)
Write a Comment
User Comments (0)
About PowerShow.com