vermaseren / form

The FORM project for symbolic manipulation of very big expressions
GNU General Public License v3.0
1.14k stars 136 forks source link

Minus sign is ignored in set restriction #78

Closed benruijl closed 8 years ago

benruijl commented 8 years ago

The following program returns 1, whereas actually it shouldn't match:

V p,p1;
CF vx;

L F = vx(-p1);
id vx(p?!{p1,-p1}) = 1;
Print +s;
.end

If minus signs are not allowed in sets (although they would be handy!), the compiler should give an error.

vermaseren commented 8 years ago

Hi

Vector sets can only consist of vectors like p, not -p. At the moment it is not quite clear how that could be implemented.

Jos

On 12 apr. 2016, at 09:14, Ben Ruijl notifications@github.com wrote:

The following program returns 1, whereas actually it shouldn't match:

V p,p1; CF vx;

L F = vx(-p1); id vx(p?!{p1,-p1}) = 1; Print +s; .end If minus signs are not allowed in sets (although they would be handy!), the compiler should give an error.

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/vermaseren/form/issues/78

benruijl commented 8 years ago

The latest version fails to match with the minus sign if it is not the first element in the set:

#-
V Q;
CF vx;

L F = vx(-Q);
id vx(Q?{Q,-Q}) = 1; * {-Q,Q} does work

Print +s;
.end
vermaseren commented 8 years ago

Ja, ik heb ook nog wat van dat soort probleempjes. Gaat aan gewerkt worden.

Jos

On 15 apr. 2016, at 14:21, Ben Ruijl notifications@github.com wrote:

The latest version fails to match with the minus sign if it is not the first element in the set:

-

V Q; CF vx;

L F = vx(-Q); id vx(Q?{Q,-Q},?a) = vx(?a); * {-Q,Q} does work

Print +s; .end — You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/vermaseren/form/issues/78#issuecomment-210444355

tueda commented 8 years ago

Fixed in c5a24b7c2b476a3c3a65f524d4b14ed4bf3a7059.