Abstract: The deep symmetry of linear logic  makes it suitable for providing abstract models of computation, free from implementation details which are, by nature, oriented and nonsymmetrical. I propose here one such model, in the area of logic programming, where the basic computational principle is Computation = Proof search Proofs considered here are those of the Gentzen style sequent calculus for linear logic. However, proofs in this system may be redundant, in that two proofs can be syntactically different although identical up to some irrelevant reordering or simplification of the applications of the inference rules. This leads to an untractable proof search where the search procedure is forced to make costly choices which turn out to be irrelevant. To overcome this problem, a subclass of proofs, called the 'focusing' proofs, which is both complete (any derivable formula in linear logic has a focusing proof) and tractable (many irrelevant choices in the search are eliminated when aimed at focusing proofs) is identified. The main constraint underlying the specification of focusing proofs has been to preserve the symmetry of linear logic, which is its most salient feature. In particular, dual connectives have dual properties with respect to focusing proofs. Then, a programming language, called LinLog, consisting of a fragment of linear logic, in which focusing proofs have a more compact form, is presented. Linlog deals with formulae which have a syntax similar to that of the definite clauses and goals of Horn logic, but the crucial difference here is that it allows clauses with multiple atoms in the head, connected by the 'par' (multiplicative disjunction). It is then shown that the syntactic restriction induced by LinLog is not performed at the cost of any expressive power: a mapping from full linear logic to LinLog, preserving focusing proofs, and analogous to the normalization to clausal form for classical logic, is presented.