Set Theory 0.30.a

by rosivaldo (modified: 2018 Aug 27)


Rosivaldo Fernandes Alves

August 26, 2018


This software project, called set_theory, aims to provide the Eiffel (programming language) Community with a rich and expressive library of classes modeled upon the concepts of set theory. In order to get details about motivations, design decisions and a sketch of road-map, please see

In the current state (, this project deviates significantly from the one firstly released at Instead of rendering here a lengthy justification for the adopted changes, I prefer to answer any question on that or any other aspect of the project via e-mail ( or at

Release notes


  • General refactoring removed redundant code, saving some 1910 lines of code.
  • Documentation:
    • due too a bug (not yet understood) in EiffelStudio’s documentation generator, the system HTML documentation (file://$(system_path)/doc/html/index.html) was not updated to reflect the current state of the system; inside EiffelStudio, however, clusters’ diagrams were updated properly.


  • Implemented features: "sets" clusters, which consist of
    • sts_sets cluster: minimal specification of core concepts in set theory;
    • stp_sets_properties cluster: extended specification of core concepts in set theory;
    • sti_sets cluster: implementation of core concepts in set theory, grounded on previous clusters;
    • stt_sets_tests cluster: test suites for the implementation in sti_sets.
  • Pending features:
    • numbers-related clusters: numeric sets, i.e. N, Z, R and C, specified, implemented and tested according to all previous clusters.

Major releases ahead

Once the current release is consolidated, I will add to the project the clusters “relations”, “functions” and “operations”.