A Proof-Theoretic Approach to Logic Programming. I. Clauses as Rules | Synapse