Main Page | Namespace List | Class Hierarchy | Compound List | File List | Compound Members | File Members | Related Pages

Refutation.hpp

Go to the documentation of this file.
00001 
00027 //
00028 //  file Refutation.hpp
00029 //  implements output of refutations
00030 //  
00031 
00032 
00033 #ifndef __Refutation__
00034 #  define __Refutation__
00035 
00036 
00037 // class ostream;
00038 class Output;
00039 
00040 
00041 #include "List.hpp"
00042 #include "Unit.hpp"
00043 #include "VampireKernel.hpp"
00044 
00045 
00046 class Refutation
00047 {
00048  public:
00049   // constructors/destructors
00050   Refutation (const VampireKernel& kernel, 
00051               const Problem& problem);
00052   Unit condense () const; // return refutation in condensed form
00053   const VampireKernel& kernel () const;
00054   const Problem& problem () const;
00055 
00056  private:
00057   class Map; // defined in Refutation.cpp
00058 
00059   const VampireKernel& _kernel;
00060   const Problem& _problem;
00061   Unit _goal;
00062 
00063   Unit collect (const VampireKernel::Clause*, Map& map);
00064   UnitList collect (const VampireKernel::Clause::Ancestor* ancestors, Map& map);
00065   Unit condense (Unit root, Map& condenced) const; 
00066   UnitList condense (UnitList units, Map& condensed) const; 
00067 }; // class Refutation
00068 
00069 
00070 // **************** class Refutation, implementation ***********************
00071 
00072 
00073 inline
00074 const VampireKernel& Refutation::kernel () const
00075 {
00076   return _kernel;
00077 } // Refutation::kernel
00078 
00079 
00080 inline
00081 const Problem& Refutation::problem () const
00082 {
00083   return _problem;
00084 } // Refutation::problem
00085 
00086 
00087 #endif // __Refutation__

Generated on Sat Jun 28 15:08:58 2003 for Vampire by doxygen 1.3.2