#############################################################################
##
#X  now read all the definition parts
##
ReadLib( "tuples.gd"   );
ReadLib( "rvecempt.gd" );

ReadLib( "extaset.gd"  );
ReadLib( "extlset.gd"  );
ReadLib( "extrset.gd"  );
ReadLib( "extuset.gd"  );

ReadLib( "dict.gd"  );

ReadLib( "mapping.gd"  );
ReadLib( "mapphomo.gd" );
ReadLib( "relation.gd");

ReadLib( "magma.gd"    );
ReadLib( "mgmideal.gd"    );
ReadLib( "mgmhom.gd" );
ReadLib( "mgmadj.gd"    );
ReadLib( "mgmcong.gd");
ReadLib( "semicong.gd" );
ReadLib( "semigrp.gd"  );
ReadLib( "smgideal.gd" );
ReadLib( "monoid.gd"   );
ReadLib( "grp.gd"      );

ReadLib( "addmagma.gd" );
ReadLib( "addcoset.gd" );
ReadLib( "semiring.gd" );
ReadLib( "ring.gd"     );
ReadLib( "matrix.gd"   );
ReadLib( "matint.gd"   );
ReadLib( "matblock.gd" );
ReadLib( "ideal.gd"    );
ReadLib( "module.gd"   );
ReadLib( "basis.gd"    );
ReadLib( "basismut.gd" );
ReadLib( "vspc.gd"     );
ReadLib( "vspchom.gd"  );
ReadLib( "zlattice.gd" );
ReadLib( "algebra.gd"  );
ReadLib( "mgmring.gd"  );
ReadLib( "algfp.gd"    );
ReadLib( "alglie.gd"   );
ReadLib( "algsc.gd"    );
ReadLib( "alghom.gd"   );
ReadLib( "liefam.gd"   );
ReadLib( "algrep.gd"   );
ReadLib( "lierep.gd"   );
ReadLib( "integer.gd"  );
ReadLib( "numtheor.gd" );
ReadLib( "contfrac.gd" );

ReadLib( "string.gd"   );

ReadLib( "ratfun.gd"   );

ReadLib( "field.gd"    );
ReadLib( "zmodnz.gd"   );
ReadLib( "cyclotom.gd" );
ReadLib( "fldabnum.gd" );
ReadLib( "padics.gd"   );
ReadLib( "ringpoly.gd" );
ReadLib( "upoly.gd"    );
ReadLib( "polyfinf.gd"  );
ReadLib( "polyrat.gd"  );
ReadLib( "polyconw.gd" );
ReadLib( "algfld.gd"   );
ReadLib( "meataxe.gd"  );

ReadLib( "unknown.gd"  );

ReadLib( "word.gd"     );
ReadLib( "wordass.gd"  );


# files dealing with rewriting systems
ReadLib( "rws.gd"      );
ReadLib( "rwspcclt.gd" );
ReadLib( "rwsgrp.gd"   );
ReadLib( "rwspcgrp.gd" );
ReadLib( "groebner.gd" );


# files dealing with polycyclic generating systems
ReadLib( "pcgs.gd"     );
ReadLib( "pcgsind.gd"  );
ReadLib( "pcgspcg.gd"  );
ReadLib( "pcgsmodu.gd" );
ReadLib( "pcgsperm.gd" );
ReadLib( "pcgsspec.gd" );


# files dealing with finite polycyclic groups
ReadLib( "grppc.gd"    );
ReadLib( "grppcnrm.gd" );

ReadLib( "grptbl.gd"   );

ReadLib( "grpperm.gd"  );
ReadLib( "grpprmcs.gd" );
ReadLib( "stbcbckt.gd" );
ReadLib( "ghom.gd"     );
ReadLib( "ghompcgs.gd" );
ReadLib( "gprd.gd"     );
ReadLib( "ghomperm.gd" );
ReadLib( "gpprmsya.gd" );

ReadLib( "addgphom.gd" );

ReadLib( "grpnames.g"  );
ReadLib( "grpnames.gd" );

# files dealing with quotient computations
ReadLib( "quotsys.gd" );
ReadLib( "pquot.gd" );

# family predicates (needed for all 'InstallMethod' and oprt.gd)
ReadLib( "fampred.g"   );

ReadLib( "oprt.gd"     );
ReadLib( "partitio.gd" );
ReadLib( "stbc.gd"     );
ReadLib( "clas.gd"     );
ReadLib( "clashom.gd"  );
ReadLib( "csetgrp.gd"  );
ReadLib( "factgrp.gd"  );
ReadLib( "grpreps.gd" );
ReadLib( "grppcrep.gd" );

ReadLib( "onecohom.gd" );
ReadLib( "grppccom.gd" );

ReadLib( "twocohom.gd" );
ReadLib( "grppcext.gd");
ReadLib( "grppcfp.gd");
ReadLib( "randiso.gd");

ReadLib( "schur.gd" );

ReadLib( "grplatt.gd"  );
ReadLib( "oprtglat.gd" );
ReadLib( "grppclat.gd" );

ReadLib( "grppcaut.gd" );

ReadLib( "straight.gd");

# files dealing with fp groups
ReadLib( "grpfp.gd"    );
ReadLib( "grpfree.gd"  );
ReadLib( "sgpres.gd" );
ReadLib( "tietze.gd" );
ReadLib( "ghomfp.gd" );

# files dealing with trees and hash tables
ReadLib( "hash.gd"     );


# files needed for deep thought
ReadLib( "dt.g" );


ReadLib( "integer.gi"  ); # needed for CoefficientsQadic
ReadLib( "list.gi"     ); # was too early
ReadLib( "set.gi"      );
ReadLib( "wpobj.gi"    );

# files dealing with nice monomorphism
# grpnice uses some family predicates, so fampred.g must be known
ReadLib( "grpnice.gd"  );
ReadLib( "morpheus.gd" );


# files dealing with matrix groups (grpffmat.gd needs grpnice.gd)
ReadLib( "grpmat.gd"   );
ReadLib( "grpffmat.gd" );
ReadLib( "grpramat.gd" );

# group library
ReadGrp( "basic.gd"    );
ReadGrp( "classic.gd"  );
ReadGrp( "perf.gd"     );
ReadGrp( "suzuki.gd"   );
ReadGrp( "ree.gd"   );
ReadGrp( "imf.gd"      );
ReadGrp( "glzmodmz.gd" );

ReadLib( "orders.gd"  );

# files dealing with semigroups - second layer
ReadLib( "trans.gd");
ReadLib( "fastendo.gd");
ReadLib( "fpsemi.gd");
ReadLib( "fpmon.gd");
ReadLib( "rwssmg.gd");
ReadLib( "kbsemi.gd");
ReadLib( "tcsemi.gd");
ReadLib( "semirel.gd");
ReadLib( "semitran.gd");
ReadLib( "reesmat.gd");
ReadLib("semiquo.gd");

# the help system
ReadLib( "pager.gd"    );
ReadLib( "helpbase.gd" );
ReadLib( "helpview.gd" );
ReadLib( "helpt2t.gd" );
ReadLib( "helpdef.gd" );

#X  files dealing with character tables and class functions
# (this needs to be here for using `CharacterDegrees' in the library.)
ReadLib( "ctbl.gd"     );

# prototyping utilities
ReadLib("proto.gd");

ReadLib("other.gd");

ReadLib("gasman.gd");

#############################################################################
##
#X  files dealing with subgroup chains
##
ReadLib("utils.gd");
ReadLib("quogphom.gd");
ReadLib("gptransv.gd");
ReadLib("grpchain.gd");
ReadLib("rss.gd");
ReadLib("basicim.gd");
ReadLib("solmxgrp.gd");

