Termino log ica l Knowledge Representation Systems (TKRSs ) are tools for designing and using knowledge bases tha t make use of te rminological languages (or concept languages). The T K R S we consider in this paper is of pract i cal interest since it goes beyond the capabi l it ies of presently avai lable T K R S s . F i rs t , our T K R S is equipped w i th a h ighly expressive concept, language, called ALCNR, inc lud ing general complements of concepts, number restrict ions and role con junct ion . Second, i t allows one to express inclusion statements between general concepts, in par t icu lar to express terminolog ica l cycles. We provide a sound, complete and te rm ina t i ng calculus for reasoning in A L C N R k n o w l e d g e bases based on the general technique of constraint systems.