Received: from mail-ig0-f186.google.com ([209.85.213.186]:39317) by stodi.digitalkingdom.org with esmtps (TLSv1:RC4-SHA:128) (Exim 4.80.1) (envelope-from ) id 1Waswt-0002MM-Ku for lojban-list-archive@lojban.org; Thu, 17 Apr 2014 13:30:28 -0700 Received: by mail-ig0-f186.google.com with SMTP id l13sf249iga.23 for ; Thu, 17 Apr 2014 13:30:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20120806; h=date:from:to:message-id:in-reply-to:references:subject:mime-version :x-original-sender:reply-to:precedence:mailing-list:list-id :list-post:list-help:list-archive:sender:list-subscribe :list-unsubscribe:content-type; bh=xHEDfcQsZCK0R1K++u+9LNiF0MY4wuKHr8hCH9pFAuo=; b=iB/ZxNTrBluHlbO3buufpdZwWH+6oEsaKKErt5WgEMfWUhGlrEkmAfgrft/aZbJjMe o6ROnB6dWDYsGvkNii5s4G6Z0+0vJgtI3B1idtq2AYOLueUf28MZ/yu6y4NiUuawnilH LzdEVWUCi4cFjrJLFi7XdEro40Cy/CgOiG1dIAUQweQjX631qbL9aoNaqUIulmYmjmzr fy8+RG30kmHxQckG0mUsCXnRR+of0eslcvJQ6m7qa6XLw8smFAbjX0MWQ2uNrF748y/X GS6koy4o5dHVvTZxFCsllqZ9zZv8d2HmHIM8tLjrEe4BR4ZeoMwDrgBChYXWiJ5x+Fau SgRA== X-Received: by 10.140.104.168 with SMTP id a37mr84323qgf.20.1397766613499; Thu, 17 Apr 2014 13:30:13 -0700 (PDT) X-BeenThere: lojban@googlegroups.com Received: by 10.140.24.146 with SMTP id 18ls286627qgr.58.gmail; Thu, 17 Apr 2014 13:30:12 -0700 (PDT) X-Received: by 10.140.90.111 with SMTP id w102mr1987qgd.41.1397766612952; Thu, 17 Apr 2014 13:30:12 -0700 (PDT) Date: Thu, 17 Apr 2014 13:30:11 -0700 (PDT) From: shanoxilt To: lojban@googlegroups.com Message-Id: In-Reply-To: References: Subject: Re: [lojban] Lojban semantics MIME-Version: 1.0 X-Original-Sender: osiris_hades_deathland@hotmail.com Reply-To: lojban@googlegroups.com Precedence: list Mailing-list: list lojban@googlegroups.com; contact lojban+owners@googlegroups.com List-ID: X-Google-Group-Id: 1004133512417 List-Post: , List-Help: , List-Archive: Sender: lojban@googlegroups.com List-Subscribe: , List-Unsubscribe: , Content-Type: multipart/alternative; boundary="----=_Part_1120_28979537.1397766612058" X-Spam-Score: 1.2 (+) X-Spam_score: 1.2 X-Spam_score_int: 12 X-Spam_bar: + X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > > There's nothing to stop him from doing that. With the usual formalism > predicates are just arbitrary letters, so you can assign the corresponding > functions to them more or less at random, whereas in Lojban the predicates > are words that will want to keep some consistency across interpretations, > but you can provide any given interpretation in exactly the same way you > would do it with the usual language of letters and symbols. If you wanted > to, you could use "broda xi pa", "broda xi re", and so forth instead and > forget the standard meanings of brivla. Also you have some considerations > such that if the speaker is a member of D, then you will want to assign it > to the constant "mi", not to the constant "do", and so forth, but that > seems to be beside the point. You are not forced to use those > "predetermined" constants if you don't want, you can just use "ko'a xi pa", > "ko'a xi re" and so on. An interpretation is basically just an assignment > of a member of the universe of discourse D to each constant and of a > function from D^n into {true, false} to each predicate. > > mu'o mi'e xorxes > [...] Content analysis details: (1.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (osiris_hades_deathland[at]hotmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.2 FORGED_HOTMAIL_RCVD2 hotmail.com 'From' address, but no 'Received:' 0.0 HTML_MESSAGE BODY: HTML included in message 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature ------=_Part_1120_28979537.1397766612058 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable > > There's nothing to stop him from doing that. With the usual formalism=20 > predicates are just arbitrary letters, so you can assign the correspondin= g=20 > functions to them more or less at random, whereas in Lojban the predicate= s=20 > are words that will want to keep some consistency across interpretations,= =20 > but you can provide any given interpretation in exactly the same way you= =20 > would do it with the usual language of letters and symbols. If you wanted= =20 > to, you could use "broda xi pa", "broda xi re", and so forth instead and= =20 > forget the standard meanings of brivla. Also you have some considerations= =20 > such that if the speaker is a member of D, then you will want to assign i= t=20 > to the constant "mi", not to the constant "do", and so forth, but that=20 > seems to be beside the point. You are not forced to use those=20 > "predetermined" constants if you don't want, you can just use "ko'a xi pa= ",=20 > "ko'a xi re" and so on. An interpretation is basically just an assignment= =20 > of a member of the universe of discourse D to each constant and of a=20 > function from D^n into {true, false} to each predicate. > > mu'o mi'e xorxes > Here's his response: "Thanks. That's a start, certainly. I'm going to ignore the Lojban words in= =20 the paragraph as I don't have the foggiest clue on what they mean and even= =20 less interest in finding that out, but instead concentrate on the logic=20 part of this as it contains enough hints for me to guess what it is=20 intending to say. You may correct me if I understand it incorrectly. (I=20 don't know what the author means with 'the usual formalism' but that isn't= =20 relevant to what I'm going to write about) What this paragraph is saying that the meaning of a Lojban sentence is=20 given by a structure. When I have speaking of contexts, it corresponds with= =20 some particular structure given by D and interpretation I. (Note that the= =20 "to each constant" part seems to suggest that Lojban doesn't allow the use= =20 of function symbols as a part of its syntax. It might be so or the writer= =20 just forgot their existence. Whether they are allowed or not makes a great= =20 difference on the theoretical capabilities of the language but, again, they= =20 are mostly not relevant to what I'm going to post about so I'll mostly=20 ignore them, too). A structure of predicate logic starts with a universe that contains all=20 elements that have some kind of existence. The idea is that an element is= =20 something that can have some property. The universe is typically written=20 with U but here the writer used D. One plausible reason why the writer use= =20 D, instead, that you might want to think that U is the set of all things in= =20 existence and D is its subset that is relevant to the one discussion. For example, let's consider the universe D that contains three most=20 important things of all: D =3D { a, b, c } Right now I'm using single letters for the things to emphasize that D=20 contains the stuff that we are going to talk about but they are not words= =20 that we can use. They are the things that the words will refer to. It's the= =20 old map/terrain distinction: a map shows what terrain is like but it is not= =20 the terrain itself. You can't go strolling through a map but you can use=20 map to see where you are strolling about. So, we need names that we can use when we speak about the things in D. So,= =20 let's introduce three names that we can later use to refer to the things=20 and call the set C (for constants): C =3D { =C3=84kr=C3=A4s, Pope, pants } Next, we can start building an interpretation I that tells what our words= =20 mean. For example, we can say that: I(=C3=84kr=C3=A4s) =3D a I(Pope) =3D b I(pants) =3D c meaning that now I am a, the Pope is b, and pants are c.=20 Constants alone are not interesting, but for wild life we need some=20 predicates. The underlying idea is that the structure defines a set of=20 relationships between the elements of the universe, and predicates are=20 defined in the terms of those relationships. Let's define two relationships= =20 for our structure: R_1 =3D { (a,a), (b,b), (c,c) }=20 R_2 =3D { (a,c) }=20 Intuitively, R_1 says that every element is in the relationship with each= =20 other and nothing else (usually called the identity relationship), while=20 R_2 says that a is related with c. In the same way that we needed constants so that we can speak of the=20 elements of the universe, we need vocabulary to speak about the=20 relationships. The things that talk about the relationships are called=20 predicate symbols. Let's use the predicate symbol 'is' for R_1 and 'wears'= =20 for R_2. So we get: I(is) =3D R_1 I(wears) =3D R_2 The intuitive idea is that is(x, y) is true when x and y are the same thing= =20 while wears(x, y) is true when y is something that x wears. The interpretation of constants and predicate symbols induces a valuation= =20 function V for logical sentences that are constructed using the predicate= =20 symbols and constants. For each predicate symbol p and constant c_1 and c_2= =20 we say: V(p(c_1,c_2)) =3D true, if and only if (I(c_1), I(c_2)) in I(p) We can check that wears(=C3=84kr=C3=A4s, pants) is true because I(=C3=84kr= =C3=A4s) =3D a and=20 I(pants) =3D c and (a, c) is in R_2. On the other hand, wears(Pope, pants) = is=20 false because I(Pope) =3D b, I(pants) =3D c and (b, c) is not in R_2. So far, so good.=20 Now, suppose that I want to say that I wear pants to someone. I do it by=20 asserting: "wears(=C3=84kr=C3=A4s, pants)". From my point of view everythin= g works=20 nicely. I'm saying a statement that is clearly true.=20 However, what if the recipient is using interpretation I' that is otherwise= =20 similar to I except that=20 I'(=C3=84kr=C3=A4s) =3D b and I'(pope) =3D a=20 Then, when the recipient interprets my statement, they interprete the=20 message into a pair (I'(=C3=84kr=C3=A4s), I'(pants)) to get (b, c) and then= notice=20 that (b, c) is not in R_2 so I'm clearly lying.=20 This is the problem of semantic ambiguity. And as this wall of text and=20 parentheses may have driven readers away, I'll say it here in bold: The approach taken in the paragraph will certainly fail unless all=20 participants of a discussion agree on what exactly D and I are. It is not enough that I know what the interpretation is, the other person= =20 must also need to know it.=20 One particularly useless way to solve this would be to insist that there is= =20 one single correct interpretation I that everyone should use. The problem= =20 with this is that it works only with omniscient people so we can ignore it= =20 out of hand. There's no way how an ordinary person could access this global= =20 one-and-the-only interpretation.=20 The paragraph from above contains this sentence: "you can provide any=20 given interpretation in exactly the same way you would do it with the usual= =20 language of letters and symbols." which suggests that the idea is to have= =20 some sort of procedure that allows people to reach an agreement on what the= =20 I is. I will delve into that in the next post." "Let's consider a simple situation where there are two participants, A and= =20 B, in a conversation. To recap, the initial situation is that A and B both= =20 have existing opinion on what the domain of discource D and interpretation= =20 I are. Let's call them D_A, I_A, D_B, and I_B, and the first goal is to=20 reach into situation where there exists a shared domain D_common and a=20 shared interpretation I_common. I'm going to ignore the problem of constructing D_common and just note that= =20 it is far from trivial as D contains the actual things that we are talking= =20 about. I'm just going to assume that we somehow get one.=20 To make things simpler I'm also going to assume that there are some sorts= =20 of tags that allows us to specify the that "now I'm transmitting what words= =20 we may use in this discussion to you" and "now I'm transimitting the=20 definition of I for those words to you". Without those tags the listener=20 will need to make a choice on whether I'm simply saying something something= =20 false or if you should update your interpretation in some way that makes=20 the statement true. This is a part of the belief revision problem and I'll= =20 ignore it at least for now.=20 When defining the interpretation I to communicate, there are a few=20 possibilities to approach it. One way would be to explicitly list all=20 tuples that belong to the interpretations of the relations corresponding=20 with predicate symbols. Basically, to do what I did in the definitions of= =20 the previous post. Unfortunately, this doesn't work in practice. Apart from small toy examples= =20 the interpretations are way too big to enumerate, and in some cases it=20 would be impossible even in theory. For example, suppose that our domain of= =20 discourse are the natural numbers and that I want to establish the=20 interpretation of even numbers. If I tried to do it by listing 'zero is an= =20 even number, two is an even number, four is an even number' and so on, I=20 would never reach the end of the list.=20 The way structures are usually defined is by using frame axioms. A frame=20 axiom is a logical sentence and the intuition is that we are interested=20 only in those structures where the axiom is true. For example, we could=20 define interpretation of even(x) using the axiom: forall x (even(x) is equivalent to not even(x+1)) and forall x (not even(x)= =20 is equivalent to even(x+1)) This isn't the complete definition, there's still the initial condition=20 missing. But suppose that I first gave that definition as a frame axiom,=20 and then later told you the base case "even(0)" as an ordinary sentence.=20 Then, you could use the inference rules of predicate logic to deduce that= =20 even(1) is false so even(2) is true so even(3) is false and so on for any= =20 number you wish to examine. This is presumably the very reason why someone= =20 would like to use logic as a language: because it would allow the listener= =20 to do sound reasoning about the logical consequences of someone's words. Still, this approach has the itsy-bitsy teeny-weeny problem that Lojban=20 contains words that are not possible to define using frame axioms. For=20 example, expressing that "because I walk from A to B and it is possible to= =20 go from B to C, it is possible to go from A to C" is impossible to do=20 without function symbols with first-order logic. Other concepts are=20 practically impossible even with function symbols. For a more concrete=20 case, Lojban contains a word for 'typical' and it's not possible to define= =20 it a usable way without completely changing your domain of discourse (*).= =20 If you want to use 'typical', you need to speak about words and statements= =20 instead of speaking about the things that the words and statements refer=20 to. And I can guarantee that absolutely no one can do the necessary=20 transformations on the fly. What we have here? Well, that there are three basic approaches that could= =20 be used to ensure that all participants of a conversation speak about the= =20 same things: * Use a global interpretation I. Problem: requires omniscient people. * Define I explicitly. Problem: too large, impossible to do except for=20 trivial toy examples.=20 * Define I implicitly. Problem: language contains words for concepts that= =20 are not possible to define with first-order logic.=20 In practice, a Lojban speaker has to rely on the audience picking up the=20 context in the exactly same automatic, fuzzy, and imprecise way that the=20 speaker of an ordinary language does so. There will not be an=20 interpretation function that could be used to do sound reasoning in an=20 unambiguous way.=20 I will next move on to some of the more practical problems of first-order= =20 logic.=20 (*) If some reader wants to contradict this Proof by Blatant Assertion,=20 please do so by giving a usable first-order definition for 'typical', where= =20 'usable' means that if someone says to me that 'x is a typical example of= =20 y', that should tell me something about the properties of x." "Let's go back to the example from above with me and pants. In it we can=20 define the interpretation of 'is' with the frame axiom: forall x (is(x, x)) and forall x, y (x !=3D y implies not is(x, y)) (Note the unfortunate feature that we need to define both when 'is' is true= =20 and when it is false. This is one of the inconvenient features of=20 first-order predicate logic - nothing can be assumed to be false if you=20 don't explicitly say it is false). Now, suppose that when I tell you the interpretation of 'wears' I have a=20 slip of mind and I accidentally say it as: wears(=C3=84kr=C3=A4s, pants) and not wears(=C3=84kr=C3=A4s, pants).=20 This looks like a silly example, but the problem is very real. When you=20 start to formalize things using predicate logic, you either spend 90% of=20 the time wondering why exactly is your formalization inconsistent this time= =20 or you a professor in the philosophy department and you just don't test=20 your formalizations as you believe that they are correct. The reason for=20 that is that the first-order predicate logic is a bloody unnatural=20 semantics. It's nothing like how humans actually reason. There's nothing=20 intuitive in it. But let's say that I have told you that I wear pants whilst and at the same= =20 time as I don't wear them. And then I just casually say you 'is(=C3=84kr=C3= =A4s,=20 =C3=84kr=C3=A4s)', asserting that I'm actually me. Remember how in the prev= ious post=20 the listener could deduce what the even numbers were from being told that= =20 zero is even. What can you deduce from this statement? Everything.=20 Because in first-order logic, everything is a logical consequence of a=20 contradiction. A sentence is a logical consequence of a set of sentences if= =20 it is true in every model of the set. This condition is trivially true when= =20 there are no models at all.=20 Is =C3=84kr=C3=A4s the Pope? Yes, because 'not is(=C3=84kr=C3=A4s, Pope)' i= s never true. Is=20 =C3=84kr=C3=A4s not the Pope? Yes, because 'is(=C3=84kr=C3=A4s, Pope)' is n= ever true. Does the=20 Pope wear pants? Yes, because 'not wears(Pope, pants)' is never true. Is=20 =C3=84kr=C3=A4s pants? Yes, because 'not is(=C3=84kr=C3=A4s, pants)' is nev= er true.=20 If there is any inconsistency anywhere, the first-order logic breaks down= =20 completely. You can't get anything useful out of it. I didn't say anything= =20 about the Pope, but because of what I said about myself, you can conclude= =20 absolutely everything about him.=20 The reason why this is not a problem for Lojban speakers is that they=20 aren't actually doing any first-order reasoning with it. They are using it= =20 in exactly the same way as they would use an ordinary language, together=20 with all the fuzziness and imprecision of such languages. Lojban in reality= =20 is a completely ordinary language with a slightly unusual grammar.=20 In common sense reasoning we have no such problems with inconsistencies.= =20 If we believe that two things are true and then someone demonstrates that= =20 the things together lead into contradiction, we will quickly conclude that= =20 at least one of the things is false and then ignore it. (We might even=20 continue believing in the two things and ignore the refutation). We=20 definitely don't propagate that contradiction to unrelated areas. This=20 doesn't work with first-order logic. Once you have concluded something with= =20 it, it stays concluded. You need to build some system for belief revision= =20 to account for the problems. This is a difficult thing to do and all ways= =20 that are at all workable do so by either defining a new formalism on top of= =20 the predicate logic to handle it or by ditching the predicate logic=20 altogether and using some other logic in its place." " Originally Posted by =C3=84kr=C3=A4s=20 or you a professor in the philosophy department and you just don't test=20 your formalizations as you believe that they are correct. I want to clarify this a bit as what I wrote because on second thought it= =20 came out as harsher than what I intended. Sorry, for all philosophers who= =20 got offended. Where this comment comes from is that it is quite common that writings=20 about logic contain mistakes in their formulas. For a practical example,=20 suppose that we want to state that two persons are siblings if they have=20 the same parent. The first way that comes to mind is: forall x y z ( parent(x,z) and parent(y, z) implies sibling(x, y)) That's intuitively obvious. If z is a parent of x and z is a parent of y,= =20 then x and y are siblings.=20 Except that I just defined that I'm my own sibling. And even my family=20 isn't that messed up. I didn't take into account that x and y might be the= =20 same. To make this work there needs to be the condition x !=3D y added to t= he=20 left side of the implication.=20 These kinds of small mistakes are really easy to make. I make them all the= =20 time (when writing logic that is nowadays rarer than it used to be). What= =20 protects me from them is that my subfield is computational logic where the= =20 aim is to solve practical problems with logic. This means that when I'm=20 doing a formalization, it is for some specific problem and there are some= =20 concrete problem instances for me to test it on. When I make those common small mistakes, I get an immediate response in the= =20 form of response 'UNSAT' (or more often 'False') from the solver to signify= =20 that the set of sentences is inconsistent. This means that by the time I=20 was writing a paper, I had already ironed out the errors from the encoding= =20 so the paper would contain the corrected version and I can remember only=20 one occasion where such an error got through into the published version. I came to logic from the computer science side of thing so I have this very= =20 practical perspective. However, people who come to logic via other routes= =20 often (but not always) have a different viewpoint. For example, many=20 logicians examine things like the relation between logic and language,=20 logics of argumentation, the relationship between logic and common sense=20 reasoning, and so on. In those areas there is much less emphasis on making= =20 practical formalizations, the work is more on the level of "it is possible= =20 to do it like this" than "doing it like that". When they write an example of logic, they don't have the automatic reaction= =20 to run it through a solver. If they are working with a new semantics, there= =20 probably isn't a solver at all (*). This means that the mistakes that they= =20 make are not caught the same way that my similar mistakes are, and it is=20 much more likely that they creep into the finished publication. This problem is by no means limited to departments of philosophy but when I= =20 wrote the post I had one specific professor of philosophical logic (who=20 shall remain nameless) in my mind. I once read his overview of various=20 semantics of logic and it contained trivial or even non-trivial errors in= =20 most of the examples. (*) One of the things that I did a lot in my university days was to create= =20 prototype solvers for new logical semantics for visiting researchers. My=20 method was to translate the new logic into some existing semantics (usually= =20 the stable model semantics of cardinality constraint logic programs,=20 sometimes propositional logic). Usually the semantics was simple enough=20 that it took only a few hours to write a simple translator for=20 variable-free programs, and sometimes I could extend that to programs with= =20 variables without having to do excessive work. When a researcher gave a=20 presentation about the new semantics in one afternoon, I usually could give= =20 him or her a prototype solver for simple testing the next morning. The=20 solvers could handle only toy problems, but having any automated reasoning= =20 system at all is a large help when evaluating whether a new semantics is=20 useful for anything or not."=20 --=20 You received this message because you are subscribed to the Google Groups "= lojban" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to lojban+unsubscribe@googlegroups.com. To post to this group, send email to lojban@googlegroups.com. Visit this group at http://groups.google.com/group/lojban. For more options, visit https://groups.google.com/d/optout. ------=_Part_1120_28979537.1397766612058 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
There's nothing to stop him from doing that.= With the usual formalism predicates are just arbitrary letters, so you can= assign the corresponding functions to them more or less at random, whereas= in Lojban the predicates are words that will want to keep some consistency= across interpretations, but you can provide any given interpretation in ex= actly the same way you would do it with the usual language of letters and s= ymbols. If you wanted to, you could use "broda xi pa", "broda xi re", and s= o forth instead  and forget the standard meanings of brivla. Also= you have some considerations such that if the speaker is a member of D, th= en you will want to assign it to the constant "mi", not to the constant "do= ", and so forth, but that seems to be beside the point. You are not forced = to use those "predetermined" constants if you don't want, you can just use = "ko'a xi pa", "ko'a xi re" and so on. An interpretation is basically just a= n assignment of a member of the universe of discourse D to each constant an= d of a function from D^n into {true, false} to each predicate.

mu'o mi'e xorxes

Here's his response:

"Thanks. That's a start= , certainly. I'm going to ignore the Lojban words in the paragraph as I don= 't have the foggiest clue on what they mean and even less interest in findi= ng that out, but instead concentrate on the logic part of this as it contai= ns enough hints for me to guess what it is intending to say. You may correc= t me if I understand it incorrectly. (I don't know what the author means wi= th 'the usual formalism' but that isn't relevant to what I'm going to write= about)

What this paragraph is saying that the meaning of a Lojban = sentence is given by a structure. When I have speaking of contexts, it corr= esponds with some particular structure given by D and interpretation I. (No= te that the "to each constant" part seems to suggest that Lojban doesn't al= low the use of function symbols as a part of its syntax. It might be so or = the writer just forgot their existence. Whether they are allowed or not mak= es a great difference on the theoretical capabilities of the language but, = again, they are mostly not relevant to what I'm going to post about so I'll= mostly ignore them, too).

A structure of predicate logic starts wi= th a universe that contains all elements that have some kind of existence. = The idea is that an element is something that can have some property. The u= niverse is typically written with U but here the writer used D. One plausib= le reason why the writer use D, instead, that you might want to think that = U is the set of all things in existence and D is its subset that is relevan= t to the one discussion.

For example, let's consider the universe D= that contains three most important things of all:

D =3D { a, b, c = }

Right now I'm using single letters for the things to emphasize th= at D contains the stuff that we are going to talk about but they are not wo= rds that we can use. They are the things that the words will refer to. It's= the old map/terrain distinction: a map shows what terrain is like but it i= s not the terrain itself. You can't go strolling through a map but you can = use map to see where you are strolling about.

So, we need names tha= t we can use when we speak about the things in D. So, let's introduce three= names that we can later use to refer to the things and call the set C (for= constants):

C =3D { =C3=84kr=C3=A4s, Pope, pants }

Next, w= e can start building an interpretation I that tells what our words mean. Fo= r example, we can say that:

I(=C3=84kr=C3=A4s) =3D a
I(Pope) = =3D b
I(pants) =3D c

meaning that now I am a, the Pope is b, an= d pants are c.

Constants alone are not interesting, but for wild l= ife we need some predicates. The underlying idea is that the structure defi= nes a set of relationships between the elements of the universe, and predic= ates are defined in the terms of those relationships. Let's define two rela= tionships for our structure:

R_1 =3D { (a,a), (b,b), (c,c) }
R= _2 =3D { (a,c) }

Intuitively, R_1 says that every element is in th= e relationship with each other and nothing else (usually called the identit= y relationship), while R_2 says that a is related with c.

In the sa= me way that we needed constants so that we can speak of the elements of the= universe, we need vocabulary to speak about the relationships. The things = that talk about the relationships are called predicate symbols. Let's use t= he predicate symbol 'is' for R_1 and 'wears' for R_2. So we get:

I(= is) =3D R_1
I(wears) =3D R_2

The intuitive idea is that is(x, y= ) is true when x and y are the same thing while wears(x, y) is true when y = is something that x wears.

The interpretation of constants and pred= icate symbols induces a valuation function V for logical sentences that are= constructed using the predicate symbols and constants. For each predicate = symbol p and constant c_1 and c_2 we say:

V(p(c_1,c_2)) =3D true, i= f and only if (I(c_1), I(c_2)) in I(p)

We can check that wears(=C3= =84kr=C3=A4s, pants) is true because I(=C3=84kr=C3=A4s) =3D a and I(pants) = =3D c and (a, c) is in R_2. On the other hand, wears(Pope, pants) is false = because I(Pope) =3D b, I(pants) =3D c and (b, c) is not in R_2.

So = far, so good.

Now, suppose that I want to say that I wear pants to= someone. I do it by asserting: "wears(=C3=84kr=C3=A4s, pants)". From my po= int of view everything works nicely. I'm saying a statement that is clearly= true.

However, what if the recipient is using interpretation I' t= hat is otherwise similar to I except that

I'(=C3=84kr=C3=A4s) =3D = b and
I'(pope) =3D a

Then, when the recipient interprets my st= atement, they interprete the message into a pair (I'(=C3=84kr=C3=A4s), I'(p= ants)) to get (b, c) and then notice that (b, c) is not in R_2 so I'm clear= ly lying.

This is the problem of semantic ambiguity. And as this w= all of text and parentheses may have driven readers away, I'll say it here = in bold:

The approach taken in the paragraph will certainly fail unl= ess all participants of a discussion agree on what exactly D and I are.
=
It is not enough that I know what the interpretation is, the other per= son must also need to know it.

One particularly useless way to sol= ve this would be to insist that there is one single correct interpretation = I that everyone should use. The problem with this is that it works only wit= h omniscient people so we can ignore it out of hand. There's no way how an = ordinary person could access this global one-and-the-only interpretation. <= br>
 The paragraph from above contains this sentence: "you can prov= ide any given interpretation in exactly the same way you would do it with t= he usual language of letters and symbols." which suggests that the idea is = to have some sort of procedure that allows people to reach an agreement on = what the I is. I will delve into that in the next post."

"Let's consider a simple situation where there are two participants,= A and B, in a conversation. To recap, the initial situation is that A and = B both have existing opinion on what the domain of discource D and interpre= tation I are. Let's call them D_A, I_A, D_B, and I_B, and the first goal is= to reach into situation where there exists a shared domain D_common and a = shared interpretation I_common.

I'm going to ignore the problem of = constructing D_common and just note that it is far from trivial as D contai= ns the actual things that we are talking about. I'm just going to assume th= at we somehow get one.

To make things simpler I'm also going to as= sume that there are some sorts of tags that allows us to specify the that "= now I'm transmitting what words we may use in this discussion to you" and "= now I'm transimitting the definition of I for those words to you". Without = those tags the listener will need to make a choice on whether I'm simply sa= ying something something false or if you should update your interpretation = in some way that makes the statement true. This is a part of the belief rev= ision problem and I'll ignore it at least for now.

When defining t= he interpretation I to communicate, there are a few possibilities to approa= ch it. One way would be to explicitly list all tuples that belong to the in= terpretations of the relations corresponding with predicate symbols. Basica= lly, to do what I did in the definitions of the previous post.

Unfo= rtunately, this doesn't work in practice. Apart from small toy examples the= interpretations are way too big to enumerate, and in some cases it would b= e impossible even in theory. For example, suppose that our domain of discou= rse are the natural numbers and that I want to establish the interpretation= of even numbers. If I tried to do it by listing 'zero is an even number, t= wo is an even number, four is an even number' and so on, I would never reac= h the end of the list.

The way structures are usually defined is b= y using frame axioms. A frame axiom is a logical sentence and the intuition= is that we are interested only in those structures where the axiom is true= . For example, we could define interpretation of even(x) using the axiom:
forall x (even(x) is equivalent to not even(x+1)) and forall x (not = even(x) is equivalent to even(x+1))

This isn't the complete definit= ion, there's still the initial condition missing. But suppose that I first = gave that definition as a frame axiom, and then later told you the base cas= e "even(0)" as an ordinary sentence. Then, you could use the inference rule= s of predicate logic to deduce that even(1) is false so even(2) is true so = even(3) is false and so on for any number you wish to examine. This is pres= umably the very reason why someone would like to use logic as a language: b= ecause it would allow the listener to do sound reasoning about the logical = consequences of someone's words.

Still, this approach has the itsy-= bitsy teeny-weeny problem that Lojban contains words that are not possible = to define using frame axioms. For example, expressing that "because I walk = from A to B and it is possible to go from B to C, it is possible to go from= A to C" is impossible to do without function symbols with first-order logi= c. Other concepts are practically impossible even with function symbols. Fo= r a more concrete case, Lojban contains a word for 'typical' and it's not p= ossible to define it a usable way without completely changing your domain o= f discourse (*). If you want to use 'typical', you need to speak about word= s and statements instead of speaking about the things that the words and st= atements refer to. And I can guarantee that absolutely no one can do the ne= cessary transformations on the fly.

What we have here? Well, that t= here are three basic approaches that could be used to ensure that all parti= cipants of a conversation speak about the same things:

* Use a glob= al interpretation I. Problem: requires omniscient people.

* Define = I explicitly. Problem: too large, impossible to do except for trivial toy e= xamples.

* Define I implicitly. Problem: language contains words f= or concepts that are not possible to define with first-order logic.
In practice, a Lojban speaker has to rely on the audience picking up the = context in the exactly same automatic, fuzzy, and imprecise way that the sp= eaker of an ordinary language does so. There will not be an interpretation = function that could be used to do sound reasoning in an unambiguous way.
I will next move on to some of the more practical problems of first-= order logic.

 (*) If some reader wants to contradict this Proo= f by Blatant Assertion, please do so by giving a usable first-order definit= ion for 'typical', where 'usable' means that if someone says to me that 'x = is a typical example of y', that should tell me something about the propert= ies of x."

"Let's go back to the example from abov= e with me and pants. In it we can define the interpretation of 'is' with th= e frame axiom:

forall x (is(x, x)) and forall x, y (x !=3D y implie= s not is(x, y))

(Note the unfortunate feature that we need to defin= e both when 'is' is true and when it is false. This is one of the inconveni= ent features of first-order predicate logic - nothing can be assumed to be = false if you don't explicitly say it is false).

Now, suppose that w= hen I tell you the interpretation of 'wears' I have a slip of mind and I ac= cidentally say it as:

wears(=C3=84kr=C3=A4s, pants) and not wears(= =C3=84kr=C3=A4s, pants).

This looks like a silly example, but the = problem is very real. When you start to formalize things using predicate lo= gic, you either spend 90% of the time wondering why exactly is your formali= zation inconsistent this time or you a professor in the philosophy departme= nt and you just don't test your formalizations as you believe that they are= correct. The reason for that is that the first-order predicate logic is a = bloody unnatural semantics. It's nothing like how humans actually reason. T= here's nothing intuitive in it.

But let's say that I have told you = that I wear pants whilst and at the same time as I don't wear them. And the= n I just casually say you 'is(=C3=84kr=C3=A4s, =C3=84kr=C3=A4s)', asserting= that I'm actually me. Remember how in the previous post the listener could= deduce what the even numbers were from being told that zero is even. What = can you deduce from this statement?

Everything.

Because in= first-order logic, everything is a logical consequence of a contradiction.= A sentence is a logical consequence of a set of sentences if it is true in= every model of the set. This condition is trivially true when there are no= models at all.

Is =C3=84kr=C3=A4s the Pope? Yes, because 'not is(= =C3=84kr=C3=A4s, Pope)' is never true. Is =C3=84kr=C3=A4s not the Pope? Yes= , because 'is(=C3=84kr=C3=A4s, Pope)' is never true. Does the Pope wear pan= ts? Yes, because 'not wears(Pope, pants)' is never true. Is =C3=84kr=C3=A4s= pants? Yes, because 'not is(=C3=84kr=C3=A4s, pants)' is never true.
If there is any inconsistency anywhere, the first-order logic breaks dow= n completely. You can't get anything useful out of it. I didn't say anythin= g about the Pope, but because of what I said about myself, you can conclude= absolutely everything about him.

The reason why this is not a pro= blem for Lojban speakers is that they aren't actually doing any first-order= reasoning with it. They are using it in exactly the same way as they would= use an ordinary language, together with all the fuzziness and imprecision = of such languages. Lojban in reality is a completely ordinary language with= a slightly unusual grammar.

 In common sense reasoning we hav= e no such problems with inconsistencies. If we believe that two things are = true and then someone demonstrates that the things together lead into contr= adiction, we will quickly conclude that at least one of the things is false= and then ignore it. (We might even continue believing in the two things an= d ignore the refutation). We definitely don't propagate that contradiction = to unrelated areas. This doesn't work with first-order logic. Once you have= concluded something with it, it stays concluded. You need to build some sy= stem for belief revision to account for the problems. This is a difficult t= hing to do and all ways that are at all workable do so by either defining a= new formalism on top of the predicate logic to handle it or by ditching th= e predicate logic altogether and using some other logic in its place."

" Originally Posted by =C3=84kr=C3=A4s
or you a p= rofessor in the philosophy department and you just don't test your formaliz= ations as you believe that they are correct.
I want to clarify this a bi= t as what I wrote because on second thought it came out as harsher than wha= t I intended. Sorry, for all philosophers who got offended.

Where t= his comment comes from is that it is quite common that writings about logic= contain mistakes in their formulas. For a practical example, suppose that = we want to state that two persons are siblings if they have the same parent= . The first way that comes to mind is:

forall x y z ( parent(x,z) a= nd parent(y, z) implies sibling(x, y))

That's intuitively obvious. = If z is a parent of x and z is a parent of y, then x and y are siblings.
Except that I just defined that I'm my own sibling. And even my fami= ly isn't that messed up. I didn't take into account that x and y might be t= he same. To make this work there needs to be the condition x !=3D y added t= o the left side of the implication.

These kinds of small mistakes = are really easy to make. I make them all the time (when writing logic that = is nowadays rarer than it used to be). What protects me from them is that m= y subfield is computational logic where the aim is to solve practical probl= ems with logic. This means that when I'm doing a formalization, it is for s= ome specific problem and there are some concrete problem instances for me t= o test it on.

When I make those common small mistakes, I get an imm= ediate response in the form of response 'UNSAT' (or more often 'False') fro= m the solver to signify that the set of sentences is inconsistent. This mea= ns that by the time I was writing a paper, I had already ironed out the err= ors from the encoding so the paper would contain the corrected version and = I can remember only one occasion where such an error got through into the p= ublished version.

I came to logic from the computer science side of= thing so I have this very practical perspective. However, people who come = to logic via other routes often (but not always) have a different viewpoint= . For example, many logicians examine things like the relation between logi= c and language, logics of argumentation, the relationship between logic and= common sense reasoning, and so on. In those areas there is much less empha= sis on making practical formalizations, the work is more on the level of "i= t is possible to do it like this" than "doing it like that".

When t= hey write an example of logic, they don't have the automatic reaction to ru= n it through a solver. If they are working with a new semantics, there prob= ably isn't a solver at all (*). This means that the mistakes that they make= are not caught the same way that my similar mistakes are, and it is much m= ore likely that they creep into the finished publication.

This prob= lem is by no means limited to departments of philosophy but when I wrote th= e post I had one specific professor of philosophical logic (who shall remai= n nameless) in my mind. I once read his overview of various semantics of lo= gic and it contained trivial or even non-trivial errors in most of the exam= ples.

 (*) One of the things that I did a lot in my university = days was to create prototype solvers for new logical semantics for visiting= researchers. My method was to translate the new logic into some existing s= emantics (usually the stable model semantics of cardinality constraint logi= c programs, sometimes propositional logic). Usually the semantics was simpl= e enough that it took only a few hours to write a simple translator for var= iable-free programs, and sometimes I could extend that to programs with var= iables without having to do excessive work. When a researcher gave a presen= tation about the new semantics in one afternoon, I usually could give him o= r her a prototype solver for simple testing the next morning. The solvers c= ould handle only toy problems, but having any automated reasoning system at= all is a large help when evaluating whether a new semantics is useful for = anything or not." 

--
You received this message because you are subscribed to the Google Groups &= quot;lojban" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to lojban+unsub= scribe@googlegroups.com.
To post to this group, send email to lojban@googlegroups.com.
Visit this group at http:= //groups.google.com/group/lojban.
For more options, visit http= s://groups.google.com/d/optout.
------=_Part_1120_28979537.1397766612058--