set_theory
set_theory,
an Octave code which
demonstrates how settheoretic operations can be carried out.
We assume that a set is represented by a strictly ascending sequence
of positive integers. We might think of a universal set U = 1 : N
in cases where all our subsets will have elements between 1 and N.
Set theoretic operations include

definition using a numeric property: A = find ( mod ( U, 3 ) = 1 );

definition using an explicit list: A = [ 1, 3, 8];

unique: creating a set from the unique elements of a list:
A = unique ( [ 1, 3, 8, 3, 3, 1, 7, 3, 1, 1 ] );

union: C = union ( A, B );

intersection: C = intersect ( A, B );

symmetric difference: C = setxor ( A, B );

complement with respect to the universal set: B = setdiff ( U, A );

complement with respect to another set: C = setdiff ( B, A );

cardinality: n = length ( A );

membership: true/false = ismember ( a, A );

subset: true/false = ismember ( B, A );

addition of one element: A = unique ( [ A; a ] );

deletion of one element: A = setxor ( A, a );

indexing one element: i = find ( A == a );
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the MIT license
Languages:
set_theory is available in
a C version and
a C++ version and
a Fortran90 version and
a MATLAB version and
an Octave version.
Related Data and Programs:
set_theory_test
combo,
an Octave code which
handles combinatorial problems, by Kreher and Stinson;
subset,
an Octave code which
ranks, unranks, and generates random subsets, combinations,
permutations, and so on;
Reference:

Charles Pinter,
Set Theory,
AddisonWesley, 1971,
LC: QA248.P55.
Source Code:
Last revised on 12 June 2019.