Certain inference rules are
local, which is a desired property. For example, consider the !-rule in
linear logic:\frac{\vdash A, ?B_1, \dots, ?B_n}{\vdash !A, ?B_1, \dots, ?B_n}In order to check that the !-rule has been applied correctly to a certain sequent calculus step \frac{\vdash A, B_1, \dots, B_n}{\vdash A', B_1, \dots, B_n}, it's not only necessary to check that A' = ?A, but also necessary to check that each of B_i has ! as its outermost logical connective. In this sense, the rule is
not local, since in order to apply the rule, one must check an unbounded number of formulas. As a more familiar example, in the classical sequent calculus LK, the inference rules for OR are\frac{A, \Gamma \vdash \Delta \quad B, \Gamma \vdash \Delta}{A \or B, \Gamma \vdash \Delta}(\or\vdash), \quad \frac{\Gamma \vdash A, \Delta}{\Gamma \vdash A \or B, \Delta}(\vdash\or_1), \quad \frac{\Gamma \vdash B, \Delta}{\Gamma \vdash A \or B, \Delta}(\vdash\or_2)The rule \or\vdash is not local, since in order to check that it has been correctly applied in a step\frac{A, \Gamma \vdash \Delta \quad B, \Gamma' \vdash \Delta'}{C, \Gamma \vdash \Delta}one must check not only that C = A \or B, but also that \Gamma = \Gamma', \Delta = \Delta'. The rules \vdash \or_1, \vdash \or_2 are local. Locality was originally motivated by considerations of parallel logic programming. The idea is as follows: A large sequent \Gamma \vdash \Delta might be stored in a distributed way, across several processors and several memory locations. A local inference step can be performed with a bounded amount of interaction, while nonlocal inference steps may be performed with arbitrarily large amount of interaction. For example, specifically, in order to perform \frac{\Gamma \vdash B, \Delta}{\Gamma \vdash A \or B, \Delta}, a processor need to produce a new sequent \Gamma' \vdash \Delta', such that \Gamma' simply points to the same memory address as \Gamma, and \Delta' points to A \or B, followed by the second memory address of B , \Delta. In contrast, applying a rule \or\vdash requires checking that two sequents are identical, which takes O(n) operations, where n is the number of formulas in the sequent. == Hypersequents ==