TLCA Open Problem 20

内容など
TLCA Open Problem 20
Makoto Tatsuta
Results?
Significance?
We solved TLCA Open Problem 20 (type theoretic
characterization of hereditary permutators). This
list was compiled by TLCA community by
collecting important and difficult problems in type
theory. A hereditary permutator is an expression of
infinite nests of operations that produce a new
function by permutating its arguments.
Huge and complicated software such as bank online
system and aircraft control system plays an
important role in our life. On the other hand, that
software is produced by writing by hand and so its
quality is not guaranteed. Software verification
mathematically proves the software works correctly
as we expect. These theorems have greatly
contributed to theory of software verification.
Typed Lambda Calculus
Lambda-calculus is a mathematical theory that
Lambda terms
formalizes computation, and gives us an ideal
(1) x (a variable) is a lambda term
abstract programming language. It is simple so
(2) If M is a lambda term, then λx.M is a lambda term
that is has nice mathematical properties, and its
(3) If M, N are lambda term, then MN is a lambda term
expressive so that it can write the same class of
functions which other usual programming
(Eg) λx.(xxx) is the function that maps x to xxx.
languages can write. Lambda-calculus is one of
(λx.(xxx))y means an application of this function to y,
the most important and fundamental theory in
and the result will be yyy.
theoretical computer science.
Typed lambda calculus is obtained from 内容など
Typed Lambda-Calculus
lambda-calculus by adding types that represent
M : A means that the lambda term M belongs to the type
data types. It is important as a theoretical
A.
foundation of major programming languages, and
The type A→B means the type of functions that map an
it is also important as mathematics since it is
input in the type A to an output in the type B.
essentially the same as logical systems.
TLCA Open Problem
TLCA is Typed Lambda Calculi and Applications, which is the
name of a conference as well as the name of its most important
community. TLCA compiled the list of open problems last year by
collecting important and difficult 22 problems.
A hereditary permutator is a lambda term that represents
infinite nests of operations that produce a new function by
permutating its arguments. For example, the hereditary
permutator that map f(x,y,z) to g(x,y,z) = f(y,z,x) is λwxyz.wyzx.
TLCA Open Problem 20.
Find a type that characterizes
hereditary permutators.
That is, find a type theory T and a type
A that satisfy the following:
M : A is proved in T if and only if M
is a hereditary permutator.
Our Solution
First, we proved the set of hereditary permutators
is not recursively enumerable. This shows there
does not exist any solution for the problem.
Secondly, as a best-possible solution, we gave a
characterization by a countably infinite set of types.
We will present these results at Logic in Computer
Science Conference, which is the most important
among all the journals and conferences in
theoretical computer science and mathematical
logic.
Makoto Tatsuta/ National Institute of Informatics,
TEL : 03-4212-2552
Theorem 1.
The set of hereditary permutators is not
recursively enumerable.
Theorem 2.
M : An (n=1,2,3,…) is proved in T if and only if
M is a hereditary permutator.
(Makoto Tatsuta, Types for Hereditary Permutators, Proceedings of Twenty-Third
Annual IEEE Symposium on Logic in Computer Science (2008) 83--92.)
Principles of Informatics Division, Professor
Email : [email protected]