Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

/magnus/back_end/SMApps/include/AreEltsEqual.h

Go to the documentation of this file.
00001 /*
00002  *   $Id: AreEltsEqual.h,v 1.5 1998/04/19 00:24:25 bormotov Exp $
00003  */
00004  
00005 // Copyright (C) 1995 The New York Group Theory Cooperative
00006 // See magnus/doc/COPYRIGHT for the full notice.
00007 //
00008 // Contents: Declaration of class AreEltsEqual
00009 //
00010 // Principal Author: Dmitry Bormotov
00011 //
00012 // Status: in progress
00013 //
00014 // Revision History:
00015 //
00016 
00017 
00018 #ifndef _AreEltsEqual_h_
00019 #define _AreEltsEqual_h_
00020 
00021 
00022 #include "Supervisor.h"
00023 #include "SetOfWordsChecker.h"
00024 #include "NilpotentProblems.h"
00025 #include "GeneticProblems.h"
00026 
00027 
00028 // --------------------------- AreEltsEqual -------------------------------- //
00029 
00030 
00031 class AreEltsEqual : public Supervisor
00032 {
00033 
00034 public:
00035 
00036   /////////////////////////////////////////////////////////////////////////
00037   //                                                                     //
00038   // Constructors:                                                       //
00039   //                                                                     //
00040   /////////////////////////////////////////////////////////////////////////
00041 
00042   AreEltsEqual( const class SMWord&, const class SMWord& );
00043 
00044   /////////////////////////////////////////////////////////////////////////
00045   //                                                                     //
00046   // Accessors:                                                          //
00047   //                                                                     //
00048   /////////////////////////////////////////////////////////////////////////
00049 
00050   /////////////////////////////////////////////////////////////////////////
00051   //                                                                     //
00052   // Front End Interfacing:                                              //
00053   //                                                                     //
00054   /////////////////////////////////////////////////////////////////////////
00055 
00056   void viewStructure(ostream& ostr) const;  // overrides SMObject
00057 
00058   /////////////////////////////////////////////////////////////////////////
00059   //                                                                     //
00060   // Control:                                                            //
00061   //                                                                     //
00062   /////////////////////////////////////////////////////////////////////////
00063 
00064   void takeControl( );         // overrides ComputationManager
00065 
00066   /////////////////////////////////////////////////////////////////////////
00067   //                                                                     //
00068   // State Transitions:                                                  //
00069   //                                                                     //
00070   /////////////////////////////////////////////////////////////////////////
00071 
00072   void start( ) { }            // overrides ComputationManager
00073 
00074   void terminate( ) { }        // overrides ComputationManager
00075 
00076 
00077 private:
00078 
00079   /////////////////////////////////////////////////////////////////////////
00080   //                                                                     //
00081   // Data Members:                                                       //
00082   //                                                                     //
00083   /////////////////////////////////////////////////////////////////////////
00084 
00085   const SMWord& word1;
00086 
00087   const SMWord& word2;
00088 
00089   SetOfWordsChecker theChecker;
00090 
00091 
00092   // GCM components this uses; only for automatic ARC passing:
00093 
00094   MirrorSubordinate normalClosure;
00095 
00096   MirrorSubordinate abelianInvariants;
00097 
00098   MirrorSubordinate kbSupervisor;
00099 
00100   MirrorSubordinate agSupervisor;
00101 
00102   MirrorSubordinate nilpotentQuotients;
00103 
00104   Subordinate<AreEltsEqual,NilpotentWPInQuotients> nilpotentWPInQuotients;
00105 
00106   MirrorSubordinate computeBasis;
00107 
00108   Subordinate<AreEltsEqual,NilpotentWP> nilpotentWP;
00109 
00110   Subordinate<AreEltsEqual, GeneticWPCM> genetic;
00111 };
00112 
00113 #endif

Generated at Tue Jun 19 09:49:40 2001 for Magnus Classes by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001