845 research outputs found
Star Games and Hydras
The recursive path ordering is an established and crucial tool in term
rewriting to prove termination. We revisit its presentation by means of some
simple rules on trees (or corresponding terms) equipped with a 'star' as
control symbol, signifying a command to make that tree (or term) smaller in the
order being defined. This leads to star games that are very convenient for
proving termination of many rewriting tasks. For instance, using already the
simplest star game on finite unlabeled trees, we obtain a very direct proof of
termination of the famous Hydra battle, direct in the sense that there is not
the usual mention of ordinals. We also include an alternative road to setting
up the star games, using a proof method of Buchholz, adapted by van Oostrom,
resulting in a quantitative version of the star as control symbol. We conclude
with a number of questions and future research directions
Parikh Automata over Infinite Words
Parikh automata extend finite automata by counters that can be tested for
membership in a semilinear set, but only at the end of a run, thereby
preserving many of the desirable algorithmic properties of finite automata.
Here, we study the extension of the classical framework onto infinite inputs:
We introduce reachability, safety, B\"uchi, and co-B\"uchi Parikh automata on
infinite words and study expressiveness, closure properties, and the complexity
of verification problems.
We show that almost all classes of automata have pairwise incomparable
expressiveness, both in the deterministic and the nondeterministic case; a
result that sharply contrasts with the well-known hierarchy in the
-regular setting. Furthermore, emptiness is shown decidable for Parikh
automata with reachability or B\"uchi acceptance, but undecidable for safety
and co-B\"uchi acceptance. Most importantly, we show decidability of model
checking with specifications given by deterministic Parikh automata with safety
or co-B\"uchi acceptance, but also undecidability for all other types of
automata. Finally, solving games is undecidable for all types
Pre-deployment Analysis of Smart Contracts -- A Survey
Smart contracts are programs that execute transactions involving independent
parties and cryptocurrencies. As programs, smart contracts are susceptible to a
wide range of errors and vulnerabilities. Such vulnerabilities can result in
significant losses. Furthermore, by design, smart contract transactions are
irreversible. This creates a need for methods to ensure the correctness and
security of contracts pre-deployment. Recently there has been substantial
research into such methods. The sheer volume of this research makes
articulating state-of-the-art a substantial undertaking. To address this
challenge, we present a systematic review of the literature. A key feature of
our presentation is to factor out the relationship between vulnerabilities and
methods through properties. Specifically, we enumerate and classify smart
contract vulnerabilities and methods by the properties they address. The
methods considered include static analysis as well as dynamic analysis methods
and machine learning algorithms that analyze smart contracts before deployment.
Several patterns about the strengths of different methods emerge through this
classification process
Virtual Evidence: A Constructive Semantics for Classical Logics
This article presents a computational semantics for classical logic using
constructive type theory. Such semantics seems impossible because classical
logic allows the Law of Excluded Middle (LEM), not accepted in constructive
logic since it does not have computational meaning. However, the apparently
oracular powers expressed in the LEM, that for any proposition P either it or
its negation, not P, is true can also be explained in terms of constructive
evidence that does not refer to "oracles for truth." Types with virtual
evidence and the constructive impossibility of negative evidence provide
sufficient semantic grounds for classical truth and have a simple computational
meaning. This idea is formalized using refinement types, a concept of
constructive type theory used since 1984 and explained here. A new axiom
creating virtual evidence fully retains the constructive meaning of the logical
operators in classical contexts.
Key Words: classical logic, constructive logic, intuitionistic logic,
propositions-as-types, constructive type theory, refinement types, double
negation translation, computational content, virtual evidenc
- …