[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lojban] Multiple-variable abstractions (WAS: Re: Reasoning by analogy)
- To: lojban@googlegroups.com
- Subject: Re: [lojban] Multiple-variable abstractions (WAS: Re: Reasoning by analogy)
- From: Jacob Thomas Errington <jake@mail.jerrington.me>
- Date: Thu, 07 Jan 2021 17:59:57 GMT
- Arc-authentication-results: i=2; gmr-mx.google.com; dkim=pass header.i=@mail.jerrington.me header.s=default header.b=EIBIYF0y; spf=pass (google.com: domain of jake@mail.jerrington.me designates 2001:41d0:2:863f:: as permitted sender) smtp.mailfrom=jake@mail.jerrington.me
- Arc-authentication-results: i=1; gmr-mx.google.com; dkim=pass header.i=@mail.jerrington.me header.s=default header.b=EIBIYF0y; spf=pass (google.com: domain of jake@mail.jerrington.me designates 2001:41d0:2:863f:: as permitted sender) smtp.mailfrom=jake@mail.jerrington.me
- Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:date:content-language :content-transfer-encoding:in-reply-to:mime-version:message-id:from :references:to:subject:sender:dkim-signature; bh=tIWh1oxI33qv4xdR6CDnGC2nkkTSMZrpXquUbfBFTDo=; b=a9QNgt8e/xdyPc5VXYW38pAvhbHl++qdVnQr6LrZvu0+E5qo/ulLtwsObKz07ngEsp LnMlNGYAqNovpdMaDTYtC2GpiILn6tN3THhxlfgl9IDLikh8ewb4ojtVE/P0ZhXu3mVZ OaFwPfk2+Ioo2UXVRM+tGuQCyIFe71MM4+w3Ok0ZnVcYFVYLwaiZHJMZtk4bM9HwwN2l KZK3EPkddXA+ODOoexnq8pDQJK7Yy/Ne4Idd6jl3GZaGRoJ4XW7oD4VzVfPt1wza0uNb q6ZDgaDK4UokVZFu+EIvJSmrz/agYQ5yfuY6ER2g2efeSnWb07+Vwzi+scGNXG9UIngr 2Kew==
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=date:content-language:content-transfer-encoding:in-reply-to :mime-version:message-id:from:references:to:dkim-signature:subject; bh=uIQhyhxQutaiX4q1ZCcBM8q/FwgupcrkceoROz9Moj8=; b=n2+3Mg4CTo94CXfY7byRIv3hAVakkUHbJTQvzQ35ysYfFXOG4TgVLiv8JQP1P7L1bS Jr0RdNnT7wgH59u2zuIhlvDvQEAQQaNaXFJsTd/VFGhcYFAmZuqurF0XTYo7iQLAsZ18 MWy+WS4uSf/jB+U1WzXJTlA48XloJgPodd/Qu3EpdkEVDTgLts5smsU7d43DnjPjrkl3 wrxRcCXbJyGJnOSaTbvW46lCuBaXG8L1SA1FzfZBObPzcGRTse+/witzk4bTe1vmRGj8 uLKAX13RSbtikH1pGoYbEf5KrDhZbLUzja/ujm5tb1seg5Jz+/U6xZdHH8dbLHbo8iuW Ihbw==
- Arc-seal: i=2; a=rsa-sha256; t=1610042399; cv=pass; d=google.com; s=arc-20160816; b=ZyWyBmEABq5xLyAsse0Roq8CRG6V5VG9GClFpo12taDpxHTXfx9WgijZ0MyBCykgqR cAq0IRsH42eH4pWQ4GkG0habelGte4mdG6fX+Nl3he08rZV8BEKSvwZZ/fqLqtQgoI8/ eW/TeKD7lCgXp0hcte4gynYXJ6KFKVcHWTmRYwTTMMxR92fEV+yrRRX69Jsdi05AF9w3 p4mbNNJ6vC+FWjg7OU6/qRCrWpLxTHnXgB+3WJjQK7pi1vOsUr9QiTRQ09ZXuFbZcwt9 dcWdyxrwOoubc+GAlkCeWQ/gKvulqm92KJufpvcOY7R+fWb7HWjVCsAWBZVpAWUTjx40 MbVg==
- Arc-seal: i=1; a=rsa-sha256; t=1610042398; cv=none; d=google.com; s=arc-20160816; b=TaKUFBjDzBqVGBsXuNIk4zshsU2ZtG/jSHbW3i7ATuUTMaCwfgUmW/WKwMStMLuViy BlaKMsFXQ1gKncKhVf/pI+heCGanod5Rr5kM1M81hN1VlWz/7jrP4/kB3d8UbxV/85Jz ogU/uerpjj1FhhwTTMe45A4n4+b9NOYoC476rTIjH0moGQkKXj3Hya1M90jFIgF2WVKq rtQTeTNTKgQpTy/L4M9hzkx8GcOpSsEI9G3qjDcx4Hs/sPaHc5fKuez3ly2r+DN7QOXm DwFcqsZ6t7cCjwlBAazhImrlyQubEcCLalk/PkqU0g2KP9ygmdfH61pSxIjEyypW0mEV EtmQ==
- Delivery-date: Thu, 07 Jan 2021 10:00:03 -0800
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:subject:to:references:from:message-id:mime-version :in-reply-to:content-transfer-encoding:content-language:date :x-original-sender:x-original-authentication-results:reply-to :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=tIWh1oxI33qv4xdR6CDnGC2nkkTSMZrpXquUbfBFTDo=; b=CPMo3JfiIikalVyBYt63jNJZ+AIK8OzZXs/ELpsqSskeNqO1Ego7Q1koPIyqu064Lz sSHqjpZOodAgSgOipjf+gBLdk776osc+SqzCrpfyuexQqu3mGoywR0oRXkcgQykCVSlR yxNXWWl6FVa1nTRPAVOZc1E0NOdIohzsYOqJfi7e0ym9GeT/i1HtU9/z6OScAsan2SpL /Lsvoye/aeEgAwkz5Fi1HkX7ynS+JNcJ8Acdr+T77qJf1R3KuVmlFeGl6Fg/yD1oEAYr vHtywf6MzLcignljv01DYPxd1Gg0PXOGt6oUUbadrTcrvQanhaFjKTnvtntPLB8/w41M tXCw==
- Envelope-to: lojban-list-archive@lojban.org
- In-reply-to: <86zh1lhoao.fsf_-_@cmarib.ramside>
- List-archive: <https://groups.google.com/group/lojba>
- List-help: <https://groups.google.com/support/>, <mailto:lojban+help@googlegroups.com>
- List-id: <lojban.googlegroups.com>
- List-post: <https://groups.google.com/group/lojban/post>, <mailto:lojban@googlegroups.com>
- List-subscribe: <https://groups.google.com/group/lojban/subscribe>, <mailto:lojban+subscribe@googlegroups.com>
- List-unsubscribe: <mailto:googlegroups-manage+1004133512417+unsubscribe@googlegroups.com>, <https://groups.google.com/group/lojban/subscribe>
- Mailing-list: list lojban@googlegroups.com; contact lojban+owners@googlegroups.com
- References: <86o8iru85f.fsf@cmarib.ramside> <dd954228-c706-98f2-5709-eaed3cb94703@mail.jerrington.me> <86blep9yni.fsf@cmarib.ramside> <8ff75cde-1243-5188-489e-e11276a75a07@mail.jerrington.me> <86zh1s9mw5.fsf@cmarib.ramside> <103d554a-d7f5-918e-bb82-6e025e41131b@mail.jerrington.me> <86zh1lhoao.fsf_-_@cmarib.ramside>
- Reply-to: lojban@googlegroups.com
- Sender: lojban@googlegroups.com
On 2021-01-06 14:13, scope845hlang343jbo@icebubble.org wrote:
An example of a sentence exhibiting that ambiguity might be {ko'a ce'o
ko'e ckaji loka porsi}. Would that mean {ko'a ce'o ko'e porsi} or {ko'a
porsi ko'e}? It would be ambiguous.
A way to resolve such ambiguity might be to treat {lo ka broda} as a
solitary sumti (not a sequence) when the {ka} phrase doesn't contain
{ce'u}, but as a sequence when it contains multiple {ce'u}. Such a rule
could become unwieldy when the property contains many arguments, i.e.
{lo ka ce'u broda ce'u ce'u ce'u ...}. So, I might propose the
following rule:
(1) The property is interpreted as a sequence when two or more {ce'u}
are explicity expressed within it.
(2) Otherwise (when there are zero or one {ce'u}), it is interpreted
as a solitary sumti (as opposed to a sequence).
(3) Any unexpressed places following the second {ce'u}, if any, are
assumed to be {ce'u}.
Rule 3 only really works in simple abstractions; how does one deal with
situations like {lo ka ce'u broda lo pendo be ce'u}?
This rule would introduce two questions: (A) How would one speak about a
sequence with just one element?, and (B) How would one differentiate
between properties with different numbers of arguments (arities)?
If I say {ko'a ce'o zi'o ckaji lo ka ce'u porsi}, I'm speaking about a
sequence containing one element, {ko'a}, but I'm not saying that {ko'a
porsi}. On the other hand, if I say {ko'a ckaji loka ce'u ce'u porsi},
then it'd be true that {ko'a porsi}; it'd be the sequence {lo porsi ce'o
lo se porsi be ri}. The problem of specifying a sequence with just one
element (A) is a challenged posed by Lojban's infix syntax, not by
abstractors like {ka}.
I think a pretty reasonable interpretation of {ko'a ce'o zi'o} is a
1-tuple. Reminds me of Python's syntax (x,) for a 1-tuple.
Issue (B), however, does not suggest any easy solutions. Would {lo ka
ce'u broda ce'u} be a property with two arguments, or a property with
more than two arguments, such as {lo ka ce'u broda ce'u ce'u} or {lo ka
ce'u broda ce'u ce'u ce'u}, with the trailing {ce'u} unexpressed? It
might be possible to quantify the number of arguments.
A ternary property, {lo ka ce'u broda ce'u ce'u}, could be expressed as
something like {lo ci ka broda} or {lo cimei ka broda}. However, the
tanru form would introduce the semantic ambiguity inherent in tanru.
And the form with an inner quantifier might run afoul of Lojban's normal
interpertation of quantifiers.
I'm not in favour of introducing an exception to the interpretation of
inner quantifiers to be able to specify the number of arguments,
especially when we're just cooking up new interpretations without
consulting any existing usage. Right now, there is no situation where
the number of arguments to a ka-abstraction is completely unclear. The
overt {ce'u} in a ka abstraction each represent separate sumti places
without any implicit tuple unpacking.
This could be solved, however, by treating quantified abstractions as
"magic", kind of like the way quantified variables of selma'o GOhA are
treated magically in the terms of a prenex (preceeding {zo'u}). I.e.,
{ro bu'a zo'u broda} doesn't mean the same thing as {roda zo'u broda},
because {ro bu'a zo'u} is magic. So, if we consider {lo su'o ka} magic,
could we use this mechanism to speak about multi-variable properties?
I don't agree that the existence of a wart in the language is a good
justification for the introduction of new warts. Not to mention that
following the shift in the last ten years to understand ka-abstractions
as reified selbri, there isn't really any reason to use {bu'a} except
maybe a slightly cleaner syntax. Ignoring syntax cleanliness, why say
.i ro bu'a zo'u da bu'a
when you could say
.i ro da poi selkai (zi'o) zo'u de da ckaji
I think that tuple unpacking / pattern matching is interesting, which is
why I already solved this exact problem by leveraging the experimental
cmavo {ce'ai}.
The way {ce'ai} works in general is that each sumti appearing in it is
understood as a binder. We concocted {ce'ai} back in ~2013 when
discussing how to reuse {ce'u} within a ka-abstraction. Here's a
contrived example:
without ce'ai: {.i mi ckaji lo ka ce'u goi ko'a batci ko'a}
with ce'ai: {.i mi ckaji lo ka ko'a ce'ai ko'a ko'a batci}
The idea is to have something specifically for introducing ce'u-like
bound variables, similar to the way {da} works in {zo'u}. My pattern
matching idea extends the original definition of {ce'ai} to allow more
complex sumti to appear in the {ce'ai}-clause, understanding them as
patterns. For example:
{ko'a ce'o ko'e ckaji lo ka X ce'o Y ce'ai X broda Y} interprets to
{ko'a broda ko'e}
(I'm writing capital letters to stand for the equivalent BY cmavo.)
It's also aligned with usual programming language theory because we use
the introduction form for tuples {ce'o} as a means of deconstructing the
tuple.
Personally, I see many pros, and very few cons. In fact, the only con I
can see is the use of an experimental cmavo. But using an experimental
cmavo for something that's admittedly a niche application seems right on
brand to me.
.i mi'e la tsani mu'o
P.S. are you a member of roljbogu'e discord server?
--
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 view this discussion on the web visit https://groups.google.com/d/msgid/lojban/ab3d25ae-5b02-e7e0-a93a-4900fc5120ef%40mail.jerrington.me.