baupla fuzykamni

posts: 1912

> We seem to be at cross purposes here. {inaja}
> returns True if the antecedent is False or the
> consequent True. {ijo} returns True if antecedent
> and consequent have the same value.

No doubt.

> Neither of
> these have anything to do with imperative forms
> per se.

But programming languages deal basically with imperative
forms. If the IF of programming languages has nothing
to do with inaja or ijo then why were programming
languages mentioned at all?

> The imperative format is apparently
> that, for IF, if the antecedent is True, then the
> change commanded is made; if the antecedent is
> False, the change is not made (and the whole in
> any case returns True.)

Correct. That matches {ijo}:

go abu du li pa gi ko ciska zo coi
IF a = 1 THEN PRINT "coi".

We want for antecedent true, command carried out,
for antecedent false, command not carried out.

> To say that, if the
> antecedent is False, then the change commanded in
> the consequent is made is to confuse the truth of
> the consequence (the conditional) with the truth
> of the consequent (the second sentence).

With inaja, when the antecedent is false, the command
can be carried out or not to the discretion of the
listener. For example if you say to someone:

ganai abu du li pa gi ko ciska zo coi
If a = 1, then write "coi".

and a is not equal to 1, and the person writes
"coi" anyway, they are carrying out the command
correctly. But that is not how IF ... THEN ...
works in programming languages.

> And, of
> course, is to make the change required in the
> second sentence unconditionally (since it
> presumably will be done if the antecedent is
> True).

You seem to be confusing what the computer does,
which satisfies both {ganai ... gi ...} and
{go ... gi ...}, with what it is commanded to do.
If the computer were to randomly decide whether
to carry out the consequent when the antecedent
is false it would still satisfy {ganai... gi...},
but not {}.

> The point is that the computer evaluates
> an IF line as True when the antecedent is False,
> regardless of what happens with the consequent.

But what happens with the consequent is relevant.
When the antecedent is false, the computer must not
carry out the command in the consequent.

> The exact mechanism for doing this varies from
> language to language, I seem to recall (I am not
> generally too interested in how those evaluations
> are done, so I may have the details wrong)
> sometimes by comparison (antecedent less than or
> equal to consequent), sometimes by artithmetical
> moves (which my ultimately be the same thing).
> In any case, the function is just material
> implication, {inaja}.

It looks like {ijo} to me.

> Or was a few years ago,
> when IF still was a respectable bit of
> programming. (ijo) plays less of a role in
> imperatives, of course, since it will only work
> when there are exactly two possible values: one
> for antecedent True and the other for antecedent
> False.

There are always exactly two possible values
for the consequent too: one is to carry out the command
and the other is to not carry it out.

mu'o mi'e xorxes

Do you Yahoo!?
Yahoo! Mail - 250MB free storage. Do more. Manage less.