base_cancel
-----------

base_cancel(S)
     : It simplifies S by canceling the common factors of denominators and numerators.

Example:

      base_cancel([(x-1)/(x^2-1), (x-1)/(x^3-1)]);

base_choose
-----------

base_choose(L,M)
     : It returns the list of the order M subsets of L.

Example:

      base_choose([1,2,3],2);

base_flatten
------------

base_flatten(S)
     : It flattens a nested list S.

Example:

      base_flatten([[1,2,3],4]);

base_intersection
-----------------

base_intersection(A,B)
     : It returns the intersection of A and B as a set.

Example:

      base_intersection([1,2,3],[2,3,5,[6,5]]);

base_memberq
------------

base_memberq(A,S)
     : It returns 1 if A is a member of the set S else returns 0.

Example:

      base_memberq(2,[1,2,3]);

base_permutation
----------------

base_permutation(L)
     : It outputs all permutations of L.  BUG; it uses a slow algorithm.

Example:

      base_permutation([1,2,3,4]);

base_position
-------------

base_position(A,S)
     : It returns the position of A in S.

Example:

      base_position("cat",["dog","cat","monkey"]);

base_prune
----------

base_prune(A,S)
     : It returns a list in which A is removed from S.

Example:

      base_prune("cat",["dog","cat","monkey"]);

base_replace
------------

base_replace(S,RULE)
     : It rewrites S by using the rule RULE

Example:

      base_replace(x^2+y^2,[[x,a+1],[y,b]]);

x is replaced by a+1 and y is replaced by b in x^2+y^2.

base_set_minus
--------------

base_set_minus(A,B)
     :

Example:

      base_set_minus([1,2,3],[3,4,5]);

base_set_union
--------------

base_set_union(A,B)
     :

Example:

      base_set_union([1,2,3],[3,4,5]);

base_subsetq
------------

base_subsetq(A,B)
     :

Example:

      base_subsetq([1,2],[1,2,3,4,5]);

base_subsets_of_size
--------------------

base_subsets_of_size(K,S)
     : It outputs all subsets of S of the size K. BUG; it uses a slow algorithm. Do not input a large S.

Example:

      base_subsets_of_size(2,[3,5,3,2]);