[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lojban] semantic parser - tersmu-0.1rc1



* Saturday, 2011-12-03 at 20:49 -0500 - Martin Bays <mbays@sdf.org>:

> * Saturday, 2011-12-03 at 21:21 -0300 - Jorge Llambías <jjllambias@gmail.com>:
> 
> > Then forethought and afterthought connectives would give different
> > results when quantifiers are involved.
> 
> Yes.
> 
> > I don't think that's what the designers intended when coming up with
> > their rules though.
> 
> I couldn't answer to that. All I can say is that the rule I have in mind
> (and code) - always export to the closest prenex - seems coherent and
> simple, and as far as I can tell is in full accordance with the
> baseline.

...at least until you bring tenses into the picture.

It now looks like my goal, which was to find a semantics for the logical
part of lojban which is consistent with CLL and which isn't abhorrent,
is doomed to failure.

Short version of the following: you're right, again.

Long version:

The CLL mandates:

(i) {pu broda ba} == {pu ba broda} (10.13.7)

which if we're to understand tags as being exported to a prenex,
forces us to equate {pu broda} with {pu ku broda};

(ii) {pu broda .i je pu brode} == {ge pu broda gi pu brode} (14.18.1)

which hence blows out of the water the idea that we can consider all
exportation to be to the closest prenex, because that would give
{pu ku pu ku zo'u broda .i je brode}.

So tags and tagged terms really must be understood as being *bridi*
operators.

Meanwhile, we also have
(iii) {da}-bindings survive throughout a statement
    (I can't actually find anything clearly stating this, other than
    16.10.5, which is incomprehensible, and 16.14.1, which also makes
    little sense; but it seems to be the common understanding of CLL)

But then we have to declare that quantifier scope always beats tag
scope, because the former are exported to the prenex of the statement
while the latter affect only the current bridi. That's horrible in
itself, and moreover it means we can't have {na ku} interacting properly
with both quantifiers and tags.

So something has to give.

I see two ways to proceed
(a): ignore (i); treat selbri tags distinctly from tagged terms - the
latter export to the prenex, while the former bind tightly to the selbri
(i.e. {pu broda} == {broda be pu ku} rather than {pu ku broda}).

(b): work as if each sentence had its own virtual^1 prenex.

(b), which I believe is what you doi xorxes have been advocating all
along, certainly leads to the simplest and most intuitive semantics.
My only remaining worry is that it's giving up quite a bit of power
- the ability to add on the fly to a prenex with scope over preceding
and succeeding sentences.

But I suspect it is the best solution. Maybe one day we could add some
magic scope-jump cmavo to let you add to the statement prenex, if it
turns out to be sufficiently useful.

Martin


^1 it has to be virtual, lest it conflict with statement's prenex -
although I don't see any immediate problem with the following grammar
change, which would have the same effect, and give us more options for
explicit specification of scope:

statement-1 <- statement-2 (I joik-jek (prenex? statement-2)?)*

statement-2 <- statement-3 (I (jek / joik)? (stag)? BO free*
(prenex? statement-2)?)?


Attachment: pgp3BmXRFqUTd.pgp
Description: PGP signature