2006-08-19 JoeB:
 * There is something inconsistent about SAVEDEGREE
   versus DEGREEPRINTOUTPUT.  I suspect that the former
   is mistakenly investigated instead of the latter,
   in e. g. GROEBNERFINISH.

 * The GLOBAL variable !#!$NoHigherGbRedNeeded!*
   either should be put into use (by adding a
   new minor strategy mode), or removed.

2006-08-18 JoeB:
 * In 'real and true' commutative TDEGREVLEX order,
   with non-homogeneous input, the refined Buchberger
   criterion does not work.  There may be subsequent
   monomials, which are lower in the most significant
   variable than is the LeadMon, but which still are
   lower, because their totaldegrees are.  Thus, it
   is not sure that the power of this variable in the
   LeadMon also is a factor of the entire polynomial.

2006-08-09 JoeB, VU:
 * Make MAXDEG inhibition of calculation of higher
   critical pairs efficient. (Now, seemingly, the
   calculated but discarded pairs clutter the heap.)

2006-08-08 JoeB:
 * ReducePol (nowadays, at least) returns a genaugredor,
   NOT a genaugredand! Before changing the protocol,
   go through the situation a little further. However,
   I call PreenRedand on the result of ReducePol, in
   FixNGbe; and it is NOT ALWAYS a noop. (Formerly,
   the Redand2Redor wasn't performed until FixGbe was
   applied on all current degree new Gbe's
   simultaneously, at the end of the calculations
   for this degree.)

 * Refine RABBIT mode settings: SETRABBIT, GETRABBIT.

2006-08-07 JoeB:
 * The SAWS mode incopatibilities now are extended,
   by NOT making AUTOREDUCEINPUT and e.g.
   AutoReduceFromTo working in itemwise mode. Probably
   rather extensive testing is necessary to get SAWS
   working in ANY mode!

2006-08-06 JoeB:
 * MONFACTORP is ONLY used as a boolean, but in the
   non-commutative case does MUCH more.

2006-08-05 JoeB:
 * DestructRedor2Redand is sometimes defined as
   NILNOOPFCN1, sometimes as IBIDNOOPFCN. The former
   seems most in accordance with the documentation.

 * The manual documents nowadays non-existing procedures;
   at least POLALGOUT. Define them, with obsoleteness
   warnings!

2005-06-25 JoeB, VU:
 * It should be possible to stop ANICK at a certain
   homological degree (altough we go on in totaldegree).
   Something like SETMAXHOMDEGREE?

 * We should add a dynamic way to add new monoid
   orders. In this context, some calculation of a
   new commutative monomial quotient could be useful.

2005-06-21 VU:
 * Autosave mode; able to restart calculation after
   a chrash. Must be coupled with "restore" and
   "continue". We have to save the following
   monomials: Leading ones in Groebner basis elements;
   those in S-polynomials.

2005-07-16 JoeB, VU:
 * If e.g. we (in this order) call ANICK,
   SETNORESOLUTION, and ANICK again, the second call
   to ANICK does not work. The reason is that only
   when the anick module is loaded the setup changes
   are made.
   One remedy of course could be to move the settings
   to the beginning of call of ANICK; or to make them
   explicitly, if ANICKISLOADED. However, this might
   lessen the flexibility a little.

 * Fix the output mode default in such a way that
   algebraic output is standard, when outvars are set.
   Perhaps a new, flexible mode; or just changing the
   default setting?

2005-07-15 JoeB:
 * There are situations where partial results are not
   exhibited, since no call to FLUSHCHANNEL was
   included. This seems to be the case in the anick
   module; and probably in some other cases, where
   the SC&VU test suite did not produce (complete)
   output. Insert them!

 * Include tests of positive characteristics. Correct
   such clisp compilation as is set up without proper
   macros inserted.

2005-02-19 JoeB:
 * If such do not exist, then define procedures for
   adding to, but not replacing, InPols. Say,
   ADDLISPFORMINPUT and ADDALGFORMINPUT; the latter NOT
   accepting a vars statement. DONE in v. 0.988/JoeB

2005-01-19 JoeB:
 * The customising procedures should have alternatives
   working as hooks rather than supplanting the
   calling procedures. We may also want interruptions
   (pausing with the possibility of performing a number
   of dialogue or lisp commands, but possibility to
   resume calculations), breaking (to top level,
   possibly by creating an error), and quitting (which
   is simple to do by means of QUIT). Hooks could be
   created by separate procedures, or by letting a
   `reserved' identifier as return value cause `hooking',
   i.e., continuation with the rest of the calling
   procedure.

2004-10-12 JoeB , VU:
 * (noncommify)(simple)vars x,y;x*y-y^2;
   yields heap overflow already at degree 99. Why?
   If in addition the Hilbert series limitation is
   active, with the limitations set to the true
   Hilbert series (by means of setting the DEFAULT to
   (PLUS2 HSDEG 1)), and (of course) PBSERIES is ON,
   then the run seems to be markedly slower; and it
   collapses by heap overflow already at degree 80
   (approximately). Again, why?

 * Check the action of POSLEADCOEFFS. UnSign-ing
   seems to be automatic in the SparseContents submode,
   but not at all 'activatible' by modes or switches
   in the dense case. I think I removed these troubles
   a long time ago. Perhaps, it is done in e.g.
   DenseContentChar0SubtractRedand1, in some oldfashioned
   variant.
   To-day, UNSIGNLC!'S is called explicitly by aninterf.sl
   procedures (ultimately called by ResolutionFixcDegEnd);
   but no-where else.


2004-09-30 JoeB , VU:
 * Fix merging of doc's from rather different sources.
   Some rather old doc's contain things never added to
   the newer ones.

 * Investigate precisely what troubles may arise from
   running inhomogeneous input. Write one or several
   strategies for doing this properly. At least one
   of these should be compatible with ELIM orderings.

 * Re-organise the "safe" stuff into the mode handling.
   Include handling of constant terms.

 * Incorporate corrections from older versions (???)
   (alternatively: find and eliminate brand new bugs)
   concerning repeated series calculation and
   inner embdim (which seemingly is not quite cleared
   even by CLEARRING).

 * Check and update SAWS.

 * Make a manual version in a `booklet printable' form.
   DONE circa 2005-06-15 by SV & VU.

 * Investigate, possibly write new, procedures for solving
   linear equations.

 * Employ the latter in calculating rational Hilbert series
   in the non-commutative case.

2004-05-04 JoeB:
 * Enter more `free floating' modes into the compact
   mode handler. This includes: SAWS modifications;
   MODULE or TWOMODULES module variable numbers;
   homogeneity.

 * Fix the common lisp independence of compile.sl
   et cetera.

2003-11-01 JoeB: Common Lisp now have troubles with
lambda expressions. I am not sure of how to overcome
this, but I have a memory that we found some (partial?)
remedies earlier.

 This touches the new FINDMODECLASHES family of
procedures (by means of ModeSettingP), and also
employing the procedure alternative for argument
to SETHSERIESMINIMUMDEFAULT.

2003-10-29 JoeB:
 (* Checksetup: E.g., modules do not work within the
   commutative case now. Add some "Incompatibilities
   checker". DONE 2004-05-04.)

 * The DIALOGUE is rather underdeveloped. Test its clisp
   abilities, inter alia!

(* CLEARIDEAL removes the variable number information.
   This should not be so. On the other hand, a new
   CLEARRING might do this - and much more.
   [FIXED 2003-11-01] )

2003-08-28 JoeB:
 * Move (at least the source files of) the new run
   test files from bin/Linux_elf to tests.

 * Merge the loose pieces of documentation - such as
   ReadMe and ReadMe0.91.var (with info on log files);
   KnownBugs and known.bugs; News, ... .

 * Make a 'make' based version of mkbergman.

2003-08-18 JoeB: Fix the linear and constant input
problems by adding a new mode difference. Some efficient
procedures be replaced by safer ones, when linear or
constant inputs are acceptable. (May or may not be
ord/altweights dependent, simultaneously.)

 Affected procedures include:
 LC2, ALGFORMINPUT (or one of its auxiliaries),

2002-10-09 JoeB: Check why (nc) FixNGbe collapses with
linear input.

2002-06-28 JoeB: Move setting of EMBDIM from PBINIT to
noncommMonomialInit ... and replace it perhaps by
!&!*InnerEmbDim!&!* setting, like in commMonomialInit?
Problem, of course: We may do calculations with embdim
unset, if PB is off, but not if it is on. Thus perhaps:
Make a tentative setting in noncommMonomialInit, and an
obligatoric one (if not yet set) in PBSERIES.

Also, unset !&!*InnerEmbDim!&!* in case of clearing the
variables. Actually, this should perhaps be reset when variables
are?

1999-11-26 JoeB: Make the last argument to mkbergman in unix
environments facultative; using cd $0 and an adequate
cd ../.. ... /.. in order to get to the bmroot and $cwd extract
it (at a suggestion from SV). However, warn for the use of this
alternative!
 Check if caseconv now is OK, so that one may apply it even
when the xsrc and xauxil directories did exist.

1999-06-28 JoeB: Make the HSERIESMIN procedures self-loading.
Introduce CLEARing of hseriesminima. Make setting hseriesmin
strategy to load hseries (if not done).

1999-06-27 JoeB: According to SV, the single instance of a
case non-distinction potential name clash would be
noncommMonTimes2 versus noncommMONTIMES2 (in ncmonom.sl).
Perhaps should rename one of them, in order to facilitate
for others to adapt the bm sources in other settings?

1997-10-12 JoeB: Add ncCALCPOLRING (or better ncCALCFREERING),
which  sets INVHILBERTSERIES appropriately, and which in the
same cases as in the next note calculates HILBERTSERIES up to
MAXDEG.

1997-10-12 ufn: Suggestion: if Maxdeg was greater than obtained
maximum degree in GB, continue to calculate Hilbert(Poincare)series
untill Maxdeg.

1997-09-18 JoeB: Fix weight setting and variable setting in such
ways that they are consistent from the user point of view. If
necessary, distinguish internal weight lists and dplists from
interface forms.

1997-09-08 JoeB: Fix the non-comm exponent output. Introduce new
modifications: a PRINTEXPONENTS flag (default: T); flag deciding
whether the exponents be collected or spread. DONE 09-18
And a flag or mode setter deciding whether the first or the last
variable be the highest in standard orders.

1997-08-27 JoeB: DOCUMENT setweights. Add getweights, clearweights,
printweights. Make it compatible with series calculation, Anick,
stagger, (de)homogenisation.
 Make (de)homogenisation variants in the non-commutative case.
 Write the file output checker.

1997-08-15: JoeB: Either include YESP in slext.sl, or exclude it from
the module series procedures.

1997-05-22: JoeB: Investigate if the AddTo!&Char0Lists calls in stg.sl
for AutoReduceFix, StagFormSPol, ReduceSubstantialPol, and
STAGGERFINISH are adequate.

1997-04-09: JoeB: Fix a nice and neat way of calculating pbseries etc.
to a given degree; and DOCUMENT this!!

1997-04-07: JoeB: Remove the Char2RedorMonMult definition (or rather,
replace the Char0 one by this).
 I also seem to have started replacing DestructRedandTermPlus by
DestructQPolTermPlus, but I have not completed this?

1997-03-03: JoeB: Check through files outside Char0 for definitions of
or occurrences of Char0FOO variants. I believe that RETURNING to Char0
might not work now; it should be fixed as above, and by making ALL
FOO-out-of-Char0 initiations at the end of char0.sl, by a call to
RESTORECHAR0, if possible.

1996-12-17: Jan S & Ralf: Add possibility to INPUT H series as numerator
+ denominator degree.

1996-12-09: Ralf: Add (at least) the orders you wish to use at elimination
problems: block orders with specific variables (of various degrees); 2
degrevlex blocks being enough.
 In a Hilbert series driven algorithm, add Moreno's 'criterium' (optionally):
If a reduction leads to 0 in the beginning, then they mostly continue
in the same manner. Thus, skip such calculations. If not all new Gbe's
which should be there are found, in a new pass calculate them to the
bitter end.

1996-11-28 Ralf: Imitate Gotzmann? (Dynamically calculate several
series, for to see if by Gotzmanns theorem no more should be calculated.)
Likewise, if 0 reached, interrupt!

1996-11-27:
 - Fix stagger as `proper' and revertible mode. (Fix stagsubs.sl accordingly.)
 - Fix file and dynamic prime logarithm table making.
 - Fix `generic' system saver (in slext.sl).
 - Integrate the newdomain content into other souce files.
 - Integrate comm and nc series handling. (Should sermul be integrated, too?)
   (Hilbert series driven algorithms included.)
 - Set up proper modes for anick.
 - Collect documentation from various sources (incl. Lund and ~sanya).
   Integrate it, on the doc area.
 - Make easy-to-access handling of several rings, G-bases, series, et
   cetera simultaneously.

Most of this should be in the version 1.0!
The following probably should wait:
 - Adopt bergman to the latest Psl and Reduce versions.
 - Set up proper modes for (V.U. and S.C.) module Gbases et cetera.
 - Make easy-to-access handling of several rings, G-bases, series, et
   cetera simultaneously.
 - Make a general command interpreter tool; to be used in alginput,
   and as a base of a `macaulay-like' interpreter.
 - Make bergman available with Common Lisp.
 - Possibly, make bergman available with C.
 - Trace strategic submode mode
 /JoeB
