Metavariable
In logic, a metavariable (also metalinguistic variable[1] or syntactical variable)[2] is a symbol or symbol string which belongs to a metalanguage and stands for elements of some object language. For instance, in the sentence
- Let A and B be two sentences of a language ℒ
the symbols A and B are part of the metalanguage in which the statement about the object language ℒ is formulated.
John Corcoran considered this terminology unfortunate because it obscures the use of schemata and because such "variables" do not actually range over a domain.[3]: 220
The convention is that a metavariable is to be uniformly substituted with the same instance in all its appearances in a given schema. This is in contrast with nonterminal symbols in formal grammars where the nonterminals on the right of a production can be substituted by different instances.[4]
Attempts to formalize the notion of metavariable result in some kind of type theory.[5]
See also
[edit | edit source]Notes
[edit | edit source]- ^ Hunter 1996, p. 13.
- ^ Shoenfield 2001, p. 7.
- ^ Corcoran 2006, p. 220.
- ^ Tennent 2002, pp. 36–37, 210.
- ^ Masahiko Sato, Takafumi Sakurai, Yukiyoshi Kameyama, and Atsushi Igarashi. "Calculi of Meta-variables[permanent dead link]" in Computer Science Logic. 17th International Workshop CSL 2003. 12th Annual Conference of the EACSL. 8th Kurt Gödel Colloquium, KGC 2003, Vienna, Austria, August 25-30, 2003. Proceedings, Springer Lecture Notes in Computer Science 2803. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).. pp. 484–497
References
[edit | edit source]- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). (accessible to patrons with print disabilities)
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).