Xref: utzoo talk.philosophy.misc:3619 comp.ai:6035 Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!pt.cs.cmu.edu!andrew.cmu.edu!qw0w+ From: qw0w+@andrew.cmu.edu (Quanfeng Wu) Newsgroups: talk.philosophy.misc,comp.ai Subject: Re: Why the Chinese Room doesn't convince Message-ID: Date: 21 Feb 90 07:09:19 GMT References: <18883@bcsaic.UUCP> <1589@skye.ed.ac.uk> <11488@venera.UUCP> <1754@skye.ed.ac.uk> <11910@venera.isi.edu>, Organization: Psychology, Carnegie Mellon, Pittsburgh, PA Lines: 99 In-Reply-To: kp@uts.amdahl.com (Ken Presting) writes: >>Really?! let's restrict our programming language to only expressing >>addition and multiplication of two digits. Ok, now we have a bunch of >>syntactic rules as expressed in BNF: >> Syntax: ::= | >> :: = + >> ::= + >> ::= 0|1| .... |9 >>and a bunch of semantic mappings: >> 0 + 0 --> 0, 0 + 1 --> 1, ...., 9 + 9 = 18; >> 0 * 0 --> 0, 0 * 1 --> 0, ...., 9 + 9 = 81. >>I don't see difficulty in putting the above syntactic rules and semantic >>mappings together into the following syntactic rules, again expressed in >>BNF (Backus-Naur notation): >> >> 0 ::= ( 0 + 0 ) | (0 * 0) | (0 * 1) | (1 * 0) >> ............ >> 18 :: = ( 9 + 9) | ( 2 * 9) | (9 * 2) >> 81 ::= 9 * 9. >I'm a little confused by this example, but I think I see what you're >getting at: >You have correctly used the BNF notation in the first case, but the second >case has either no terminal symbols, or no non-terminal symbols, or no >starting symbol, or none of the above! There is also a collision between >the use of the digit symbols in the mapping and the second BNF grammar. I should have said that all the symbols in the second BNF are terminal symbols; I don't need non-terminal symbols at all; nor starting-symbol (you mean something like ?). My mother is illiterate, and I'm sure she doesn't know what is sentence and what is noun and so on (at least she cannot offer some satisfactory definitions of these non-terminal and/or starting symbols); however, she surely can process the ordinary language. >It looks like you are trying to define a language whose expressions >refer to numbers, then use BNF-style formulas to indicate which >expressions can be mapped to which number. Exactly, that's what I was trying to do. However, I have to maintain that in this example I simply don't need the notion 'expression'. I just want to have a bunch of mapping rules, that's enought; that is, from these mapping rules, I surely can do all the additions and multiplications limited to two decimal digits. >There is a basic problem with BNF: it's not general enough to define >recursively enumerable sets, so there is no way to get a move like >this going if the starting language includes (eg) Diophantine equations. >If you move to more powerful grammars, eventually you'll run into Tarski's >theorem. The *provable* sentences in a formal theory are syntactically >defined, but the *true* sentences cannot be. >(If you're interested in the math behind this problem, you may want to >look at Hopcroft & Ullman, "Formal Languages and their Relation to >Automata", if you haven't already) You are right; I'm aware of the difficulty of using BNF to express semantics. When the semantics domain is large enough, BNF is not inadequate; and then, even the most powerful syntax formalism, the Turing machine, cannot handle. I don't know anyone has formalized all the grammar rules of our ordinary language. And that's why I picked the simplest exmple that came into my mind. For that example, I do believe BNF is sufficient to express both the synatx and semantics. >But there is an even BIGGER problem with this suggestion. Suppose you >do show two BNF grammars, with a semantics for the first that parallels >the syntax of the second. How can you show that you got it right? You >have to define the semantics in the first place! Exactly, it's not only a BIGGER problem; indeed it's the BIGGEST problem relating to semantics. Actually, eariler in the posting you have pointed out this problem: semantics is connected to, and has to be defined in relation with, perception and behavior. In my example, I have the assumption that meanings have been symbolized. And upon that assumption, I have the claim that operation on semantics is just manipulation on symbols. >Let me emphasize again that these are issues which Searle seems to >completely ignore. He does not acknowledge that semantic information can be encoded in a program at all. (I guess he's never compiled a >program). What's important for us, in our discussions of Searle, is to >avoid getting confused ourselves about which information is syntactic >and which information is semantic. I really would maintain that the boundary between syntax and semantics is very fuzzy. I had some experience of design a small language for the purpose of real-time-control application; because that case dealt with a very specific semantic domain, and from that experience I firmly believe that the dividing line between syntax and semantics is arbitary; that is, I could almost arbitarily put more and more semantics checking into the syntax checker while designing the complier. One may say that semantics can be embedded in syntax; but perhaps a more acceptable way to state that is to say: syntax is a way of expressing partial semantics; what has become the syntax of our ordinary language for us is the most lawful semantics existed in the world and perceived by our species in the long evolutionary history.