No abstract available.
Proceeding Downloads
Continuous Verification of Machine Learning: a Declarative Programming Approach
In this invited talk, we discuss state of the art in neural network verification. We propose the term continuous verification to characterise the family of methods that explore continuous nature of machine learning algorithms. We argue that methods of ...
Declarative abstractions for tensor program partitioning
The size of state-of-the-art machine learning models is continuously growing; for instance GPT-3, a recent language model trained by OpenAI, contains 175B parameters. Due to memory limitations and scalability constraints hardware acceleration for such ...
The Machinery of Interaction
This paper revisits the Interaction Abstract Machine (IAM), a machine based on Girard’s Geometry of Interaction, introduced by Mackie and Danos & Regnier. It is an unusual machine, not relying on environments, presented on linear logic proof nets, and ...
A Computational Understanding of Classical (Co)Recursion
Recursion and induction are mature, well-understood topics in programming. Yet their duals, corecursion and coinduction, are still exotic and underdeveloped programming features. We aim to put them on equal footing by giving a foundation for ...
Degrading Lists
We discuss the relationship between monads and their known generalisation, graded monads, which are especially useful for modelling computational effects equipped with a form of sequential composition. Specifically, we ask if a graded monad can be ...
Verified Linear Session-Typed Concurrent Programming
We present a system of linear session types that integrates several features aimed at verification of different properties of concurrent programs, specifically types indexed with arithmetic expressions, linear constraints and quantification. We prove ...
A Dependently Typed Linear π-Calculus in Agda
Session types have consolidated as a formalism for the specification and static enforcement of communication protocols. Many different theories of dependent session types have been proposed, some enabling refined specifications on the content of ...
Inversion Framework: Reasoning about Inversion by Conditional Term Rewriting Systems
We introduce a language-independent framework for reasoning about program inverters by conditional term rewriting systems. These systems can model the three fundamental forms of inversion, i.e., full, partial and semi-inversion, in declarative ...
Finding Candidate Keys and 3NF via Strategic Port Graph Rewriting
We present new algorithms to compute candidate keys and third normal form design of a relational database schema, using strategic port graph rewriting. More precisely, we define port graph rewriting rules and strategies that implement a candidate key ...
Rewrites as Terms through Justification Logic
Justification Logic is a refinement of modal logic where the modality is annotated with a reason s for “knowing” A and written . The expression s is a proof of A that may be encoded as a lambda calculus term of type A, according to the propositions-as-...
Hailstorm: A Statically-Typed, Purely Functional Language for IoT Applications
With the growing ubiquity of Internet of Things (IoT), more complex logic is being programmed on resource-constrained IoT devices, almost exclusively using the C programming language. While C provides low-level control over memory, it lacks a number of ...
Understanding Lua’s Garbage Collection: Towards a Formalized Static Analyzer
We provide the semantics of garbage collection (GC) for the Lua programming language. Of interest are the inclusion of finalizers (akin to destructors in object-oriented languages) and weak tables (a particular implementation of weak references). The ...
Proof-Carrying Plans: a Resource Logic for AI Planning
Planning languages have been used successfully in AI for several decades. Recent trends in AI verification and Explainable AI have raised the question of whether AI planning techniques can be verified. In this paper, we present a novel resource logic, ...
Moulinog: A Generator of Random Student Assignments Written in Prolog
We introduce, describe and discuss the potentialities of Moulinog, a tool created during the COVID-19 lockdown, designed to generate individual questionnaires for the remote evaluation of large classrooms. Starting with a list of students and a series ...
Non-monotonic Spatial Reasoning for Safety Analysis in Construction
We present a new approach based on spatial reasoning in Answer Set Programming (ASP), and a prototype software tool, for automatically evaluating construction safety compliance of real-world Building Information Models (BIM) that have both a geometric ...