The goal of the Mocqua team is to tackle challenges coming from the emergence of new or future computational models. The landscape of computational models has indeed changed drastically in the last few years: the complexity of digital systems is continually growing, which leads to the introduction of new paradigms, while new problems arise due to this larger scale (tolerance to faulty behaviors, asynchronicity) and constraints of the present world (energy limitations). In parallel, new models based on physical considerations have appeared. There is thus a real need to accompany these changes, and we intend to investigate these new models and try to solve their intrinsic problems by computational and algorithmic methods.

While the bit remains undeniably the building block of computer architecture and software, it is fundamental for the development of new paradigms to investigate computations and programs working with inputs that cannot be reduced to finite strings of 0's and 1's. Our team will focus on a few instances of this phenomenon: programs working with qubits (quantum computing), programs working with functions as inputs (higher-order computation) and programs working in infinite precision (real numbers, infinite sequences, streams, coinductive data, ...).

While it can be argued that the quantum revolution has already happened in cryptography or in optics , quantum computers are far from becoming a common commodity. This is despite the fact that many teams worldwide, both academic and industrial, are nowadays focusing much of their efforts on building quantum computers. Indeed the challenges ahead to reach practical, sizable and accurate quantum computers remain tremendous.

Today's quantum devices are small in scale and still very noisy and are therefore called NISQ devices (for Noisy Intermediate Scale Quantum). They all differ fundamentally on the hardware substrate, and it is quite hard to predict which solution will finally be adopted. While some effort is underway to understand and utilize the potential of these NISQ devices, scaling up and implementing fault-tolerant and quantum error correction schemes will eventually become crucial for the potential of quantum computing to be reached.

As these devices are developed and scale up, the importance of software to operate them and programming languages to program them will grow. The practical applications in sight will require tighter interactions within the quantum stack, which extends from hardware to algorithms. Given its recent emergence, the landscape of quantum programming languages is constantly evolving. Comparably to compiler design, the foundation of quantum software therefore relies on an intermediate representation that is suitable for manipulation, easy to produce from software and easily encodable into hardware. A graphical language now firmly established as the choice for this is the ZX-calculus.

Many research questions are now to be addressed. For instance, what are the correct formalism and approaches for quantum programming languages? How to develop practical, and useful algorithms? What role can graphical intermediate representations such as ZX-calculus play in interaction between compilers and hardware with different characteristics, like lattice surgery fault-tolerance or quantum optics? Which quantum error correcting codes and fault-tolerant schemes can make large scale quantum computing reachable?

While programs often operate on natural numbers or finite structures such as graphs or finite strings, they can also take functions as inputs. In that case, the program is said to perform higher-order computations, or to compute a higher-order functional. Functional programming or object-oriented programming are important paradigms allowing higher-order computations.

While the theory of computation is well developed for first-order programs, difficulties arise when dealing with higher-order programs. There are many non-equivalent ways of presenting inputs to such programs: an input function can be presented as a black-box, encoded in an infinite binary sequence, or sometimes by a finite description. Comparing those representations is an important problem. A particularly useful application of higher-order computations is to compute with infinite objects that can be represented by functions or symbolic sequences. The theory works well in many cases (to be precise, when these objects live in a topological space with a countable basis ), but is not well understood in other interesting cases. For instance, when the inputs are the second-order functionals (of type

The most natural example of a computation with infinite precision is
the simulation of a dynamical system.
The underlying space might be

From the point of view of computation, the main point of interest is the link between the long-term behavior of a system and its initial configuration. There are two questions here: (a) predict the behavior, (b) design dynamical systems with some prescribed behavior. The first will be mainly examined through the angle of reachability and more generally control theory for hybrid systems.

The model of cellular automata will be of particular interest. This computational model is relevant for simulating complex global phenomena which emerge from simple interactions between simple components. It is widely used in various natural sciences (physics, biology, etc.) and in computer science, as it is an appropriate model to reason about errors that occur in systems with a great number of components.

The simulation of a physical dynamical system on a computer is made difficult by various aspects. First, the parameters of the dynamical systems are seldom exactly known. Secondly, the simulation is usually not exact: real numbers are usually represented by floating-point numbers, and simulations of cellular automata only simulate the behavior of finite or periodic configurations. For some chaotic systems, this means that the simulation can be completely irrelevant.

Quantum Computing is currently the most promising technology to extend Moore's law, whose end is expected to be reached soon with engraving technologies struggling to reduce transistor size. Thanks to promising algorithmic and complexity theoretic results on its computational power, quantum computing will represent a decisive competitive advantage for those who will control it.

Quantum Computing is also a major security issue, since it allows us to break today's asymmetric cryptography. Hence, mastering quantum computing is also of the highest importance for national security concerns. Small-scale quantum computers already exist and recent scientific and technical advances suggest that the construction of the first practical quantum computers will be possible in the coming years.

As a result, the major US players in the IT industry have embarked on a dramatic race, mobilizing huge resources: IBM, Microsoft, Google and Intel have each invested huge sums of money, and are devoting significant budgets to attract and hire the best scientists on the planet. Some states have launched ambitious national programs, including the United Kingdom, the Netherlands, Canada, China, Australia, Singapore, and very recently Europe, with the 10-year FET Flagship program in Quantum Engineering. The French government also recently announced its – a 1.8 billion euro initiative to develop quantum technologies.

An important pillar of the concerns the development of Large Scale Quantum computers. This will come with progress all across the quantum stack.

The Mocqua team contributes to the computer science approach to quantum computing, with expertise ranging all across the quantum stack from quantum software to fault-tolerance and quantum error-correction. We aim at a better understanding of the power and limitations of the quantum computer, and therefore of its impact on society. We also contribute to ease the development of the quantum computer by filling gaps across the quantum stack from programming languages to compilation and intermediate representations for fault-tolerant implementations on hardware.

The idea of considering functions as first-class citizens and allowing programs to take functions as inputs has emerged since the very beginning of theoretical computer science through Church's

One of the central problems is to design programming languages that capture most of, if not all, the possible ways of computing with functions as inputs. There is no Church thesis in higher-order computing and many ways of taking a function as input can be considered: allowing parallel or only sequential computations, querying the input as a black-box or via an interactive dialog, and so on.

The Kleene-Kreisel computable functionals are arguably the broadest class of higher-order continuous functionals that could be computed by a machine. However their complexity is such that no current programming language can capture all of them. Better understanding this class of functions is therefore fundamental in order to identify the features that a programming language should implement to make the full power of higher-order computation expressible in such a language.

We aim at developing various tools to simulate and analyse the dynamics of spatially-extended discrete dynamical systems such as cellular automata. The emphasis of our approach is on the evaluation of the robustness of the models under study, that is, their capacity to resist various perturbations.

In the framework of pure computational questions, various examples of such systems have already been proposed for solving complex problems with a simple bio-inspired approach (e.g. the decentralized gathering problem ). We are now working on their transposition to various real-world situations. For example when one needs to understand the behaviour of large-scale networks of connected components such as wireless sensor networks. In this direction of research, a first work has been presented on how to achieve a decentralized diagnosis of networks made of simple interacting components and the results are rather encouraging . Nevertheless, there are various points that remain to be studied in order to complete this model for its integration in a real network.

We have also tackled the evaluation of the robustness of a swarming model proposed by A. Deutsch to mimic the self-organization process observed in various natural systems (birds, fishes, bacteria, etc.) . We now wish to develop our simulation tools to apply them to various biological phenomena where many agents are involved.

We are also currently extending the range of applications of these techniques to the field of economy. We have started a collaboration with Massimo Amato, a professor in economy at the Bocconi University in Milan. Our aim is to propose a decentralized view of a business-to-business market and totally decentralized, agent-oriented models of such markets. Various banks and large businesses have already expressed their interest in such modelling approaches.

The already existing software FiatLux and ComplexityParser have continued to be developed. In addition, the development of a new set of libraries for the Idris 2 programming language was initiated under the name Qimaera.

A space with a structure has the fixed-point property if every structure-preserving function from the space to itself has a fixed-point. We investigate which spaces have the fixed-point property for computable multivalued functions. We prove in particular that among the countably-based topological spaces, they are exactly the omega-continuous domains, an important class coming from semantics of programming languages. We apply our results to identify the complexity of indexing a basis of a topological space. Our article has been accepted in the Annals of Pure and Applied Logic .

We investigated the relationship between the computability of sets and their topological properties. More precisely, we are studying which sets have “computable type”, which is the property that any algorithm that semidecides the set can be converted into an algorithm that fully decides the set. We have obtained a topological characterization of this property for a large class of sets, namely the finite simplicial complexes. Our results give an easy way of determining whether a given set has computable type. In particular we have settled the question for famous sets from topology: the dunce hat, and Bing's house. An article is currently submitted.

We have also obtained a partial characterization of this property using homology theory. Essentially, this property is related to the fact that every point belongs to a cycle, a notion provided by homology, extending the notion of cycle in a graph. An article is in preparation.

Directly related to the theme exposed in Sec. , we continued to explore the problem of self-stabilisation, as introduced by Dijkstra in the 1970’s, in the context of cellular automata .
More precisely, we extended the scope of our results from Fundamenta informaticae .

Our work on a bio-inspired mechanism for data clustering has also been revised and is scheduled for a publication in 2022 . Our method uses amoebae which evolve according to cellular automata rules: they contain the data to be processed and emit reaction-diffusion waves at random times. The waves transmit the information across the lattice and cause other amoebae to react, by being attracted or repulsed. The local reactions produce small homogeneous groups which progressively merge and realize the clustering at a larger scale.

We continued our work with Régine Marchand (IECL, Université de Lorraine) and Irène Marcovici on the problem of detecting failures in a distributed network . The question that drives our research is to find out how we can detect that the failure rate has exceeded a given threshold without any central authority when some components progressively break down.

One of the main open question in the field of symbolic dynamics is to
decide whether the conjugacy problem is computable. This is a problem on
shifts of finite type, that can be reformulated in terms of matrices.
Two matrices

In collaboration with colleagues form Bocconi University and University of Trento, we developed some economic and operational foundations of a new method of financing companies’ financial obligations . In this new banking business model, a network funder sets an optimal combination of netting and financing. Given a network of companies and their respective invoices, and under the condition of a full settlement of the invoices, we applied a multilateral netting algorithm to the network, conceived as an oriented multi-graph. Our problem, which is NP-complete, was to find a set of invoices which maximises the amount of debt reduced given a quantity of loanable funds. We designed a policy which finds a trade-off and tested our methods on an empirical dataset from an electronic invoicing operator consisting of more than 60,000 companies. The first results show that this method is economically significant and feasible.

We have developped ComplexityParser, a static complexity analyzer for Java programs implementing a tier-based type discipline. If a program is typable, its runtime is guaranteed to be polynomial on the condition that it halts. The type inference is automatic; its complexity is linear in the size of the input program in practice.

ComplexityParser is implemented in Java (5,000 lines of code) and it uses the ANTLR framework o generate a parser. The code is under the .

A tool paper presenting the operation and main features of the software was accepted and presented at the ICTAC 2021 conference .

Cographs form one of the simplest hereditary graph classes.
They can be defined as the graphs not containing the path with 4 vertices as an induced subgraph.
A characterization of cographs which is essential for us is the following:
cographs are the graphs which can be encoded by trees in a specific family, called cotrees.

We are interested in the asymptotic properties of uniform random cographs when the number of vertices tends to infinity.

In , we also prove permutation analogues of all the results mentioned above.

Tree-like tableaux are objects in bijection with alternative or permutation tableaux, which are classical objects in combinatorics. Our work defines and studies a new subclass of tree-like tableaux enumerated by the famous Baxter numbers. We exhibit simple bijective links between these objects and three other combinatorial classes: (packed or mosaic) floorplans, twisted Baxter permutations and triples of non-intersecting lattice paths. From several (and unrelated) works, these last objects are already known to be enumerated by Baxter numbers, and our main contribution is to provide a unifying approach to bijections between Baxter objects, where Baxter tree-like tableaux play the key role.

The goal of this research project was to investigate the links between interval posets of permutations and substitution decomposition trees. The interval poset of a permutation is the set of intervals of a permutation, ordered with respect to inclusion. It has been introduced and studied recently in . Substitution decomposition trees, on the other hand, are a rather classical tool in the study of permutation classes, which was not used in .

We first describe a procedure to obtain the interval poset of a permutation from its substitution decomposition tree. We then give alternative proofs of some of the results in , and we solve the open problems that it posed (and some other enumerative problems) using techniques from symbolic and analytic combinatorics. Finally, we compute the Möbius function on interval posets.

In this work, we describe a substructural type system with mixed linear and non-linear recursive types called LNL-FPC (the linear/non-linear fixpoint calculus). Just as in FPC, we show that LNL-FPC supports type-level recursion which in turn induces term-level recursion. We also provide sound and computationally adequate categorical models for LNL-FPC which describe the categorical structure of the substructural operations of Intuitionistic Linear Logic at all non-linear types, including the recursive ones. In order to do so, we describe a new technique for solving recursive domain equations. We also show that the requirements of our abstract model are reasonable by constructing a large class of concrete models that have found applications in classical programming, but also in emerging programming paradigms such as quantum programming and circuit description programming languages.

These results are published in the journal Logical Methods in Computer Science . The final revisions for the journal article were completed in 2021, but most of the work was done in 2020. This work is also an extended version of our paper that was published in ICFP'19 .

Domain theory, a mathematical theory that is a staple of denotational
semantics, provides an elegant order-theoretic view of computation. However,
domain theory has struggled to keep up with advances in probabilistic
computation, because adding probabilistic choice to the domain-theoretic
approach to semantics has been a challenge. The canonical model of
(sub)probability measures in domain theory is the family of valuations -
certain maps from the lattice of open subsets of a dcpo (directed-complete
partial order) to the unit interval. These valuations
form a strong monad commutative (a very desirable property
for the semantics) has been an open problem since 1989.

As part of this research project, we present three commutative submonads of

The above results show that the three submonads we identified are suitable for
modeling discrete probabilistic choice. Whether they can be used to
model continuous probabilistic choice is unclear, because we do not know
if they contain enough valuations. In order to tackle this question, we
present a fourth commutative submonad of central
valuations monad, denoted

Variational Quantum Algorithms , , are hybrid classical-quantum algorithms where classical and quantum computation work in tandem to solve computational problems. These algorithms create interesting challenges for the design of suitable programming languages, because they have to be able to accommodate both classical and quantum programming primitives simultaneously.

As part of this research project, we develop a set of libraries for the Idris 2 programming language that enable the programmer to implement (variational) quantum algorithms where the full power of the elegant Idris language works in synchrony with quantum programming primitives that we introduce. The two key ingredients of Idris that make this possible are (1) dependent types which allow us to implement unitary (i.e. reversible and controllable) quantum operations; and (2) linearity which allows us to enforce fine-grained control over the execution of quantum operations that ensures compliance with the laws of quantum mechanics. We demonstrate that our libraries, named Qimaera, are suitable for variational quantum programming by providing implementations of the two most prominent variational quantum algorithms – QAOA and VQE . To the best of our knowledge, this is the first implementation of these algorithms that has been achieved in a type-safe framework.

The results of this work are described in a preprint, currently under
peer-review . The software is open-source, available
under the MIT license . These
results were obtained during the (bachelor) internship of Liliane-Joy Dandy in
our team and she was awarded the "Research Internship Prize" at École
Polytechnique for her work.

The results in the previous research project show how we may approach variational quantum programming within an existing programming language. As part of this research project, we adopt a more theoretical and formal viewpoint and we consider a type system for variational quantum programming and we show how to design a suitable mathematical semantics for it.

In particular, we consider a programming language that can manipulate both
classical and quantum information. Our language is type-safe and designed for
variational quantum programming. The classical subsystem of the language is the
Probabilistic FixPoint Calculus (PFPC), which is a lambda calculus with
mixed-variance recursive types, term recursion and probabilistic choice. The
quantum subsystem is a first-order linear type system that can manipulate
quantum information. The two subsystems are related by mixed classical/quantum
terms that specify how classical probabilistic effects are induced by quantum
measurements, and conversely, how classical (probabilistic) programs can
influence the quantum dynamics. We also describe a sound and computationally
adequate denotational semantics for the language. Classical probabilistic
effects are interpreted using a recently-described commutative probabilistic
monad on

The results of this project are published in POPL'22 and most of the work was done in the year 2021.

The team is supervising two CIFRE PhDs in collaboration with industry partners.

One is a partnership with EDF: Margarita Veshchezerova is working on “Quantum Computing for Combinatorial Optimisation” under the supervision of Emmanuel Jeandel and Simon Perdrix from the team, and Marc Porcheron at EDF.

One is with ATOS: Vivien Vandaele is working on “Optimisation du calcul quantique tolérant aux fautes par le ZX-Calculus” under the supervision of Simon Perdrix and Christophe Vuillot from the team, and Simon Martiel at ATOS.

Nazim Fatès published an article for the wide-audience online magazine The conversation. The article, presents some reflection on the question of temporality and artificial intelligence.

Nazim Fatès published a video on Alan Turing, . This video is available on YouTube; it was realised with the audiovisual services of the Université de Lorraine and released for the "Fête de la science".

Simon Perdrix has been interviewed by Olivier Ezratty and Fanny Bouton in "Decode Quantum" ()

Nazim Fatès gave a series of lectures destined to a wide audience on the theme of artificial intelligence:

Nazim Fatès participated in a debate following a theatre play, We are The robots, ARTEM, Nancy, April 2, 2021.