Received: from mail-vb0-f61.google.com ([209.85.212.61]:57676) by stodi.digitalkingdom.org with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) (envelope-from ) id 1SpkFA-0008Iv-09; Fri, 13 Jul 2012 11:05:36 -0700 Received: by vbzb23 with SMTP id b23sf4061060vbz.16 for ; Fri, 13 Jul 2012 11:05:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=beta; h=x-beenthere:received-spf:mime-version:sender:in-reply-to:references :from:date:message-id:subject:to:x-original-sender :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:x-google-group-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe:content-type; bh=+pz2I1YWsCmx2oDRXc5DFi93Y2Zje/GmQJusGEFztXw=; b=lm7Ln0G3o8TdcmzRGu6CDnM5RY9aUX8JKFnyFsHmpi6Na7LbBkgtA0ubQV5NoGywfO o/6PxsQtCCt+7qkOTFBtw6GuUL7hLtgW1n1Pjz/zFrVfDhf0IOqrZtoGQmOBnIWN9pet V5lmy10wt1D8lGxOjwFCA9BNTZqghGB3t6tWA= Received: by 10.52.179.98 with SMTP id df2mr261531vdc.3.1342202725512; Fri, 13 Jul 2012 11:05:25 -0700 (PDT) X-BeenThere: lojban@googlegroups.com Received: by 10.52.75.106 with SMTP id b10ls1977921vdw.4.gmail; Fri, 13 Jul 2012 11:05:24 -0700 (PDT) Received: by 10.52.89.129 with SMTP id bo1mr1723639vdb.0.1342202724112; Fri, 13 Jul 2012 11:05:24 -0700 (PDT) Received: by 10.52.89.129 with SMTP id bo1mr1723635vdb.0.1342202724077; Fri, 13 Jul 2012 11:05:24 -0700 (PDT) Received: from mail-vb0-f43.google.com (mail-vb0-f43.google.com [209.85.212.43]) by gmr-mx.google.com with ESMTPS id l12si379693vdf.3.2012.07.13.11.05.24 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 13 Jul 2012 11:05:24 -0700 (PDT) Received-SPF: pass (google.com: domain of rpglover64@gmail.com designates 209.85.212.43 as permitted sender) client-ip=209.85.212.43; Received: by mail-vb0-f43.google.com with SMTP id fq11so5206465vbb.16 for ; Fri, 13 Jul 2012 11:05:24 -0700 (PDT) Received: by 10.52.178.170 with SMTP id cz10mr920809vdc.44.1342202723985; Fri, 13 Jul 2012 11:05:23 -0700 (PDT) MIME-Version: 1.0 Sender: lojban@googlegroups.com Received: by 10.58.171.7 with HTTP; Fri, 13 Jul 2012 11:05:03 -0700 (PDT) In-Reply-To: <5000314E.10906@gmail.com> References: <90a7e54c-42fe-4ee0-9693-8155db9a7646@googlegroups.com> <4FFDC7C8.2010707@gmail.com> <237c4ac5-64f3-40fa-81d3-8a97c76dcc5d@googlegroups.com> <1342109844.79789.YahooMailNeo@web184407.mail.bf1.yahoo.com> <4FFF180C.8060000@gmail.com> <4FFF534B.9010509@gmail.com> <5000314E.10906@gmail.com> From: ".arpis." Date: Fri, 13 Jul 2012 14:05:03 -0400 Message-ID: Subject: Re: [lojban] &Lang To: lojban@googlegroups.com X-Original-Sender: rpglover64@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of rpglover64@gmail.com designates 209.85.212.43 as permitted sender) smtp.mail=rpglover64@gmail.com; dkim=pass header.i=@gmail.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: List-Subscribe: , List-Unsubscribe: , Content-Type: multipart/alternative; boundary=bcaec51964619468ac04c4b9ec4d X-Spam-Score: -0.7 (/) X-Spam_score: -0.7 X-Spam_score_int: -6 X-Spam_bar: / --bcaec51964619468ac04c4b9ec4d Content-Type: text/plain; charset=ISO-8859-1 On Fri, Jul 13, 2012 at 10:31 AM, And Rosta wrote: > .arpis., On 13/07/2012 00:59: > > I'm not sure I understand the predicate-argument structure well >> enough to do so. Could you give an example of how it would look with >> normal variables and explain the meaning of the example? >> > > An example (without wanting to be distracted by irrelevant details): > > "Da djuno lo du'u de prami da gi'e de nelci da" > djuno(da, &(prami(de, da), nelci(de, da))) > > Task 1: notate this (linearly) so that "da" and "de" each appear only once. > > And then: > > Task 2: Improve the system so that speakers don't have to hold in memory > the arbitrary correspondence between variable & phonological form. > > Will De Bruijn indices deal with Task 1? If they do, I'd be thrilled to > have learnt summat new. > Ah... No. De Bruijn indices do nothing about factoring out common use sites. You might want to look into the SKI (or SK) calculus; it is capable of expressing everything that the lambda calculus is. What you really want is to define a predicate out of djuno, du'u, prami, and nelci that has the right meaning and never use "da" or "de" at all, because if they appear only once and in obvious positions, they are superfluous. Here's how I would go about deriving such a predicate, in case it helps: Recognize that \ko'a. \ko'e. gi'e (prami ko'a ko'e) (nelci ko'a ko'e) is a useful abstraction This abstraction can be generalized to \conn. \b1. \b2. \ko'a. \ko'e. conn (b1 ko'a ko'e) (b2 ko'a ko'e) which reduces to SK as follows \conn. \b1. \b2. \ko'a. \ko'e. (conn (b1 ko'a ko'e)) (b2 ko'a ko'e) \conn. \b1. \b2. \ko'a. S (\ko'e. conn (b1 ko'a ko'e)) (\ko'e. (b2 ko'a) ko'e) \conn. \b1. \b2. \ko'a. S (S (\ko'e. conn) (\ko'e. (b1 ko'a) ko'e)) (b2 ko'a) \conn. \b1. \b2. \ko'a. S (S (K conn) (b1 ko'a)) (b2 ko'a) \conn. \b1. \b2. \ko'a. (S (S (K conn) (b1 ko'a))) (b2 ko'a) \conn. \b1. \b2. S (\ko'a. S (S (K conn) (b1 ko'a))) (\ko'a. b2 ko'a) \conn. \b1. \b2. S (S (\ko'a. S) (\ko'a. S (K conn) (b1 ko'a))) b2 \conn. \b1. \b2. S (S S (S (\ko'a. S (K conn)) (\ko'a. b1 ko'a))) b2 \conn. \b1. \b2. S (S S (S (S (\ko'a. S) (\ko'a. K conn)) b1)) b2 \conn. \b1. \b2. S (S S S S S (K conn) b1) b2 And now I'm bored, but I think that this was illustrative. Other things you may want to look at: combinatory logic, concatenative programming (or stack-based programming), point-free style (or tacit programming), and the J programming language. > --And. > > >> On Thu, Jul 12, 2012 at 6:44 PM, And Rosta > and.rosta@gmail.com>> wrote: >> >> .arpis., On 12/07/2012 23:09: >> >> The common way (speaking as a computer scientist) of avoiding >> variable repetition (and variable naming issues) in formal methods is to >> use De Bruijn indices (https://en.wikipedia.org/ wiki/De_Bruijn_index < >> https://en.wikipedia.org/**wiki/De_Bruijn_index>), >> but this fails the requirement of fitting in human memory. >> >> >> >> Can you give an example of how it would work if applied to a >> predicate--argument structure? I can't follow the wikipedia article enough >> to see how it would work (-- setting aside the memory limitation problem >> you mention). >> >> On Thu, Jul 12, 2012 at 2:31 PM, And Rosta > and.rosta@gmail.com> > and.rosta@gmail.com>>> wrote: >> >> Let me try harder to explain: >> >> >> Take a variety of predicate logic consisting of predicates, >> quantifiers and variables. In normal predicate logic notation, if a given >> variable is an argument of more than one predicate, it gets repeated. And >> every bound variable is notated at least twice, once where it is shown >> bound by quantifier and once where it is argument of a predicate. But this >> is one and the same variable; the repetition is a mere notational device >> necessary to linearize the string. >> >> If the notation could be two dimensional, then you wouldn't >> need to write variables at all. For simplicity's sake, I'll describe a >> notation for only predicates and variables: >> Use a 2 dimensional grid, infinite in both dimensions. >> Each 'row' corresponds to a variable. >> Each 'column' corresponds to a predicate. >> Predicates are notated by sets of symbols, one symbol for >> each argument place. Each argument place symbol is placed on the >> appropriate row for the variable that fills the argument place. >> >> That's the basic data structure for predicate--argument >> structure. A 2-dimensional notation can notate it without redundancy. But >> spoken language is 1-dimensional. Is there a way of linearizing >> predicate-argument structure ergonomically, in such a way that it is not so >> verbose or so taxing on the memory that the advantages of its logical >> explicitness and unambiguousness are not outweighed? >> > > -- > You received this message because you are subscribed to the Google Groups > "lojban" group. > To post to this group, send email to lojban@googlegroups.com. > To unsubscribe from this group, send email to lojban+unsubscribe@** > googlegroups.com . > For more options, visit this group at http://groups.google.com/** > group/lojban?hl=en . > > -- mu'o mi'e .arpis. -- You received this message because you are subscribed to the Google Groups "lojban" group. To post to this group, send email to lojban@googlegroups.com. To unsubscribe from this group, send email to lojban+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/lojban?hl=en. --bcaec51964619468ac04c4b9ec4d Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Fri, Jul 13, 2012 at 10:31 AM, And Ro= sta <and.rosta@gmail.com> wrote:
.arpis., On 13/07/2012 00:59:

I'm not sure I understand the predicate-argument structure well
enough to do so. Could you give an example of how it would look with
normal variables and explain the meaning of the example?

An example (without wanting to be distracted by irrelevant details):

"Da djuno lo du'u de prami da gi'e de nelci da"
djuno(da, &(prami(de, da), nelci(de, da)))

Task 1: notate this (linearly) so that "da" and "de" ea= ch appear only once.

And then:

Task 2: Improve the system so that speakers don't have to hold in memor= y the arbitrary correspondence between variable & phonological form.
Will De Bruijn indices deal with Task 1? If they do, I'd be thrilled to= have learnt summat new.

Ah... No. De Bruijn indic= es do nothing about factoring out common use sites. You might want to look = into the SKI (or SK) calculus; it is capable of expressing everything that = the lambda calculus is.

What you really want is to define a predicate out of djuno, du'u, p= rami, and nelci that has the right meaning and never use "da" or = "de" at all, because if they appear only once and in obvious posi= tions, they are superfluous.

Here's how I would go about deriving such a predicate, in case it h= elps:

Recognize that \ko'a. \ko'e. gi'e (prami ko'a = ko'e) (nelci ko'a ko'e) is a useful abstraction
This abstrac= tion can be generalized to
\conn. \b1. \b2. \ko'a. \ko'e. conn (b1 ko'a ko'e) (b2 ko&#= 39;a ko'e) which reduces to SK as follows
\conn. \b1. \b2. \ko'a. \ko'e. (conn (b1 ko'a ko'e))=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 (b2 ko'a ko'e)
\conn. \b1. \b2. \ko'a. S (\ko'e. conn (b1 ko'a ko'e))=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 (\ko'e. (b2 ko'= a) ko'e)
\conn. \b1. \b2. \ko'a. S (S (\ko'e. conn) (\ko'e. (b1 ko'a= ) ko'e))=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 (b2 ko'a)
\conn. \b1. = \b2. \ko'a. S (S (K conn) (b1 ko'a))=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=A0=A0=A0=A0=A0=A0 (b2 ko'a)

\conn. \b1. \b2. \ko'a. (S (S (K conn) (b1 ko'a)))=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= (b2 ko'a)
\conn. \b1. \b2. S (\ko'a. S (S (K conn) (b1 ko'a)))=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 (\ko'a. b2 ko'a)
\conn. \b1. \b2. S (S (\ko'a. S) (\ko'a. S (K conn) (b1 ko'a)))= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 b2
\conn. \b1. \b2. S (S S (S (\ko'a. S (K conn)) (\ko'a. b1 ko'a)= ))=A0=A0=A0=A0=A0=A0=A0=A0 b2
\conn. \b1. \b2. S (S S (S (S (\ko'a. S) (\ko'a. K conn)) b1)) =A0 = =A0=A0 =A0=A0=A0=A0=A0=A0 b2
\conn. \b1. \b2. S (S S S S S (K conn) b1) b2

And now I'm bored,= but I think that this was illustrative.
Other things you may want to lo= ok at: combinatory logic, concatenative programming (or stack-based program= ming), point-free style (or tacit programming), and the J programming langu= age.


--And.


On Thu, Jul 12, 2012 at 6:44 PM, And Rosta <and.rosta@gmail.com <mailto:and.rosta@gmail.com>&g= t; wrote:

=A0 =A0 .arpis., On 12/07/2012 23:09:

=A0 =A0 =A0 =A0 The common way (speaking as a computer scientist) of avoidi= ng variable repetition (and variable naming issues) in formal methods is to= use De Bruijn indices (https://en.wikipedia.org/ wiki/De_Bruijn_index <https://en.wik= ipedia.org/wiki/De_Bruijn_index>), but this fails the require= ment of fitting in human memory.



=A0 =A0 Can you give an example of how it would work if applied to a predic= ate--argument structure? I can't follow the wikipedia article enough to= see how it would work (-- setting aside the memory limitation problem you = mention).

=A0 =A0 =A0 =A0 On Thu, Jul 12, 2012 at 2:31 PM, And Rosta <and.rosta@gmail.com <ma= ilto:and.rosta@gma= il.com> <mailto:and.rosta@gmail.com <mailto:and.rosta@gmail.com>>> wrote:

=A0 =A0 =A0 =A0 =A0 =A0 =A0Let me try harder to explain:


=A0 =A0 =A0 =A0 =A0 =A0 =A0Take a variety of predicate logic consisting of = predicates, quantifiers and variables. In normal predicate logic notation, = if a given variable is an argument of more than one predicate, it gets repe= ated. And every bound variable is notated at least twice, once where it is = shown bound by quantifier and once where it is argument of a predicate. But= this is one and the same variable; the repetition is a mere notational dev= ice necessary to linearize the string.

=A0 =A0 =A0 =A0 =A0 =A0 =A0If the notation could be two dimensional, then y= ou wouldn't need to write variables at all. For simplicity's sake, = I'll describe a notation for only predicates and variables:
=A0 =A0 =A0 =A0 =A0 =A0 =A0Use a 2 dimensional grid, infinite in both dimen= sions.
=A0 =A0 =A0 =A0 =A0 =A0 =A0Each 'row' corresponds to a variable. =A0 =A0 =A0 =A0 =A0 =A0 =A0Each 'column' corresponds to a predicate= .
=A0 =A0 =A0 =A0 =A0 =A0 =A0Predicates are notated by sets of symbols, one s= ymbol for each argument place. Each argument place symbol is placed on the = appropriate row for the variable that fills the argument place.

=A0 =A0 =A0 =A0 =A0 =A0 =A0That's the basic data structure for predicat= e--argument structure. A 2-dimensional notation can notate it without redun= dancy. But spoken language is 1-dimensional. Is there a way of linearizing = predicate-argument structure ergonomically, in such a way that it is not so= verbose or so taxing on the memory that the advantages of its logical expl= icitness and unambiguousness are not outweighed?

--
You received this message because you are subscribed to the Google Groups &= quot;lojban" group.
To post to this group, send email to lojban@googlegroups.com.
To unsubscribe from this group, send email to lojban+unsubscribe@goo= glegroups.com.
For more options, visit this group at http://groups.google.com/grou= p/lojban?hl=3Den.




--
mu'o mi= 'e .arpis.

--
You received this message because you are subscribed to the Google Groups "= lojban" group.
To post to this group, send email to lojban@googlegroups.com.
To unsubscribe from this group, send email to lojban+unsubscribe@googlegrou= ps.com.
For more options, visit this group at http://groups.google.com/group/lojban= ?hl=3Den.
--bcaec51964619468ac04c4b9ec4d--