Bottom-up logic programming can be used to declaratively specify many algorithms in a succinct and natural way, and McAllester
and Ganzinger have shown that it is possible to define a cost semantics that enables reasoning about the running time of algorithms
written as inference rules. Previous work with the programming language Lollimon demonstrates the expressive power of logic
programming with linear logic in describing algorithms that have imperative elements or that must repeatedly make mutually
exclusive choices. In this paper, we identify a bottom-up logic programming language based on linear logic that is amenable
to efficient execution and describe a novel cost semantics that can be used for complexity analysis of algorithms expressed
in linear logic.
Keywords Bottom-up logic programming - forward reasoning - linear logic - deductive databases - cost semantics - abstract running time