> < ^ Date: Thu, 16 Sep 1999 23:44:08 -0500 (CDT)
> < ^ From: Robert F. Morse <rm43@evansville.edu >
< ^ Subject: Re: Equivalence relations

Dear Gap Forum,

On Thu, 16 Sep 1999, Sergio Polini wrote:

Dear GAP forum,

I'm sure I'm missing something, but I can't understand the difference

a) IsBinaryRelation( R );
b) IsSymmetricBinaryRelation( rel ).

For example, if I write:

gap> A := Domain([1,2,3,4]);;
gap> elems := [Tuple([1,1]),Tuple([2,2]),Tuple([3,3]),Tuple([4,4]),
gap> R := GeneralMappingByElements(A, A, elems);
<general mapping: <object> -> <object> >
gap> IsTotal(R);
gap> IsBinaryRelation(R);
gap> IsSymmetricBinaryRelation(R);
Error no method found for operation IsSymmetricBinaryRelation with 1

How many arguments does "rel" mean? (Other argument sets, such as "A, A,
elems", "R, elems", "elems", etc. don't work either.)

If I write:

gap> R := EquivalenceRelationByPartition(A, [[1,3],[2,4]]);
<equivalence relation on <object> >
gap> IsSymmetricBinaryRelation(R); # one argument!

it works. But if I assign an equivalence relation to R, I already know
that it is a symmetric, reflexive and transitive relation!

Please, could anybody tell me what I'm missing?

You are missing nothing. What you are asking GAP to do isn't implemented

The property IsSymmetricBinaryRelation is defined only for
EquivalenceRelation. That is, there is no code that determines this
property for arbitrary binary relations in Rel 4.1. This property is set
to be true for those objects for which it is known to be true i.e.
equivalence relations. Hence the error message apprears for binary
relations but not for equivalence relations.

The only good new here is that the next release will probably contain an
implementation to determine this property for binary relations (along
with the reflexive, transitive properties).



Robert F. Morse
Associate Professor of Computer Science
University of Evansville
1800 Lincoln Ave
Evansville, IN 47722

Phone: (812) 479-2994
e-mail: rfmorse@evansville.edu

> < [top]