The ρLog calculus

Description

The ρLog calculus performs SLDNF-resolution with leftmost literal selection: every rule t s t ' / ; c o n d 1 c o n d n is logically equivalent with the clause

t s x / ; c o n d 1 c o n d n ( t ' x _ ) .

where x is a fresh term variable and we can use resolution with respect to this equivalent clauses. The main difference from resolution in first-order logic is that, instead of using the auxiliary function m g u ( t , t ' ) to compute a most general unifier of two terms, we use the function m c s m ( t , t ' ) , which computes the finitely many matchers between a term t T ( F , V ) and a ground term t ' .

Inference rules

The calculus has inference rules for the judgment Q σ Q ' with intended reading "query Q is reducible to Q' if substitution σ is performed."

We write

As usual, the inference rules with respect to a program P have the form H 1 H n Q σ Q ' with intended reading " Q σ Q ' holds iff H 1 and ... and H n hold."
They are:

The proper interpretation of the other composite strategies and predefined parametric strategies is guaranteed by assuming that P contains defining rules for them. For example, the rules for the strategy combinators of ρLog are:
x _ s 1 _ s 2 _ z / ; ( x s 1 y _ ) ( y s 2 z _ ) .
x _ s 1 _ s 2 _ z / ; ( x s 1 z _ ) .
x _ s 1 _ s 2 _ z / ; ( x s 2 z _ ) .
x _ s _ * y / ; ( x " I d " s s * y _ ) .

The list of answers computed by ρLog for a query Q is A n s P ( Q ) : = { σ there is an inference derivation Q σ * } .