2021-09-21  Steven Eker  <eker@pup>

	* S_ExtensionInfo.cc (S_ExtensionInfo::copy): take const arg
	(S_ExtensionInfo::copy): copy validAfterMatch and matchedWhole to fix bugs
	(makeClone): copy validAfterMatch and matchedWhole to fix bugs

	* S_ExtensionInfo.hh (class S_ExtensionInfo): updated decl for copy()

===================================Maude137===========================================

2020-12-11  Steven Eker  <eker2@eker10>

	* S_DagNode.cc (S_DagNode::instantiate2): take and pass
	maintainInvariants flag; only do theory normalization and sort
	computation for ground dags if maintainInvariants = true
	(S_DagNode::instantiateWithCopies2): pass maintainInvariants =
	false to instantiate()

	* S_DagNode.hh (class S_DagNode): updated decl for instantiate2()

2020-09-28  Steven Eker  <eker2@eker10>

	* S_Symbol.cc (S_Symbol::computeGeneralizedSort2): use range-based
	for loop

===================================Maude131===========================================

2019-11-11  Steven Eker  <eker@mu>

	* S_DagNode.cc (computeBaseSortForGroundSubterms): take and pass
	warnAboutUnimplemented; fix bug where we weren't setting ground flag

	* S_DagNode.hh (DagNode): updated decl for
	computeBaseSortForGroundSubterms()

===================================Maude125===========================================

2017-02-23  Steven Eker  <eker@install.csl.sri.com>

	* S_DagNode.cc (instantiateWithCopies2): ifdef'd out ground flag and
	sort computations

2017-02-21  Steven Eker  <eker@install.csl.sri.com>

	* S_DagNode.hh (DagNode): updated decl for instantiateWithReplacement()

	* S_DagNode.cc (instantiateWithReplacement): updated eagerCopies decl

2017-02-17  Steven Eker  <eker@install.csl.sri.com>

	* S_DagNode.cc (stackArguments): deleted

	* S_DagNode.hh (DagNode): deleted decl for stackArguments()

	* S_Symbol.hh (Symbol): updated decl for stackArguments()

	* S_Symbol.cc (stackArguments): support respectFrozen and eagerContext
	arguments

===================================Maude111b===========================================

2016-11-11  Steven Eker  <eker@install.csl.sri.com>

	* S_DagNode.hh (DagNode): added decl for copyAll2()

	* S_DagNode.cc (copyAll2): added

===================================Maude111===========================================

2016-03-25  Steven Eker  <eker@install.csl.sri.com>

	* S_Symbol.hh (Symbol): added decl for computeGeneralizedSort2()

	* S_Symbol.cc (computeGeneralizedSort2): added

===================================Maude110===========================================

2015-08-07  Steven Eker  <eker@ape.csl.sri.com>

	* S_Symbol.hh (Symbol): added decl for unificationPriority()

	* S_Symbol.cc (unificationPriority): added

===================================Maude108===========================================

2012-04-13  Steven Eker  <eker@ape.csl.sri.com>

	* S_DagNode.hh (DagNode): updated decl for
	instantiateWithReplacement(); added decl for
	instantiateWithCopies2()

	* S_DagNode.cc (instantiateWithReplacement): use new convention
	(instantiateWithCopies2): added

2012-03-30  Steven Eker  <eker@ape.csl.sri.com>

	* S_Symbol.hh (Symbol): added decl for termify()

	* S_Symbol.cc (termify): added

===================================Maude96===========================================

2010-10-19  Steven Eker  <eker@rho>

	* S_Symbol.cc (S_Symbol::makeCanonicalCopyEagerUptoReduced):
	becomes makeCanonicalCopy() with change of semantics

	* S_Symbol.hh (class S_Symbol):
	makeCanonicalCopyEagerUptoReduced() -> makeCanonicalCopy()

===================================Maude95a===========================================

2010-09-29  Steven Eker  <eker@rho>

	* S_Symbol.cc (S_Symbol::makeCanonicalCopyEagerUptoReduced):
	simplified now that we only deal with unreduced nodes; use
	getCanonicalCopyEagerUptoReduced()

	* S_Symbol.hh (class S_Symbol): added decl for
	makeCanonicalCopyEagerUptoReduced()

	* S_Symbol.cc (S_Symbol::makeCanonicalCopyEagerUptoReduced): added

2010-08-18  Steven Eker  <eker@rho>

	* S_DagNode.cc (S_DagNode::nonVariableSize): deleted

	* S_DagNode.hh (class S_DagNode): deleted decl for
	nonVariableSize()

===================================Maude95===========================================

2010-08-12  Steven Eker  <eker@rho>

	* S_DagNode.cc (S_DagNode::computeSolvedForm2): use
	computeSolvedForm() rather than unificationBind() to avoid
	nontermination arising from binding the abstraction variable to an
	impure term

2010-08-10  Steven Eker  <eker@rho>

	* S_DagNode.cc (S_DagNode::computeSolvedForm2): do variable
	binding here; handle purification and local occurs check

===================================Maude94a===========================================

2010-06-30  Steven Eker  <eker@rho>

	* S_DagNode.cc (S_DagNode::computeSolvedForm2): use
	resolveTheoryClash() 
	(S_DagNode::computeSolvedForm2): don't insist that smaller
	iteration side has a variable argument before peeling

2010-06-04  Steven Eker  <eker@rho>

	* S_Symbol.hh (class S_Symbol): added decl for isStable()

	* S_Symbol.cc (S_Symbol::isStable): added

===================================Maude94===========================================

2009-12-22  Steven Eker  <eker@goo.csl.sri.com>

	* S_Symbol.cc (makeCanonical): fix bug where we were not copying
	sort index and flags from old dag node into newly created dag node

2009-12-03  Steven Eker  <eker@goo.csl.sri.com>

	* S_Symbol.hh (class S_Symbol): added decl for makeCanonical()

	* S_Symbol.cc (makeCanonical): added

===================================Maude92b===========================================

2008-03-23  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.hh (class S_DagNode): deleted commented out decl for
	computeSolvedForm2()

===================================Maude90a===========================================

2008-02-08  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (computeSolvedForm2): Substitution -> UnificationContext

	* S_DagNode.hh (class S_DagNode): updated decl for
	computeSolvedForm2()

2008-02-05  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (computeSolvedForm2): rewritten

	* S_DagNode.hh (class S_DagNode): updated decl for
	computeSolvedForm2()

===================================Maude90===========================================

2007-11-12  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (instantiate2): if our argument is ground, set
	ground flag and compute sort for new node

2007-11-05  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (instantiateWithReplacement): added

	* S_DagNode.hh (class S_DagNode): added decl for instantiateWithReplacement()

2007-11-01  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (instantiate2): updated

	* S_DagNode.hh (class S_DagNode): updated decl for instantiate2()

===================================Maude89h===========================================

2007-08-24  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (computeBaseSortForGroundSubterms): updated

	* S_DagNode.hh (class S_DagNode): updated decl for
	computeBaseSortForGroundSubterms()

2007-08-23  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (computeSolvedForm): becomes computeSolvedForm2()

	* S_DagNode.hh (class S_DagNode): computeSolvedForm() ->
	computeSolvedForm2()

===================================Maude89g===========================================

2007-07-09  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (computeSolvedForm): give a warning that we don't
	support extension

	* S_LhsAutomaton.cc (match): added commments

	* S_Subproblem.cc (S_Subproblem): handle mustMatchAtLeast arg
	(solve): simplified; handle mustMatchAtLeast

	* S_DagNode.cc (matchVariableWithExtension): pass mustMatchAtLeast
	as 1

	* S_Subproblem.hh (class S_Subproblem): added data member
	mustMatchAtLeast; updated decl for ctor

2007-06-28  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (computeSolvedForm): added extensionInfo arg

	* S_DagNode.hh (class S_DagNode): updated decl for
	computeSolvedForm()

===================================Maude89c===========================================

2007-03-16  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (occurs2, unify): deleted

	* S_DagNode.hh (class S_DagNode): deleted decls for unify() and
	occurs2()

2007-03-15  Steven Eker  <eker@goo.csl.sri.com>

	* S_Symbol.cc (computeGeneralizedSort): pass realToBdd by ref

	* S_Symbol.hh (class S_Symbol): fix decl for
	computeGeneralizedSort()

===================================Maude89a===========================================

2007-03-05  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (nonVariableSize): return mpz_class

	* S_DagNode.hh (class S_DagNode): nonVariableSize() now returns
	mpz_class

	* S_DagNode.cc (computeSolvedForm, nonVariableSize) 
	(insertVariables2): added

	* S_DagNode.hh (class S_DagNode): added decls for
	computeSolvedForm(), nonVariableSize(), insertVariables2()

===================================Maude89===========================================

2007-02-14  Steven Eker  <eker@goo.csl.sri.com>

	* S_Symbol.cc (computeGeneralizedSort): use computeSortIndex()
	(fillInSortInfo): simplified using computeSortIndex()
	(computeBaseSort): simplified using computeSortIndex()

	* S_Symbol.hh (computeSortIndex): added

	* S_Symbol.cc (computeGeneralizedSort): compute negArgGenSort
	vector to avoid repeating work

2007-02-13  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (unify, computeBaseSortForGroundSubterms) 
	(instantiate2, occurs2): added
	(instantiate2): handle normalization if needed

	* S_DagNode.hh (class S_DagNode): added decls for unify(),
	computeBaseSortForGroundSubterms(), instantiate2(), occurs2()

	* S_Symbol.cc (computeGeneralizedSort, computeSortFunctionBdds): added

	* S_Symbol.hh (class S_Symbol): added decls for
	computeSortFunctionBdds() and computeGeneralizedSort()

2007-02-12  Steven Eker  <eker@goo.csl.sri.com>

	* S_Symbol.cc (fillInSortInfo): added to fix bug in sort
	calculation for terms

	* S_Symbol.hh (class S_Symbol): added decl for fillInSortInfo()

2005-07-28  Steven Eker  <eker@goo.csl.sri.com>

	* S_Term.hh (class S_Term): updated decl for SymbolMap version of
	ctor

	* S_Term.cc (deepCopy2): handle translation to a non-S_Symbol
	(S_Term): SymbolMap version: force symbol arg to be a S_Symbol

2005-07-01  Steven Eker  <eker@goo.csl.sri.com>

	* S_Term.cc (deepCopy2): fix Assert()

2005-06-30  Steven Eker  <eker@goo.csl.sri.com>

	* S_Term.cc (deepCopy2): expand when translating to a term

	* S_Term.hh (class S_Term): updated decl for SymbolMap version of
	ctor; made private

	* S_Term.cc (deepCopy2): rewritten
	(S_Term): (SymbolMap version) rewritten

2005-06-24  Steven Eker  <eker@goo.csl.sri.com>

	* S_Term.hh (class S_Term): updated decl for instantiate2()

	* S_Term.cc (instantiate2): use findTargetVersionOfSymbol(); new
	calling convention

2005-06-23  Steven Eker  <eker@goo.csl.sri.com>

	* S_Term.hh (class S_Term): added decl for instantiate2()

	* S_Term.cc (instantiate2): added

===================================Maude86b===========================================

2004-06-02  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.hh: use #include "gmpxx.h"
	
===================================Maude84c===========================================

2003-08-29  Steven Eker  <eker@goo.csl.sri.com>

	* S_Symbol.cc (memoStrategy): use applyReplaceNoOwise()
	(eqRewrite): use applyReplaceNoOwise()

2003-08-25  Steven Eker  <eker@goo.csl.sri.com>

	* S_Symbol.cc (isConstructor): added
	(computePath): compute nonCtorBound

	* S_Symbol.hh (class S_Symbol): added decl for isConstructor()

2003-08-22  Steven Eker  <eker@goo.csl.sri.com>

	* S_Symbol.hh (class S_Symbol): added nonCTorBound field to struct
	SortPath
	
===================================Maude82===========================================

2003-05-30  Steven Eker  <eker@goo.csl.sri.com>

	* S_Symbol.hh (class S_Symbol): added decl for finalizeSortInfo()

	* S_Symbol.cc (finalizeSortInfo): added

2003-05-01  Steven Eker  <eker@goo.csl.sri.com>

	* S_LhsAutomaton.cc (match): call setValidAfterMatch()
	(extMatchGt): call setValidAfterMatch() before each return true

	* S_DagNode.cc (overwriteWithClone): use copySetRewritingFlags()
	(makeClone): copySetRewritingFlags()
	
===================================Maude80===========================================

2003-02-26  Steven Eker  <eker@goo.csl.sri.com>

	* S_Subproblem.cc (S_Subproblem): pass varSort as const Sort*

	* S_Subproblem.hh (class S_Subproblem): made varSort const Sort*
	const; updated decl for ctor

	* S_DagNode.cc (matchVariableWithExtension): implemented

2003-02-25  Steven Eker  <eker@goo.csl.sri.com>

	* S_LhsAutomaton.cc (match): updated Assert()

	* S_Term.cc: removed #pragma
	(S_Term): updated Assert()
	(normalize): updated Assert()s
	(insertAbstractionVariables): DebugAdvisoryCheck() ->
	DebugAdvisory()

	* S_Term.hh: removed #pragma

	* S_Symbol.cc: removed #pragma
	(makeTerm): updated Assert()s
	(makeDagNode): updated Assert()s
	(eqRewrite): updated Assert()
	(computeBaseSort): updated Assert()
	(normalizeAndComputeTrueSort): updated Assert()

	* S_Symbol.hh: removed #pragma

	* S_Subproblem.cc: removed #pragma
	(S_Subproblem): updated Assert()s
	(solve): updated Assert()

	* S_Subproblem.hh: removed #pragma

	* S_RhsAutomaton.cc: removed #pragma

	* S_RhsAutomaton.hh: removed #pragma

	* S_LhsAutomaton.cc: removed #pragma

	* S_LhsAutomaton.hh: removed #pragma

	* S_ExtensionInfo.cc: removed #pragma

	* S_ExtensionInfo.hh: removed #pragma

	* S_DagNode.cc: removed #pragma
	(copyWithReplacement): updated Assert() (both versions)
	(matchVariableWithExtension): Assert() -> CantHappen()

	* S_DagNode.hh: removed #pragma

	* S_DagArgumentIterator.cc: removed #pragma
	(argument): updated Assert()
	(next): updated Assert()

	* S_DagArgumentIterator.hh: removed #pragma

	* S_ArgumentIterator.cc: removed #pragma
	(argument): updated Assert()
	(next): updated Assert()

	* S_ArgumentIterator.hh: removed #pragma
	
===================================Maude79===========================================

2002-11-25  Steven Eker  <eker@goo.csl.sri.com>

	* S_Subproblem.cc (S_Subproblem): switched initializer order to
	placate g++3.2

2002-10-04  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.hh (class S_DagNode): updated decl for complex version
	of copyWithReplacement()

	* S_DagNode.cc (copyWithReplacement): complex version: handle new
	calling convention

	* S_Symbol.cc (stackArguments): only stack arg if it is not frozen
	or unstackable

2002-10-03  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.hh (class S_DagNode): updated stackArguments() decl

	* S_DagNode.cc (stackArguments): handle respectFrozen flag
	
===================================Maude76==================================================

2002-08-02  Steven Eker  <eker@goo.csl.sri.com>

	* S_Term.cc (compileRhs2): added code the flag the last use of
	source
	
===================================Maude74==================================================

2002-05-15  Steven Eker  <eker@goo.csl.sri.com>

	* S_LhsAutomaton.cc (addSubpattern): term -> groundTerm to avoid
	be shadowed by argument of the same name
	(matchEq): term -> groundTerm
	(extMatchGt): term -> groundTerm
	(dump): term -> groundTerm

	* S_LhsAutomaton.hh (class S_LhsAutomaton): data member term ->
	groundTerm to avoid nasty shadowing bug

2002-05-09  Steven Eker  <eker@goo.csl.sri.com>

	* S_Symbol.hh (class S_Symbol): provide defaults for strategy and
	memoFlag in decl for S_Symbol()

2002-05-08  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.hh (class S_DagNode): class S_Subproblem is no longer
	a friend

	* S_Subproblem.hh (class S_Subproblem): extension-> extensionInfo

	* S_Subproblem.cc (dump): implemented
	(solve): cleaned up loop

	* S_LhsAutomaton.cc (extMatchGt): use new S_Subproblem() semantics

	* S_Subproblem.cc (S_Subproblem): init leftOver; added Assert() to
	make sure leftOver > 0
	(solve): use leftOver rather than used

	* S_Subproblem.hh (class S_Subproblem): data member used replaced
	by leftOver

	* S_LhsAutomaton.cc (extMatchGt): use equal() rather than
	compare()
	(extMatchGt): fixed bug in bound VARIABLE with matching symbol
	case where we were passing the wrong value to setUnmatched()
	(extMatchGt): reorganized nested if in VARIABLE case

2002-05-07  Steven Eker  <eker@goo.csl.sri.com>

	* S_LhsAutomaton.cc (extMatchGt): handle bound variable case

	* S_LhsAutomaton.hh (class S_LhsAutomaton): can no longer have a
	union of automaton and sort since we need both in the
	ABSTRACTED_NON_GROUND_ALIEN case; union term & automaton instead

	* S_LhsAutomaton.cc (addSubpattern): fix bug by setting sort to
	error sort in the  ABSTRACTED_NON_GROUND_ALIEN case
	(dump): print sort in ABSTRACTED_NON_GROUND_ALIEN case

	* S_LhsAutomaton.hh (class S_LhsAutomaton): added decl for
	extMatchGt(); nonExtMatchEq() -> matchEq()

	* S_LhsAutomaton.cc (nonExtMatchGt): fixed another bug in bound
	variable case
	(nonExtMatchEq): renamed to matchEq() since we can also handle the
	extension case
	(match): simplified using extMatchGt()
	(extMatchGt): added

	* S_LhsAutomaton.hh (class S_LhsAutomaton): added decls for
	nonExtMatchEq() and nonExtMatchGt()

	* S_LhsAutomaton.cc (nonExtMatchEq): added; handle bound variable
	case correctly, fixing bug in original match code
	(nonExtMatchGt): added; handle bound variable case correctly,
	fixing bug in original match code
	(match): use nonExtMatchEq() and nonExtMatchGt()

	* S_Subproblem.cc (solve): compare() -> cmp()

	* S_LhsAutomaton.cc (match): compare() -> cmp(); cmp variable -> r

	* S_DagNode.cc (compareArguments): use cmp() for mpz_class

	* S_Term.cc (compareArguments): (both versions) use cmp() for
	mpz_class

2002-05-06  Steven Eker  <eker@goo.csl.sri.com>

	* S_Symbol.cc (normalizeAndComputeTrueSort): fixed bug where we
	were calling normalizeAtTop() before rather than after calling
	computeTrueSort() on our argument

2002-05-03  Steven Eker  <eker@goo.csl.sri.com>

	* S_LhsAutomaton.hh (class S_LhsAutomaton): matchAtTop becomes a
	bool

	* S_LhsAutomaton.cc (dump): can't print name of abstraction variable

	* S_Symbol.cc (computePath): fix bug that we introduced

	* S_RhsAutomaton.cc (dump): dump number

	* S_DagNode.cc (overwriteWithClone): don't bother copying theory
	byte
	(makeClone): don't bother copying theory byte

	* S_Term.hh (class S_Term): class S_ArgumentIterator is no
	longer a friend

	* S_Term.cc (dump): added

	* S_DagNode.hh (class S_DagNode): class S_ExtensionInfo is no
	longer a friend

	* S_ExtensionInfo.cc (buildMatchedPortion): use getNumber() and
	getArgument()

	* S_DagNode.hh (class S_DagNode): class S_Term is no longer a
	friend

	* S_Term.cc (compareArguments): (DagNode* version) use getNumber()
	and getArgument()

	* S_DagNode.hh (class S_DagNode): class S_LhsAutomaton is no
	longer a friend

	* S_LhsAutomaton.cc (match): use getNumber() and getArgument()

	* S_DagNode.hh (class S_DagNode): class S_RhsAutomaton is no
	longer a friend

	* S_Symbol.cc (stackArguments): use eagerArgument()

	* S_Symbol.hh (class S_Symbol): added decl for memoStrategy()

	* S_Symbol.cc (computePath): slicker version using map<> and single
	loop
	(computeBaseSort): fixed a bug where we were compaing number to 0
	rather than pathLength - introduced during mpz_class conversion
	(computeBaseSort): fixed bug in cycle case calculation
	(memoStrategy): added
	(eqRewrite): handle complex strategies

2002-05-02  Steven Eker  <eker@goo.csl.sri.com>

	* S_Subproblem.cc: BigNum -> mpz_class with operation modifications
	throughout

	* S_Subproblem.hh: BigNum -> mpz_class

	* S_RhsAutomaton.cc: BigNum -> mpz_class

	* S_RhsAutomaton.hh: BigNum -> mpz_class

	* S_LhsAutomaton.cc: BigNum -> mpz_class with operation modifications
	throughout

	* S_LhsAutomaton.hh: BigNum -> mpz_class

	* S_ExtensionInfo.cc: BigNum -> mpz_class with operation modifications
	throughout

	* S_ExtensionInfo.hh: BigNum -> mpz_class

	* S_DagNode.cc: BigNum -> mpz_class with operation modifications
	throughout

	* S_DagNode.hh: BigNum -> mpz_class

	* S_Term.cc: BigNum -> mpz_class with operation modifications
	throughout

	* S_Term.hh: BigNum -> mpz_class

	* S_Symbol.cc: BigNum -> mpz_class with operation modifications
	throughout

2002-04-30  Steven Eker  <eker@goo.csl.sri.com>

	* S_LhsAutomaton.cc (~S_LhsAutomaton): fixed memory leak where we
	weren't deleting automaton in the ABSTRACTED_NON_GROUND_ALIEN case

	* S_DagNode.cc (getHashValue): compute a hash value consistant
	with S_Term::normalize()

	* S_Term.cc (normalize): call setHashValue()

	* S_LhsAutomaton.cc (match): added extension
	ABSTRACTED_NON_GROUND_ALIEN case

	* S_Symbol.cc: deleted a huge amount of commented out code from
	1997 version

	* S_Symbol.hh (class S_Symbol): deleted decl for findPrevious()

	* S_Symbol.cc (computeBaseSort): fixed bug where we were using
	pathLength in place of path.leadLength

	* S_Symbol.hh (class S_Symbol): added decl for computePath()

	* S_Symbol.cc (computePath): added
	(compileOpDeclarations): use computePath
	(computeBaseSort): use sortPaths

	* S_Subproblem.cc (solve): fixed bug where we weren't comparing 
	t.compare(0) == 0
	
	* S_Symbol.cc (computeBaseSort): implemented

2002-04-29  Steven Eker  <eker@goo.csl.sri.com>

	* S_LhsAutomaton.cc (match): added extension VARIABLE case

	* S_Subproblem.hh: created

	* S_Subproblem.cc: created

	* S_LhsAutomaton.cc (match): handle extension  GROUND_ALIEN and
	NON_GROUND_ALIEN cases

2002-04-26  Steven Eker  <eker@goo.csl.sri.com>

	* S_LhsAutomaton.cc (match): implemented non-extension case

	* S_Term.cc (compileLhs2): pass abstractionVariableIndex to
	addSubpattern()

	* S_LhsAutomaton.hh (class S_LhsAutomaton): updated decl for
	addSubpattern(); added ABSTRACTED_NON_GROUND_ALIEN to enum
	PatternType; moved automaton to seperate anonymous union

	* S_LhsAutomaton.cc (dump): support ABSTRACTED_NON_GROUND_ALIENs
	(addSubpattern): handle ABSTRACTED_NON_GROUND_ALIENs

	* S_Symbol.hh (class S_Symbol): added decl for
	mightCollapseToOurSymbol()

	* S_Symbol.cc (mightCollapseToOurSymbol): crude first
	implementation

	* S_Term.cc (insertAbstractionVariables): added; we need this
	because out argument might collapse into our theory and end up
	matching part of our subject - in this case we need an abstraction
	variable and can no longer honour ground out matching since we may
	return a subproblem

	* S_Term.hh (class S_Term): added data member
	abstractionVariableIndex and decl for insertAbstractionVariables()

2002-04-25  Steven Eker  <eker@goo.csl.sri.com>

	* S_Term.cc (compileLhs2): use S_LhsAutomaton

	* S_LhsAutomaton.hh: created

	* S_LhsAutomaton.cc: created

	* S_Symbol.cc (ruleRewrite): use S_ExtensionInfo
	(eqRewrite): implemented
	(stackArguments): stack actual arg
	(normalizeAndComputeTrueSort): normalizeAtTop() before calling
	computeTrueSort() on arg

2002-04-24  Steven Eker  <eker@goo.csl.sri.com>

	* S_Term.cc (compileRhs2): implemented

	* S_RhsAutomaton.cc: created

	* S_RhsAutomaton.hh: created

	* S_Term.cc (S_Term): fixed arg vs argument bug

	* S_Symbol.cc (makeTerm): implemented stub
	(makeDagNode): implemented stub

	* S_Term.hh (class S_Term): deleted decls for analyseCollapses()
	and insertAbstractionVariables() - Term defaults are fine

	* S_Term.cc (deepCopy2): added
	(normalize): added
	(compareArguments): added 2 versions
	(S_Term): added SymbolMap version
	(findEagerVariables): added
	(markEagerArguments): added
	(dagify2): added
	(analyseConstraintPropagation): added
	(compileLhs2): added stub
	(findAvailableTerms): added
	(compileRhs2): added stub

	* S_Term.hh (class S_Term): added decl for SymbolMap copy ctor

2002-04-23  Steven Eker  <eker@goo.csl.sri.com>

	* S_Term.cc: created

	* S_ArgumentIterator.cc: created

	* S_ArgumentIterator.hh: created

	* S_DagNode.cc (matchVariableWithExtension): added stub

	* S_DagNode.hh (getNumber): added
	(getArgument): added

	* S_Term.hh: rewritten in accord with new theory interface

	* S_DagNode.hh (symbol): added

	* S_DagArgumentIterator.cc: created

	* S_DagArgumentIterator.hh: created

	* S_ExtensionInfo.cc: created

	* S_ExtensionInfo.hh: created

2002-04-22  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.cc (S_DagNode): now takes S_Symbol*
	(copyEagerUptoReduced2): added
	(clearCopyPointers2): added
	(overwriteWithClone): added
	(makeClone): added
	(normalizeAtTop): added
	(copyWithReplacement): added 2 versions
	(stackArguments): added
	(makeExtensionInfo): added
	(partialReplace): added
	(partialConstruct): added

	* S_DagNode.hh (class S_DagNode): added NO_COPYING(); tidied up
	comments; updated decl for S_DagNode

2002-04-19  Steven Eker  <eker@goo.csl.sri.com>

	* S_Symbol.cc: rewritten in accord with new theory interface

	* S_Theory.hh: created

	* S_Symbol.hh: rewritten in accord with new theory interface
	
===================================Maude72==================================================

2001-04-03  Steven Eker  <eker@goo.csl.sri.com>

	* S_DagNode.hh (class S_DagNode): rewritten

Thu Jun 19 11:53:48 1997  Steven Eker  <eker@lilac.csl.sri.com>

	* S_Symbol.hh (class S_Symbol): added struct SortPath and sortPathTable

Wed Jun 18 17:41:23 1997  Steven Eker  <eker@lilac.csl.sri.com>

	* S_Term.hh: created

	* S_Symbol.hh: created

	* S_DagNode.hh: created

