[Aldor-l] Aldor-Meet

Oleg Golubitsky oleg.golubitsky at gmail.com
Tue Nov 20 11:15:21 EST 2007


The two definitions of `Meet(C1,C2)':
1) a category which has the *intersection* of exports of `C1' and `C2'
2) a category `C' such that
    D has C <=>  D has C1  or  D has C2
    (in other words: C has *all exports of C1* or *all exports of C2*)
are actually not equivalent: "2)" implies "1)" but not vice versa.

The above test has shown that the compiler does not require "2)".
However, it might make sense to do so, for two reasons:
i. if we use definition "1)" then it might be hard to find
   good examples for `Meet', because one can always
   define category `C' first, and then define `C1' and `C2'
   both as `C with { something }' instead of defining first
   `C1' and `C2' and using `C == Meet(C1,C2)'.
ii. for definition "2)" there is an example.
    A bivariate polynomial can be viewed as an element of
     a) R[x,y]    (free module with the monomial basis)
     b) R[x][y]   (polynomial ring over the univariate polynomial ring)
    So one could define the category of bivariate polynomials
    as the `Meet' of "a)" and "b)".

Oleg



More information about the Aldor-l mailing list