Hi Ken,

Ken Dickey wrote:
> I think this is the crux of the matter.  I was trained as and engineer -- a 
> user of mathematics, rather than as a mathematician.

Well, as an engineer, I would certainly expect you to recognize that 
when your intuitive understanding of a topic results in some variety of 
confusion, the only way forward is to first step back into the formal 
definitions relevant to the topic.  For instance, my physics students 
(most of whom are in training to be engineers) can usually figure out 
simple force and motion problems using their intuition.  However, 
sometimes their intuition breaks down (gives the wrong answer or no 
answer), and they have to go back to explicitly and carefully drawing 
free body diagrams and writing out Newton's laws in full as they apply 
to each element of the problem.  Provided they do so correctly, they 
have, all unknowing, not only found the correct answer, but constructed 
a proof that their answer is correct.

In this case, we clearly have a matter on which different people's 
intuition gives different results.  We might therefore say that 
intuition gives no answer.  Thus, this is a case in which we should step 
back and look at formal definitions.

Now, looking at formal definitions, there are at least two sets of 
definitions which might be considered useful here.  Tom has described 
these two, aside from some semantic goofs ("sorted" vs "well-ordered"). 
  Choosing among differing definitions is not always an easy task, and 
generally the decision comes down to arguments as to the utility of the 
various definitions.  IIRC, Tom has provided an example of code which 
would be simplified (made more concise, more clear, less noisy) by 
taking the standard definitions of sequence and sequence ordering.  If I 
don't recall correctly, I'm sure that he (or many other people) could be 
prevailed upon to provide such a piece of code.  Do you (or anyone else 
having the same viewpoint as you) have any such examples?

> Looking at my undergraduate math books [Elementary Functions, Calculus, 
> Linear 
> Algebra, Numerical Methods, Approximation Theory, Probability, Fluid 
> Mechanics, Differential Equations, ...] there are zero (count' em, zero) 
> mentions of relation, transitive relation, reflexive relation, symmetric 
> relation, partial order, or total order.
> 
> You are claiming/assuming a "natural, universal, fundamental" extension to a 
> transitive binary predicate/relation for a specialized use one may not get 
> introduced to until graduate school.

FWIW, Combinatorics and Fundamentals of Algebra (in which relations were 
introduced) is a sophomore level course at my undergraduate institution, 
IIRC.

> I know (<=) => #t looks normal _to you_.  But I believe that you are a 
> specialist and I think that you are trying to inject a particular logic into 
> a "basic literacy" kind of usage.  I think that high school and undergraduate 
> students should be able to use Scheme to do math without having to understand 
> graduate level mathematics.

I don't think you need to understand graduate (or even sophomore level 
undergraduate) mathematics in order to use sequence predicates, 
regardless of whether they give #t or #f for degenerate cases.  You may 
not understand why they give the result they do for the degenerate 
cases, but I would submit that that is true whichever result they give. 
  Furthermore, "think of the children" hardly seems a good reason to 
buck established conventions of the mathematical community.

At the end of the day, I agree with Tom that we should define the 
numeric comparison predicates (and sorting predicates in general) as 
binary predicates (since this is what is fundamental), and let people 
define extensions of them to other arities in libraries as they will. 
This seems by far the more schemey thing to do here.
Regards,
Jon Wilson

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to