up previous next
In

create a list satisfying given conditions
Syntax

[E:OBJECT | X In L:LIST And B:BOOL]:LIST
[X In L:LIST | B:BOOL]:LIST
[E:OBJECT | X In L]

where X is a variable identifier which may occur in B or E.


Description
In the first form, E is an arbitrary CoCoA expression and B is a boolean expression, both of which are functions of the variable X. Write E(X) for E and B(X) for B. The first listed command then returns the list of all E(X) such that X is in the list L and B(X) evaluates to TRUE.

Example
  [[X^2, X^3] | X In [-2,-1,0,1,2] And X <> 0];
[[4, -8], [1, -1], [1, 1], [4, 8]]
-------------------------------
  [X In [1,2] >< [2,3,4] | X[1]+X[2]=4];
[[1, 3], [2, 2]]
-------------------------------
(Note: the >< operator is used to form Cartesian products; it is not the same as the not equal operator, <>.)

The second form of the command is the same as the first with E = X.

Example
  [X In [1,2,3] | X > 1];
[2, 3]
-------------------------------
The third form is the same as the first with B = TRUE.

Example
  [X^2 | X In [1,2,3]];
[1, 4, 9]
-------------------------------


See Also