Received: from mail-gh0-f183.google.com ([209.85.160.183]:61340) by stodi.digitalkingdom.org with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) (envelope-from ) id 1U9LmH-0000Yr-6a; Sat, 23 Feb 2013 12:33:11 -0800 Received: by mail-gh0-f183.google.com with SMTP id z13sf771312ghb.0 for ; Sat, 23 Feb 2013 12:32:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20120806; h=x-received:x-beenthere:x-received:x-received:received-spf :x-received:mime-version: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:sender:list-subscribe:list-unsubscribe :content-type; bh=iSCY/TzOOIoItIwcTv0z3Oeg/CEK6l0pDiqchnv0aGg=; b=g7YBHHDEVa+C/Df85t8NthPvYzhaOXdowQ0Q2V4Gj5PjCrdokDTE3y5n7HBhOjIgg4 IRQxWdXEG6B2Q8wRJvY/7NOC3RQCinbbyur54DYUzrFEFchbZQS7JuLy+zoqCL6y4MiM Qzn2HfyobM7ouw9PDGJvDEmWb5UhehzZQtGMNcZrc4+CZbWJnEC5lxNh4tL2iUxR+PHm fZqUO3apw0JTb2lie6F5BPjtNAVCDENocCept4Bg9vYsYOj6BQJMNQ+x6PJ/ZH0NCIPo BIT9OkLjCm58c6CSh/lC2sko3HW5A1aMGH9IV9TorMAsxnkv6JehBOk5Qk39tbFy/e3R S9yQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:x-beenthere:x-received:x-received:received-spf :x-received:mime-version: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:sender:list-subscribe:list-unsubscribe :content-type; bh=iSCY/TzOOIoItIwcTv0z3Oeg/CEK6l0pDiqchnv0aGg=; b=cEMsjZ9/8+8a1skUn3t2/HquEGcVp0cQCe6mFyJEuleW3PiviVUHxjPwxHsbMnubXN khAd0E7v89rQTttd5np24dYAMXqrFeSfZwrdAhYFriK1AdVBhvR4pDoOqEzwDMPKrPZr izIxo9R/rjN0vf8mWWgbx1fnCUWf6/Ay/aBzw9fd5kE5h0lp0NX9FvnzA93KeqJ2jV9C QixvGDNwlmHlXGKTZOC13ds8nmr0ZHdiWxQY2mySpp7z1peS5DkeM86Y2pIZAtMhA2q9 qocw1G0n/mZ2M+fRX6Iqv3eO6vi43neReyuGV3jRkjfo0tkQLppTwYD6aUx5aShKZ+ca xEqQ== X-Received: by 10.50.151.205 with SMTP id us13mr303272igb.2.1361651574304; Sat, 23 Feb 2013 12:32:54 -0800 (PST) X-BeenThere: lojban@googlegroups.com Received: by 10.50.42.137 with SMTP id o9ls335922igl.15.gmail; Sat, 23 Feb 2013 12:32:53 -0800 (PST) X-Received: by 10.50.34.165 with SMTP id a5mr2253153igj.7.1361651573161; Sat, 23 Feb 2013 12:32:53 -0800 (PST) X-Received: by 10.50.34.165 with SMTP id a5mr2253152igj.7.1361651573140; Sat, 23 Feb 2013 12:32:53 -0800 (PST) Received: from mail-oa0-f44.google.com (mail-oa0-f44.google.com [209.85.219.44]) by gmr-mx.google.com with ESMTPS id m3si185457iga.2.2013.02.23.12.32.53 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 23 Feb 2013 12:32:53 -0800 (PST) Received-SPF: pass (google.com: domain of nictytan@gmail.com designates 209.85.219.44 as permitted sender) client-ip=209.85.219.44; Received: by mail-oa0-f44.google.com with SMTP id h1so1674603oag.17 for ; Sat, 23 Feb 2013 12:32:52 -0800 (PST) X-Received: by 10.60.25.138 with SMTP id c10mr3025989oeg.12.1361651572799; Sat, 23 Feb 2013 12:32:52 -0800 (PST) MIME-Version: 1.0 Received: by 10.182.46.232 with HTTP; Sat, 23 Feb 2013 12:32:32 -0800 (PST) From: Jacob Errington Date: Sat, 23 Feb 2013 15:32:32 -0500 Message-ID: Subject: [lojban] Compositional Self-Reflexive Lujvo To: lojban@googlegroups.com X-Original-Sender: nictytan@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of nictytan@gmail.com designates 209.85.219.44 as permitted sender) smtp.mail=nictytan@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: Sender: lojban@googlegroups.com List-Subscribe: , List-Unsubscribe: , Content-Type: multipart/alternative; boundary=e89a8ff1c2fc4df8cb04d66a3699 X-Spam-Score: -0.1 (/) X-Spam_score: -0.1 X-Spam_score_int: 0 X-Spam_bar: / --e89a8ff1c2fc4df8cb04d66a3699 Content-Type: text/plain; charset=ISO-8859-1 These are impossible to make, due to the lack of a selbri meaning "x1 is in all the ce'u-places of function x2". So I decided today, in IRC, to make that selbri. This is the documentation of my quest. There are two types of reflexive selbri right now. Lujvo of the first kind are created compositionally whereas lujvo of the second kind are created non-compositionally. Non-self-reflexive selbri are produced with {simxu}, e.g. {.i mi joi do simxu lo ka ce'u cinba ce'u} "You and I kiss each other," which in a lujvo looks like {mi joi do cinbysi'u}, whereas the self-reflexive counterpart is {mi cinba mi/vo'a} which in a lujvo looks like this {mi sezycinba}. The full Lojban definition of {sezycinba} is {.i lo ka sezycinba cu ka ko'a ce'ai ko'a cinba lo sevzi be ko'a} where {lo sevzi be ko'a} is taken to reduce into plain {ko'a}. This seems pretty hackish to me and is naljvajvo due to the invocation of {lo sevzi}. Making up a selbri to mean "x1 does x2 to itself" isn't as easy as it seems. Well, I'm not telling the whole truth when I say that. It's easy to make up a selbri meaning "x1 does x2 to itself" as long as the x2 is a function with fixed arity. This is probably a high percentage of the cases: {mi mi tavla} -> {.i mi broda lo ka ce'u tavla ce'u}, where broda is that selbri. However, talking about yourself to yourself can't be expressed with that same selbri, due to its restriction on the arity of the function. The arity restriction arises from the naive lojban definition: let ko'e = lo ka ce'u broda ce'u #1 {.i ka ko'a ko'a me'au ko'e} = {.i ka ko'a ko'a me'au lo ka ce'u broda ce'u} = {.i ka ko'a broda ko'a} Very straightforward. Make new selbri for every new {ko'a} you throw in. Very poorly extensible system. This brought me to the very important side-quest of figuring out currying in Lojban. {be} as we all know basically curries: {lo broda be ko'a} = {zo'e noi ke'a broda ko'a} = {zo'e noi ke'a ckaji lo ka ce'u broda ko'a}. Also as demonstrated right there, we can use {ckaji} (and therefore {me'au}) to simulate the effect of {be}. This led me to produce the following selbri which produces a function with the x1 is filled by a definite parameter. I've called it kamni'oi for now, based on -kam- from {ka} and -ni'oi- from -ni'o- from {cnino}. #2 {.i lo ka kamni'oi cu ka ko'a ko'e ko'i ce'ai ko'a ka ko'e me'au ko'i} "x1 is the function derived from filling the x1 of x3 with x2." e.g. {lo ka mi citka ce'u cu kamni'oi mi lo ka ce'u citka ce'u} e.g. {lo du'u mi citka lo plise cu kamni'oi lo plise lo ka mi citka ce'u} Then I needed a selbri to get the arity of a function. This is possible by converting bridi3 into a set and they using zilkancu. This selbri could arguably be a lujvo, but I've decided to call it ka'ance'u, from {zilkancu} and {ce'u}: #3 {.i lo ka ka'ance'u cu ka ko'a ko'e ce'ai ko'a se zilkancu lu'i lo te bridi be ko'e} "x1 (li) is the arity of function x2." e.g. {.i li mu ka'ance'u me'ei klama} e.g. {.i li no ka'ance'u lo du'u mi citka lo plise} Finally, these are all the tools required to build the definition of the self-reflexive selbri for arbitrary-arity functions. Call it {sevzike} for now. #4 {.i lo ka sevzike cu ka ko'a ko'e ce'ai ge ganai lo ka'ance'u be ko'e cu zmadu li no (fi dubu) gi sevzike lo kamni'oi be ko'e bei ko'a gi ganai lo ka'ance'u be ko'e cu du li no (fi dubu) gi me'au ko'e} e.g. {.i mi sevzike lo ka ce'u lumci ce'u} = {.i mi mi lumci} e.g. {.i mi sevzike lo ka ce'u ce'u ce'u tavia} = {.i mi mi mi tavla} e.g. {.i mi sevzike lo ka ce'u ce'u ce'u tavla da poi ce'u finti ke'a ca lo nu ce'u citno mutce} = {.i mi mi mi tavla da poi mi finti ke'a ca lo nu mi citno mutce} An important identity of this function is that when applied to unary functions, it becomes equivalent to plain {ckaji} (or {me'au}). {mi sevzike lo ka ce'u citka lo plise} = {mi ckaji lo ka ce'u citka lo plise} = {.i mi citka lo plise} The function has an interesting quirk due to its definition, namely that if a du'u is supplied in the x2, the x1 becomes completely irrelevant to the relationship. {sevzike lo du'u broda} has the same truth value regardless of the sumti supplied in the x1. Now for an explanation of the definition. (The definition is recursive, which I think is a first for Lojban definitions. Still, this is a proof of concept of the sheer power that can be achieved with Lojban definitions.) The function checks the arity of the x2. If it is greater than zero, it curries the x1 into the x2 to yield an intermediate function which it then passes back to itself. If the arity is zero, which will occur when all the ce'u-places have had x1s curried into them, the function simply evaluates the x2. With this selbri, it is now possible to create compositional self-reflexive lujvo: {.i mi cinba zei sevzike} = {.i mi sevzike lo ka ce'u ce'u cinba} = {.i mi mi cinba}. If sevzike were a gismu and had a CVV rafsi, it would be possible to neatly create shorter self-reflexive luvjo. Now that I understand how recursion can be used in lujvo and how to create these arity conditions, it may be possible to define n-ary simxu, which we had decided some time ago was not possible. .i mi'e la tsani mu'o -- 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 email 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out. --e89a8ff1c2fc4df8cb04d66a3699 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable These are impossible to make, due to the lack of a selbri meaning "x1 = is in all the ce'u-places of function x2". So I decided today, in = IRC, to make that selbri. This is the documentation of my quest.

There are two types of reflexive selbri right now. Lujvo of the = first kind are created compositionally whereas lujvo of the second kind are= created non-compositionally. Non-self-reflexive selbri are produced with {= simxu}, e.g. {.i mi joi do simxu lo ka ce'u cinba ce'u} "You a= nd I kiss each other," which in a lujvo looks like {mi joi do cinbysi&= #39;u}, whereas the self-reflexive counterpart is {mi cinba mi/vo'a} wh= ich in a lujvo looks like this {mi sezycinba}. The full Lojban definition o= f {sezycinba} is {.i lo ka sezycinba cu ka ko'a ce'ai ko'a cinb= a lo sevzi be ko'a} where {lo sevzi be ko'a} is taken to reduce int= o plain {ko'a}. This seems pretty hackish to me and is naljvajvo due to= the=A0invocation=A0of {lo sevzi}.

Making up a selbri to mean "x1 does x2 to itself&q= uot; isn't as easy as it seems. Well, I'm not telling the whole tru= th when I say that. It's easy to make up a selbri meaning "x1 does= x2 to itself" as long as the x2 is a function with fixed arity. This = is probably a high percentage of the cases: {mi mi tavla} -> {.i mi brod= a lo ka ce'u tavla ce'u}, where broda is that selbri. However, talk= ing about yourself to yourself can't be expressed with that same selbri= , due to its restriction on the arity of the function. The arity restrictio= n arises from the naive lojban definition:

let ko'e =3D lo ka ce'u broda ce'u
#1 {.i ka ko'a ko'a me'au ko'e} =3D {.i ka ko'a ko= 9;a me'au lo ka ce'u broda ce'u} =3D {.i ka ko'a broda ko&#= 39;a}
Very straightforward. Make new selbri for every new {ko'a} you thr= ow in. Very poorly extensible system.

This brought= me to the very important side-quest of figuring out currying in Lojban. {b= e} as we all know basically curries: {lo broda be ko'a} =3D {zo'e n= oi ke'a broda ko'a} =3D {zo'e noi ke'a ckaji lo ka ce'u= broda ko'a}. Also as demonstrated right there, we can use {ckaji} (and= therefore {me'au}) to simulate the effect of {be}. This led me to prod= uce the following selbri which produces a function with the x1 is filled by= a definite parameter. I've called it kamni'oi for now, based on -k= am- from {ka} and -ni'oi- from -ni'o- from {cnino}.

#2 {.i lo ka kamni'oi cu ka ko'a ko'e ko= 9;i ce'ai ko'a ka ko'e me'au ko'i} "x1 is the func= tion derived from filling the x1 of x3 with x2."
e.g. {lo ka= mi citka ce'u cu kamni'oi mi lo ka ce'u citka ce'u}
e.g. {lo du'u mi citka lo plise cu kamni'oi lo plise lo ka mi = citka ce'u}

Then I needed a selbri to get the = arity of a function. This is possible by converting bridi3 into a set and t= hey using zilkancu. This selbri could arguably be a lujvo, but I've dec= ided to call it ka'ance'u, from {zilkancu} and {ce'u}:

#3 {.i lo ka ka'ance'u cu ka ko'a ko'e = ce'ai ko'a se zilkancu lu'i lo te bridi be ko'e} "x1 (= li) is the arity of function x2."
e.g. {.i li mu ka'ance= 'u me'ei klama}
e.g. {.i li no ka'ance'u lo du'u mi citka lo plise}
<= div>
Finally, these are all the tools required to build the d= efinition of the self-reflexive selbri for arbitrary-arity functions. Call = it {sevzike} for now.

#4 {.i lo ka sevzike cu ka ko'a ko'e ce'ai = ge ganai lo ka'ance'u be ko'e cu zmadu li no (fi dubu) gi sevzi= ke lo kamni'oi be ko'e bei ko'a gi ganai lo ka'ance'u b= e ko'e cu du li no (fi dubu) gi me'au ko'e}
e.g. {.i mi sevzike lo ka ce'u lumci ce'u} =3D {.i mi mi lumci= }
e.g. {.i mi sevzike lo ka ce'u ce'u ce'u tavia} =3D= {.i mi mi mi tavla}
e.g. {.i mi sevzike lo ka ce'u ce'u = ce'u tavla da poi ce'u finti ke'a ca lo nu ce'u citno mutce= } =3D {.i mi mi mi tavla da poi mi finti ke'a ca lo nu mi citno mutce}<= /div>

An important identity of this function is that when app= lied to unary functions, it becomes equivalent to plain {ckaji} (or {me'= ;au}).
{mi sevzike lo ka ce'u citka lo plise} =3D {mi ckaji l= o ka ce'u citka lo plise} =3D {.i mi citka lo plise}

The function has an interesting quirk due to its defini= tion, namely that if a du'u is supplied in the x2, the x1 becomes compl= etely irrelevant to the relationship.
{sevzike lo du'u broda}= has the same truth value regardless of the sumti supplied in the x1.

Now for an explanation of the definition. (The definiti= on is recursive, which I think is a first for Lojban definitions. Still, th= is is a proof of concept of the sheer power that can be achieved with Lojba= n definitions.) =A0The function checks the arity of the x2. If it is greate= r than zero, it curries the x1 into the x2 to yield an intermediate functio= n which it then passes back to itself. If the arity is zero, which will occ= ur when all the ce'u-places have had x1s curried into them, the functio= n simply evaluates the x2.

With this selbri, it is now possible to create composit= ional self-reflexive lujvo:
{.i mi cinba zei sevzike} =3D {.i mi = sevzike lo ka ce'u ce'u cinba} =3D {.i mi mi cinba}.

If sevzike were a gismu and had a CVV rafsi, it would be possibl= e to neatly create shorter self-reflexive luvjo.

N= ow that I understand how recursion can be used in lujvo and how to create t= hese arity conditions, it may be possible to define n-ary simxu, which we h= ad decided some time ago was not possible.

.i mi'e la tsani mu'o

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to lojban@googlegroups.com.
Visit this group at http://groups.google.com/group/lojban?hl=3Den.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
--e89a8ff1c2fc4df8cb04d66a3699--