A powerful and declarative means of specifying computations containing abstractions involves meta-level, universally quantified generic judgments. We present a proof theory for such judgments in which signatures are associated to each sequent (used to account for eigenvariables of the sequent) and to each formula in the sequent (used to account for generic variables locally scoped over the formula). A new quantifier, ∇, is introduced to explicitly manipulate the local signature. Intuitionistic logic extended with ∇ satisfies cut-elimination even when the logic is additionally strengthened with a proof theoretic notion of definitions. The resulting logic can be used to encode naturally a number of examples involving name abstractions, and we illustrate using the π-calculus and the encoding of objectlevel provability.Keywords: proof search, reasoning about operational semantics, generic judgments, higher-order abstract syntax.
Eigenvariables and generic reasoningIn specifying and reasoning about computations involving abstractions, one needs to encode both the static structure of such abstractions and their dynamic structure during computation. One successful approach to such an encoding, generally called higher-order abstract syntax [22], uses λ-terms to encode the static structure of abstractions and universally quantified judgments to encode their dynamic structure.There are, of course, several ways to prove a universally quantified expression, ∀ γ x.B. An approach that can be called the extensional, attempts to prove B [t/x] for all (closed) terms t of type γ. This rule might involve an infinite number of premises if the domain of the type γ is infinite. If the type γ is defined inductively, a proof by induction can replace the need for infinite premises with finite premises (the base cases and inductive cases) but with the need to discover invariants. Another more intensional approach, however, involves introducing a new, generic variable, say, c : γ, that has not been introduced before in the proof, and to prove the formula B[c/x] instead. In natural deduction and sequent calculus proofs, such new variables are called eigenvariables.In Gentzen's original presentation of the sequent calculus [5], eigenvariables were immutable: reading proofs bottom-up, once an eigenvariable is introduced it is not used as a site for substitution. In other words, Gentzen's eigenvariables did not vary in proof construction: rather they acted more as fresh, scoped constants.The generic interpretation of quantifiers generally entails the extensional interpretation: this is a simple consequence of the cut-elimination theorem as follows. Assume that the sequent Γ −→ ∀x.B is proved using the introduction of ∀ on the right from the premise Γ −→ B [c/x], where c is an eigenvariable and Π(c) is a proof of this premise. Similarly, assume that the sequent Γ , ∀xB −→ C is proved using the introduction of ∀ on the left from the premise Γ , B[t/x] −→ C, where t is some term. To reduce the rank of the cut formula ∀x.B between the s...