3,347 research outputs found
Modelling Multilateral Negotiation in Linear Logic
We show how to embed a framework for multilateral negotiation,
in which a group of agents implement a sequence of deals
concerning the exchange of a number of resources, into linear logic.
In this model, multisets of goods, allocations of resources, preferences
of agents, and deals are all modelled as formulas of linear logic.
Whether or not a proposed deal is rational, given the preferences of
the agents concerned, reduces to a question of provability, as does
the question of whether there exists a sequence of deals leading to an
allocation with certain desirable properties, such as maximising social
welfare. Thus, linear logic provides a formal basis for modelling
convergence properties in distributed resource allocation
Collection analysis for Horn clause programs
We consider approximating data structures with collections of the items that
they contain. For examples, lists, binary trees, tuples, etc, can be
approximated by sets or multisets of the items within them. Such approximations
can be used to provide partial correctness properties of logic programs. For
example, one might wish to specify than whenever the atom is proved
then the two lists and contain the same multiset of items (that is,
is a permutation of ). If sorting removes duplicates, then one would like to
infer that the sets of items underlying and are the same. Such results
could be useful to have if they can be determined statically and automatically.
We present a scheme by which such collection analysis can be structured and
automated. Central to this scheme is the use of linear logic as a omputational
logic underlying the logic of Horn clauses
MUNCH - Automated Reasoner for Sets and Multisets
This system description provides an overview of the MUNCH reasoner for sets and multisets. MUNCH takes as the input a formula in a logic that supports expressions about sets, multisets, and integers. Constraints over collections and integers are connected using the cardinality operator. Our logic is a fragment of logics of popular interactive theorem provers, and MUNCH is the first fully automated reasoner for this logic. MUNCH reduces input formulas to equisatisfiable linear integer arithmetic formulas. MUNCH reasoner is publicly available. It is implemented in the Scala programming language and currently uses the SMT solver Z3 to solve the generated integer linear arithmetic constraints
Model Checking Linear Logic Specifications
The overall goal of this paper is to investigate the theoretical foundations
of algorithmic verification techniques for first order linear logic
specifications. The fragment of linear logic we consider in this paper is based
on the linear logic programming language called LO enriched with universally
quantified goal formulas. Although LO was originally introduced as a
theoretical foundation for extensions of logic programming languages, it can
also be viewed as a very general language to specify a wide range of
infinite-state concurrent systems.
Our approach is based on the relation between backward reachability and
provability highlighted in our previous work on propositional LO programs.
Following this line of research, we define here a general framework for the
bottom-up evaluation of first order linear logic specifications. The evaluation
procedure is based on an effective fixpoint operator working on a symbolic
representation of infinite collections of first order linear logic formulas.
The theory of well quasi-orderings can be used to provide sufficient conditions
for the termination of the evaluation of non trivial fragments of first order
linear logic.Comment: 53 pages, 12 figures "Under consideration for publication in Theory
and Practice of Logic Programming
Non uniform (hyper/multi)coherence spaces
In (hyper)coherence semantics, proofs/terms are cliques in (hyper)graphs.
Intuitively, vertices represent results of computations and the edge relation
witnesses the ability of being assembled into a same piece of data or a same
(strongly) stable function, at arrow types. In (hyper)coherence semantics, the
argument of a (strongly) stable functional is always a (strongly) stable
function. As a consequence, comparatively to the relational semantics, where
there is no edge relation, some vertices are missing. Recovering these vertices
is essential for the purpose of reconstructing proofs/terms from their
interpretations. It shall also be useful for the comparison with other
semantics, like game semantics. In [BE01], Bucciarelli and Ehrhard introduced a
so called non uniform coherence space semantics where no vertex is missing. By
constructing the co-free exponential we set a new version of this last
semantics, together with non uniform versions of hypercoherences and
multicoherences, a new semantics where an edge is a finite multiset. Thanks to
the co-free construction, these non uniform semantics are deterministic in the
sense that the intersection of a clique and of an anti-clique contains at most
one vertex, a result of interaction, and extensionally collapse onto the
corresponding uniform semantics.Comment: 32 page
An Effective Fixpoint Semantics for Linear Logic Programs
In this paper we investigate the theoretical foundation of a new bottom-up
semantics for linear logic programs, and more precisely for the fragment of
LinLog that consists of the language LO enriched with the constant 1. We use
constraints to symbolically and finitely represent possibly infinite
collections of provable goals. We define a fixpoint semantics based on a new
operator in the style of Tp working over constraints. An application of the
fixpoint operator can be computed algorithmically. As sufficient conditions for
termination, we show that the fixpoint computation is guaranteed to converge
for propositional LO. To our knowledge, this is the first attempt to define an
effective fixpoint semantics for linear logic programs. As an application of
our framework, we also present a formal investigation of the relations between
LO and Disjunctive Logic Programming. Using an approach based on abstract
interpretation, we show that DLP fixpoint semantics can be viewed as an
abstraction of our semantics for LO. We prove that the resulting abstraction is
correct and complete for an interesting class of LO programs encoding Petri
Nets.Comment: 39 pages, 5 figures. To appear in Theory and Practice of Logic
Programmin
Non-linear Pattern Matching with Backtracking for Non-free Data Types
Non-free data types are data types whose data have no canonical forms. For
example, multisets are non-free data types because the multiset has
two other equivalent but literally different forms and .
Pattern matching is known to provide a handy tool set to treat such data types.
Although many studies on pattern matching and implementations for practical
programming languages have been proposed so far, we observe that none of these
studies satisfy all the criteria of practical pattern matching, which are as
follows: i) efficiency of the backtracking algorithm for non-linear patterns,
ii) extensibility of matching process, and iii) polymorphism in patterns.
This paper aims to design a new pattern-matching-oriented programming
language that satisfies all the above three criteria. The proposed language
features clean Scheme-like syntax and efficient and extensible pattern matching
semantics. This programming language is especially useful for the processing of
complex non-free data types that not only include multisets and sets but also
graphs and symbolic mathematical expressions. We discuss the importance of our
criteria of practical pattern matching and how our language design naturally
arises from the criteria. The proposed language has been already implemented
and open-sourced as the Egison programming language
Modelling Combinatorial Auctions in Linear Logic
We show that linear logic can serve as an expressive framework
in which to model a rich variety of combinatorial auction
mechanisms. Due to its resource-sensitive nature, linear
logic can easily represent bids in combinatorial auctions in
which goods may be sold in multiple units, and we show
how it naturally generalises several bidding languages familiar
from the literature. Moreover, the winner determination
problem, i.e., the problem of computing an allocation of
goods to bidders producing a certain amount of revenue for
the auctioneer, can be modelled as the problem of finding a
proof for a particular linear logic sequent
- …