2.7. Products and powerset

Cartesian product of two sets

For any two sets E and F, the (cartesian) product E×F is the set of (x,y) where xE and yF.
E×F = ∐xE F

iI
Ei =
iI
{iEiI×
iI
Ei
(EE′ ∧ FF′) ⇒ E×FE′×F
E×∅ = ∅ = ∅×E
For any graph R,

RE×F ⇔ (Dom RE ∧ Im RF)
R|E = R∩(E× Im R)

Quantifiers over a product have equivalent curried views:

(∃(x,y)∈E×F, A(x,y)) ⇔ (∃xE, ∃yF, A(x,y)) ⇔ (∃yF, ∃xE, A(x,y))
(∀(x,y)∈E×F, A(x,y)) ⇔ (∀xE, ∀yF, A(x,y)) ⇔ (∀yF, ∀xE, A(x,y))
(∃xE, A(x)∨B(x)) ⇔ ((∃xE, A(x)) ∨ (∃xE, B(x)))
(∀xE, A(x)∧B(x)) ⇔ ((∀xE, A(x)) ∧ (∀xE, B(x)))
(∃xE, CA(x)) ⇔ ((CE≠∅) ∨ ∃xE, A(x))
(∀xE, CA(x)) ⇔ ((CE=∅) ∧ ∀xE, A(x))

Quantifiers (Qx,yE, ) can be equivalently written (Q(x,y)∈E×E, ) while the notation QxyE can be read as one quantifier with domain {(x,y)∈E×E | xy} = (E×E) \ 𝛿E.

Finite products, operations and relations

Beyond the binary operator of cartesian product, there is an n-ary product operator between any number n>1 of sets : E0×…×En−1 is the set of all n-tuples (x0,…,xn−1) such that ∀iVn, xiEi.
For example, the ternary product is

E×F×G = ⋃xEyF {(x,y,z) | zG} = {(x,y,z) | ((x,y),z))∈(E×FG}

where the latter notation abbreviates the use of the evaluators for this representation of triples. It can also be seen as directly justified by the set generation principle:

(∀(x,y,z)∈E×F×G, A(x,y,z)) ⇔ (∀xE, ∀yF, ∀zG, A(x,y,z))

This finally justifies the most natural formalization of n-ary operations, as functions with domain a product of n sets, with evaluator given in 2.3. It justifies our first notation of 2.3 for operation definers, as a use of the abbreviated notation of 2.6 for binders on graphs, extensible to any arity.

The notion of n-ary relation R will usually be formalized as that of a set of n-tuples, subset of the product of its domains. This way, a binary relation between sets E and F will be a graph RE×F. The equality relation on a set E is so formalized as 𝛿E, called the diagonal of E×E.
For a formalization which specifies the domains E and F of arguments, we can take the triple (E,F,R).

Translating operators into predicates

The use of any functor symbol K in a generic theory is equivalent to that of a binary predicate symbol R with the functionality axiom

x, ∃!y, xRy

It is meant as the "graph of K", i.e. defined from K by

xRyy = K(x)

Terms of first-order logic using K cannot be re-expressed using R, but formulas can: each formula with each occurrence of K in it, can be written A(K(x)) where x abbreviates a term and A abbreviates a formula as a unary predicate; then equivalently replaced by either of

y, xRyA(y)
y, xRyA(y)

The same goes for other arities : the role of any n-ary operator can be played by an (n+1)-ary predicate with the functionality axiom. This generalization can be explained as replacing the argument by a tuple.
This construction does not fit for the operators of our set theory, due to its use of open quantifiers. Yet it works when domains are sets: n-ary operations can be represented as functional (n+1)-ary graphs.

More primitive symbols

Let us strengthen set theory by 3 extensions that declare more kinds of classes to be sets : powersets, exponentiations and products. These extensions are equivalent, in the sense that accepting anyone of them as primitive suffices to get both others as developments from it. They are similar to those provided by the set generation principle, but no more fit its condition ; this lack of justification has deep connections with incompleteness aspects of mathematics.
To fit our way of formalizing set theory (unlike the ZF way introduced below), each such extension is made of Powerset.Set E, Set ℘(E) ∧ ∀F, F∈℘(E) ⇔ (Set FFE)
We shall abbreviate ∈℘ as ⊂ also in binders: for example (∀FE,…) ⇔ (∀F∈℘(E),…).

Exponentiation.Set E,F, Set FE ∧ ∀f, fFE ⇔ f : EF

Product of a family of sets. The binder ∏ generalizes the finite product operators to any family of sets (∀iI, Set Ei):

x, x
iI
 Ei ⇔ (Fnc(x) ∧ Dom x = I ∧ ∀iI, xiEi).
Like with tuples, the function evaluator curried in the reverse way defines a family of projections πi (keeping implicit their dependence on the given product which is usually fixed in context):

iI, πi : ∏jI EjEi.

These symbols preserve inclusion as follows

FE ⇒ ℘(F) ⊂ ℘(E)
FEFGEG
(∀iI, FiEi) ⇒ ∏iI Fi ⊂ ∏iI Ei

Their equivalence

From any of these 3 symbols, both others can be defined as follows.


iI
Ei = {x(
iI
Ei)I | ∀iI, xiEi} = {℩R | R
iI
Ei ∧ ∀iI, ∃!: R(i)}

FE = ∏xE F = {℩R | RE×F ∧ ∀xE, ∃!: R(x)}
℘(E) = {f(1) | fV2E}

Even some cases are expressible from previous tools:

F{a}= {{a}∋xy | yF}
F = ∏∅ = {∅}
℘({a}) = {∅,{a}}
  ∏
iIJ
Ei = {(iI ? xi : yi)iIJ | (x,y) ∈
iI
Ei ×
iJ
Ei}
(∃iI, Ei = ∅) ⇒
iI
Ei = ∅
(∀iI, ∃!:Ei) ⇒
iI
Ei = {(℩Ei)iI}

Cantor's Theorem

This famous theorem is simply expressible as

Fnc f, ℘(Dom f) ⊄ Im f.

Proof for the case when all f(x) are sets (to which the general case is reducible):
(E = Dom fF = {xE| xf(x)}) ⇒ (∀xE, xFxf(x)) ⇒ (∀xE, Ff(x)) ⇒ F ∉ Im f.∎

Russell's paradox may be seen as the particular case of Cantor's theorem for f = IdE.

The ZF approach

In the traditional ZF formalism for set theory, each such extension is formalized as first made of a mere statement without any special symbol, keeping ∈ as the only primitive structure:

...y, ∃X, ∀x, xXCy(x).

Namely, the powerset axiom (existence of the powerset) is written ∀E, ∃X, ∀F, FXFE, from which the statements of existence of exponentiations and products come as theorems.
Then, the uses of each symbol K with argument y as above, naming these sets, can be justified as developed from there as abbreviations by the following rules. But our framework does not even allow the first of these cases, because it involves an open quantifier, which cannot be replaced by a bounded formula because these extensions do not fit the condition of the set generation principle.
This impossibility to interpret the equality formula (X=K) means that even a given set identical to a class C, would not be recognizable as such. Hence the need to accept the symbols K as primitive, for giving effective sense to the statement that C coincides with a set.

Set theory and Foundations of Mathematics
1. First foundations of mathematics
2. Set theory
2.1. Formalization of set theory
2.2. Set generation principle
2.3. Tuples
2.4. Uniqueness quantifiers
2.5. Families, Boolean operators on sets
2.6. Graphs
2.7. Products and powerset
2.8. Injections, bijections
2.9. Properties of binary relations
2.10. Axiom of choice
Time in set theory
Interpretation of classes
Concepts of truth in mathematics
3. Algebra - 4. Arithmetic - 5. Second-order foundations
Other languages:
FR : 2.7. Produits et ensembles des parties