FORMALIZED
MATHEMATICS
Vol.2, No.4, September–October 1991
Université Catholique
de Louvain
Cartesian Product of Functions
Grzegorz Bancerek
Warsaw University
Bialystok
Summary. A supplement of [3] and [2], i.e. some useful and explanatory properties of the product and also the curried and uncurried
functions are shown. Besides, the functions yielding functions are considered: two different products and other operation of such functions are
introduced. Finally, two facts are presented: quasi-distributivity
of the
U
f (x)
Q
≈ x X f (x) )
power of the set to other one w.r.t. the union (X x
and
of the poroduct w.r.t. the raising to the power
Q
Q quasi-distributivity
( x f (x)X ≈ ( x f (x))X ).
MML Identifier: FUNCT 6.
The articles [16], [14], [8], [17], [5], [12], [9], [11], [6], [4], [13], [15], [7], [10], [2],
[1], and [3] provide the notation and terminology for this paper.
Properties of Cartesian product
For simplicity we follow the rules: x, y, y 1 , y2 , z, a will be arbitrary, f , g,
h, h′ , f1 , f2 will denote functions, i will denote a natural number, X, Y , Z,
V1 , V2 will denote sets, P will denote a permutation of X, D, D 1 , D2 , D3
will denote non-empty sets, d1 will denote an element of D1 , d2 will denote an
element of D2 , and d3 will denote an element of D3 . We now state a number of
propositions:
Q
(1) x ∈ hXi if and only if there exists y such that y ∈ X and x = hyi.
Q
(2) z ∈ hX, Y i if and only if there exist x, y such that x ∈ X and y ∈ Y
and z = hx, yi.
Q
(3) a ∈ hX, Y, Zi if and only if there exist x, y, z such that x ∈ X and
y ∈ Y and z ∈ Z and a = hx, y, zi.
Q
(4)
hDi = D 1 .
Q
(5)
hD1 , D2 i = {hd1 , d2 i}.
Q
(6)
hD, Di = D 2 .
547
c
1991 Fondation Philippe le Hodey
ISSN 0777–4028
548
grzegorz bancerek
(7)
(8)
(9)
(10)
Q
hD1 , D2 , D3 i = {hd1 , d2 , d3 i}.
hD, D, Di = D 3 .
Q
(i 7−→ D) = D i .
Q
S
f ⊆ ( f )dom f .
Q
Curried and uncurried functions of some functions
The following propositions are true:
(11) If x ∈ dom f , then there exist y, z such that x = h y, zii.
(12)
([: X, Y :] 7−→ z) = [: Y, X :] 7−→ z.
(13) curry f = curry′ f and uncurry f = uncurry′ f .
(14) If [: X, Y :] 6= ∅, then curry([: X, Y :] 7−→ z) = X 7−→ (Y 7−→ z) and
curry′ ([: X, Y :] 7−→ z) = Y 7−→ (X 7−→ z).
(15) uncurry(X 7−→ (Y 7−→ z)) = [: X, Y :] 7−→ z and uncurry ′ (X 7−→
(Y 7−→ z)) = [: Y, X :] 7−→ z.
(16) If x ∈ dom f and g = f (x), then rng g ⊆ rng uncurry f and rng g ⊆
rng uncurry′ f .
(17) dom uncurry(X 7−→ f ) = [: X, dom f :] and rng uncurry(X 7−→ f ) ⊆
rng f and dom uncurry′(X 7−→ f ) = [: dom f, X :] and rng uncurry ′ (X 7−→
f ) ⊆ rng f .
(18) If X 6= ∅, then rng uncurry(X 7−→ f ) = rng f and rng uncurry ′ (X 7−→
f ) = rng f .
(19) If [: X, Y :] 6= ∅ and f ∈ Z [: X, Y :] , then curry f ∈ (Z Y )X and curry′ f ∈
(Z X )Y .
(20) If f ∈ (Z Y )X , then uncurry f ∈ Z [: X, Y :] and uncurry′ f ∈ Z [: Y, X :] .
(21) If curry f ∈ (Z Y )X or curry′ f ∈ (Z X )Y but dom f ⊆ [: V1 , V2 :], then
f ∈ Z [: X, Y :] .
(22) If uncurry f ∈ Z [: X, Y :] or uncurry′ f ∈ Z [: Y, X :] but rng f ⊆ V1 →V
˙ 2 and
dom f = X, then f ∈ (Z Y )X .
(23) If f ∈ [: X, Y :]→Z,
˙
then curry f ∈ X →(Y
˙
→Z)
˙
and
curry′ f ∈ Y →(X
˙
→Z).
˙
(24) If f ∈ X →(Y
˙
→Z),
˙
then uncurry f ∈ [: X, Y :]→Z
˙ and uncurry ′ f ∈ [: Y,
X :]→Z.
˙
(25) If curry f ∈ X →(Y
˙
→Z)
˙
or curry ′ f ∈ Y →(X
˙
→Z)
˙
but dom f ⊆ [: V1 ,
V2 :], then f ∈ [: X, Y :]→Z.
˙
(26) If uncurry f ∈ [: X, Y :]→Z
˙
or uncurry ′ f ∈ [: Y, X :]→Z
˙
but rng f ⊆
V1 →V
˙ 2 and dom f ⊆ X, then f ∈ X →(Y
˙
→Z).
˙
Functions yielding functions
Let X be a set. The functor Subf X is defined as follows:
(Def.1) x ∈ Subf X if and only if x ∈ X and x is a function.
cartesian product of functions
549
Next we state four propositions:
(27) Subf X ⊆ X.
(28) x ∈ f −1 Subf rng f if and only if x ∈ dom f and f (x) is a function.
(29) Subf ∅ = ∅ and Subf {f } = {f } and Subf {f, g} = {f, g} and
Subf {f, g, h} = {f, g, h}.
(30) If Y ⊆ Subf X, then Subf Y = Y .
We now define three new functors. Let f be a function. The functor
domκ f (κ) yielding a function is defined by:
(Def.2) dom(domκ f (κ)) = f −1 Subf rng f and for every x such that x ∈ f −1
Subf rng f holds (domκ f (κ))(x) = π1 (f (x)).
The functor rngκ f (κ) yields a function and is defined as follows:
(Def.3) dom(rngκ f (κ)) = f −1 Subf rng f and for every x such that x ∈ f −1
Subf rng f holds (rngκ f (κ))(x) = π2 (f (x)).
T
The functor f is defined as follows:
T
T
(Def.4)
f = rng f .
Next we state a number of propositions:
(31) If x ∈ dom f and g = f (x), then x ∈ dom(dom κ f (κ)) and
(domκ f (κ))(x) = dom g
and x ∈ dom(rngκ f (κ)) and (rngκ f (κ))(x) = rng g.
(32) domκ (κ) = and rngκ (κ) = .
(33) domκ hf i(κ) = hdom f i and rngκ hf i(κ) = hrng f i.
(34) domκ hf, gi(κ) = hdom f, dom gi and rngκ hf, gi(κ) = hrng f, rng gi.
(35) domκ hf, g, hi(κ) = hdom f, dom g, dom hi and rng κ hf, g, hi(κ) = hrng f,
rng g, rng hi.
(36) domκ (X 7−→ f )(κ) = X 7−→ dom f and rngκ (X 7−→ f )(κ) = X 7−→
rng f .
T
(37) If f 6= , then x ∈ f if and only if for every y such that y ∈ dom f
holds x ∈ f (y).
T
S
= ∅ and
= ∅.
(38)
S
T
(39)
hXi = X and hXi = X.
S
T
(40)
hX, Y i = X ∪ Y and hX, Y i = X ∩ Y .
S
T
(41)
hX, Y, Zi = X ∪ Y ∪ Z and hX, Y, Zi = X ∩ Y ∩ Z.
S
T
(42)
(∅ 7−→ Y ) = ∅ and (∅ 7−→ Y ) = ∅.
S
T
(43) If X 6= ∅, then (X 7−→ Y ) = Y and (X 7−→ Y ) = Y .
Let f be a function, and let x, y be arbitrary. The functor f (x)(y) is defined
by:
(Def.5) f (x)(y) = (uncurry f )(hhx, yii).
We now state several propositions:
(44) If x ∈ dom f and g = f (x) and y ∈ dom g, then f (x)(y) = g(y).
550
grzegorz bancerek
If x ∈ dom f , then hf i(1)(x) = f (x) and hf, gi(1)(x) = f (x) and hf, g,
hi(1)(x) = f (x).
(46) If x ∈ dom g, then hf, gi(2)(x) = g(x) and hf, g, hi(2)(x) = g(x).
(47) If x ∈ dom h, then hf, g, hi(3)(x) = h(x).
(48) If x ∈ X and y ∈ dom f , then (X 7−→ f )(x)(y) = f (y).
(45)
Cartesian product of functions with the same domain
Q∗
Let f be a function. The functor
(Def.6)
Q∗
f = curry(uncurry′ f
f yielding a function is defined as follows:
T
[: (domκ f (κ)), dom f :]).
We now state several propositions:
Q
T
Q
Q
(49) dom ∗ f = (domκ f (κ)) and rng ∗ f ⊆ (rngκ f (κ)).
Q
Q
(50) If x ∈ dom ∗ f , then ( ∗ f )(x) is a function.
Q
Q
(51) If x ∈ dom ∗ f and g = ( ∗ f )(x), then dom g = f −1 Subf rng f
and for every y such that y ∈ dom g holds h y, xii ∈ dom uncurry f and
g(y) = (uncurry f )(hhy, xii).
Q
(52) If x ∈ dom ∗ f , then for every g such that g ∈ rng f holds x ∈ dom g.
(53) If g ∈ rng
f and for every g such that g ∈ rng f holds x ∈ dom g, then
Q
x ∈ dom ∗ f .
Q
Q
(54) If x ∈ dom f and g = f (x) and y ∈ dom ∗ f and h = ( ∗ f )(y), then
g(y) = h(x).
Q
(55) QIf x ∈ dom f and f (x) is a function and y ∈ dom ∗ f , then f (x)(y) =
( ∗ f )(y)(x).
Cartesian product of functions
Let f be a function. The functor
conditions (Def.7).
Q
Q◦
f yielding a function is defined by the
Q
(Def.7) (i) dom ◦ f = (domκ f (κ)),
Q
(ii) Q for every g such that g ∈ (domκ f (κ)) there exists h such that
( ◦ f )(g) = h and dom h = f −1 Subf rng f and for every x such that
x ∈ dom h holds h(x) = (uncurry f )(hhx, g(x)ii).
The following propositions are true:
Q
Q
(56) If g ∈ (domκ f (κ)) and x ∈ dom g, then ( ◦ f )(g)(x) = f (x)(g(x)).
Q
′ = (Q◦ f )(h),
(57) If x ∈ dom f and g = f (x) and h ∈ (domκ f (κ))
and
h
Q
then h(x) ∈ dom g and h′ (x) = g(h(x)) and h′ ∈ (rngκ f (κ)).
Q
Q
(58) rng ◦ f = (rngκ f (κ)).
Q
/ rng f , then ◦ f is one-to-one if and only if for every g such that
(59) If ∈
g ∈ rng f holds g is one-to-one.
cartesian product of functions
551
Properties of Cartesian products of functions
The following propositions are true:
Q∗
Q
(60)
= and ◦ = { } 7−→ .
Q
(61) dom ∗ hhi = dom h and for every x such that x ∈ dom h holds
Q
( ∗ hhi)(x) = hh(x)i.
Q
(62) dom ∗ hf1 , fQ
2 i = dom f1 ∩dom f2 and for every x such that x ∈ dom f 1 ∩
dom f2 holds ( ∗ hf1 , f2 i)(x) = hf1 (x), f2 (x)i.
Q
(63) If X 6= ∅, then Q
dom ∗ (X 7−→ f ) = dom f and for every x such that
x ∈ dom f holds ( ∗ (X 7−→ f ))(x) = X 7−→ f (x).
Q
Q
Q
Q
(64) dom ◦ hhi = hdomQ
hi and rng ◦ hhi = hrng hi and for every x such
that x ∈ dom h holds ( ◦ hhi)(hxi) = hh(x)i.
Q
Q
(65) (i) dom ◦ hf1 , f2 i = hdom f1 , dom f2 i,
Q◦
Q
(ii) rng hf1 , f2 i = hrng f1 , rng f2 i,
Q
(iii) for all x, y such that x ∈ dom f 1 and y ∈ dom f2 holds ( ◦ hf1 , f2 i)(hx,
yi) = hf1 (x), f2 (y)i.
Q
Q
(66) dom ◦ (X 7−→ f ) = (dom f )X and rng Q◦ (X 7−→ f ) = (rng f )X and
for every g such that g ∈ (dom f )X holds ( ◦ (X 7−→ f ))(g) = f · g.
(67) If x ∈ dom f1 andQx ∈ dom f2 , then for all y1 , y2 holds hf1 , f2 i(x) = h y1 ,
y2 i if and only if ( ∗ hf1 , f2 i)(x) = hy1 , y2 i.
(68) If x ∈ dom f1 and y ∈ dom
f , then for all y1 , y2 holds [: f1 , f2 :](hhx,
Q◦ 2
yii) = h y1 , y2 i if and only if ( hf1 , f2 i)(hx, yi) = hy1 , y2 i.
(69) If dom f = X and
domQg = X and for every x such that x ∈ X holds
Q
f (x) ≈ g(x), then f ≈ g.
(70) If dom f = dom h and dom g = rng h and h is one-to-one
and for every
Q
Q
x such that x ∈ dom h holds f (x) ≈ g(h(x)), then f ≈ g.
Q
Q
(71) If dom f = X, then f ≈ (f · P ).
Function yielding powers
Let us consider f , X. The functor X f yielding a function is defined by:
(Def.8) dom(X f ) = dom f and for every x such that x ∈ dom f holds X f (x) =
X f (x) .
We
(72)
(73)
(74)
(75)
(76)
now state several propositions:
If ∅ ∈
/ rng f , then ∅f = dom f 7−→ ∅.
X = .
Y hXi = hY X i.
Z hX,Y i = hZ X , Z Y i.
Z X7−→Y = X 7−→ Z Y .
S
Q
(77) X disjoin f ≈ (X f ).
Let us consider X, f . The functor f X yielding a function is defined by:
552
grzegorz bancerek
(Def.9)
dom(f X ) = dom f and for every x such that x ∈ dom f holds f X (x) =
f (x)X .
Next we state several propositions:
(78) f ∅ = dom f 7−→ { }.
X = .
(79)
(80) hY iX = hY X i.
(81) hY, ZiX = hY X , Z X i.
(82) (Y 7−→ Z)X = Y 7−→ Z X .
Q X
Q
(83)
(f ) ≈ ( f )X .
References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
Grzegorz Bancerek. Cardinal arithmetics. Formalized Mathematics, 1(3):543–547, 1990.
Grzegorz Bancerek. Curried and uncurried functions. Formalized Mathematics,
1(3):537–541, 1990.
Grzegorz Bancerek. König’s theorem. Formalized Mathematics, 1(3):589–593, 1990.
Grzegorz Bancerek. Zermelo theorem and axiom of choice. Formalized Mathematics,
1(2):265–267, 1990.
Grzegorz Bancerek and Krzysztof Hryniewiecki. Segments of natural numbers and finite
sequences. Formalized Mathematics, 1(1):107–114, 1990.
Czeslaw Byliński. Basic functions and operations on functions. Formalized Mathematics,
1(1):245–254, 1990.
Czeslaw Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 1990.
Czeslaw Byliński. Functions and their basic properties. Formalized Mathematics,
1(1):55–65, 1990.
Czeslaw Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164,
1990.
Czeslaw Byliński. The modification of a function by a function and the iteration of the
composition of a function. Formalized Mathematics, 1(3):521–527, 1990.
Czeslaw Byliński. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.
Beata Padlewska. Families of sets. Formalized Mathematics, 1(1):147–152, 1990.
Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics,
1(2):329–334, 1990.
Andrzej Trybulec. Enumerated sets. Formalized Mathematics, 1(1):25–34, 1990.
Andrzej Trybulec. Function domains and Frænkel operator. Formalized Mathematics,
1(3):495–500, 1990.
Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11,
1990.
Andrzej Trybulec. Tuples, projections and Cartesian products. Formalized Mathematics,
1(1):97–105, 1990.
Received September 30, 1991
© Copyright 2026 Paperzz