DEFINITION Sets; (* portable *)

 IMPORT Texts;

 CONST
  size = 32;
 PROCEDURE Clear (VAR s: ARRAY OF SET);
 PROCEDURE Fill (VAR s: ARRAY OF SET);
 PROCEDURE Incl (VAR s: ARRAY OF SET; x: INTEGER);
 PROCEDURE Excl (VAR s: ARRAY OF SET; x: INTEGER);
 PROCEDURE In (VAR s: ARRAY OF SET; x: INTEGER): BOOLEAN;
 PROCEDURE Includes (VAR s1, s2: ARRAY OF SET): BOOLEAN;
 PROCEDURE Elements (VAR s: ARRAY OF SET; VAR lastElem: INTEGER): INTEGER;
 PROCEDURE Empty (VAR s: ARRAY OF SET): BOOLEAN;
 PROCEDURE Equal (VAR s1, s2: ARRAY OF SET): BOOLEAN;
 PROCEDURE Different (VAR s1, s2: ARRAY OF SET): BOOLEAN;
 PROCEDURE Unite (VAR s1, s2: ARRAY OF SET);
 PROCEDURE Differ (VAR s1, s2: ARRAY OF SET);
 PROCEDURE Intersect (VAR s1, s2, s3: ARRAY OF SET);
 PROCEDURE Print (VAR f: Texts.Writer; s: ARRAY OF SET; w, indent: INTEGER);

END Sets.