Homework 1: Ambiguity
Today in class we developed a syntax and semantics for a toy language
of numerical expressions that has the following features:
- There are two types of meanings:
- the set of rational numbers Q
- the set of truth values {TRUE, FALSE}
- The vocabulary consists of the ten expressions {'0','1','2','3','4','5','6','7','8','9'} (part of the object language); these items
are all of syntactic category D, and their meanings are the corresponding
numbers: {0,1,2,3,4,5,6,7,8,9} (part of the metalanguage for representing meanings).
- The grammar of the language (syntax and semantics) consists of the
following principles:
- If 'x' is a D with meaning [[x]], then 'x' is a N with meaning [[x]].
- If 'x' is a N with meaning [[x]] and 'y' is a D with meaning [[y]], then
'xy' is a N with meaning [[x]] x 10 + [[y]].
- If 'x', 'y' are Ns with meanings [[x]], [[y]], then:
- 'x+y' is a N with meaning [[x]]+[[y]]
- 'x*y' is a N with meaning [[x]] x [[y]]
- 'x-y' is a N with meaning [[x]]-[[y]]
- 'x ÷ y' is a N with meaning [[x]] ÷ [[y]]
- If 'x', 'y' are Ns with meanings [[x]], [[y]], then 'x = y' is a S
with meaning TRUE if [[x]] = [[y]], otherwise FALSE.
QUESTION: Consider the complex expression '2*3+10 =
26.' This expression is predicted to be ambiguous, according to the
syntax and semantics for the toy numerical language we invented: it can
be associated with two different semantic values. Explain why it is
predicted to be ambiguous, and say what its two possible semantic values
are.
|