cvc5.git
14 years agoFixing failing test in r521
Christopher L. Conway [Tue, 1 Jun 2010 02:02:07 +0000 (02:02 +0000)]
Fixing failing test in r521
Adding general support for associative operators in SMT v1 and v2

14 years agoIn order for splitting on demand to be able to retract clauses every translation...
Dejan Jovanović [Tue, 1 Jun 2010 01:26:24 +0000 (01:26 +0000)]
In order for splitting on demand to be able to retract clauses every translation must indeed be a clause (if possible). I've changed the top level CNF conversion to generate clauses, instead of introducing unit clauses for each assertion.

14 years agoFirst draft implementation of mkAssociative
Christopher L. Conway [Mon, 31 May 2010 21:55:40 +0000 (21:55 +0000)]
First draft implementation of mkAssociative

14 years agoAdding a couple of example from fuzzsmt to regress1.
Tim King [Sat, 29 May 2010 22:48:01 +0000 (22:48 +0000)]
Adding a couple of example from fuzzsmt to regress1.

14 years agoCouple of fixes to theory arith. pivotAndUpdate now multiplies by a_kj. And the table...
Tim King [Sat, 29 May 2010 02:58:18 +0000 (02:58 +0000)]
Couple of fixes to theory arith. pivotAndUpdate now multiplies by a_kj. And the tableau now simulates older pivots while adding a new row.

14 years agoAfter blasting the disjuncts, TheoryEngine rewrite needs to reinvoke itself. QF_LRA...
Tim King [Sat, 29 May 2010 00:14:09 +0000 (00:14 +0000)]
After blasting the disjuncts, TheoryEngine rewrite needs to reinvoke itself. QF_LRA is now no longer complaining about seeing nodes that can be rewritten to CONST_BOOLEAN.

14 years agoThis update enables TheoryArith to accept assertions that rewrite to true or false...
Tim King [Fri, 28 May 2010 22:17:04 +0000 (22:17 +0000)]
This update enables TheoryArith to accept assertions that rewrite to true or false. This is temporary and will be removed once TheoryEngine rewriting is more fully debugged.

14 years agoBug fixes for combining coefficients of rewritten nodes.
Tim King [Fri, 28 May 2010 22:09:08 +0000 (22:09 +0000)]
Bug fixes for combining coefficients of rewritten nodes.

14 years agoAdded printModel() to src/theory/arith/partial_model.cpp. This is a debugging utilit...
Tim King [Fri, 28 May 2010 22:06:58 +0000 (22:06 +0000)]
Added printModel() to src/theory/arith/partial_model.cpp.  This is a debugging utility that prints out the lower bound, upper bound, assignment, and the constraints that were asserted that caused the lower bound and upperbound to be asserted.

14 years agoA few changes to the organization of TheoryEngine rewriting. A few bug fixes for...
Tim King [Fri, 28 May 2010 22:01:18 +0000 (22:01 +0000)]
A few changes to the organization of TheoryEngine rewriting. A few bug fixes for it as well. make check should now work again.

14 years agoMoving the ITE removal from CnfStream to TheoryEngine, which is a bit closer to its...
Tim King [Fri, 28 May 2010 20:17:48 +0000 (20:17 +0000)]
Moving the ITE removal from CnfStream to TheoryEngine, which is a bit closer to its final destination. Added a basic rewriter to TheoryUF. (x=x rewrites to true.) Added DIVISION to src/expr/node_manager.cpp's getType. Fixed the theory returned for variables in theoryOf() for bool and arith. Fixed TheoryEngine rewrite children to properly handle APPLY_UFs. Removed the special case for equality in TheoryEngine rewrite. A few tests are currently broken due to deallocation errors. Morgan and I will try to commit a fix to this in a little bit.

14 years agofix bug #134: infinite deallocation loop
Morgan Deters [Thu, 27 May 2010 22:16:02 +0000 (22:16 +0000)]
fix bug #134: infinite deallocation loop

14 years agosmall cosmetic change to tests summary output
Morgan Deters [Thu, 27 May 2010 21:25:35 +0000 (21:25 +0000)]
small cosmetic change to tests summary output

14 years agoRemove isAtomic() as per 4/27/2010 meeting. Add comments about its potential design...
Morgan Deters [Thu, 27 May 2010 21:19:36 +0000 (21:19 +0000)]
Remove isAtomic() as per 4/27/2010 meeting.  Add comments about its potential design for later.  Resolves bug 113, invalidates bugs 93 and 94.

14 years agofix compiler comparison-signedness warnings
Morgan Deters [Thu, 27 May 2010 21:18:56 +0000 (21:18 +0000)]
fix compiler comparison-signedness warnings

14 years agoReverting this file to not include any comments. (Morgan's revision and my revision...
Tim King [Thu, 27 May 2010 20:57:24 +0000 (20:57 +0000)]
Reverting this file to not include any comments. (Morgan's revision and my revision were in conflict.)

14 years agoadded the ability to add custom expected stdout, stderr, and exit codes to smt and...
Morgan Deters [Thu, 27 May 2010 20:46:50 +0000 (20:46 +0000)]
added the ability to add custom expected stdout, stderr, and exit codes to smt and smt2 regressions; resolves bug 132

14 years agoPreregistration has been turned on. Highly experimental eager splitting support has...
Tim King [Thu, 27 May 2010 20:34:18 +0000 (20:34 +0000)]
Preregistration has been turned on. Highly experimental eager splitting support has been added.  Also a few bug fixes to Tableau.

14 years agoUse the newer automake test driver "parallel-tests". This driver:
Morgan Deters [Thu, 27 May 2010 19:49:17 +0000 (19:49 +0000)]
Use the newer automake test driver "parallel-tests".  This driver:

* keeps test logs around
* provides parallel testing functionality (with make -jN).

I've also added new functionality in test/Makefile.am which deletes old test logs, ensures that ALL tests are tried (even if units fail), and provides a color-coded summary at the end of the test run, which shows how many units, regressions (per level), and system tests failed (or passed), and provides a link to the log file for further information.

Resolves bug 117.

14 years agoAdding debug assertions on most TNode operations
Christopher L. Conway [Thu, 27 May 2010 18:39:36 +0000 (18:39 +0000)]
Adding debug assertions on most TNode operations

14 years agoAdding NodeManager::prepareToBeDestroyed() (Fixes: #128)
Christopher L. Conway [Thu, 27 May 2010 18:39:32 +0000 (18:39 +0000)]
Adding NodeManager::prepareToBeDestroyed() (Fixes: #128)

14 years agoAdding .cvc4_config to .gitignore
Christopher L. Conway [Thu, 27 May 2010 18:39:22 +0000 (18:39 +0000)]
Adding .cvc4_config to .gitignore

14 years agofix bug #111: errors in building lcov-all
Morgan Deters [Thu, 27 May 2010 17:55:39 +0000 (17:55 +0000)]
fix bug #111: errors in building lcov-all

14 years agofix bug 120; competition mode regression failures for intentionally-buggy input
Morgan Deters [Thu, 27 May 2010 04:08:33 +0000 (04:08 +0000)]
fix bug 120; competition mode regression failures for intentionally-buggy input

14 years ago . '+Outstanding case split in theory arith'
Tim King [Wed, 26 May 2010 22:41:54 +0000 (22:41 +0000)]
 . '+Outstanding case split in theory arith'

14 years agoAdding CnfStreamBlack tests for all Boolean connectives
Christopher L. Conway [Wed, 26 May 2010 22:10:10 +0000 (22:10 +0000)]
Adding CnfStreamBlack tests for all Boolean connectives

14 years agoFixing test failures in CnfStreamBlack (it was the test's fault)
Christopher L. Conway [Wed, 26 May 2010 21:50:18 +0000 (21:50 +0000)]
Fixing test failures in CnfStreamBlack (it was the test's fault)

14 years agoAdding documentation to my-configure
Christopher L. Conway [Wed, 26 May 2010 21:50:13 +0000 (21:50 +0000)]
Adding documentation to my-configure

14 years agoFixing my-configure
Christopher L. Conway [Wed, 26 May 2010 20:54:40 +0000 (20:54 +0000)]
Fixing my-configure

14 years agoAdding contrib/my-configure
Christopher L. Conway [Wed, 26 May 2010 20:52:42 +0000 (20:52 +0000)]
Adding contrib/my-configure

14 years agoAdding CnfStream unit tests
Christopher L. Conway [Wed, 26 May 2010 20:52:37 +0000 (20:52 +0000)]
Adding CnfStream unit tests

14 years agoCDMap<> and CDOmap<> fixes to resolve bug 123
Morgan Deters [Wed, 26 May 2010 20:29:53 +0000 (20:29 +0000)]
CDMap<> and CDOmap<> fixes to resolve bug 123

14 years agoFix for bug 131. Added some additional debugging assertions for the arith rewriter.
Tim King [Wed, 26 May 2010 19:58:36 +0000 (19:58 +0000)]
Fix for bug 131. Added some additional debugging assertions for the arith rewriter.

14 years agoCDMap: fix bug 130
Morgan Deters [Wed, 26 May 2010 18:02:59 +0000 (18:02 +0000)]
CDMap: fix bug 130

14 years agoPrevent lexer errors being raised if a parser error is pending.
Christopher L. Conway [Wed, 26 May 2010 17:53:33 +0000 (17:53 +0000)]
Prevent lexer errors being raised if a parser error is pending.
This fixes a bug Dejan has often whined about but never filed.

14 years agoAdded Rational constructors that only take a numerator. The const char* Rational...
Tim King [Tue, 25 May 2010 21:45:18 +0000 (21:45 +0000)]
Added Rational constructors that only take a numerator. The const char* Rational and Integer constructors are now explicit. This means that 'Integer = 3;' and so on are no longer permitted.  This closes bug 121.

14 years agoSome initial changes to allow for lemmas on demand.
Dejan Jovanović [Tue, 25 May 2010 05:30:40 +0000 (05:30 +0000)]
Some initial changes to allow for lemmas on demand.

To be done:
* Add erasable map Clause* to bool to minisat (backtracks with the solver)
* Add map from Clause* to Node (clauses that came from a node)
* Add reference counting Literal -> Node to CNFManager
* If Literal -> Node refcount goes to zero, the clauses of Node can be erased (if eresable)
* If clause is erased for each L in clause L -> Node refcount goes down

14 years agoSmall fixes to TheoryArith. Added a hack to make Integers a subtype of Real. See...
Tim King [Fri, 21 May 2010 19:27:18 +0000 (19:27 +0000)]
Small fixes to TheoryArith.  Added a hack to make Integers a subtype of Real. See Bug 127 for a discussion of the hack.  I am also adding a regression test that does not work (bug 128). It is not enabled so make check should still be fine.

14 years agoAdded the division symbol to the parser, and minimal support for it in TheoryArith...
Tim King [Thu, 20 May 2010 22:51:48 +0000 (22:51 +0000)]
Added the division symbol to the parser, and minimal support for it in TheoryArith.  Also directly hacked in support for theoryOf() to work for equalities where the left hand is a variable of type real.

14 years agoSignificant revision to theory/arith. The new draft has a lot of small bug fixes...
Tim King [Wed, 19 May 2010 21:20:54 +0000 (21:20 +0000)]
Significant revision to theory/arith.  The new draft has a lot of small bug fixes and organizational changes.  The theory is now enabled to perform checking in the TheoryEngine. This draft can now solve 2 new regression tests test/regress/regress0/ineq_slack.smt and test/regress/regress0/ineq_basic.smt. There is also a small bug fix inside src/expr/attribute.h.

14 years agoAdding debugging code in PropEngine/CnfStream
Christopher L. Conway [Fri, 14 May 2010 22:50:17 +0000 (22:50 +0000)]
Adding debugging code in PropEngine/CnfStream

14 years agoAdding ITE tests
Christopher L. Conway [Fri, 14 May 2010 22:50:13 +0000 (22:50 +0000)]
Adding ITE tests

14 years agoAdding rudimentary ITE handling in CnfStream
Christopher L. Conway [Fri, 14 May 2010 03:02:40 +0000 (03:02 +0000)]
Adding rudimentary ITE handling in CnfStream

14 years agoVirtualizing interface between CnfStream and SatSolver
Christopher L. Conway [Fri, 14 May 2010 02:58:36 +0000 (02:58 +0000)]
Virtualizing interface between CnfStream and SatSolver

14 years agoMinor refactorings to PropEngine, SatSolver
Christopher L. Conway [Thu, 13 May 2010 05:30:30 +0000 (05:30 +0000)]
Minor refactorings to PropEngine, SatSolver

14 years agoMinor refactorings and corrections to comments
Christopher L. Conway [Thu, 13 May 2010 05:30:20 +0000 (05:30 +0000)]
Minor refactorings and corrections to comments

14 years agoAdding ParserBuilder, reducing visibility of Parser and Input constructors
Christopher L. Conway [Wed, 12 May 2010 20:29:24 +0000 (20:29 +0000)]
Adding ParserBuilder, reducing visibility of Parser and Input constructors
Adding Smt2 subclass of Parser
Checking for multiple calls to set-logic in SMT v2

14 years agotrue and false are only defined if the core theory is loaded in SMT v2 strict mode
Christopher L. Conway [Wed, 12 May 2010 20:29:17 +0000 (20:29 +0000)]
true and false are only defined if the core theory is loaded in SMT v2 strict mode

14 years agoRefactoring parser tests
Christopher L. Conway [Wed, 12 May 2010 15:15:58 +0000 (15:15 +0000)]
Refactoring parser tests

14 years agoAdding class Smt2 to handle declaration of logic and theory symbols
Christopher L. Conway [Wed, 12 May 2010 15:15:53 +0000 (15:15 +0000)]
Adding class Smt2 to handle declaration of logic and theory symbols

14 years agoTightening lexer rules for numerals in SMT v2
Christopher L. Conway [Fri, 7 May 2010 19:44:05 +0000 (19:44 +0000)]
Tightening lexer rules for numerals in SMT v2

14 years agomake CVC4::Rational public (fixes broken build)
Morgan Deters [Fri, 7 May 2010 00:41:06 +0000 (00:41 +0000)]
make CVC4::Rational public (fixes broken build)

14 years agoAdding --strict-parsing option
Christopher L. Conway [Thu, 6 May 2010 21:11:43 +0000 (21:11 +0000)]
Adding --strict-parsing option

14 years agoAdding AntlrInput::tokenTextSubstr
Christopher L. Conway [Thu, 6 May 2010 21:11:37 +0000 (21:11 +0000)]
Adding AntlrInput::tokenTextSubstr

14 years agoAdding tests for Rational::fromDecimal
Christopher L. Conway [Thu, 6 May 2010 20:08:04 +0000 (20:08 +0000)]
Adding tests for Rational::fromDecimal

14 years agoAdding tests for Integer::pow
Christopher L. Conway [Thu, 6 May 2010 20:08:00 +0000 (20:08 +0000)]
Adding tests for Integer::pow

14 years agoAdding bit-vector constants in SMT2
Christopher L. Conway [Thu, 6 May 2010 20:07:56 +0000 (20:07 +0000)]
Adding bit-vector constants in SMT2

14 years agoImplementing Rational::fromDecimal and adding support for real constants in SMT parsers
Christopher L. Conway [Thu, 6 May 2010 20:07:51 +0000 (20:07 +0000)]
Implementing Rational::fromDecimal and adding support for real constants in SMT parsers

14 years agofixing the nightly failure. TypeCheckingException is now marked with CVC4_PUBLIC
Dejan Jovanović [Thu, 6 May 2010 15:07:53 +0000 (15:07 +0000)]
fixing the nightly failure. TypeCheckingException is now marked with CVC4_PUBLIC

14 years agochanging the interface to bit-vector constant constructor
Dejan Jovanović [Wed, 5 May 2010 21:23:18 +0000 (21:23 +0000)]
changing the interface to bit-vector constant constructor

14 years agobit-vector constant constructor from string
Dejan Jovanović [Wed, 5 May 2010 21:05:30 +0000 (21:05 +0000)]
bit-vector constant constructor from string

14 years agobug fixes for types, old unit tests for types work now
Dejan Jovanović [Wed, 5 May 2010 19:06:07 +0000 (19:06 +0000)]
bug fixes for types, old unit tests for types work now

14 years agoAdding simple SMT2 parser tests
Christopher L. Conway [Tue, 4 May 2010 22:27:40 +0000 (22:27 +0000)]
Adding simple SMT2 parser tests

14 years agoDisabling semantic checks in competition mode.
Christopher L. Conway [Tue, 4 May 2010 21:57:57 +0000 (21:57 +0000)]
Disabling semantic checks in competition mode.
Adding function debugTagIsOn to safely test for tracing in any
compilation mode.
Removing irrelevant command-line options from usage message
in muzzled mode.

14 years agoMinor change to SMT v2 grammar
Christopher L. Conway [Tue, 4 May 2010 21:57:53 +0000 (21:57 +0000)]
Minor change to SMT v2 grammar

14 years agoAdding general support for SMT2 set-info command
Christopher L. Conway [Tue, 4 May 2010 19:31:24 +0000 (19:31 +0000)]
Adding general support for SMT2 set-info command

14 years agoHandling SMT 2.0 symbols and info flags
Christopher L. Conway [Tue, 4 May 2010 19:31:19 +0000 (19:31 +0000)]
Handling SMT 2.0 symbols and info flags

14 years agoType-checking classes and hooks (not tested yet).
Dejan Jovanović [Tue, 4 May 2010 03:42:56 +0000 (03:42 +0000)]
Type-checking classes and hooks (not tested yet).

14 years agomore reasonable smt 2.0 benchmark test
Morgan Deters [Mon, 3 May 2010 22:08:29 +0000 (22:08 +0000)]
more reasonable smt 2.0 benchmark test

14 years agomain driver supports .smt2 input, added an smt2 regression (currently broken, so...
Morgan Deters [Mon, 3 May 2010 22:05:44 +0000 (22:05 +0000)]
main driver supports .smt2 input, added an smt2 regression (currently broken, so it doesn't run with "make check")

14 years agotheory detection fixes; fixes build breakage when you delete build directories
Morgan Deters [Mon, 3 May 2010 21:31:55 +0000 (21:31 +0000)]
theory detection fixes; fixes build breakage when you delete build directories

14 years agoSmall mistake in previous commit
Christopher L. Conway [Mon, 3 May 2010 21:25:47 +0000 (21:25 +0000)]
Small mistake in previous commit

14 years agoImporting ANTLR3 lexer nextToken function to avoid escaped exceptions.
Christopher L. Conway [Mon, 3 May 2010 20:52:41 +0000 (20:52 +0000)]
Importing ANTLR3 lexer nextToken function to avoid escaped exceptions.

14 years agosmt parser for bit-vectors
Dejan Jovanović [Sun, 2 May 2010 02:20:17 +0000 (02:20 +0000)]
smt parser for bit-vectors

14 years agoFix for the last night's build errors (type that broke proper expression generation).
Dejan Jovanović [Sat, 1 May 2010 21:00:41 +0000 (21:00 +0000)]
Fix for the last night's build errors (type that broke proper expression generation).

14 years agoAdding missed antlr_input files
Christopher L. Conway [Sat, 1 May 2010 20:45:47 +0000 (20:45 +0000)]
Adding missed antlr_input files

14 years agoFixing private/public header warnings in parser library
Christopher L. Conway [Sat, 1 May 2010 20:44:09 +0000 (20:44 +0000)]
Fixing private/public header warnings in parser library

14 years agoAdding comments to bounded token files
Christopher L. Conway [Sat, 1 May 2010 20:43:30 +0000 (20:43 +0000)]
Adding comments to bounded token files

14 years agoFix for bug 115, mapping was going in the wrong direction.
Dejan Jovanović [Fri, 30 Apr 2010 23:55:18 +0000 (23:55 +0000)]
Fix for bug 115, mapping was going in the wrong direction.

14 years agoAdded the capability to construct expressions by passing the operator instead of...
Dejan Jovanović [Thu, 29 Apr 2010 23:42:41 +0000 (23:42 +0000)]
Added the capability to construct expressions by passing the operator instead of the kind, i.e.

Expr op = ..."f"...
em.mkExpr(op, children);

Operator kinds are automatically associated with the enclosing expression kind in the DSL and generated.

14 years ago(Not) Handling parameterized sorts in SMT v2
Christopher L. Conway [Thu, 29 Apr 2010 19:45:24 +0000 (19:45 +0000)]
(Not) Handling parameterized sorts in SMT v2

14 years agoMinor fix to SMT v2 parser tests
Christopher L. Conway [Thu, 29 Apr 2010 19:45:21 +0000 (19:45 +0000)]
Minor fix to SMT v2 parser tests

14 years agoFirst draft implementation of SMT v2 parser
Christopher L. Conway [Thu, 29 Apr 2010 16:53:19 +0000 (16:53 +0000)]
First draft implementation of SMT v2 parser

14 years agoSMT parser has to map 'Real' to RealType
Christopher L. Conway [Wed, 28 Apr 2010 20:19:29 +0000 (20:19 +0000)]
SMT parser has to map 'Real' to RealType

14 years agoMerging the arithmetic theory draft (lra-init) back into the main trunk. This should...
Tim King [Wed, 28 Apr 2010 20:14:17 +0000 (20:14 +0000)]
Merging the arithmetic theory draft (lra-init) back into the main trunk.  This should not affect other parts of the system. This code is untested, and is volatile.  It is going to be improved in the future so don't pick on it too much.  I am merging this code in its current state back into the main trunk because it was getting unruly to keep merging the updated trunk back into the branch.

14 years agoadding integer and real types to the public interface
Dejan Jovanović [Wed, 28 Apr 2010 19:51:34 +0000 (19:51 +0000)]
adding integer and real types to the public interface

14 years agoBuild fix for parser
Dejan Jovanović [Wed, 28 Apr 2010 19:42:52 +0000 (19:42 +0000)]
Build fix for parser

14 years agoRefactoring Input/Parser code to support external manipulation of the parser state.
Christopher L. Conway [Wed, 28 Apr 2010 18:34:11 +0000 (18:34 +0000)]
Refactoring Input/Parser code to support external manipulation of the parser state.

14 years agoAdded theory/arith/kind and enabled the smt parser to read in these symbols. Also...
Tim King [Wed, 28 Apr 2010 14:52:22 +0000 (14:52 +0000)]
Added theory/arith/kind and enabled the smt parser to read in these symbols. Also a bug fix to a couple of unit tests.

14 years agoAdding Integer and Rational constants to SMT
Christopher L. Conway [Tue, 27 Apr 2010 20:44:47 +0000 (20:44 +0000)]
Adding Integer and Rational constants to SMT

14 years agoAdding a bit of documentation to the SMT parser
Christopher L. Conway [Tue, 27 Apr 2010 16:54:39 +0000 (16:54 +0000)]
Adding a bit of documentation to the SMT parser

14 years agoSome cleanup. Also added the integer and real types.
Dejan Jovanović [Mon, 26 Apr 2010 23:16:18 +0000 (23:16 +0000)]
Some cleanup. Also added the integer and real types.

14 years agoAdding the intermediary TypeNode to represent (and separate) the Types at the Node...
Dejan Jovanović [Mon, 26 Apr 2010 21:37:34 +0000 (21:37 +0000)]
Adding the intermediary TypeNode to represent (and separate) the Types at the Node level.

14 years agoFixing compiler error for optimized builds
Christopher L. Conway [Sat, 17 Apr 2010 00:43:42 +0000 (00:43 +0000)]
Fixing compiler error for optimized builds

14 years agoAdding info in the minisat README
Dejan Jovanović [Thu, 15 Apr 2010 19:07:50 +0000 (19:07 +0000)]
Adding info in the minisat README

14 years agoImplementing missing NodeBuilder::constructNode
Christopher L. Conway [Thu, 15 Apr 2010 17:26:29 +0000 (17:26 +0000)]
Implementing missing NodeBuilder::constructNode

14 years agoEnhancements to NodeManager tests, taking advantage of new Type implementation
Christopher L. Conway [Thu, 15 Apr 2010 16:56:11 +0000 (16:56 +0000)]
Enhancements to NodeManager tests, taking advantage of new Type implementation

14 years agoRemoving horrible, system-locking option from Eclipse Make preferences.
Christopher L. Conway [Thu, 15 Apr 2010 16:56:09 +0000 (16:56 +0000)]
Removing horrible, system-locking option from Eclipse Make preferences.

14 years agoMoving debug output in ~ContextObj under a conditional. Should fix most of the slowdo...
Christopher L. Conway [Thu, 15 Apr 2010 16:56:06 +0000 (16:56 +0000)]
Moving debug output in ~ContextObj under a conditional. Should fix most of the slowdown from r413.

14 years agoMarging from types 404:415, changes: Massive
Dejan Jovanović [Wed, 14 Apr 2010 19:06:53 +0000 (19:06 +0000)]
Marging from types 404:415, changes: Massive

* Types are now represented as nodes in the attribute table and are managed, i.e. you can say
    Type booleanType = d_nodeManager->booleanType();
    Type t = d_nodeManager->mkFunctionType(booleanType, booleanType);
    FunctionType ft = (FunctionType)t;
    Assert(ft.getArgTypes()[0], booleanType);
* The attributes now have a table for Nodes and a table for TNodes (both should be used with caution)
* Changes the way nodes are extracted from NodeBuilder, added several methods to
  extract a Node, NodeValue, or Node*, with corresponding methods for extraction
* Used the above in the construction of Expr and Type objects
* The NodeManager now destroys the attributes in the destructor by pausing the
  garbage collection
* To achive destruction a flag d_inDesctruction has been added to loosen the assertion
  in NodeValue::dec() (there might be -refcount TNodes leftover)
* Beginnings of the Bitvector constants using GMP

Not yet in tiptop phase, needs more documentation, and Types should be pulled out to TypeNodes eventually. Also, the types are currently defined in the builting_kinds, and I need to add these to the theory specific definitions with special 'type' constructs.

I hate branching and merging.