[Aldor-l] operations working in general, but not in special cases -- help needed

Christian Aistleitner tmgisi at gmx.at
Wed Apr 5 04:48:06 EDT 2006


Hello Martin,

>> > We have a category A with an operation op: % -> %. However, there  
>> are  natural
>> > subdomains of domains of A, which are no longer closed under op.
>>
>> if I understood you correctly, you did not mean "closed under op" but  
>> "op  is a
>> partial function" -- which is a completely different thing.
>
> Could you please elaborate.

Take Q\{0} and multiplicative inverse of an element.

{ 1 }    is closed under inversion and inversion is a total function on  
{1}.

{ 1, 2 } is not closed under inversion ( 1/2 is not in {1,2} ).
Hence inversion is a partial function on { 1, 2 }.
But 1/2 can be computed in Q\{0}.

Consider { 0, 1 }. Inversion is not defined for 0. Therefore inversion is  
a partial function on { 0, 1 }.
In contrast to the situation before, you cannot say "{ 0, 1 }" is closed  
under inversion. Neither the opposite. Since inversion is not defined for  
0.

>> > Example 1, Matroids
>>
>> > A "matroid" is a mathematical structure with one very, very important
>> > operation, namely "dualizing" ...
>>
>> If a matroid is required to have a "dualizing function", then a  
>> graphical
>> matroid cannot be a matroid. Simply because it does not provide the  
>> total
>> function "dualize"
>>
>> However, a graphical matroid can "contain" a matroid.
>>
>> So the abstract setting is "graphical matroid" and the specialized one  
>> is
>> "matroid". Not the other way round.
>
> In a way you are right, of course - I followed the same reasoning
> originally. However, I do feel a little uneasy saying that a graphical  
> matroid
> is not a matroid...

A name is just a name ...

The important part is the structure of the things. That's what you want to  
model.
And the structure tells you that a "graphical matroid" is not a "matroid".
The name does not affect the inner structre of an object.

There are a lot of similar situation in mathematics.
Consider for example polynomials.
In computer algebra a polynomial ring is typically commutative. If it is  
not commutative (in whatever way), we say "non-commutative polynomial  
ring".
However, "non-commutative polynomial ring" is the generalization and  
"polynomial ring" is the specialization.
Replace "non-commutative" by "graphical" and "polynomial ring" by  
"matroid" and you will see, the correspondance.

Or maybe the example Ralf gave convinces you ;)

> Furthermore, there is another complication:
>
> For a certain class of graphical matroids, namely those which are  
> 3-connected,
> we can recover the vertices. I.e.,
>
> general Matroids have duals but no vertices
>
> graphic non-planar three-connected Matroids do not have duals but do have
> vertices
>
> So, what to do?

I am not familiar with matroids, so let me get this straightened out.

1. Graphic non-planar matroids do not provide a way to compute a dual  
element.
2. Graphic planar matroids are able to compute duals for all elements.
3. Graphic non-planar three-connected Matroids do not have duals at all.
4. Graphic three-connected Matroids allow recovering of vertices.
5. Planar graphic matroids are called "matroids".

I got number 1 wrong in my previous post. I thought, a graphical matroid  
can dualize _some_ of its elements. This laid way to the "partial  
function" thing.

So the base category is
GraphicalMatroid

You have several qualities for GraphicalMatroids:
-"planarness"
-"three-connected-ness"

I assume, that the properties coming from "planarness" and  
"three-connected-ness" are bound to graphical matroids and not a general  
mathematic construct (e.g.: the connection between a planar near-ring and  
a near-ring is not connected in any way with the connection between planar  
graphic matroids and graphic matroids -- At least I cannot see an obvious  
connection). If this assumtion is wrong, than I'd introduce general  
categories "PlanarType" and "ThreeConnectedType". However, let's assume  
the assumption is valid.

GraphicalMatroidType: Category == with {
}

PlanarGraphicalMatroidType: Category == with {
   GraphicalMatroidType;

   dualize: % -> %;
}

ThreeConnectedGraphicalMatroidType: Category == with {
   GraphicalMatroidType;

   recover: ( %, % ) -> %;
}

This models 1., 2., and 4..
I would not model 5., since this is just a renaming. However, I in the  
documentation of PlanarMatroidType, I would mention that "planar graphical  
matroids" are called "matroids".
3. is awkward, since only planar graphical matroids have duals. So non  
planar, already means that they have no duals. Three-connected is  
superfluous. Therefore, 3. is redundant and already contained.


Obviously, I misunderstood the problem, as my solution seems too easy :((



--
Kind regards,
Christian



More information about the Aldor-l mailing list