We introduce in this paper a certain mathematical model of information storage and retrieval system. This is based on a certain family of languages intermediate between sentential and predicate calculi. To each language there is a corresponding semantics. We investigate our languages from the logical point of view showing their completeness. This is done by exhibiting nice and natural sets of axioms for the i.s.r. systems. The class of models for our languages is then examined by the algebraical means. We introduce our algebraical operations in such a way that they correspond to the actions performed while updating the system (in various ways). We also examine the boolean algebra of describable sets (of documents). Having done all this we propose a new implementational algorithm for the i.s.r. systems based on the form of atoms in the boolean algebra of describable sets. In the appendix we show how to compute the code numbers of these atoms (called generalized components). Let us also note that the class of queries relevant to the system is quite rich in our case; we are not only able to ask questions of the form “what are the documents fitting the following description”, but we may also ask certain general questions on the system as a whole.