The $\lambda$-calculus with multiplicities is a refinement of the lazy $\lambda$-calculus where the argument in an application comes with a multiplicity, which is an upper bound to the number of its uses. This introduces potential deadlocks in the evaluation. We study the discriminating power of this calculus over the usual $\lambda$-terms. We...
-
December 1994 (v1)ReportUploaded on: April 5, 2025
-
November 2020 (v1)Conference paper
We study Nakamoto's Bitcoin protocol that implements a distributed ledger on peer-to-peer asynchronous networks. In particular, we define a principled formal model of key participants-the miners-as stochastic processes and describe the whole system as a parallel composition of miners. We therefore compute the probability that ledgers turn into...
Uploaded on: December 4, 2022 -
June 24, 2021 (v1)Journal article
We define a technique for analyzing updates of smart contracts balances due to transfers of digital assets. The analysis addresses a lightweight smart contract language and consists of a two-step translation. First, we define the input-output behaviours of smart contract functions by means of a simple functional language with static dispatch....
Uploaded on: December 4, 2022 -
2019 (v1)Conference paper
Deadlock analysis of concurrent programs that contain coordination primitives (wait, notify and Open image in new window ) is notoriously challenging. Not only these primitives affect the scheduling of processes, but also notifications unmatched by a corresponding wait are silently lost. We design a behavioral type system for a core calculus...
Uploaded on: December 4, 2022