some fundamental omissions
> > Thoughts? Are there any other ommissions that
> > stand out for you?
Even though the question wasn't meant for me in particular, there are a
couple of things (some of which I mentioned before, I believe) that do
1. Cartesian product of sets as well as the notion of tuple (as opposed
to the vector notion which has been used as a substitute in examples
submitted on this list).
Why vector is not the right thing to use instead of tuple?
Because vector implies the notion of a vector space, with metrics and all
that stuff. It also implies uniform elements, so that the many common
cases of mixed-type operations would be awkward.
In a nut-shell, neither list nor vector nor any other type available in
MathML appears to denote the fundamental concept of tuple. It should
therefore be added.
2. Curiously, the application operator <application/> is actually missing,
too - the one that denotes the operation of applying one thing to
something else. Again, this is a fundamental concept that certainly needs
to be discussed in k-12 (and again in more depth in introductory college
math and computer science), and thus needs to be present in MathML,
especially since <apply> </apply> now has a much broader meaning. In math
and CS, the concept of function application is required as a separate
operator in particular when reasoning about the <lambda/> construct, I
(The argument for an <application/> different from <apply> </apply> is
thus closely similar to the argument for using <sin/> etc instead of <sin>
...</sin> given in the MathML document).
3. Similarly, MathML terms for the fundamental concepts <function/>,
<set/>, <quantifier/>, <predicate/> etc., all of which are extensively
discussed and used in k-12 math literature, are missing.
I realize that I'm advocating here the introduction of mathematical
concepts into MathML that do not have a default rendering, but it is well
within the scope of MathML to provide the fundamental vocabulary necessary
for providing content markup for the basics of Maths.