#include "dimension.h"
#include "printer.h"
#include "parser.h"
#include "gfanapplication.h"

class KrullDimensionApplication : public GFanApplication
{
  FieldOption theFieldOption;
public:
  bool includeInDefaultInstallation()
  {
    return false;
  }
  KrullDimensionApplication()
  {
    registerOptions();
  }
  char *name()
  {
    return "_krulldimension";
  }
  int main()
  {
    FileParser P(Stdin);
    PolynomialSet g=P.parsePolynomialSet();
    AsciiPrinter(Stdout).printInteger(krullDimension(g));
    return 0;
  }
  const char *helpText()
  {
    return "Takes a GROEBNER basis of an ideal and computes the Krull dimension of k[a,...,_]/ideal. NOTE THAT THIS DEPENDS ON THE DIMENSION OF THE POLYNOMIAL RING WHICH IS IMPLICITLY GIVEN.\n"
;
  }
};

static KrullDimensionApplication theApplication;
