Calculi of Meta-variables
The notion of meta-variable plays a fundamental role when we define formal systems such as logical and computational calculi. Yet it has been usually understood only informally as is seen in most textbooks of logic. Based on our observations of the usages of meta-variables in textbooks, we propose two formal systems that have the notion of meta-variable.
In both calculi, each variable is given a level (non-negative integer), which classifies variables into object variables (level 0), meta-variables (level 1), metameta-variables (level 2) and so on. Then, simple arity systems are used to exclude meaningless terms like a meta-level function operating on the metameta-level. A main difference of the two calculi lies in the definitions of substitution. The first calculus uses textual substitution, which can often be found in definitions of quantified formulae: when a term is substituted for a meta-variable, free object-level variables in the term may be captured. The second calculus is based on the observation that predicates can be regarded as meta-level functions on object-level terms, hence uses capture-avoiding substitution.
We show both calculi enjoy a number of properties including Church-Rosser and Strong Normalization, which are indispensable when we use them as frameworks to define logical systems.
KeywordsMeta-variable logical framework context λ-calculus
Unable to display preview. Download preview PDF.
- 2.Davies, R.: A Temporal-Logic Approach to Binding-Time Analysis. In: 11th Annual IEEE Symposium on Logic in Computer Science (LICS 1996), pp. 184–195 (1996)Google Scholar
- 9.Sands, D.: Computing with Contexts - a Simple Approach. Electronic Notes in Theoretical Computer Science, vol. 10 (1998)Google Scholar
- 14.Yamamoto, K., Okamoto, A., Sato, M., Igarashi, A.: A Typed Lambda Calculus with Quasi-quotation (in Japanese). In: Informal Proceedings of the 4th JSSST Workshop on Programming and Programming Languages, pp. 87–102 (2003)Google Scholar