41 research outputs found
Quantum Groups and Noncommutative Geometry
Quantum groups emerged in the latter quarter of the 20th century as, on the
one hand, a deep and natural generalisation of symmetry groups for certain
integrable systems, and on the other as part of a generalisation of geometry
itself powerful enough to make sense in the quantum domain. Just as the last
century saw the birth of classical geometry, so the present century sees at its
end the birth of this quantum or noncommutative geometry, both as an elegant
mathematical reality and in the form of the first theoretical predictions for
Planck-scale physics via ongoing astronomical measurements. Noncommutativity of
spacetime, in particular, amounts to a postulated new force or physical effect
called cogravity.Comment: 72 pages, many figures; intended for wider theoretical physics
community (special millenium volume of JMP
Synthetic Philosophy of Mathematics and Natural Sciences Conceptual analyses from a Grothendieckian Perspective
ISBN-13: 978-0692593974. Giuseppe Longo. Synthetic Philosophy of Mathematics and Natural Sciences, Conceptual analyses from a Grothendieckian Perspective, Reflections on âSynthetic Philosophy of Contemporary Mathematicsâ by F. Zalamea, Urbanomic (UK) and Sequence Press (USA), 2012. Invited Paper, in Speculations: Journal of Speculative Realism, Published: 12/12/2015, followed by an answer by F. Zalamea.International audienceZalameaâs book is as original as it is belated. It is indeed surprising, if we give it a momentâs thought, just how greatly behind schedule philosophical reflection on contemporary mathematics lags, especially considering the momentous changes that took place in the second half of the twentieth century. Zalamea compares this situation with that of the philosophy of physics: he mentions DâEspagnatâs work on quantum mechanics, but we could add several others who, in the last few decades, have elaborated an extremely timely philosophy of contemporary physics (see for example Bitbol 2000; Bitbol et al. 2009). As was the case in biology, philosophy â since Kantâs crucial observations in the Critique of Judgment, at least â has often ârun aheadâ of life sciences, exploring and opening up a space for reflections that are not derived from or integrated with its contemporary scientific practice. Some of these reflections are still very much auspicious today. And indeed, some philosophers today are saying something truly new about biology..
Categorical structure of continuation passing style
Laboratory for Foundations of Computer ScienceThis thesis attempts to make precise the structure inherent in Continuation Passing Style (CPS).
We emphasize that CPS translates lambda-calculus into a very basic calculus that does not have functions as primitive.
We give an abstract categorical presentation of continuation semantics by taking the continuation type constructor (cont in Standard ML of New Jersey) as primitive. This constructor on types extends to a contravariant functor on terms which is adjoint to itself on the left; restricted to the subcategory of those programs that do not manipulate the current continuation, it is adjoint to itself on the right.
The motivating example of such a category is built from (equivalence classes of typing judgements for) continuation passing style (CPS) terms. The categorical approach suggests a notion of effect-free term as well as some operators for manipulating continuations. We use these for writing programs that illustrate our categorical approach and refute some conjectures about control effects.
A call-by-value lambda-calculus with the control operator callcc can be interpreted. Arrow types are broken down into continuation types for argument/result-continuations pairs, reflecting the fact that CPS compiles functions into a special case of continuations. Variant translations are possible, among them lazy call-by-name, which can be derived by way of argument thunking, and a genuinely call-by-name transform. Specialising the semantics to the CPS term model allows a rational reconstruction of various CPS transforms
A Dualities-Consolidating Framework to Support Systematic Programming Language Design
In the theory of programming languages, duality is increasingly recognized
as being important for improving economy, offering the theoretical development
for one of two dual concepts "for free".
Two prevalent dualities are the extensibility duality, related to the Expression Problem,
and the De Morgan duality, related to evaluation strategies and control flow;
for instance, a language which is symmetric with respect to the extensibility duality
has both a facility which allows for easy extension with new variants,
similar to how classes implement an interface in certain object-oriented languages,
and a dual facility which allows for easy extension with new operations,
as in functional programming with algebraic data types.
However, this theoretical knowledge arguably has yet to be made more accessible to the practician.
In particular, the design of programming languages does not yet really
benefit from it in a systematic way.
As a step to improve this situation, building on these prior results, the present work presents a prototype of
a, in the conceptual sense rather economical, foundational system, in which the extensibility duality and the De Morgan duality are consolidated.
In particular, the system is inherently highly symmetric with respect to both dualities
and their consolidation quite naturally allows to carve out the essence
of the extensibility duality, thereby further optimizing the meta-level economy.
As will be demonstrated, this system can serve as a framework in which various language features known from
practical programming languages can be recovered (by local syntactic abstractions,
a.k.a. macros) and systematically compared,
including algebraic data types and function types as known from functional programming,
classes and objects, and exception handling, in combination
with the evaluation strategies employed by the respective languages.
This is intended to facilitate a systematic analysis
of programming language concepts which may aid in the design of parsimonious languages
which are symmetric with respect to one or both of the mentioned dualities.
For the more short-term perspective, the system may also serve as a cornerstone
for the systematic development of tools which automatically semantically compare (and convert between)
programs in different languages by means of analyzing the results of embedding them into the framework.In der theoretischen Betrachtung von Programmiersprachen wird DualitÀt
als zunehmend wichtig fĂŒr die Verbesserung der Ăkonomie betrachtet,
da diese ermöglicht, die Theorie-Entwicklung fĂŒr eines von zwei dualen Konzepten
"umsonst" zu erhalten.
Zwei vorherrschende DualitÀten sind die ExtensibilitÀts-DualitÀt,
die im Zusammenhang mit dem Expression Problem steht,
und die De Morgan-DualitÀt, die im Zusammenhang mit Auswertungsstrategien
und Kontrollfluss steht;
zum Beispiel bietet eine Sprache, die symmetrisch in Bezug auf die ExtensibilitÀts-DualitÀt ist,
sowohl ein Konstrukt, das die einfache HinzufĂŒgung von neuen Varianten ermöglicht,
Ă€hnlich dazu wie in gewissen Objekt-Orientierten Sprachen Klassen ein Interface implementieren,
als auch ein duales Konstrukt, das die einfache HinzufĂŒgung von neuen Operationen ermöglicht,
wie in der Funktionalen Programmierung mit algebraischen Datentypen.
Dieses theoretische Wissen muss wohl allerdings dem Praktiker noch besser zugÀnglich gemacht werden.
Insbesondere profitiert die Entwicklung von Programmiersprachen noch nicht
wirklich auf eine systematische Weise davon.
Als Schritt auf dem Weg dahin, diese Situation zu verbessern, prÀsentiert diese Arbeit,
auf diesen bisherigen Resultaten aufbauend, ein grundlegendes, im konzeptuellen Sinne recht ökonomisches System, in dem
die ExtensibilitÀts-DualitÀt und die De Morgan-DualitÀt miteinander vereinigt sind.
Insbesondere ist dieses System inhÀrent höchst symmetrisch in Bezug auf beide DualitÀten
und deren Vereinigung ermöglicht auf recht natĂŒrliche Weise die Essenz der
ExtensibilitĂ€ts-DualitĂ€t herauszuarbeiten, was die Ăkonomie auf der Meta-Ebene
weiter verbessert.
Wie dargestellt werden wird, kann dieses System als Framework dienen, in dem
sich verschiedene Sprach-Features aus in der Praxis relevanten Programmiersprachen
darstellen lassen (durch lokale syntaktische Abstraktionen, auch bekannt als Macros)
und in dem man diese vergleichen kann,
wie etwa algebraische Datentypen und Funktionstypen, wie man sie aus der Funktionalen
Programmierung kennt, Klassen und Objekte, sowie Exception-Handling,
in Verbindung mit den Auswertungsstrategien die von den jeweiligen Sprachen
verwendet werden.
Dies soll dem Zweck dienen, eine systematische Analyse von Programmiersprachen-Konzepten
zu ermöglichen, welche bei der Entwicklung von kompakten Sprachen helfen kann,
die symmetrisch in Bezug auf eine oder beide der erwÀhnten DualitÀten sind.
FĂŒr die kurzfristigere Perspektive bietet es das System auch als Grundstein fĂŒr
die systematische Entwicklung von Tools an, welche automatisch Programme in verschiedenen Sprache
semantisch vergleichen (und ineinander umwandeln), indem sie die Ergebnisse von deren Einbettung in das Framework analysieren
An Analytic Propositional Proof System on Graphs
In this paper we present a proof system that operates on graphs instead of
formulas. Starting from the well-known relationship between formulas and
cographs, we drop the cograph-conditions and look at arbitrary undirected)
graphs. This means that we lose the tree structure of the formulas
corresponding to the cographs, and we can no longer use standard proof
theoretical methods that depend on that tree structure. In order to overcome
this difficulty, we use a modular decomposition of graphs and some techniques
from deep inference where inference rules do not rely on the main connective of
a formula. For our proof system we show the admissibility of cut and a
generalization of the splitting property. Finally, we show that our system is a
conservative extension of multiplicative linear logic with mix, and we argue
that our graphs form a notion of generalized connective
Session Types in Concurrent Calculi: Higher-Order Processes and Objects
This dissertation investigates different formalisms, in the form of programming language calculi,
that are aimed at providing a theoretical foundation for structured concurrent programming based
on session types. The structure of a session type is essentially a process-algebraic style description
of the behaviour of a single program identifier serving as a communication medium (and usually
referred to as a channel): the types incorporate typed inputs, outputs, and choices which can be
composed to form larger protocol descriptions. The effectiveness of session typing can be attributed
to the linear treatment of channels and session types, and to the use of tractable methods
such as syntactic duality to decide if the types of two connected channels are compatible. Linearity
is ensured when accumulating the uses of a channel into a composite type that describes also
the order of those actions. Duality provides a tractable and intuitive method for deciding when
two connected channels can interact and exchange values in a statically determined type-safe way.
We present our contributions to the theory of sessions, distilled into two families of programming
calculi, the first based on higher-order processes and the second based on objects. Our work unifies,
improves and extends, in manifold ways, the session primitives and typing systems for the
Lambda-calculus, the Pi-calculus, the Object-calculus, and their combinations in multi-paradigm
languages. Of particular interest are: the treatment of infinite interactions expressed with recursive
sessions; the capacity to encapsulate channels in higher-order structures which can be exchanged
and kept suspended, i.e., the use of code as data; the integration of protocol structure directly
into the description of objects, providing a powerful and uniformly extensible set of implementation
abstractions; finally, the introduction of asynchronous subtyping, which enables controlled
reordering of actions on either side of a session. Our work on higher-order processes and on object
calculi for session-based concurrent programming provides a theoretical foundation for programming
language design integrating functional, process, and object-oriented features