FORMALIZED MATHEMATICS Vol.1, No.2, March–April 1990 Université Catholique de Louvain

Families of Subsets, Subspaces and Mappings in Topological Spaces

Agata Darmochwał Warsaw University Białystok

Summary. This article is a continuation of [8]. Some basic theorems about families of sets in a topological space have been proved. Following redefinitions have been made: singleton of a set as a family in the topological space and results of boolean operations on families as a family of the topological space. Notion of a family of complements of sets and a closed (open) family have been also introduced. Next some theorems refer to subspaces in a topological space: some facts about types in a subspace, theorems about open and closed sets and families in a subspace. A notion of restriction of a family has been also introduced and basic properties of this notion have been proved. The last part of the article is about mappings. There are proved necessary and sufficient conditions for a mapping to be continuous. A notion of homeomorphism has been defined next. Theorems about homeomorphisms of topological spaces have been also proved.

MML Identifier: TOPS 2.

The articles [7], [2], [3], [1], [5], [4], and [6] provide the notation and terminology for this paper. For simplicity we follow the rules: x will be arbitrary, T, S, V will denote topological spaces, P, Q, R will denote subsets of T, F, G will denote families of subsets of T, P_{1} will denote a subset of S, and H will denote a family of subsets of S. We now state several propositions:

(1) F ⊆ 2^{Ω_{T}}.

(2) If x ∈ F, then x is a subset of T.

(3) For every set X such that X ⊆ F holds X is a family of subsets of T.

(4) F = G if and only if for every P holds P ∈ F if and only if P ∈ G.

(5) If F is a cover of T, then F ≠ ∅. Let us consider T, P. Then {P } is a family of subsets of T. Let us consider T, F, G. Then F ∪ G is a family of subsets of T. Then F ∩ G

is a family of subsets of T. Then F \ G is a family of subsets of T.

258 Agata Darmochwał

The following propositions are true:

(6) ⋃ F \ ⋃ G ⊆ ⋃(F \ G).

(7) F^{c} = (F qua a family of subsets of the carrier of T)^{c}.

(8) P ∈ F^{c} if and only if P^{c} ∈ F.

(9) (F^{c})^{c} = F.

(10) F ≠ ∅ if and only if F^{c} ≠ ∅.

(11) If F ≠ ∅, then ⋂ F^{c} = (⋃ F)^{c}.

(12) If F ≠ ∅, then ⋃ F^{c} = (⋂ F)^{c}.

(13) F^{c} is finite if and only if F is finite.

We now define two new predicates. Let us consider T, F. The predicate F is open is defined by:

if P ∈ F, then P is open. The predicate F is closed is defined by:

if P ∈ F, then P is closed.

One can prove the following propositions:

(14) F is open if and only if for every P such that P ∈ F holds P is open.

(15) F is closed if and only if for every P such that P ∈ F holds P is closed.

(16) F is closed if and only if F^{c} is open.

(17) F is open if and only if F^{c} is closed.

(18) If F ⊆ G and G is open, then F is open.

(19) If F ⊆ G and G is closed, then F is closed.

(20) If F is open and G is open, then F ∪ G is open.

(21) If F is open, then F ∩ G is open.

(22) If F is open, then F \ G is open.

(23) If F is closed and G is closed, then F ∪ G is closed.

(24) If F is closed, then F ∩ G is closed.

(25) If F is closed, then F \ G is closed.

(26) If F is open, then ⋃ F is open.

(27) If F is open and F is finite, then ⋂ F is open.

(28) If F is closed and F is finite, then ⋃ F is closed.

(29) If F is closed, then ⋂ F is closed.

In the sequel A will be a subspace of T. The following propositions are true:

(30) For every subset B of A holds B is a subset of T.

(31) For every family F of subsets of A holds F is a family of subsets of T.

(32) For every subset B of A holds B is open if and only if there exists C being a subset of T such that C is open and C ∩ Ω_{A} = B.

(33) For every subset Q of T such that Q is open for every subset P of A such that P = Q holds P is open.

(34) For every subset Q of T such that Q is closed for every subset P of A such that P = Q holds P is closed.

Families of Subsets, Subspaces and Mappings … 259

(35) If F is open, then for every family G of subsets of A such that G = F holds G is open.

(36) If F is closed, then for every family G of subsets of A such that G = F holds G is closed.

(37) If P = Ω_{A}, then T P = A.

(38) If P ≠ ∅, then Q ∩ P is a subset of T P.

Let us consider T, P, F. The functor F P yields a family of subsets of T P and is defined by:

for every subset Q of T P holds Q ∈ F P if and only if there exists R such that R ∈ F and R ∩ P = Q.

We now state a number of propositions:

(39) For every subset Q of T P holds Q ∈ F P if and only if there exists R being a subset of T such that R ∈ F and R ∩ P = Q.

(40) If F ⊆ G, then F P ⊆ G P.

(41) If P ≠ ∅ and Q ∈ F, then Q ∩ P ∈ F P.

(42) If Q ⊆ ⋃ F, then Q ∩ P ⊆ ⋃(F P).

(43) If P ⊆ ⋃ F, then P = ⋃(F P).

(44) ⋃(F P) ⊆ ⋃ F.

(45) If P ⊆ ⋃(F P), then P ⊆ ⋃ F.

(46) If P ≠ ∅ and F is finite, then F P is finite.

(47) If P ≠ ∅ and F is open, then F P is open.

(48) If P ≠ ∅ and F is closed, then F P is closed.

(49) For every family F of subsets of A such that F is open there exists G being a family of subsets of T such that G is open and for every subset AA of T such that AA = Ω_{A} holds F = G AA.

(50) If P ≠ ∅, then there exists f being a function such that dom f = F and rng f = F P and for every x such that x ∈ F for every Q such that Q = x holds f(x) = Q ∩ P.

In the sequel f will denote a map from T into S. We now state several propositions:

(51) dom f = Ω_{T} and rng f ⊆ Ω_{S}.

(52) f ^{−1} (Ω_{S}) = Ω_{T}.

(53) (^{∘} f)^{∘} F is a family of subsets of S.

(54) ^{−1} f ^{∘} H is a family of subsets of T.

(55) f is continuous if and only if for every P_{1} such that P_{1} is open holds f ^{−1} P_{1} is open.

(56) f is continuous if and only if for every P_{1} holds \overline{f ^{−1} P_{1}} ⊆ f ^{−1} \overline{P_{1}}.

(57) f is continuous if and only if for every P holds f ^{∘} \overline{P} ⊆ \overline{f ^{∘} P}. The arguments of the notions defined below are the following: T, S, V which

are objects of the type reserved above; f which is a map from T into S; g which is a map from S into V. Then g · f is a map from T into V.

One can prove the following propositions:

(58) For every map f from T into S for every map g from S into V such that f is continuous and g is continuous holds g · f is continuous.

(59) If f is continuous and H is open, then for every F such that F = ^{−1} f^{∘} H holds F is open.

(60) If f is continuous and H is closed, then for every F such that F = ^{−1} f^{∘}H

holds F is closed. Let us consider T, S, f. Let us assume that rng f = Ω_{S} and f is one-to-one.

The functor f^{−1} yielding a map from S into T, is defined by: f^{−1} = f^{−1}. One can prove the following propositions:

(61) If rng f = Ω_{S} and f is one-to-one, then f^{−1} = (f qua a function)^{−1}.

(62) If rng f = Ω_{S} and f is one-to-one, then dom(f^{−1}) = Ω_{S} and rng(f^{−1}) = Ω_{T}.

(63) If rng f = Ω_{S} and f is one-to-one, then f^{−1} is one-to-one.

(64) If rng f = Ω_{S} and f is one-to-one, then (f^{−1})^{−1} = f.

(65) If rng f = Ω_{S} and f is one-to-one, then f^{−1} · f = id_{dom f} and f · f^{−1} = id_{rng f}.

(66) For every map f from T into S for every map g from S into V such that rng f = Ω_{S} and f is one-to-one and rng g = Ω_{V} and g is one-to-one holds (g · f)^{−1} = f^{−1} · g^{−1}.

(67) If rng f = Ω_{S} and f is one-to-one, then f ^{∘} P = (f^{−1})^{−1} P.

(68) If rng f = Ω_{S} and f is one-to-one, then f ^{−1} P_{1} = f^{−1} ^{∘} P_{1}.

Let us consider T, S, f. The predicate f is a homeomorphism is defined by: rng f = Ω_{S} and f is one-to-one and f is continuous and f^{−1} is continuous. One can prove the following propositions:

(69) f is a homeomorphism if and only if rng f = Ω_{S} and f is one-to-one and f is continuous and f^{−1} is continuous.

(70) If f is a homeomorphism, then f^{−1} is a homeomorphism.

(71) For every map f from T into S for every map g from S into V such that f is a homeomorphism and g is a homeomorphism holds g · f is a homeomorphism.

(72) If rng f = Ω_{S} and f is one-to-one, then f is a homeomorphism if and only if for every P holds P is closed if and only if f ^{∘} P is closed.

(73) If rng f = Ω_{S} and f is one-to-one, then f is a homeomorphism if and only if for every P_{1} holds f ^{−1} \overline{P_{1}} = \overline{f ^{−1} P_{1}}.

(74) If rng f = Ω_{S} and f is one-to-one, then f is a homeomorphism if and only if for every P holds f ^{∘} \overline{P} = \overline{f ^{∘} P}.

References

[1] Czesław Byliński. Basic functions and operations on functions. Formalized Mathematics, 1(1):245–254, 1990.

[2] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[3] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[4] Agata Darmochwał. Finite sets. Formalized Mathematics, 1(1):165–167, 1990.

[5] Beata Padlewska. Families of sets. Formalized Mathematics, 1(1):147–152, 1990.

[6] Beata Padlewska and Agata Darmochwał. Topological spaces and continuous functions. Formalized Mathematics, 1(1):223–230, 1990.

[7] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

[8] Mirosław Wysocki and Agata Darmochwał. Subsets of topological spaces. Formalized Mathematics, 1(1):231–237, 1990.

262

Some Properties of Functions Modul and Signum

Jan Popiołek Warsaw University Białystok

Summary. The article includes definitions and theorems concerning basic properties of the following functions : |x| - modul of real number, sgn x - signum of real number.

MML Identifier: ANAL 1.

The article [1] provides the terminology and notation for this paper. In the sequel x, y, z, t are real numbers. Let us consider x. The functor |x| yielding a real number, is defined by:

|x| = x if 0 ≤ x, |x| = −x, otherwise. One can prove the following propositions:

(1) If 0 ≤ x, then |x| = x.

(2) If 0 < x, then |x| = x.

(3) If 0 ≰ x, then |x| = −x.

(4) If x < 0, then |x| = −x.

(5) 0 ≤ |x|.

(6) If x ≠ 0, then 0 < |x|.

(7) x = 0 if and only if |x| = 0.

(8) If |x| = x, then 0 ≤ x.

(9) If |x| = −x and x ≠ 0, then x < 0.

(10) For all x, y holds |x · y| = |x| · |y|.

(11) −|x| ≤ x and x ≤ |x|.

(12) −y ≤ x and x ≤ y if and only if |x| ≤ y.

(13) |x + y| ≤ |x| + |y|.

(14) For every x such that x ≠ 0 holds |x| · |\frac{1}{x}| = 1.

(15) For every x such that x ≠ 0 holds |\frac{1}{x}| = \frac{1}{|x|}.

264 Jan Popiołek

(16) For all x, y such that y ≠ 0 holds |\frac{x}{y}| = \frac{|x|}{|y|}.

(17) |x| = | − x|.

(18) For all x, y holds |x| − |y| ≤ |x − y|.

(19) For all x, y holds |x − y| ≤ |x| + |y|.

(20) For every x holds ||x|| = |x|.

(21) If |x| ≤ z and |y| ≤ t, then |x + y| ≤ z + t.

(22) ||x| − |y|| ≤ |x − y|.

(23) y < |x| if and only if x < −y or y < x.

(24) If 0 ≤ x · y, then |x + y| = |x| + |y|.

(25) If |x + y| = |x| + |y|, then 0 ≤ x · y.

(26) \frac{|x+y|}{1+|x+y|} ≤ \frac{|x|}{1+|x|} + \frac{|y|}{1+|y|}.

Let us consider x. The functor sgn x yielding a real number, is defined by: sgn x = 1 if 0 < x, sgn x = −1 if x < 0, sgn x = 0, otherwise. The following propositions are true:

(27) If 0 < x, then sgn x = 1.

(28) If x < 0, then sgn x = −1.

(29) If 0 ≮ x and x ≮ 0, then sgn x = 0.

(30) If x = 0, then sgn x = 0.

(31) If sgn x = 1, then 0 < x.

(32) If sgn x = −1, then x < 0.

(33) If sgn x = 0, then x = 0.

(34) x = |x| · (sgn x).

(35) sgn(x · y) = (sgn x) · (sgn y).

(36) sgn(sgn x) = sgn x.

(37) sgn(x + y) ≤ (sgn x + sgn y) + 1.

(38) If x ≠ 0, then (sgn x) · (sgn \frac{1}{x}) = 1.

(39) If x ≠ 0, then \frac{1}{sgn x} = sgn \frac{1}{x}.

(40) (sgn x + sgn y) − 1 ≤ sgn(x + y).

(41) If x ≠ 0, then sgn x = sgn \frac{1}{x}.

(42) If y ≠ 0, then sgn \frac{x}{y} = \frac{sgn x}{sgn y}.

References

[1] Krzysztof Hryniewiecki. Basic properties of real numbers. Formalized Mathematics, 1(1):35–40, 1990.

Zermelo Theorem and Axiom of Choice

Grzegorz Bancerek Warsaw University Białystok

Summary. The article is continuation of [2] and [1], and the goal of it is show that Zermelo theorem (every set has a relation which well orders it - proposition (26)) and axiom of choice (for every non-empty family of nonempty and separate sets there is set which has exactly one common element with arbitraly family member - proposition (27)) are true. It is result of the Tarski’s axiom A introduced in [5] and repeated in [6]. Inclusion as a settheoretical binary relation is introduced, the correspondence of well ordering relations to ordinal numbers is shown, and basic properties of equinumerosity are presented. Some facts are based on [4].

MML Identifier: WELLORD2.

The terminology and notation used in this paper are introduced in the following articles: [6], [7], [8], [3], [2], and [1]. For simplicity we adopt the following convention: X, Y, Z will denote sets, a will be arbitrary, R will denote a relation, and A, B will denote ordinal numbers. Let us consider X. The functor ^{⊆}_{X} yielding a relation, is defined by:

field^{⊆}_{X} = X and for all Y, Z such that Y ∈ X and Z ∈ X holds ⟨⟨Y, Z⟩⟩ ∈ ^{⊆}_{X} if and only if Y ⊆ Z.

The following propositions are true:

(1) R = ^{⊆}_{X} if and only if field R = X and for all Y, Z such that Y ∈ X and Z ∈ X holds ⟨⟨Y, Z⟩⟩ ∈ R if and only if Y ⊆ Z.

(2) ^{⊆}_{X} is pseudo reflexive.

(3) ^{⊆}_{X} is transitive.

(4) ^{⊆}_{A} is connected.

(5) ^{⊆}_{X} is antisymmetric.

(6) ^{⊆}_{A} is well founded.

(7) ^{⊆}_{A} is well ordering relation.

(8) If Y ⊆ X, then ^{⊆}_{X} |^{2} Y = ^{⊆}_{Y}.

266 Grzegorz Bancerek

(9) For all A, X such that X ⊆ A holds ^{⊆}_{X} is well ordering relation.

We now state several propositions:

(10) If A ∈ B, then A = ^{⊆}_{B}−Seg(A).

(11) If ^{⊆}_{A} and ^{⊆}_{B} are isomorphic, then A = B.

(12) For all X, R, A, B such that R and ^{⊆}_{A} are isomorphic and R and ^{⊆}_{B} are isomorphic holds A = B.

(13) For every R such that R is well ordering relation and for every a such that a ∈ field R there exists A such that R |^{2} R−Seg(a) and ^{⊆}_{A} are isomorphic there exists A such that R and ^{⊆}_{A} are isomorphic.

(14) For every R such that R is well ordering relation there exists A such that

R and ^{⊆}_{A} are isomorphic. Let us consider R. Let us assume that R is well ordering relation. The functor

\overline{R} yields an ordinal number and is defined by:

R and ^{⊆}\overline{R} are isomorphic.

Let us consider A, R. The predicate A is an order type of R is defined by: A = \overline{R}. One can prove the following propositions:

(15) If R is well ordering relation, then for every A holds A = \overline{R} if and only if R and ^{⊆}_{A} are isomorphic.

(16) A is an order type of R if and only if A = \overline{R}.

(17) If X ⊆ A, then \overline{⊆X} ⊆ A.

We follow a convention: f will be a function and x, y, z, u will be arbitrary. One can prove the following proposition

(18) X ≈ Y if and only if there exists Z such that for every x such that x ∈ X there exists y such that y ∈ Y and ⟨⟨x, y⟩⟩ ∈ Z and for every y such that y ∈ Y there exists x such that x ∈ X and ⟨⟨x, y⟩⟩ ∈ Z and for all x, y, z, u such that ⟨⟨x, y⟩⟩ ∈ Z and ⟨⟨z, u⟩⟩ ∈ Z holds x = z if and only if y = u.

Let us consider X, Y. Let us note that one can characterize the predicate X ≈ Y by the following (equivalent) condition: there exists f such that f is one-to-one and dom f = X and rng f = Y.

Next we state several propositions:

(19) X ≈ Y if and only if there exists f such that f is one-to-one and dom f = X and rng f = Y.

(20) X ≈ X.

(21) If X ≈ Y, then Y ≈ X.

(22) If X ≈ Y and Y ≈ Z, then X ≈ Z.

(23) If R is well ordering relation and X ≈ field R, then there exists R such that R well orders X.

(24) If R is well ordering relation and X ≈ Y and Y ⊆ field R, then there exists R such that R well orders X.

(25) If R well orders X, then field(R |^{2} X) = X and R |^{2} X is well ordering relation.

Zermelo Theorem and Axiom of Choice 267

(26) For every X there exists R such that R well orders X.

In the sequel M will be a non-empty family of sets. We now state a proposition (27) If for every X such that X ∈ M holds X ≠ ∅ and for all X, Y such that

X ∈ M and Y ∈ M and X ≠ Y holds X ∩ Y = ∅, then there exists Choice being a set such that for every X such that X ∈ M there exists x such that Choice ∩ X = {x}.

References

[1] Grzegorz Bancerek. The ordinal numbers. Formalized Mathematics, 1(1):91–96, 1990.

[2] Grzegorz Bancerek. The well ordering relations. Formalized Mathematics, 1(1):123–129, 1990.

[3] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[4] Kazimierz Kuratowski and Andrzej Mostowski. Teoria mnogości. PTM, Wrocław, 1952.

[5] Alfred Tarski. Über Unerreichbare Kardinalzahlen. Fundamenta Mathematicae, 30:176–183, 1938.

[6] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

[7] Edmund Woronowicz. Relations and their basic properties. Formalized Mathematics, 1(1):73–83, 1990.

[8] Edmund Woronowicz and Anna Zalewska. Properties of binary relations. Formalized Mathematics, 1(1):85–89, 1990.

268

Real Sequences and Basic Operations on Them

Jarosław Kotowicz Warsaw University Białystok

Summary. Definition of real sequence and operations on sequences (multiplication of sequences and multiplication by a real number, addition, subtraction, division and absolute value of sequence) are given.

MML Identifier: SEQ 1.

The notation and terminology used here are introduced in the following articles: [4], [1], [3], and [2]. For simplicity we follow the rules: f will be a function, n will be a natural number, r, p will be real numbers, and x will be arbitrary. We now state a proposition

(1) x is a natural number if and only if x ∈ . The mode sequence of real numbers, which widens to the type a function, is

defined by:

dom it = and rng it ⊆ . In the sequel seq, seq_{1}, seq_{2}, seq_{3}, seq′, seq_{1′} are sequences of real numbers.

Next we state three propositions:

(2) f is a sequence of real numbers if and only if dom f = and rng f ⊆ .

(3) f is a sequence of real numbers if and only if dom f = and for every x such that x ∈ holds f(x) is a real number.

(4) f is a sequence of real numbers if and only if dom f = and for every n holds f(n) is a real number.

Let us consider seq, n. Then seq(n) is a real number. Let us consider seq. The predicate seq is non-zero is defined by: rng seq ⊆ \ {0}. One can prove the following propositions:

(5) seq is non-zero if and only if rng seq ⊆ \ {0}.

(6) seq is non-zero if and only if for every x such that x ∈ holds seq(x) ≠ 0.

270 Jarosław Kotowicz

(7) seq is non-zero if and only if for every n holds seq(n) ≠ 0.

(8) For all seq, seq_{1} such that for every x such that x ∈ holds seq(x) = seq_{1}(x) holds seq = seq_{1}.

(9) For all seq, seq_{1} such that for every n holds seq(n) = seq_{1}(n) holds seq = seq_{1}.

(10) For every r there exists seq such that rng seq = {r}.

The scheme ExRealSeq concerns a unary functor F yielding a real number and states that:

there exists seq such that for every n holds seq(n) = F(n) for all values of the parameter.

We now define two new functors. Let us consider seq_{1}, seq_{2}. The functor seq_{1} + seq_{2} yields a sequence of real numbers and is defined by:

for every n holds (seq_{1} + seq_{2})(n) = seq_{1}(n) + seq_{2}(n). The functor seq_{1} · seq_{2} yielding a sequence of real numbers, is defined by:

for every n holds (seq_{1} · seq_{2})(n) = seq_{1}(n) · seq_{2}(n). The following two propositions are true:

(11) seq = seq_{1} + seq_{2} if and only if for every n holds seq(n) = seq_{1}(n) + seq_{2}(n).

(12) seq = seq_{1}·seq_{2} if and only if for every n holds seq(n) = seq_{1}(n)·seq_{2}(n). Let us consider r, seq. The functor r ·seq yielding a sequence of real numbers,

is defined by:

for every n holds (r · seq)(n) = r · seq(n). One can prove the following proposition

(13) seq = r · seq_{1} if and only if for every n holds seq(n) = r · seq_{1}(n). Let us consider seq. The functor −seq yields a sequence of real numbers and

is defined by:

for every n holds (−seq)(n) = −seq(n). We now state a proposition

(14) seq = −seq_{1} if and only if for every n holds seq(n) = −seq_{1}(n). Let us consider seq_{1}, seq_{2}. The functor seq_{1} − seq_{2} yields a sequence of real

numbers and is defined by:

seq_{1} − seq_{2} = seq_{1} + (−seq_{2}). We now state a proposition

(15) seq = seq_{1} − seq_{2} if and only if seq = seq_{1} + (−seq_{2}).

Let us consider seq. Let us assume that seq is non-zero. The functor seq^{−1} yielding a sequence of real numbers, is defined by:

for every n holds (seq^{−1})(n) = (seq(n))^{−1}. One can prove the following proposition

(16) If seq is non-zero, then seq_{1} = seq^{−1} if and only if for every n holds

seq_{1}(n) = (seq(n))^{−1}. Let us consider seq_{1}, seq. Let us assume that seq is non-zero. The functor

\frac{seq_{1}}{seq} yields a sequence of real numbers and is defined by:

Real Sequences and … 271

\frac{seq_{1}}{seq} = seq_{1} · seq^{−1}.

The following proposition is true

(17) If seq_{2} is non-zero, then seq = \frac{seq_{1}}{seq_{2}} if and only if seq = seq_{1} · seq_{2}^{−1}. Let us consider seq. The functor |seq| yielding a sequence of real numbers, is

defined by: for every n holds |seq|(n) = |seq(n)|. The following propositions are true:

(18) seq = |seq_{1}| if and only if for every n holds seq(n) = |seq_{1}(n)|.

(19) seq_{1} + seq_{2} = seq_{2} + seq_{1}.

(20) (seq_{1} + seq_{2}) + seq_{3} = seq_{1} + (seq_{2} + seq_{3}).

(21) seq_{1} · seq_{2} = seq_{2} · seq_{1}.

(22) (seq_{1} · seq_{2}) · seq_{3} = seq_{1} · (seq_{2} · seq_{3}).

(23) (seq_{1} + seq_{2}) · seq_{3} = seq_{1} · seq_{3} + seq_{2} · seq_{3}.

(24) seq_{3} · (seq_{1} + seq_{2}) = seq_{3} · seq_{1} + seq_{3} · seq_{2}.

(25) −seq = (−1) · seq.

(26) r · (seq_{1} · seq_{2}) = (r · seq_{1}) · seq_{2}.

(27) r · (seq_{1} · seq_{2}) = seq_{1} · (r · seq_{2}).

(28) (seq_{1} − seq_{2}) · seq_{3} = seq_{1} · seq_{3} − seq_{2} · seq_{3}.

(29) seq_{3} · seq_{1} − seq_{3} · seq_{2} = seq_{3} · (seq_{1} − seq_{2}).

(30) r · (seq_{1} + seq_{2}) = r · seq_{1} + r · seq_{2}.

(31) (r · p) · seq = r · (p · seq).

(32) r · (seq_{1} − seq_{2}) = r · seq_{1} − r · seq_{2}.

(33) If seq is non-zero, then r · \frac{seq_{1}}{seq} = \frac{r·seq_{1}}{seq}.

(34) seq_{1} − (seq_{2} + seq_{3}) = (seq_{1} − seq_{2}) − seq_{3}.

(35) 1 · seq = seq.

(36) −(−seq) = seq.

(37) seq_{1} − (−seq_{2}) = seq_{1} + seq_{2}.

(38) seq_{1} − (seq_{2} − seq_{3}) = (seq_{1} − seq_{2}) + seq_{3}.

(39) seq_{1} + (seq_{2} − seq_{3}) = (seq_{1} + seq_{2}) − seq_{3}.

(40) (−seq_{1}) · seq_{2} = −seq_{1} · seq_{2} and seq_{1} · (−seq_{2}) = −seq_{1} · seq_{2}.

(41) If seq is non-zero, then seq^{−1} is non-zero.

(42) If seq is non-zero, then (seq^{−1})^{−1} = seq.

(43) seq is non-zero and seq_{1} is non-zero if and only if seq · seq_{1} is non-zero.

(44) If seq is non-zero and seq_{1} is non-zero, then seq^{−1}·seq_{1}^{−1} = (seq·seq_{1})^{−1}.

(45) If seq is non-zero, then \frac{seq_{1}}{seq} · seq = seq_{1}.

(46) If seq is non-zero and seq_{1} is non-zero, then \frac{seq′}{seq} · \frac{seq_{1′}}{seq_{1}} = \frac{seq′·seq_{1′}}{seq·seq_{1}} .

(47) If seq is non-zero and seq_{1} is non-zero, then \frac{seq}{seq_{1}} is non-zero.

(48) If seq is non-zero and seq_{1} is non-zero, then \frac{seq}{seq_{1}} ^{−1} = \frac{seq_{1}}{seq}.

(49) If seq is non-zero, then seq_{2} · \frac{seq_{1}}{seq} = \frac{seq_{2}·seq_{1}}{seq}.

(50) If seq is non-zero and seq_{1} is non-zero, then _{\frac{seq_{2}}{\frac{seq}{seq_{1}}}} = \frac{seq_{2}·seq_{1}}{seq}.

(51) If seq is non-zero and seq_{1} is non-zero, then \frac{seq_{2}}{seq} = \frac{seq_{2}·seq_{1}}{seq·seq_{1}} .

(52) If r ≠ 0 and seq is non-zero, then r · seq is non-zero.

(53) If seq is non-zero, then −seq is non-zero.

(54) If r ≠ 0 and seq is non-zero, then (r · seq)^{−1} = r^{−1} · seq^{−1}.

(55) If seq is non-zero, then (−seq)^{−1} = (−1) · seq^{−1}.

(56) If seq is non-zero, then −\frac{seq_{1}}{seq} = \frac{−seq_{1}}{seq} and \frac{seq_{1}}{−seq} = −\frac{seq_{1}}{seq}.

(57) If seq is non-zero, then \frac{seq_{1}}{seq} + \frac{seq_{1′}}{seq} = \frac{seq_{1}+seq_{1′}}{seq} and \frac{seq_{1}}{seq} − \frac{seq_{1′}}{seq} = \frac{seq_{1}−seq_{1′}}{seq}.

(58) If seq is non-zero and seq′ is non-zero, then \frac{seq_{1}}{seq} + \frac{seq_{1′}}{seq′} = \frac{seq_{1}·seq′+seq_{1′}·seq}{seq·seq′} and \frac{seq_{1}}{seq} − \frac{seq_{1′}}{seq′} = \frac{seq_{1}·seq′−seq_{1′}·seq}{seq·seq′}.

(59) If seq is non-zero and seq′ is non-zero and seq_{1} is non-zero, then \frac{\frac{seq_{1′}}{seq}}{\frac{seq′}{seq_{1}}} =

\frac{seq_{1′}·seq_{1}}{seq·seq′}.

(60) |seq · seq′| = |seq| · |seq′|.

(61) If seq is non-zero, then |seq| is non-zero.

(62) If seq is non-zero, then |seq|^{−1} = |seq^{−1}|.

(63) If seq is non-zero, then |\frac{seq′}{seq} | = \frac{|seq′|}{|seq|}.

(64) |r · seq| = |r| · |seq|.

References

[1] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[2] Jan Popiołek. Some properties of functions modul and signum. Formalized Mathematics, 1(2):263–264, 1990.

[3] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

[4] Zinaida Trybulec and Halina Świe‘czkowska. Boolean properties of sets. Formalized Mathematics, 1(1):17–23, 1990.

Convergent Sequences and the Limit of Sequences

Jarosław Kotowicz Warsaw University Białystok

Summary. The article contains definitions and same basic properties of bounded sequences (above and below), convergent sequences and the limit of sequences. In the article there are some properties of real numbers useful in the other theorems of this article.

MML Identifier: SEQ 2.

The terminology and notation used in this paper have been introduced in the following papers: [1], and [2]. We adopt the following rules: n, m are natural numbers, r, r_{1}, p, g_{1}, g, g′ are real numbers, and seq, seq′, seq_{1} are sequences of real numbers. One can prove the following propositions:

(1) (−1) · (−1) = 1.

(2) \frac{g}{2} + \frac{g}{2} = g and \frac{g}{4} + \frac{g}{4} = \frac{g}{2}.

(3) If 0 < g, then 0 < \frac{g}{2} and 0 < \frac{g}{4}.

(4) If 0 < g, then \frac{g}{2} < g.

(5) If g ≠ 0, then \frac{r}{g·2} + \frac{r}{g·2} = \frac{r}{g}.

(6) If 0 < g and 0 < p, then 0 < \frac{g}{p}.

(7) If 0 ≤ g and 0 ≤ r and g < g_{1} and r < r_{1}, then g · r < g_{1} · r_{1}.

(8) If g = −g′, then −g = g′.

(9) −g < r and r < g if and only if |r| < g.

(10) If 0 < r_{1} and r_{1} < r and 0 < g, then \frac{g}{r} < \frac{g}{r_{1}} .

(11) If g ≠ 0 and r ≠ 0, then |g^{−1} − r^{−1}| = \frac{|g−r|}{|g|·|r|}. We now define two new predicates. Let us consider seq. The predicate seq is

bounded above is defined by:

there exists r such that for every n holds seq(n) < r. The predicate seq is bounded below is defined by: there exists r such that for every n holds r < seq(n). We now state two propositions:

(12) seq is bounded above if and only if there exists r such that for every n holds seq(n) < r.

(13) seq is bounded below if and only if there exists r such that for every n

holds r < seq(n). Let us consider seq. The predicate seq is bounded is defined by: seq is bounded above and seq is bounded below. Next we state three propositions:

(14) seq is bounded if and only if seq is bounded above and seq is bounded below.

(15) seq is bounded if and only if there exists r such that 0 < r and for every n holds |seq(n)| < r.

(16) For every n there exists r such that 0 < r and for every m such that

m ≤ n holds |seq(m)| < r. Let us consider seq. The predicate seq is convergent is defined by: there exists g such that for every p such that 0 < p there exists n such that

for every m such that n ≤ m holds |seq(m) − g| < p.

One can prove the following proposition

(17) seq is convergent if and only if there exists g such that for every p such that 0 < p there exists n such that for every m such that n ≤ m holds |seq(m) − g| < p.

Let us consider seq. Let us assume that seq is convergent. The functor lim seq yields a real number and is defined by:

for every p such that 0 < p there exists n such that for every m such that n ≤ m holds |seq(m) − (lim seq)| < p.

The following propositions are true:

(18) If seq is convergent, then lim seq = g if and only if for every p such that 0 < p there exists n such that for every m such that n ≤ m holds |seq(m) − g| < p.

(19) If seq is convergent and seq′ is convergent, then seq + seq′ is convergent.

(20) If seq is convergent and seq′ is convergent, then lim(seq+seq′) = lim seq+ lim seq′.

(21) If seq is convergent, then r · seq is convergent.

(22) If seq is convergent, then lim(r · seq) = r · (lim seq).

(23) If seq is convergent, then −seq is convergent.

(24) If seq is convergent, then lim(−seq) = − lim seq.

(25) If seq is convergent and seq′ is convergent, then seq − seq′ is convergent.

(26) If seq is convergent and seq′ is convergent, then lim(seq−seq′) = lim seq− lim seq′.

(27) If seq is convergent, then seq is bounded.

(28) If seq is convergent and seq′ is convergent, then seq · seq′ is convergent.

Convergent Sequences and the Limit of … 275

(29) If seq is convergent and seq′ is convergent, then lim(seq·seq′) = (lim seq)· (lim seq′).

(30) If seq is convergent, then if lim seq ≠ 0, then there exists n such that for every m such that n ≤ m holds \frac{| lim seq|}{2} < |seq(m)|.

(31) If seq is convergent and for every n holds 0 ≤ seq(n), then 0 ≤ lim seq.

(32) If seq is convergent and seq′ is convergent and for every n holds seq(n) ≤ seq′(n), then lim seq ≤ lim seq′.

(33) If seq is convergent and seq′ is convergent and for every n holds seq(n) ≤ seq_{1}(n) and seq_{1}(n) ≤ seq′(n) and lim seq = lim seq′, then seq_{1} is convergent.

(34) If seq is convergent and seq′ is convergent and for every n holds seq(n) ≤ seq_{1}(n) and seq_{1}(n) ≤ seq′(n) and lim seq = lim seq′, then lim seq_{1} = lim seq.

(35) If seq is convergent and lim seq ≠ 0 and seq is non-zero, then seq^{−1} is convergent.

(36) If seq is convergent and lim seq ≠ 0 and seq is non-zero, then lim seq^{−1} = (lim seq)^{−1}.

(37) If seq′ is convergent and seq is convergent and lim seq ≠ 0 and seq is non-zero, then \frac{seq′}{seq} is convergent.

(38) If seq′ is convergent and seq is convergent and lim seq ≠ 0 and seq is non-zero, then lim \frac{seq′}{seq} = \frac{lim seq′}{lim seq}.

(39) If seq is convergent and seq_{1} is bounded and lim seq = 0, then seq · seq_{1} is convergent.

(40) If seq is convergent and seq_{1} is bounded and lim seq = 0, then lim(seq · seq_{1}) = 0.

References

[1] Krzysztof Hryniewiecki. Basic properties of real numbers. Formalized Mathematics, 1(1):35–40, 1990.

[2] Jan Popiołek. Some properties of functions modul and signum. Formalized Mathematics, 1(2):263–264, 1990.

276

Properties of ZF Models

Grzegorz Bancerek Warsaw University Białystok

Summary. The article deals with the concepts of satisfiability of ZF set theory language formulae in a model (a non-empty family of sets) and the axioms of ZF theory introduced in [6]. It is shown that the transitive model satisfies the axiom of extensionality and that it satisfies the axiom of pairs if and only if it is closed to pair operation; it satisfies the axiom of unions if and only if it is closed to union operation, ect. The conditions which are satisfied by arbitrary model of ZF set theory are also shown. Besides introduced are definable and parametrically definable functions.

MML Identifier: ZFMODEL1.

The notation and terminology used in this paper are introduced in the following papers: [8], [4], [1], [5], [7], [3], and [2]. For simplicity we follow a convention: x, y, z will be variables, H will be a ZF-formula, E will be a non-empty family of sets, X, Y, Z will be sets, u, v, w will be elements of E, and f, g will be functions from VAR into E. One can prove the following propositions:

(1) If E is transitive, then E ⊧ the axiom of extensionality.

(2) If E is transitive, then E ⊧ the axiom of pairs if and only if for all u, v holds {u, v} ∈ E.

(3) If E is transitive, then E ⊧ the axiom of pairs if and only if for all X, Y such that X ∈ E and Y ∈ E holds {X, Y } ∈ E.

(4) If E is transitive, then E ⊧ the axiom of unions if and only if for every u holds ⋃ u ∈ E.

(5) If E is transitive, then E ⊧ the axiom of unions if and only if for every X such that X ∈ E holds ⋃ X ∈ E.

(6) If E is transitive, then E ⊧ the axiom of infinity if and only if there exists u such that u ≠ ∅ and for every v such that v ∈ u there exists w such that v ⊆ w and v ≠ w and w ∈ u.

(7) If E is transitive, then E ⊧ the axiom of infinity if and only if there exists X such that X ∈ E and X ≠ ∅ and for every Y such that Y ∈ X there exists Z such that Y ⊆ Z and Y ≠ Z and Z ∈ X.

(8) If E is transitive, then E ⊧ the axiom of power sets if and only if for every u holds E ∩ 2^{u} ∈ E.

(9) If E is transitive, then E ⊧ the axiom of power sets if and only if for every X such that X ∈ E holds E ∩ 2^{X} ∈ E.

(10) If x ∉ Free H and E, f ⊧ H, then E, f ⊧ ∀_{x}H.

(11) If {x, y} misses Free H and E, f ⊧ H, then E, f ⊧ ∀_{x,y}H.

(12) If {x, y, z} misses Free H and E, f ⊧ H, then E, f ⊧ ∀_{x,y,z}H. The arguments of the notions defined below are the following: H, E which

are objects of the type reserved above; val which is a function from VAR into E. Let us assume that x_{0} ∉ Free H and E, val ⊧ ∀_{x_{3}}(∃_{x_{0}}(∀_{x_{4}}H ⇔ x_{4}=x_{0})). The functor f_{H}[val] yielding a function from E into E, is defined by:

for every g such that for every y such that g(y) ≠ val(y) holds x_{0} = y or x_{3} = y or x_{4} = y holds E, g ⊧ H if and only if f_{H}[val](g(x_{3})) = g(x_{4}).

Next we state two propositions:

(13) Suppose x_{0} ∉ Free H and E, f ⊧ ∀_{x_{3}}(∃_{x_{0}}(∀_{x_{4}}H ⇔ x_{4}=x_{0})). Let F be a function from E into E. Then F = f_{H}[f] if and only if for every g such that for every y such that g(y) ≠ f(y) holds x_{0} = y or x_{3} = y or x_{4} = y holds E, g ⊧ H if and only if F (g(x_{3})) = g(x_{4}).

(14) For all H, f, g such that for every x such that f(x) ≠ g(x) holds x ∉

Free H and E, f ⊧ H holds E, g ⊧ H. Let us consider H, E. Let us assume that Free H ⊆ {x_{3}, x_{4}} and E ⊧

∀_{x_{3}}(∃_{x_{0}}(∀_{x_{4}}H ⇔ x_{4}=x_{0})). The functor f_{H}[E] yielding a function from E into E, is defined by:

for every g holds E, g ⊧ H if and only if f_{H}[E](g(x_{3})) = g(x_{4}). The following proposition is true

(15) Suppose Free H ⊆ {x_{3}, x_{4}} and E ⊧ ∀_{x_{3}}(∃_{x_{0}}(∀_{x_{4}}H ⇔ x_{4}=x_{0})). Then for every function F from E into E holds F = f_{H}[E] if and only if for every g holds E, g ⊧ H if and only if F (g(x_{3})) = g(x_{4}).

We now define two new predicates. The arguments of the notions defined below are the following: F which is a function; E which is an object of the type reserved above. The predicate F is definable in E is defined by:

there exists H such that Free H ⊆ {x_{3}, x_{4}} and E ⊧ ∀_{x_{3}}(∃_{x_{0}}(∀_{x_{4}}H ⇔ x_{4}=x_{0})) and F = f_{H}[E]. The predicate F is parametrically definable in E is defined by:

there exist H, f such that {x_{0}, x_{1}, x_{2}} misses Free H and E, f ⊧ ∀_{x_{3}}(∃_{x_{0}}(∀_{x_{4}}H ⇔ x_{4}=x_{0})) and F = f_{H}[f]. One can prove the following propositions:

(16) For every function F holds F is definable in E if and only if there exists H such that Free H ⊆ {x_{3}, x_{4}} and E ⊧ ∀_{x_{3}}(∃_{x_{0}}(∀_{x_{4}}H ⇔ x_{4}=x_{0})) and F = f_{H}[E].

(17) For every function F holds F is parametrically definable in E if and only if there exist H, f such that {x_{0}, x_{1}, x_{2}} misses Free H and E, f ⊧

Properties of ZF Models 279

∀_{x_{3}}(∃_{x_{0}}(∀_{x_{4}}H ⇔ x_{4}=x_{0})) and F = f_{H}[f].

(18) For every function F such that F is definable in E holds F is parametrically definable in E.

(19) Suppose E is transitive. Then for every H such that {x_{0}, x_{1}, x_{2}} misses Free H holds E ⊧ the axiom of substitution for H if and only if for all H, f such that {x_{0}, x_{1}, x_{2}} misses Free H and E, f ⊧ ∀_{x_{3}}(∃_{x_{0}}(∀_{x_{4}}H ⇔ x_{4}=x_{0})) for every u holds f_{H}[f]^{∘} u ∈ E.

(20) If E is transitive, then for every H such that {x_{0}, x_{1}, x_{2}} misses Free H holds E ⊧ the axiom of substitution for H if and only if for every function F such that F is parametrically definable in E for every X such that X ∈ E holds F ^{∘} X ∈ E.

(21) Suppose E is a model of ZF. Then (i) E is transitive, (ii) for all u, v such that for every w holds w ∈ u if and only if w ∈ v holds

u = v, (iii) for all u, v holds {u, v} ∈ E, (iv) for every u holds ⋃ u ∈ E,

(v) there exists u such that u ≠ ∅ and for every v such that v ∈ u there exists w such that v ⊆ w and v ≠ w and w ∈ u,

(vi) for every u holds E ∩ 2^{u} ∈ E, (vii) for all H, f such that {x_{0}, x_{1}, x_{2}} misses Free H and

E, f ⊧ ∀_{x_{3}}(∃_{x_{0}}(∀_{x_{4}}H ⇔ x_{4}=x_{0})) for every u holds f_{H}[f]^{∘} u ∈ E.

(22) Suppose that (i) E is transitive, (ii) for all u, v holds {u, v} ∈ E, (iii) for every u holds ⋃ u ∈ E, (iv) there exists u such that u ≠ ∅ and for every v such that v ∈ u there

exists w such that v ⊆ w and v ≠ w and w ∈ u,

(v) for every u holds E ∩ 2^{u} ∈ E, (vi) for all H, f such that {x_{0}, x_{1}, x_{2}} misses Free H and

E, f ⊧ ∀_{x_{3}}(∃_{x_{0}}(∀_{x_{4}}H ⇔ x_{4}=x_{0})) for every u holds f_{H}[f]^{∘} u ∈ E. Then E is a model of ZF.

References

[1] Grzegorz Bancerek. A model of ZF set theory language. Formalized Mathematics, 1(1):131–145, 1990.

[2] Grzegorz Bancerek. Models and satisfiability. Formalized Mathematics, 1(1):191–199, 1990.

[3] Grzegorz Bancerek. The ordinal numbers. Formalized Mathematics, 1(1):91–96, 1990.

[4] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[5] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[6] Andrzej Mostowski. Constructible Sets with Applications. North Holland, 1969.

[7] Andrzej Trybulec. Enumerated sets. Formalized Mathematics, 1(1):25–34, 1990.

[8] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

Sequences of Ordinal Numbers

Grzegorz Bancerek Warsaw University Białystok

Summary. In the first part of the article we introduce the following operations: On X that yields the set of all ordinals which belong to the set X, Lim X that yields the set of all limit ordinals which belong to X, and inf X and sup X that yield the minimal ordinal belonging to X and the minimal ordinal greater than all ordinals belonging to X, respectively. The second part of the article starts with schemes that can be used to justify the correctness of definitions based on the transfinite induction (see [1] or [3]). The schemes are used to define addition, product and power of ordinal numbers. The operations of limes inferior and limes superior of sequences of ordinals are defined and the concepts of limet of ordinal sequence and increasing and continuous sequence are introduced.

MML Identifier: ORDINAL2.

The papers [5], [2], [1], and [4] provide the terminology and notation for this paper. For simplicity we adopt the following rules: A, A_{1}, A_{2}, B, C, D will denote ordinal numbers, X, Y will denote sets, x, y will be arbitrary, and L, L_{1} will denote transfinite sequences. The scheme Ordinal Ind concerns a unary predicate P and states that:

for every A holds P[A] provided the parameter satisfies the following conditions:

• P[0],

• for every A such that P[A] holds P[succ A],

• for every A such that A ≠ 0 and A is a limit ordinal number and for every B such that B ∈ A holds P[B] holds P[A].

We now state several propositions:

(1) If A ⊆ B, then succ A ⊆ succ B.

(2) ⋃(succ A) = A.

(3) succ A ⊆ 2^{A}.

(4) 0 is a limit ordinal number.

(5) ⋃ A ⊆ A. Let us consider L. The functor last L yielding a set, is defined by: last L = L(⋃(dom L)). Next we state two propositions:

(6) last L = L(⋃(dom L)).

(7) If dom L = succ A, then last L = L(A). We now define two new functors. Let us consider X. The functor On X yields

a set and is defined by:

x ∈ On X if and only if x ∈ X and x is an ordinal number. The functor Lim X yielding a set, is defined by:

x ∈ Lim X if and only if x ∈ X and there exists A such that x = A and A is a limit ordinal number.

Next we state a number of propositions:

(8) x ∈ On X if and only if x ∈ X and x is an ordinal number.

(9) On X ⊆ X.

(10) On A = A.

(11) If X ⊆ Y, then On X ⊆ On Y.

(12) x ∈ Lim X if and only if x ∈ X and there exists A such that x = A and A is a limit ordinal number.

(13) Lim X ⊆ X.

(14) If X ⊆ Y, then Lim X ⊆ Lim Y.

(15) Lim X ⊆ On X.

(16) For every D there exists A such that D ∈ A and A is a limit ordinal number.

(17) If for every x such that x ∈ X holds x is an ordinal number, then ⋂ X

is an ordinal number. We now define four new functors. The constant 1 is an ordinal number and

is defined by:

1 = succ 0. The constant ω is an ordinal number and is defined by:

0 ∈ ω and ω is a limit ordinal number and for every A such that 0 ∈ A and A is a limit ordinal number holds ω ⊆ A. Let us consider X. The functor inf X yields an ordinal number and is defined by:

inf X = ⋂(On X). The functor sup X yielding an ordinal number, is defined by:

On X ⊆ sup X and for every A such that On X ⊆ A holds sup X ⊆ A. We now state a number of propositions:

(18) 1 = succ 0.

(19) 0 ∈ ω and ω is a limit ordinal number and for every A such that 0 ∈ A and A is a limit ordinal number holds ω ⊆ A.

(20) inf X = ⋂(On X).

Sequences of Ordinal Numbers 283

(21) B = sup X if and only if On X ⊆ B and for every A such that On X ⊆ A holds B ⊆ A.

(22) If A ∈ X, then inf X ⊆ A.

(23) If On X ≠ ∅ and for every A such that A ∈ X holds D ⊆ A, then D ⊆ inf X.

(24) If A ∈ X and X ⊆ Y, then inf Y ⊆ inf X.

(25) If A ∈ X, then inf X ∈ X.

(26) sup A = A.

(27) If A ∈ X, then A ∈ sup X.

(28) If for every A such that A ∈ X holds A ∈ D, then sup X ⊆ D.

(29) If A ∈ sup X, then there exists B such that B ∈ X and A ⊆ B.

(30) If X ⊆ Y, then sup X ⊆ sup Y.

(31) sup{A} = succ A.

(32) inf X ⊆ sup X.

The scheme TS Lambda concerns a constant A that is an ordinal number and a unary functor F and states that:

there exists L such that dom L = A and for every A such that A ∈ A holds L(A) = F(A) for all values of the parameters.

The mode sequence of ordinal numbers, which widens to the type a transfinite sequence, is defined by:

there exists A such that rng it ⊆ A.

The following proposition is true

(33) L is a sequence of ordinal numbers if and only if there exists A such that

rng L ⊆ A. Let us consider A. We see that it makes sense to consider the following mode

for restricted scopes of arguments. Then all the objests of the mode transfinite sequence of elements of A are a sequence of ordinal numbers.

The arguments of the notions defined below are the following: L which is a sequence of ordinal numbers; A which is an object of the type reserved above. Then L A is a sequence of ordinal numbers. Then L(A) is a set.

In the sequel fi, psi are sequences of ordinal numbers. Next we state a proposition

(34) If A ∈ dom fi, then fi(A) is an ordinal number.

Now we present a number of schemes. The scheme OS Lambda concerns a constant A that is an ordinal number and a unary functor F yielding an ordinal number and states that:

there exists fi such that dom fi = A and for every A such that A ∈ A holds fi(A) = F(A) for all values of the parameters.

The scheme TS Uniq1 deals with a constant A that is an ordinal number, a constant B, a binary functor F, a binary functor G, a constant C that is a transfinite sequence and a constant D that is a transfinite sequence, and states that:

C = D provided the parameters satisfy the following conditions:

• dom C = A,

• if 0 ∈ A, then C(0) = B,

• for all A, x such that succ A ∈ A and x = C(A) holds C(succ A) = F(A, x),

• for all A, L such that A ∈ A and A ≠ 0 and A is a limit ordinal number and L = C A holds C(A) = G(A, L),

• dom D = A,

• if 0 ∈ A, then D(0) = B,

• for all A, x such that succ A ∈ A and x = D(A) holds D(succ A) = F(A, x),

• for all A, L such that A ∈ A and A ≠ 0 and A is a limit ordinal number and L = D A holds D(A) = G(A, L).

The scheme TS Exist1 concerns a constant A that is an ordinal number, a constant B, a binary functor F and a binary functor G and states that:

there exists L such that dom L = A but if 0 ∈ A, then L(0) = B and for all A, x such that succ A ∈ A and x = L(A) holds L(succ A) = F(A, x) and for all A, L_{1} such that A ∈ A and A ≠ 0 and A is a limit ordinal number and L_{1} = L A holds L(A) = G(A, L_{1}). for all values of the parameters.

The scheme TS Result deals with a constant A that is a transfinite sequence, a unary functor F, a constant B that is an ordinal number, a constant C, a binary functor G and a binary functor H and states that:

for every A such that A ∈ dom A holds A(A) = F(A) provided the parameters satisfy the following conditions:

• Given A, x. Then x = F(A) if and only if there exists L such that x = last L and dom L = succ A and L(0) = C and for all C, y such that succ C ∈ succ A and y = L(C) holds L(succ C) = G(C, y) and for all C, L_{1} such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and L_{1} = L C holds L(C) = H(C, L_{1}).

• dom A = B,

• if 0 ∈ B, then A(0) = C,

• for all A, y such that succ A ∈ B and y = A(A) holds A(succ A) = G(A, y),

• for all A, L_{1} such that A ∈ B and A ≠ 0 and A is a limit ordinal number and L_{1} = A A holds A(A) = H(A, L_{1}).

The scheme TS Def deals with a constant A that is an ordinal number, a constant B, a binary functor F and a binary functor G and states that:

(i) there exist x, L such that x = last L and dom L = succ A and L(0) = B and for all C, y such that succ C ∈ succ A and y = L(C) holds L(succ C) = F(C, y) and for all C, L_{1} such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and L_{1} = L C holds L(C) = G(C, L_{1}), (ii) for arbitrary x_{1}, x_{2} such that there exists L such that x_{1} = last L and dom L = succ A and L(0) = B and for all C, y such that succ C ∈ succ A and y = L(C) holds L(succ C) = F(C, y) and for all C, L_{1} such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and L_{1} = L C holds L(C) = G(C, L_{1}) and there exists L such that x_{2} = last L and dom L = succ A and L(0) = B and for all C, y such that succ C ∈ succ A and y = L(C) holds L(succ C) = F(C, y) and for all C, L_{1} such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and L_{1} = L C holds L(C) = G(C, L_{1}) holds x_{1} = x_{2}. for all values of the parameters.

The scheme TS Result0 deals with a unary functor F, a constant A, a binary functor G and a binary functor H and states that:

F(0) = A provided the parameters satisfy the following condition:

• Given A, x. Then x = F(A) if and only if there exists L such that x = last L and dom L = succ A and L(0) = A and for all C, y such that succ C ∈ succ A and y = L(C) holds L(succ C) = G(C, y) and for all C, L_{1} such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and L_{1} = L C holds L(C) = H(C, L_{1}).

The scheme TS ResultS deals with a constant A, a binary functor F, a binary functor G and a unary functor H and states that:

for every A holds H(succ A) = F(A, H(A)) provided the parameters satisfy the following condition:

• Given A, x. Then x = H(A) if and only if there exists L such that x = last L and dom L = succ A and L(0) = A and for all C, y such that succ C ∈ succ A and y = L(C) holds L(succ C) = F(C, y) and for all C, L_{1} such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and L_{1} = L C holds L(C) = G(C, L_{1}).

The scheme TS ResultL concerns a constant A that is a transfinite sequence, a constant B that is an ordinal number, a unary functor F, a constant C, a binary functor G and a binary functor H and states that:

F(B) = H(B, A) provided the parameters satisfy the following conditions:

• Given A, x. Then x = F(A) if and only if there exists L such that x = last L and dom L = succ A and L(0) = C and for all C, y such that succ C ∈ succ A and y = L(C) holds L(succ C) = G(C, y) and for all C, L_{1} such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and L_{1} = L C holds L(C) = H(C, L_{1}).

• B ≠ 0 and B is a limit ordinal number,

• dom A = B,

• for every A such that A ∈ B holds A(A) = F(A).

The scheme OS Exist concerns a constant A that is an ordinal number, a constant B that is an ordinal number, a binary functor F yielding an ordinal number and a binary functor G yielding an ordinal number and states that:

there exists fi such that dom fi = A but if 0 ∈ A, then fi(0) = B and for all A, B such that succ A ∈ A and B = fi(A) holds fi(succ A) = F(A, B) and for all A, psi such that A ∈ A and A ≠ 0 and A is a limit ordinal number and psi = fi A holds fi(A) = G(A, psi). for all values of the parameters.

The scheme OS Result deals with a constant A that is a sequence of ordinal numbers, a unary functor F yielding an ordinal number, a constant B that is an ordinal number, a constant C that is an ordinal number, a binary functor G yielding an ordinal number and a binary functor H yielding an ordinal number and states that:

for every A such that A ∈ dom A holds A(A) = F(A) provided the parameters satisfy the following conditions:

• Given A, B. Then B = F(A) if and only if there exists fi such that B = last fi and dom fi = succ A and fi(0) = C and for all C, D such that succ C ∈ succ A and D = fi(C) holds fi(succ C) = G(C, D) and for all C, psi such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and psi = fi C holds fi(C) = H(C, psi).

• dom A = B,

• if 0 ∈ B, then A(0) = C,

• for all A, B such that succ A ∈ B and B = A(A) holds A(succ A) = G(A, B),

• for all A, psi such that A ∈ B and A ≠ 0 and A is a limit ordinal number and psi = A A holds A(A) = H(A, psi).

The scheme OS Def deals with a constant A that is an ordinal number, a constant B that is an ordinal number, a binary functor F yielding an ordinal number and a binary functor G yielding an ordinal number and states that:

(i) there exist A, fi such that A = last fi and dom fi = succ A and fi(0) = B and for all C, D such that succ C ∈ succ A and D = fi(C) holds fi(succ C) = F(C, D) and for all C, psi such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and psi = fi C holds fi(C) = G(C, psi), (ii) for all A_{1}, A_{2} such that there exists fi such that A_{1} = last fi and dom fi = succ A and fi(0) = B and for all C, D such that succ C ∈ succ A and D = fi(C) holds fi(succ C) = F(C, D) and for all C, psi such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and psi = fi C holds fi(C) = G(C, psi) and there exists fi such that A_{2} = last fi and dom fi = succ A and fi(0) = B and for all C, D such that succ C ∈ succ A and D = fi(C) holds fi(succ C) = F(C, D) and for all C, psi such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and psi = fi C holds fi(C) = G(C, psi) holds A_{1} = A_{2}. for all values of the parameters.

The scheme OS Result0 concerns a unary functor F yielding an ordinal number, a constant A that is an ordinal number, a binary functor G yielding an ordinal number and a binary functor H yielding an ordinal number and states that:

F(0) = A provided the parameters satisfy the following condition:

• Given A, B. Then B = F(A) if and only if there exists fi such that B = last fi and dom fi = succ A and fi(0) = A and for all C, D such that succ C ∈ succ A and D = fi(C) holds fi(succ C) = G(C, D) and for all C, psi such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and psi = fi C holds fi(C) = H(C, psi).

The scheme OS ResultS deals with a constant A that is an ordinal number, a binary functor F yielding an ordinal number, a binary functor G yielding an ordinal number and a unary functor H yielding an ordinal number and states that:

for every A holds H(succ A) = F(A, H(A)) provided the parameters satisfy the following condition:

• Given A, B. Then B = H(A) if and only if there exists fi such that B = last fi and dom fi = succ A and fi(0) = A and for all C, D such that succ C ∈ succ A and D = fi(C) holds fi(succ C) = F(C, D) and for all C, psi such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and psi = fi C holds fi(C) = G(C, psi).

The scheme OS ResultL deals with a constant A that is a sequence of ordinal numbers, a constant B that is an ordinal number, a unary functor F yielding an ordinal number, a constant C that is an ordinal number, a binary functor G yielding an ordinal number and a binary functor H yielding an ordinal number and states that:

F(B) = H(B, A) provided the parameters satisfy the following conditions:

• Given A, B. Then B = F(A) if and only if there exists fi such that B = last fi and dom fi = succ A and fi(0) = C and for all C, D such that succ C ∈ succ A and D = fi(C) holds fi(succ C) = G(C, D) and for all C, psi such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and psi = fi C holds fi(C) = H(C, psi).

• B ≠ 0 and B is a limit ordinal number,

• dom A = B,

• for every A such that A ∈ B holds A(A) = F(A).

We now define two new functors. Let us consider L. The functor sup L yields an ordinal number and is defined by:

sup L = sup(rng L). The functor inf L yielding an ordinal number, is defined by:

inf L = inf(rng L).

One can prove the following proposition

(35) sup L = sup(rng L) and inf L = inf(rng L). We now define two new functors. Let us consider L. The functor limsup L

yielding an ordinal number, is defined by:

there exists fi such that limsup L = inf fi and dom fi = dom L and for every A such that A ∈ dom L holds fi(A) = sup(rng(L (dom L \ A))). The functor liminf L yields an ordinal number and is defined by:

there exists fi such that liminf L = sup fi and dom fi = dom L and for every A such that A ∈ dom L holds fi(A) = inf(rng(L (dom L \ A))).

One can prove the following propositions:

(36) A = limsup L if and only if there exists fi such that A = inf fi and dom fi = dom L and for every B such that B ∈ dom L holds fi(B) = sup(rng(L (dom L \ B))).

(37) A = liminf L if and only if there exists fi such that A = sup fi and dom fi = dom L and for every B such that B ∈ dom L holds fi(B) = inf(rng(L (dom L \ B))).

Let us consider A, fi. The predicate A is the limit of fi is defined by: there exists B such that B ∈ dom fi and for every C such that B ⊆ C and

C ∈ dom fi holds fi(C) = 0 if A = 0, for all B, C such that B ∈ A and A ∈ C there exists D such that D ∈ dom fi and for every ordinal number E such that D ⊆ E and E ∈ dom fi holds B ∈ fi(E) and fi(E) ∈ C, otherwise.

One can prove the following propositions:

(38) If A = 0, then A is the limit of fi if and only if there exists B such that B ∈ dom fi and for every C such that B ⊆ C and C ∈ dom fi holds fi(C) = 0.

(39) If A ≠ 0, then A is the limit of fi if and only if for all B, C such that B ∈ A and A ∈ C there exists D such that D ∈ dom fi and for every ordinal number E such that D ⊆ E and E ∈ dom fi holds B ∈ fi(E) and fi(E) ∈ C.

Let us consider fi. Let us assume that there exists A such that A is the limit of fi. The functor lim fi yielding an ordinal number, is defined by:

lim fi is the limit of fi. Let us consider A, fi. Let us assume that A ∈ dom fi. The functor lim_{A}fi

yields an ordinal number and is defined by:

lim_{A}fi = lim fi A. Next we state two propositions:

(40) If A is the limit of fi, then lim fi = A.

(41) If A ∈ dom fi, then lim_{A}fi = lim fi A.

We now define two new predicates. Let L be a sequence of ordinal numbers. The predicate L is increasing is defined by:

for all A, B such that A ∈ B and B ∈ dom L holds L(A) ∈ L(B). The predicate L is continuous is defined by:

for all A, B such that A ∈ dom L and A ≠ 0 and A is a limit ordinal number and B = L(A) holds B is the limit of L A.

We now state two propositions:

(42) fi is increasing if and only if for all A, B such that A ∈ B and B ∈ dom fi holds fi(A) ∈ fi(B).

(43) fi is continuous if and only if for all A, B such that A ∈ dom fi and A ≠ 0 and A is a limit ordinal number and B = fi(A) holds B is the limit of fi A.

Let us consider A, B. The functor A+B yielding an ordinal number, is defined by:

there exists fi such that A + B = last fi and dom fi = succ B and fi(0) = A and for all C, D such that succ C ∈ succ B and D = fi(C) holds fi(succ C) = succ D and for all C, psi such that C ∈ succ B and C ≠ 0 and C is a limit ordinal number and psi = fi C holds fi(C) = sup psi.

Let us consider A, B. The functor A·B yielding an ordinal number, is defined by:

there exists fi such that A·B = last fi and dom fi = succ A and fi(0) = 0 and for all C, D such that succ C ∈ succ A and D = fi(C) holds fi(succ C) = D + B and for all C, psi such that C ∈ succ A and C ≠ 0 and C is a limit ordinal number and psi = fi C holds fi(C) = ⋃ sup psi.

Let us consider A, B. The functor A^{B} yields an ordinal number and is defined by:

there exists fi such that A^{B} = last fi and dom fi = succ B and fi(0) = 1 and for all C, D such that succ C ∈ succ B and D = fi(C) holds fi(succ C) = A · D and for all C, psi such that C ∈ succ B and C ≠ 0 and C is a limit ordinal number and psi = fi C holds fi(C) = lim psi.

The following propositions are true:

(44) A + 0 = A.

(45) A + succ B = succ(A + B).

(46) If B ≠ 0 and B is a limit ordinal number, then for every fi such that dom fi = B and for every C such that C ∈ B holds fi(C) = A + C holds A + B = sup fi.

(47) 0 +A = A.

(48) A + 1 = succ A.

(49) If A ∈ B, then C + A ∈ C + B.

(50) If A ⊆ B, then C + A ⊆ C + B.

(51) If A ⊆ B, then A + C ⊆ B + C.

(52) 0 ·A = 0.

(53) succ B · A = B · A + A.

(54) If B ≠ 0 and B is a limit ordinal number, then for every fi such that dom fi = B and for every C such that C ∈ B holds fi(C) = C · A holds B · A = ⋃ sup fi.

(55) A · 0 = 0.

(56) 1 ·A = A and A · 1 = A.

(57) If C ≠ 0 and A ∈ B, then A · C ∈ B · C.

(58) If A ⊆ B, then A · C ⊆ B · C.

(59) If A ⊆ B, then C · A ⊆ C · B.

(60) A^{0} = 1.

(61) A^{succ B} = A · (A^{B}).

(62) If B ≠ 0 and B is a limit ordinal number, then for every fi such that dom fi = B and for every C such that C ∈ B holds fi(C) = A^{C} holds A^{B} = lim fi.

(63) A^{1} = A and 1^{A} = 1.

Let us consider A. The predicate A is natural is defined by:

A ∈ ω.

One can prove the following propositions:

(64) A is natural if and only if A ∈ ω.

(65) For every A there exist B, C such that B is a limit ordinal number and C is natural and A = B + C.

References

[1] Grzegorz Bancerek. The ordinal numbers. Formalized Mathematics, 1(1):91–96, 1990.

[2] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[3] Kazimierz Kuratowski and Andrzej Mostowski. Teoria mnogości. PTM, Wrocław, 1952.

[4] Beata Padlewska. Families of sets. Formalized Mathematics, 1(1):147–152, 1990.

[5] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

Vectors in Real Linear Space

Wojciech A. Trybulec^{1} Warsaw University

Summary. In this article we introduce a notion of real linear space, operations on vectors: addition, multiplication by real number, inverse vector, substraction. The sum of finite sequence of the vectors is also defined. Theorems that belong rather to [1] or [2] are proved.

MML Identifier: RLVECT 1.

The notation and terminology used here have been introduced in the following articles: [7], [4], [5], [3], [6], [2], and [1]. We consider RLS structures which are systems

⟨ vectors, a zero, an addition, a multiplication ⟩

where the vectors is a non-empty set, the zero is an element of the vectors, the addition is a binary operation on the vectors, and the multiplication is a function from [: , the vectors :] into the vectors. In the sequel V will denote an RLS structure, v will denote an element of the vectors of V, and x will be arbitrary. Let us consider V. A vector of V is an element of the vectors of V.

Next we state a proposition

(1) v is a vector of V.

Let us consider V, x. The predicate x ∈ V is defined by:

x ∈the vectors of V.

Next we state two propositions:

(2) x ∈ V if and only if x ∈the vectors of V.

(3) v ∈ V.

Let us consider V. The functor 0_{V} yielding a vector of V, is defined by:

0_{V} =the zero of V.

292 Wojciech A. Trybulec

In the sequel v, w will denote vectors of V and a, b will denote real numbers. Let us consider V, v, w. The functor v + w yields a vector of V and is defined by: v + w =(the addition of V)(⟨⟨v, w⟩⟩). Let us consider V, v, a. The functor a · v yielding a vector of V, is defined by: a · v =(the multiplication of V)(⟨⟨a, v⟩⟩). We now state three propositions:

1Supported by RPBP.III-24.C1

(4) 0_{V} =the zero of V.

(5) v + w =(the addition of V)(⟨⟨v, w⟩⟩).

(6) a · v =(the multiplication of V)(⟨⟨a, v⟩⟩). The mode real linear space, which widens to the type an RLS structure, is

defined by:

(i) for all vectors v, w of it holds v + w = w + v, (ii) for all vectors u, v, w of it holds (u + v) + w = u + (v + w), (iii) for every vector v of it holds v + 0_{it} = v, (iv) for every vector v of it there exists w being a vector of it such that v + w = 0_{it},

(v) for every a for all vectors v, w of it holds a · (v + w) = a · v + a · w, (vi) for all a, b for every vector v of it holds (a + b) · v = a · v + b · v, (vii) for all a, b for every vector v of it holds (a · b) · v = a · (b · v), (viii) for every vector v of it holds 1 · v = v.

Next we state a proposition

(7) Suppose that

(i) for all vectors v, w of V holds v + w = w + v, (ii) for all vectors u, v, w of V holds (u + v) + w = u + (v + w), (iii) for every vector v of V holds v + 0_{V} = v, (iv) for every vector v of V there exists w being a vector of V such that

v + w = 0_{V},

(v) for every a for all vectors v, w of V holds a · (v + w) = a · v + a · w, (vi) for all a, b for every vector v of V holds (a + b) · v = a · v + b · v, (vii) for all a, b for every vector v of V holds (a · b) · v = a · (b · v), (viii) for every vector v of V holds 1 · v = v.

Then V is a real linear space. We follow the rules: V denotes a real linear space and u, v, v_{1}, v_{2}, w denote

vectors of V. The following propositions are true: (8) v + w = w + v.

(9) (u + v) + w = u + (v + w).

(10) v + 0_{V} = v and 0_{V} + v = v.

(11) There exists w such that v + w = 0_{V}.

(12) a · (v + w) = a · v + a · w.

(13) (a + b) · v = a · v + b · v.

(14) (a · b) · v = a · (b · v).

(15) 1 · v = v.

Let us consider V, v. The functor −v yields a vector of V and is defined by: v + (−v) = 0_{V}.

Vectors in Real Linear Space 293

Let us consider V, v, w. The functor v − w yields a vector of V and is defined by:

v − w = v + (−w).

Next we state a number of propositions:

(16) v + (−v) = 0_{V}.

(17) If v + w = 0_{V}, then w = −v.

(18) v − w = v + (−w).

(19) If v + w = 0_{V}, then v = −w.

(20) There exists w such that v + w = u.

(21) If w + v_{1} = u and w + v_{2} = u, then v_{1} = v_{2}.

(22) If v + w = v, then w = 0_{V}.

(23) If a = 0 or v = 0_{V}, then a · v = 0_{V}.

(24) If a · v = 0_{V}, then a = 0 or v = 0_{V}.

(25) −0_{V} = 0_{V}.

(26) v − 0_{V} = v.

(27) 0_{V} − v = −v.

(28) v − v = 0_{V}.

(29) −v = (−1) · v.

(30) −(−v) = v.

(31) If −v = −w, then v = w.

(32) If v = −w, then −v = w.

(33) If v = −v, then v = 0_{V}.

(34) If v + v = 0_{V}, then v = 0_{V}.

(35) If v − w = 0_{V}, then v = w.

(36) There exists w such that v − w = u.

(37) If w − v_{1} = u and w − v_{2} = u, then v_{1} = v_{2}.

(38) a · (−v) = (−a) · v.

(39) a · (−v) = −a · v.

(40) (−a) · (−v) = a · v.

(41) v − (u + w) = (v − u) − w.

(42) (v + u) − w = v + (u − w).

(43) v − (u − w) = (v − u) + w.

(44) −(v + w) = (−v) − w.

(45) −(v + w) = (−v) + (−w).

(46) (−v) − w = (−w) − v.

(47) −(v − w) = (−v) + w.

(48) a · (v − w) = a · v − a · w.

(49) (a − b) · v = a · v − b · v.

(50) If a ≠ 0 and a · v = a · w, then v = w.

(51) If v ≠ 0_{V} and a · v = b · v, then a = b.

For simplicity we adopt the following convention: F, G denote finite sequences of elements of the vectors of V, f denotes a function from into the vectors of V, j, k, n denote natural numbers, and p, q denote finite sequences. Let us consider V, f, j. Then f(j) is a vector of V.

Let us consider V, v, u. Then ⟨v, u⟩ is a finite sequence of elements of the vectors of V.

Let us consider V, v, u, w. Then ⟨v, u, w⟩ is a finite sequence of elements of the vectors of V.

Let us consider V, F. The functor ∑ F yields a vector of V and is defined by: there exists f such that ∑ F = f(len F) and f(0) = 0_{V} and for all j, v such

that j < len F and v = F (j + 1) holds f(j + 1) = f(j) + v.

The following propositions are true:

(52) If there exists f such that u = f(len F) and f(0) = 0_{V} and for all j, v such that j < len F and v = F (j + 1) holds f(j + 1) = f(j) + v, then u = ∑ F.

(53) There exists f such that ∑ F = f(len F) and f(0) = 0_{V} and for all j, v such that j < len F and v = F (j + 1) holds f(j + 1) = f(j) + v.

(54) If k ∈ Seg n and len F = n, then F (k) is a vector of V.

(55) If len F = len G + 1 and G = F Seg(len G) and v = F (len F), then ∑ F = ∑ G + v.

(56) If len F = len G and for all k, v such that k ∈ Seg(len F) and v = G(k) holds F (k) = a · v, then ∑ F = a · ∑ G.

(57) If len F = len G and for all k, v such that k ∈ Seg(len F) and v = G(k) holds F (k) = −v, then ∑ F = − ∑ G.

(58) ∑(F ^{}G) = ∑ F + ∑ G.

(59) If rng F = rng G and F is one-to-one and G is one-to-one, then ∑ F = ∑ G.

(60) ∑ ε_{(the vectors of V)} = 0_{V}.

(61) ∑⟨v⟩ = v.

(62) ∑⟨v, u⟩ = v + u.

(63) ∑⟨v, u, w⟩ = (v + u) + w.

(64) a · ∑ ε_{(the vectors of V)} = 0_{V}.

(65) a · ∑⟨v⟩ = a · v.

(66) a · ∑⟨v, u⟩ = a · v + a · u.

(67) a · ∑⟨v, u, w⟩ = (a · v + a · u) + a · w.

(68) − ∑ ε_{(the vectors of V)} = 0_{V}.

(69) − ∑⟨v⟩ = −v.

(70) − ∑⟨v, u⟩ = (−v) − u.

(71) − ∑⟨v, u, w⟩ = ((−v) − u) − w.

(72) ∑⟨v, w⟩ = ∑⟨w, v⟩.

(73) ∑⟨v, w⟩ = ∑⟨v⟩ + ∑⟨w⟩.

(74) ∑⟨0_{V} , 0_{V} ⟩ = 0_{V}.

(75) ∑⟨0_{V} , v⟩ = v and ∑⟨v, 0_{V} ⟩ = v.

(76) ∑⟨v, −v⟩ = 0_{V} and ∑⟨−v, v⟩ = 0_{V}.

(77) ∑⟨v, −w⟩ = v − w and ∑⟨−w, v⟩ = v − w.

(78) ∑⟨−v, −w⟩ = −(v + w) and ∑⟨−w, −v⟩ = −(v + w).

(79) ∑⟨v, v⟩ = 2 · v.

(80) ∑⟨−v, −v⟩ = (−2) · v.

(81) ∑⟨u, v, w⟩ = (∑⟨u⟩ + ∑⟨v⟩) + ∑⟨w⟩.

(82) ∑⟨u, v, w⟩ = ∑⟨u, v⟩ + w.

(83) ∑⟨u, v, w⟩ = ∑⟨v, w⟩ + u.

(84) ∑⟨u, v, w⟩ = ∑⟨u, w⟩ + v.

(85) ∑⟨u, v, w⟩ = ∑⟨u, w, v⟩.

(86) ∑⟨u, v, w⟩ = ∑⟨v, u, w⟩.

(87) ∑⟨u, v, w⟩ = ∑⟨v, w, u⟩.

(88) ∑⟨u, v, w⟩ = ∑⟨w, u, v⟩.

(89) ∑⟨u, v, w⟩ = ∑⟨w, v, u⟩.

(90) ∑⟨0_{V} , 0_{V} , 0_{V} ⟩ = 0_{V}.

(91) ∑⟨0_{V} , 0_{V} , v⟩ = v and ∑⟨0_{V} , v, 0_{V} ⟩ = v and ∑⟨v, 0_{V} , 0_{V} ⟩ = v.

(92) ∑⟨0_{V} , u, v⟩ = u + v and ∑⟨u, v, 0_{V} ⟩ = u + v and ∑⟨u, 0_{V} , v⟩ = u + v.

(93) ∑⟨v, v, v⟩ = 3 · v.

(94) If len F = 0, then ∑ F = 0_{V}.

(95) If len F = 1, then ∑ F = F (1).

(96) If len F = 2 and v_{1} = F (1) and v_{2} = F (2), then ∑ F = v_{1} + v_{2}.

(97) If len F = 3 and v_{1} = F (1) and v_{2} = F (2) and v = F (3), then ∑ F = (v_{1} + v_{2}) + v.

(98) If j < 1, then j = 0.

(99) 1 ≤ k if and only if k ≠ 0.

(100) k ≤ k + n and k ≤ n + k.

(101) k < k + 1 and k < 1 + k.

(102) If k ≠ 0, then n < n + k and n < k + n.

(103) k < k + n if and only if 1 ≤ n.

(104) Seg k = Seg(k + 1) \ {k + 1}.

(105) p = (p^{}q) Seg(len p).

(106) If rng p = rng q and p is one-to-one and q is one-to-one, then len p = len q.

References

[1] Grzegorz Bancerek. The fundamental properties of natural numbers. Formalized Mathematics, 1(1):41–46, 1990.

[2] Grzegorz Bancerek and Krzysztof Hryniewiecki. Segments of natural numbers and finite sequences. Formalized Mathematics, 1(1):107–114, 1990.

[3] Czesław Byliński. Binary operations. Formalized Mathematics, 1(1):175– 180, 1990.

[4] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[5] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[6] Krzysztof Hryniewiecki. Basic properties of real numbers. Formalized Mathematics, 1(1):35–40, 1990.

[7] Zinaida Trybulec and Halina Świe‘czkowska. Boolean properties of sets. Formalized Mathematics, 1(1):17–23, 1990.

Subspaces and Cosets of Subspaces in Real Linear Space

Wojciech A. Trybulec^{1} Warsaw University

Summary. The following notions are introduced in the article: subspace of a real linear space, zero subspace and improper subspace, coset of a subspace. The relation of a subset of the vectors being linearly closed is also introduced. Basic theorems concerning those notions are proved in the article.

MML Identifier: RLSUB 1.

The papers [4], [2], [6], [3], [1], and [5] provide the terminology and notation for this paper. For simplicity we follow a convention: V, X, Y are real linear spaces, u, v, v_{1}, v_{2} are vectors of V, a is a real number, V_{1}, V_{2}, V_{3} are subsets of the vectors of V, and x be arbitrary. Let us consider V, V_{1}. The predicate V_{1} is linearly closed is defined by:

for all v, u such that v ∈ V_{1} and u ∈ V_{1} holds v + u ∈ V_{1} and for all a, v such that v ∈ V_{1} holds a · v ∈ V_{1}.

Next we state a number of propositions:

(1) If for all v, u such that v ∈ V_{1} and u ∈ V_{1} holds v + u ∈ V_{1} and for all a, v such that v ∈ V_{1} holds a · v ∈ V_{1}, then V_{1} is linearly closed.

(2) If V_{1} is linearly closed, then for all v, u such that v ∈ V_{1} and u ∈ V_{1} holds v + u ∈ V_{1}.

(3) If V_{1} is linearly closed, then for all a, v such that v ∈ V_{1} holds a · v ∈ V_{1}.

(4) If V_{1} ≠ ∅ and V_{1} is linearly closed, then 0_{V} ∈ V_{1}.

(5) If V_{1} is linearly closed, then for every v such that v ∈ V_{1} holds −v ∈ V_{1}.

(6) If V_{1} is linearly closed, then for all v, u such that v ∈ V_{1} and u ∈ V_{1} holds v − u ∈ V_{1}.

(7) {0_{V} } is linearly closed.

(8) If the vectors of V = V_{1}, then V_{1} is linearly closed.

1Supported by RPBP.III-24.C1

(9) If V_{1} is linearly closed and V_{2} is linearly closed and V_{3} = {v + u : v ∈ V_{1} ∧ u ∈ V_{2}}, then V_{3} is linearly closed.

(10) If V_{1} is linearly closed and V_{2} is linearly closed, then V_{1} ∩ V_{2} is linearly

closed. Let us consider V. The mode subspace of V, which widens to the type a real

linear space, is defined by:

the vectors of it ⊆the vectors of V and the zero of it =the zero of V and the addition of it =(the addition of V) [: the vectors of it, the vectors of it :] and the multiplication of it =(the multiplication of V) [: , the vectors of it :].

Next we state a proposition

(11) If the vectors of X ⊆the vectors of V and the zero of X =the zero of V and the addition of X =(the addition of V) [: the vectors of X, the vectors of X:] and the multiplication of X =(the multiplication of V) [: , the vectors of X:], then X is a subspace of V.

We follow a convention: W, W_{1}, W_{2} will denote subspaces of V and w, w_{1}, w_{2} will denote vectors of W. We now state a number of propositions:

(12) the vectors of W ⊆the vectors of V.

(13) the zero of W =the zero of V.

(14) the addition of W =(the addition of V) [: the vectors of W, the vectors of W :].

(15) the multiplication of W =(the multiplication of V) [: , the vectors of W :].

(16) If x ∈ W_{1} and W_{1} is a subspace of W_{2}, then x ∈ W_{2}.

(17) If x ∈ W, then x ∈ V.

(18) w is a vector of V.

(19) 0_{W} = 0_{V}.

(20) 0_{W_{1}} = 0_{W_{2}}.

(21) If w_{1} = v and w_{2} = u, then w_{1} + w_{2} = v + u.

(22) If w = v, then a · w = a · v.

(23) If w = v, then −v = −w.

(24) If w_{1} = v and w_{2} = u, then w_{1} − w_{2} = v − u.

(25) 0_{V} ∈ W.

(26) 0_{W_{1}} ∈ W_{2}.

(27) 0_{W} ∈ V.

(28) If u ∈ W and v ∈ W, then u + v ∈ W.

(29) If v ∈ W, then a · v ∈ W.

(30) If v ∈ W, then −v ∈ W.

(31) If u ∈ W and v ∈ W, then u − v ∈ W.

In the sequel D is a non-empty set, d_{1} is an element of D, A is a binary operation on D, and M is a function from [: , D:] into D. We now state a number of propositions:

Subspaces and Cosets of Subspaces in Real … 299

(32) If V_{1} = D and d_{1} = 0_{V} and A =(the addition of V) [: V_{1}, V_{1} :] and M =(the multiplication of V) [: , V_{1} :], then ⟨D, d_{1}, A, M⟩ is a subspace of V.

(33) V is a subspace of V.

(34) If V is a subspace of X and X is a subspace of V, then V = X.

(35) If V is a subspace of X and X is a subspace of Y, then V is a subspace of Y.

(36) If the vectors of W_{1} ⊆the vectors of W_{2}, then W_{1} is a subspace of W_{2}.

(37) If for every v such that v ∈ W_{1} holds v ∈ W_{2}, then W_{1} is a subspace of W_{2}.

(38) If the vectors of W_{1} =the vectors of W_{2}, then W_{1} = W_{2}.

(39) If for every v holds v ∈ W_{1} if and only if v ∈ W_{2}, then W_{1} = W_{2}.

(40) If the vectors of W =the vectors of V, then W = V.

(41) If for every v holds v ∈ W if and only if v ∈ V, then W = V.

(42) If the vectors of W = V_{1}, then V_{1} is linearly closed.

(43) If V_{1} ≠ ∅ and V_{1} is linearly closed, then there exists W such that V_{1} =the

vectors of W. Let us consider V. The functor 0_{V} yielding a subspace of V, is defined by: the vectors of 0_{V} = {0_{V} }. Let us consider V. The functor Ω_{V} yielding a subspace of V, is defined by: Ω_{V} = V. We now state a number of propositions:

(44) the vectors of 0_{V} = {0_{V} }.

(45) If the vectors of W = {0_{V} }, then W = 0_{V}.

(46) Ω_{V} = V.

(47) Ω_{V} = 0_{V} if and only if V = 0_{V}.

(48) 0_{W} = 0_{V}.

(49) 0_{W_{1}} = 0_{W_{2}}.

(50) 0_{W} is a subspace of V.

(51) 0_{V} is a subspace of W.

(52) 0_{W_{1}} is a subspace of W_{2}.

(53) W is a subspace of Ω_{V}.

(54) V is a subspace of Ω_{V}.

Let us consider V, v, W. The functor v + W yielding a subset of the vectors of V, is defined by:

v + W = {v + u : u ∈ W }.

Let us consider V, W. The mode coset of W, which widens to the type a subset of the vectors of V, is defined by:

there exists v such that it = v + W.

In the sequel B, C will be cosets of W. We now state a number of propositions:

(55) v + W = {v + u : u ∈ W }.

(56) There exists v such that C = v + W.

(57) If V_{1} = v + W, then V_{1} is a coset of W.

(58) 0_{V} ∈ v + W if and only if v ∈ W.

(59) v ∈ v + W.

(60) 0_{V} + W =the vectors of W.

(61) v + 0_{V} = {v}.

(62) v + Ω_{V} =the vectors of V.

(63) 0_{V} ∈ v + W if and only if v + W =the vectors of W.

(64) v ∈ W if and only if v + W =the vectors of W.

(65) If v ∈ W, then a · v + W =the vectors of W.

(66) If a ≠ 0 and a · v + W =the vectors of W, then v ∈ W.

(67) v ∈ W if and only if (−v) + W =the vectors of W.

(68) u ∈ W if and only if v + W = (v + u) + W.

(69) u ∈ W if and only if v + W = (v − u) + W.

(70) v ∈ u + W if and only if u + W = v + W.

(71) v + W = (−v) + W if and only if v ∈ W.

(72) If u ∈ v_{1} + W and u ∈ v_{2} + W, then v_{1} + W = v_{2} + W.

(73) If u ∈ v + W and u ∈ (−v) + W, then v ∈ W.

(74) If a ≠ 1 and a · v ∈ v + W, then v ∈ W.

(75) If v ∈ W, then a · v ∈ v + W.

(76) −v ∈ v + W if and only if v ∈ W.

(77) u + v ∈ v + W if and only if u ∈ W.

(78) v − u ∈ v + W if and only if u ∈ W.

(79) u ∈ v + W if and only if there exists v_{1} such that v_{1} ∈ W and u = v + v_{1}.

(80) u ∈ v + W if and only if there exists v_{1} such that v_{1} ∈ W and u = v − v_{1}.

(81) There exists v such that v_{1} ∈ v + W and v_{2} ∈ v + W if and only if v_{1} − v_{2} ∈ W.

(82) If v + W = u + W, then there exists v_{1} such that v_{1} ∈ W and v + v_{1} = u.

(83) If v + W = u + W, then there exists v_{1} such that v_{1} ∈ W and v − v_{1} = u.

(84) v + W_{1} = v + W_{2} if and only if W_{1} = W_{2}.

(85) If v + W_{1} = u + W_{2}, then W_{1} = W_{2}.

In the sequel C_{1} denotes a coset of W_{1} and C_{2} denotes a coset of W_{2}. We now state a number of propositions:

(86) C is linearly closed if and only if C =the vectors of W.

(87) If C_{1} = C_{2}, then W_{1} = W_{2}.

(88) {v} is a coset of 0_{V}.

(89) If V_{1} is a coset of 0_{V}, then there exists v such that V_{1} = {v}.

(90) the vectors of W is a coset of W.

(91) the vectors of V is a coset of Ω_{V}.

(92) If V_{1} is a coset of Ω_{V}, then V_{1} =the vectors of V.

(93) 0_{V} ∈ C if and only if C =the vectors of W.

(94) u ∈ C if and only if C = u + W.

(95) If u ∈ C and v ∈ C, then there exists v_{1} such that v_{1} ∈ W and u+v_{1} = v.

(96) If u ∈ C and v ∈ C, then there exists v_{1} such that v_{1} ∈ W and u−v_{1} = v.

(97) There exists C such that v_{1} ∈ C and v_{2} ∈ C if and only if v_{1} − v_{2} ∈ W.

(98) If u ∈ B and u ∈ C, then B = C.

References

[1] Czesław Byliński. Binary operations. Formalized Mathematics, 1(1):175– 180, 1990.

[2] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[3] Andrzej Trybulec. Domains and their Cartesian products. Formalized Mathematics, 1(1):115–122, 1990.

[4] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

[5] Wojciech A. Trybulec. Vectors in real linear space. Formalized Mathematics, 1(2):291–296, 1990.

[6] Zinaida Trybulec and Halina Świe‘czkowska. Boolean properties of sets. Formalized Mathematics, 1(1):17–23, 1990.

302

A First Order Language

Piotr Rudnicki^{1} The University of Alberta Andrzej Trybulec^{2} Warsaw University Białystok

Summary. In the paper a first order language is constructed. It includes the universal quantifier and the following propositional connectives: truth, negation, and conjunction. The variables are divided into three kinds: bound variables, fixed variables, and free variables. An infinite number of predicates for each arity is provided. Schemes of structural induction and schemes justifying definitions by structural induction have been proved. The concept of a closed formula (a formula without free occurrences of bound variables) is introduced.

MML Identifier: QC LANG1.

The articles [7], [8], [5], [1], [3], [4], [6], and [2] provide the notation and terminology for this paper. The following propositions are true:

(1) For all non-empty sets D_{1}, D_{2} for every element k of D_{1} holds [: {k}, D_{2} :] ⊆ [: D_{1}, D_{2} :].

(2) For all non-empty sets D_{1}, D_{2} for all elements k_{1}, k_{2}, k_{3} of D_{1} holds [: {k_{1}, k_{2}, k_{3}}, D_{2} :] ⊆ [: D_{1}, D_{2} :].

In the sequel k, l denote natural numbers. The constant Var is a non-empty set and is defined by:

Var = [: {4, 5, 6}, :]. Next we state two propositions:

(3) Var = [: {4, 5, 6}, :].

(4) Var ⊆ [: , :]. We now define five new constructions. A variable is an element of Var. The constant BoundVar is a non-empty subset of Var and is defined by: BoundVar = [: {4}, :].

1Supported in part by NSERC Grant No. OGP 9207 2Supported by NSERC Grant No. OGP 9207. This work has been done while the author

visited The University of Alberta in Spring 1989.

304 Piotr Rudnicki and Andrzej Trybulec

The constant FixedVar is a non-empty subset of Var and is defined by:

FixedVar = [: {5}, :]. The constant FreeVar is a non-empty subset of Var and is defined by:

FreeVar = [: {6}, :]. The constant PredSym is a non-empty set and is defined by:

PredSym = {⟨⟨k, l⟩⟩ : 7 ≤ k}. The following propositions are true:

(5) For every element IT of Var holds IT is a variable.

(6) BoundVar = [: {4}, :].

(7) FixedVar = [: {5}, :].

(8) FreeVar = [: {6}, :].

(9) PredSym = {⟨⟨k, l⟩⟩ : 7 ≤ k}.

(10) PredSym ⊆ [: , :].

A predicate symbol is an element of PredSym. The following proposition is true

(11) For every element IT of PredSym holds IT is a predicate symbol. Let P be an element of PredSym. The functor Arity(P) yielding a natural

number, is defined by:

P_{1} = 7 + Arity(P). Next we state a proposition

(12) For every predicate symbol P for every natural number IT holds IT =

Arity(P) if and only if P_{1} = 7 + IT. In the sequel P will denote a predicate symbol. Let us consider k. The functor

PredSym_{k} yields a non-empty subset of PredSym and is defined by: PredSym_{k} = {P : Arity(P) = k}. Next we state a proposition

(13) For every natural number k for every non-empty subset IT of PredSym

holds IT = PredSym_{k} if and only if IT = {P : Arity(P) = k}. We now define four new modes. A bound variable is an element of BoundVar. A fixed variable is an element of FixedVar. A free variable is an element of FreeVar. Let us consider k. A k-ary predicate symbol is an element of PredSym_{k}. One can prove the following four propositions:

(14) For every element IT of BoundVar holds IT is a bound variable.

(15) For every element IT of FixedVar holds IT is a fixed variable.

(16) For every element IT of FreeVar holds IT is a free variable.

(17) For every natural number k for every element IT of PredSym_{k} holds IT

is a k-ary predicate symbol. Let k be a natural number. The mode list of variables of the length k, which

A First Order Language 305

widens to the type a finite sequence of elements of Var, is defined by: len it = k. One can prove the following proposition (18) For every natural number k for every finite sequence IT of elements of

Var holds IT is a list of variables of the length k if and only if len IT = k. Let D be a non-empty set. The predicate D is closed is defined by:

(i) D is a subset of [: , :] ^{∗}, (ii) for every natural number k for every k-ary predicate symbol p for every list of variables ll of the length k holds ⟨p⟩^{}ll ∈ D, (iii) ⟨⟨⟨0, 0⟩⟩⟩ ∈ D, (iv) for every finite sequence p of elements of [: , :] such that p ∈ D holds ⟨⟨⟨1, 0⟩⟩⟩^{}p ∈ D,

(v) for all finite sequences p, q of elements of [: , :] such that p ∈ D and q ∈ D holds (⟨⟨⟨2, 0⟩⟩⟩^{}p)^{}q ∈ D, (vi) for every bound variable x for every finite sequence p of elements of [: , :] such that p ∈ D holds (⟨⟨⟨3, 0⟩⟩⟩^{}⟨x⟩)^{}p ∈ D.

We now state a proposition

(19) Let D be a non-empty set. Then D is closed if and only if the following

conditions are satisfied:

(i) D is a subset of [: , :] ^{∗}, (ii) for every natural number k for every k-ary predicate symbol p for every

list of variables ll of the length k holds ⟨p⟩^{}ll ∈ D, (iii) ⟨⟨⟨0, 0⟩⟩⟩ ∈ D, (iv) for every finite sequence p of elements of [: , :] such that p ∈ D holds

⟨⟨⟨1, 0⟩⟩⟩^{}p ∈ D,

(v) for all finite sequences p, q of elements of [: , :] such that p ∈ D and q ∈ D holds (⟨⟨⟨2, 0⟩⟩⟩^{}p)^{}q ∈ D,

(vi) for every bound variable x for every finite sequence p of elements of [: ,

:] such that p ∈ D holds (⟨⟨⟨3, 0⟩⟩⟩^{}⟨x⟩)^{}p ∈ D. The constant WFF is a non-empty set and is defined by: WFF is closed and for every non-empty set D such that D is closed holds

WFF ⊆ D.

Next we state two propositions:

(20) For every non-empty set IT holds IT = WFF if and only if IT is closed and for every non-empty set D such that D is closed holds IT ⊆ D.

(21) WFF is closed.

A formula is an element of WFF. The following proposition is true

(22) For every element x of WFF holds x is a formula.

The arguments of the notions defined below are the following: P which is a predicate symbol; l which is a finite sequence of elements of Var. Let us assume that Arity(P) = len l. The functor P ^{}l yields an element of WFF and is defined by:

P ^{}l = ⟨P ⟩^{}l. We now state a proposition (23) For every natural number k for every k-ary predicate symbol p for every

list of variables ll of the length k holds p^{}ll = ⟨p⟩^{}ll. Let p be an element of WFF. The functor @p yields a finite sequence of

elements of [: , :] and is defined by:

@p = p. One can prove the following proposition

(24) For every element p of WFF holds @p = p.

We now define three new functors. The constant VERUM is a formula and is defined by:

VERUM = ⟨⟨⟨0, 0⟩⟩⟩. Let p be an element of WFF. The functor ¬p yielding a formula, is defined by:

¬p = ⟨⟨⟨1, 0⟩⟩⟩^{}@p. Let q be an element of WFF. The functor p ∧ q yields a formula and is defined by:

p ∧ q = (⟨⟨⟨2, 0⟩⟩⟩^{}@p)^{}@q. We now state three propositions:

(25) VERUM = ⟨⟨⟨0, 0⟩⟩⟩.

(26) For every element p of WFF holds ¬p = ⟨⟨⟨1, 0⟩⟩⟩^{}@p.

(27) For all elements p, q of WFF holds p ∧ q = (⟨⟨⟨2, 0⟩⟩⟩^{}@p)^{}@q. The arguments of the notions defined below are the following: x which is a

bound variable; p which is an element of WFF. The functor ∀_{x}p yields a formula and is defined by:

∀_{x}p = (⟨⟨⟨3, 0⟩⟩⟩^{}⟨x⟩)^{}@p. The following proposition is true

(28) For every bound variable x for every element p of WFF holds ∀_{x}p =

(⟨⟨⟨3, 0⟩⟩⟩^{}⟨x⟩)^{}@p. The scheme QC Ind deals with a unary predicate P and states that: for every element F of WFF holds P[F]

provided the parameter satisfies the following conditions:

• for every natural number k for every k-ary predicate symbol P for every list of variables ll of the length k holds P[P ^{}ll],

• P[VERUM],

• for every element p of WFF such that P[p] holds P[¬p],

• for all elements p, q of WFF such that P[p] and P[q] holds P[p ∧ q],

• for every bound variable x for every element p of WFF such that P[p] holds P[∀_{x}p].

We now define four new predicates. Let F be an element of WFF. The predicate F is atomic is defined by:

there exists k being a natural number such that there exists p being a k-ary predicate symbol such that there exists ll being a list of variables of the length k such that F = p^{}ll. The predicate F is negative is defined by:

there exists p being an element of WFF such that F = ¬p. The predicate F is conjunctive is defined by:

there exist p, q being elements of WFF such that F = p ∧ q. The predicate F is universal is defined by:

there exists x being a bound variable such that there exists p being an element of WFF such that F = ∀_{x}p.

We now state several propositions:

(29) For every element F of WFF holds F is atomic if and only if there exists k being a natural number such that there exists p being a k-ary predicate symbol such that there exists ll being a list of variables of the length k such that F = p^{}ll.

(30) For every element F of WFF holds F is negative if and only if there exists p being an element of WFF such that F = ¬p.

(31) For every element F of WFF holds F is conjunctive if and only if there exist p, q being elements of WFF such that F = p ∧ q.

(32) For every element F of WFF holds F is universal if and only if there exists x being a bound variable such that there exists p being an element of WFF such that F = ∀_{x}p.

(33) For every element F of WFF holds F = VERUM or F is atomic or F is negative or F is conjunctive or F is universal.

(34) For every element F of WFF holds 1 ≤ len(@F).

One can prove the following proposition

(35) For every natural number k for every k-ary predicate symbol P holds

Arity(P) = k. In the sequel F, G are elements of WFF and s is a finite sequence. The

following two propositions are true:

(36) (i) If (@F (1))_{1} = 0, then F = VERUM, (ii) if (@F (1))_{1} = 1, then F is negative, (iii) if (@F (1))_{1} = 2, then F is conjunctive, (iv) if (@F (1))_{1} = 3, then F is universal,

(v) if there exists k being a natural number such that @F (1) is a k-ary

predicate symbol, then F is atomic.

(37) If @F = @G^{}s, then @F = @G.

Let F be an element of WFF satisfying the condition: F is atomic. The functor PredSym(F) yielding a predicate symbol, is defined by:

there exists k being a natural number such that there exists ll being a list of variables of the length k such that there exists P being a k-ary predicate symbol such that PredSym(F) = P and F = P ^{}ll.

Let F be an element of WFF satisfying the condition: F is atomic. The functor Args(F) yielding a finite sequence of elements of Var, is defined by:

there exists k being a natural number such that there exists P being a k-ary predicate symbol such that there exists ll being a list of variables of the length k such that Args(F) = ll and F = P ^{}ll.

Next we state two propositions:

(38) For every element F of WFF such that F is atomic for every predicate symbol IT holds IT = PredSym(F) if and only if there exists k being a natural number such that there exists ll being a list of variables of the length k such that there exists P being a k-ary predicate symbol such that IT = P and F = P ^{}ll.

(39) For every element F of WFF such that F is atomic for every finite sequence IT of elements of Var holds IT = Args(F) if and only if there exists k being a natural number such that there exists P being a k-ary predicate symbol such that there exists ll being a list of variables of the length k such that IT = ll and F = P ^{}ll.

Let F be an element of WFF satisfying the condition: F is negative. The functor Arg(F) yields a formula and is defined by:

F = ¬ Arg(F). The following proposition is true

(40) For every element F of WFF such that F is negative for every formula

IT holds IT = Arg(F) if and only if F = ¬IT. Let F be an element of WFF satisfying the condition: F is conjunctive. The

functor LeftArg(F) yielding a formula, is defined by:

there exists q being an element of WFF such that F = LeftArg(F) ∧ q. Let F be an element of WFF satisfying the condition: F is conjunctive. The

functor RightArg(F) yields a formula and is defined by:

there exists p being an element of WFF such that F = p ∧ RightArg(F). Next we state two propositions:

(41) For every element F of WFF such that F is conjunctive for every formula IT holds IT = LeftArg(F) if and only if there exists q being an element of WFF such that F = IT ∧ q.

(42) For every element F of WFF such that F is conjunctive for every formula IT holds IT = RightArg(F) if and only if there exists p being an element of WFF such that F = p ∧ IT.

We now define two new functors. Let F be an element of WFF satisfying the condition: F is universal. The functor Bound(F) yields a bound variable and is defined by:

there exists p being an element of WFF such that F = ∀_{Bound(F)}p. The functor Scope(F) yielding a formula, is defined by:

there exists x being a bound variable such that F = ∀_{x} Scope(F). One can prove the following propositions:

(43) For every element F of WFF such that F is universal for every bound variable IT holds IT = Bound(F) if and only if there exists p being an element of WFF such that F = ∀_{IT} p.

(44) For every element F of WFF such that F is universal for every formula IT holds IT = Scope(F) if and only if there exists x being a bound variable such that F = ∀_{x}IT.

In the sequel p will be an element of WFF. We now state three propositions:

(45) If p is negative, then len(@ Arg(p)) < len(@p).

(46) If p is conjunctive, then len(@ LeftArg(p)) < len(@p) and len(@ RightArg(p)) < len(@p) .

(47) If p is universal, then len(@ Scope(p)) < len(@p).

The scheme QC Ind2 concerns a unary predicate P and states that:

for every element p of WFF holds P[p] provided the parameter satisfies the following condition:

• for every element p of WFF holds if p is atomic, then P[p] but P[VERUM] but if p is negative and P[Arg(p)], then P[p] but if p is conjunctive and P[LeftArg(p)] and P[RightArg(p)], then P[p] but if p is universal and P[Scope(p)], then P[p].

In the sequel F will denote an element of WFF. The following propositions are true:

(48) For every natural number k for every k-ary predicate symbol P holds P_{1} ≠ 0 and P_{1} ≠ 1 and P_{1} ≠ 2 and P_{1} ≠ 3.

(49) (i) (@ VERUM(1))_{1} = 0,

(ii) if F is atomic, then there exists k being a natural number such that

@F (1) is a k-ary predicate symbol, (iii) if F is negative, then (@F (1))_{1} = 1, (iv) if F is conjunctive, then (@F (1))_{1} = 2,

(v) if F is universal, then (@F (1))_{1} = 3.

(50) If F is atomic, then (@F (1))_{1} ≠ 0 and (@F (1))_{1} ≠ 1 and (@F (1))_{1} ≠ 2

and (@F (1))_{1} ≠ 3. In the sequel p denotes an element of WFF. The following proposition is true

(51) (i) Neither VERUM is atomic nor VERUM is negative nor VERUM is

conjunctive nor VERUM is universal, (ii) for no p holds p is atomic and p is negative or p is atomic and p is

conjunctive or p is atomic and p is universal or p is negative and p is conjunctive or p is negative and p is universal or p is conjunctive and p is universal.

The scheme QC Func Ex concerns a constant A that is a non-empty set, a constant B that is an element of A, a unary functor F yielding an element of A, a unary functor G yielding an element of A, a binary functor H yielding an element of A and a binary functor I yielding an element of A and states that:

there exists F being a function from WFF into A such that for every element p of WFF for all elements d_{1}, d_{2} of A holds if p = VERUM, then F (p) = B but if p is atomic, then F (p) = F(p) but if p is negative and d_{1} = F (Arg(p)), then F (p) = G(d_{1}) but if p is conjunctive and d_{1} = F (LeftArg(p)) and d_{2} = F (RightArg(p)), then F (p) = H(d_{1}, d_{2}) but if p is universal and d_{1} = F (Scope(p)), then F (p) = I(p, d_{1}). for all values of the parameters.

In the sequel k denotes a natural number. Let ll be a finite sequence of elements of Var. The functor snb(ll) yields an element of 2^{BoundVar} qua a nonempty set and is defined by: snb(ll) = {ll(k) : 1 ≤ k ∧ k ≤ len ll ∧ ll(k) ∈ BoundVar}.

The following proposition is true

(52) For every finite sequence ll of elements of Var holds snb(ll) = {ll(k) : 1 ≤ k ∧ k ≤ len ll ∧ ll(k) ∈ BoundVar}.

Let x be an element of 2^{BoundVar} qua a non-empty set. The functor @x yields an element of 2^{BoundVar} and is defined by:

@x = x.

Next we state a proposition

(53) For every element x of 2^{BoundVar} qua a non-empty set holds @x = x.

Let x be an element of 2^{BoundVar}. The functor @x yields an element of 2^{BoundVar} qua a non-empty set and is defined by:

@x = x.

One can prove the following proposition

(54) For every element x of 2^{BoundVar} holds @x = x.

Let b be a bound variable. Then {b} is an element of 2^{BoundVar}.

Let X, Y be elements of 2^{BoundVar}. Then X ∪ Y is an element of 2^{BoundVar}. Then X \ Y is an element of 2^{BoundVar}.

In the sequel k denotes a natural number. Let p be a formula. The functor snb(p) yields an element of 2^{BoundVar} and is defined by:

there exists F being a function from WFF into 2^{BoundVar} such that snb(p) = F (p) and for every element p of WFF

holds F (VERUM) = ∅ but if p is atomic, then F (p) = {Args(p)(k) : 1 ≤ k ∧ k ≤ len Args(p)∧Args(p)(k) ∈ BoundVar} but if p is negative, then F (p) = F (Arg(p)) but if p is conjunctive, then F (p) = @(F (LeftArg(p))) ∪ @(F (RightArg(p))) but if p is universal, then F (p) = @(F (Scope(p))) \ {Bound(p)}.

We now state a proposition

(55) Let p be a formula. Let IT be an element of 2^{BoundVar}. Then IT = snb(p) if and only if there exists F being a function from WFF into 2^{BoundVar} such that IT = F (p) and for every element p of WFF holds F (VERUM) = ∅ but if p is atomic, then F (p) = {Args(p)(k) : 1 ≤ k ∧ k ≤ len Args(p) ∧ Args(p)(k) ∈ BoundVar} but if p is negative, then F (p) = F (Arg(p)) but if p is conjunctive, then F (p) = @(F (LeftArg(p))) ∪ @(F (RightArg(p))) but if p is universal, then F (p) = @(F (Scope(p))) \ {Bound(p)}.

Let p be a formula. The predicate p is closed is defined by: snb(p) = ∅.

One can prove the following proposition

(56) For every formula p holds p is closed if and only if snb(p) = ∅.

References

[1] Grzegorz Bancerek. The fundamental properties of natural numbers. Formalized Mathematics, 1(1):41–46, 1990.

[2] Grzegorz Bancerek and Krzysztof Hryniewiecki. Segments of natural numbers and finite sequences. Formalized Mathematics, 1(1):107–114, 1990.

[3] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[4] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[5] Krzysztof Hryniewiecki. Basic properties of real numbers. Formalized Mathematics, 1(1):35–40, 1990.

[6] Andrzej Trybulec. Enumerated sets. Formalized Mathematics, 1(1):25–34, 1990.

[7] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

[8] Andrzej Trybulec. Tuples, projections and Cartesian products. Formalized Mathematics, 1(1):97–105, 1990.

312

Partially Ordered Sets

Wojciech A. Trybulec^{1} Warsaw University

Summary. In the beginning of this article we define the choice function of a non-empty set family that does not contain ∅ as introduced in [5, pages 88–89]. We define order of a set as a relation being reflexive, antisymmetric and transitive in the set, partially ordered set as structure non-emty set and order of the set, chains, lower and upper cone of a subset, initial segments of element and subset of partially ordered set. Some theorems that belong rather to [4] or [9] are proved.

MML Identifier: ORDERS 1.

The notation and terminology used in this paper have been introduced in the following articles: [6], [2], [3], [7], [9], [8], and [1]. We adopt the following convention: X, Y will denote sets, x, y, y_{1}, y_{2}, z will be arbitrary, and f will denote a function. In the article we present several logical schemes. The scheme FuncExS deals with a constant A that is a set and a binary predicate P and states that:

there exists f such that dom f = A and for every X such that X ∈ A holds P[X, f(X)] provided the parameters satisfy the following conditions:

• for all X, y_{1}, y_{2} such that X ∈ A and P[X, y_{1}] and P[X, y_{2}] holds y_{1} = y_{2},

• for every X such that X ∈ A there exists y such that P[X, y].

The scheme LambdaS concerns a constant A that is a set and a unary functor F and states that:

there exists f such that dom f = A and for every X such that X ∈ A holds f(X) = F(X) for all values of the parameters.

In the sequel M will be a non-empty family of sets and F will be a function from M into ⋃ M. Let us consider M. Let us assume that ∅ ∉ M. The mode choice function of M, which widens to the type a function from M into ⋃ M, is defined by: for every X such that X ∈ M holds it(X) ∈ X. The following proposition is true

1Supported by RPBP.III-24.C1

(1) If ∅ ∉ M and for every X such that X ∈ M holds F (X) ∈ X, then F is a choice function of M.

In the sequel CF will denote a choice function of M. Next we state a proposition

(2) If ∅ ∉ M, then for every X such that X ∈ M holds CF (X) ∈ X. In the sequel D, D_{1} will denote non-empty sets. Let us consider D. The

functor 2_{+}^{D} yielding a non-empty family of sets, is defined by:

2_{+}^{D} = 2^{D} \ {∅}. Next we state several propositions:

(3) 2_{+}^{D} = 2^{D} \ {∅}.

(4) ∅ ∉ 2_{+}^{D}.

(5) D_{1} ⊆ D if and only if D_{1} ∈ 2_{+}^{D}.

(6) D_{1} is a subset of D if and only if D_{1} ∈ 2_{+}^{D}.

(7) D ∈ 2_{+}^{D}. In the sequel P denotes a relation and R denotes a relation on X. Let us

consider X. The mode order in X, which widens to the type a relation on X, is defined by:

it is reflexive in X and it is antisymmetric in X and it is transitive in X. We now state a proposition

(8) If R is reflexive in X and R is antisymmetric in X and R is transitive in X, then R is an order in X.

In the sequel O denotes an order in X. We now state several propositions:

(9) O is reflexive in X.

(10) O is antisymmetric in X.

(11) O is transitive in X.

(12) If x ∈ X, then ⟨⟨x, x⟩⟩ ∈ O.

(13) If x ∈ X and y ∈ X and ⟨⟨x, y⟩⟩ ∈ O and ⟨⟨y, x⟩⟩ ∈ O, then x = y.

(14) If x ∈ X and y ∈ X and z ∈ X and ⟨⟨x, y⟩⟩ ∈ O and ⟨⟨y, z⟩⟩ ∈ O, then

⟨⟨x, z⟩⟩ ∈ O. We consider posets which are systems ⟨ a carrier, an order ⟩ where the carrier is a non-empty set and the order is an order in the carrier.

In the sequel A will denote a poset. Let us consider A. An element of A is an element of the carrier of A.

Let us consider A. A subset of A is a subset of the carrier of A. In the sequel a is an element of the carrier of A and S is a subset of the carrier

of A. One can prove the following propositions:

(15) a is an element of A.

(16) S is a subset of A.

Partially Ordered Sets 315

(17) x ∈the carrier of A if and only if x is an element of A.

(18) X ⊆the carrier of A if and only if X is a subset of A.

(19) If x ∈ S, then x is an element of A.

We follow the rules: a, a_{1}, a_{2}, a_{3}, b, c denote elements of A and S, T denote subsets of A. Let us consider A, a. Then {a} is a subset of A.

Let us consider A, a_{1}, a_{2}. Then {a_{1}, a_{2}} is a subset of A.

Let us consider A, S, T. Then S ∪ T is a subset of A. Then S ∩ T is a subset of A. Then S \ T is a subset of A. Then S− . T is a subset of A.

Let us consider A. The functor ∅_{A} yielding a subset of A, is defined by:

∅_{A} = ∅.

Let us consider A. The functor Ω_{A} yielding a subset of A, is defined by:

Ω_{A} =the carrier of A.

One can prove the following propositions:

(20) ∅_{A} = ∅.

(21) Ω_{A} =the carrier of A.

Let us consider A, a_{1}, a_{2}. The predicate a_{1} ≤ a_{2} is defined by:

⟨⟨a_{1}, a_{2}⟩⟩ ∈the order of A.

Let us consider A, a_{1}, a_{2}. The predicate a_{1} < a_{2} is defined by:

a_{1} ≤ a_{2} and a_{1} ≠ a_{2}.

One can prove the following propositions:

(22) a_{1} ≤ a_{2} if and only if ⟨⟨a_{1}, a_{2}⟩⟩ ∈the order of A.

(23) a_{1} < a_{2} if and only if a_{1} ≤ a_{2} and a_{1} ≠ a_{2}.

(24) a ≤ a.

(25) If a_{1} ≤ a_{2} and a_{2} ≤ a_{1}, then a_{1} = a_{2}.

(26) If a_{1} ≤ a_{2} and a_{2} ≤ a_{3}, then a_{1} ≤ a_{3}.

(27) a ≮ a.

(28) this conjunction is not true: a_{1} < a_{2} and a_{2} < a_{1}.

(29) If a_{1} < a_{2} and a_{2} < a_{3}, then a_{1} < a_{3}.

(30) If a_{1} ≤ a_{2}, then a_{2} ≮ a_{1}.

(31) If a_{1} < a_{2}, then a_{2} ≰ a_{1}.

(32) If a_{1} < a_{2} and a_{2} ≤ a_{3} or a_{1} ≤ a_{2} and a_{2} < a_{3}, then a_{1} < a_{3}. Let us consider A. The mode chain of A, which widens to the type a subset

of A, is defined by:

the order of A is strongly connected in it .

One can prove the following proposition

(33) If the order of A is strongly connected in S, then S is a chain of A. In the sequel C will denote a chain of A. One can prove the following propo-

sitions:

(34) the order of A is strongly connected in C.

(35) {a} is a chain of A.

(36) {a_{1}, a_{2}} is a chain of A if and only if a_{1} ≤ a_{2} or a_{2} ≤ a_{1}.

(37) If S ⊆ C, then S is a chain of A.

(38) There exists C such that a_{1} ∈ C and a_{2} ∈ C if and only if a_{1} ≤ a_{2} or a_{2} ≤ a_{1}.

(39) There exists C such that a_{1} ∈ C and a_{2} ∈ C if and only if a_{1} < a_{2} if and only if a_{2} ≰ a_{1}.

(40) If the order of A well orders T, then T is a chain of A.

Let us consider A, S. The functor UpperCone S yields a subset of A and is defined by:

UpperCone S = {a_{1} : ⋁_{a_{2}}[a_{2} ∈ S ⇒ a_{2} < a_{1}]}.

Let us consider A, S. The functor LowerCone S yielding a subset of A, is defined by:

LowerCone S = {a_{1} : ⋁_{a_{2}}[a_{2} ∈ S ⇒ a_{1} < a_{2}]}.

The following propositions are true:

(41) UpperCone S = {a_{1} : ⋁_{a_{2}}[a_{2} ∈ S ⇒ a_{2} < a_{1}]}.

(42) LowerCone S = {a_{1} : ⋁_{a_{2}}[a_{2} ∈ S ⇒ a_{1} < a_{2}]}.

(43) UpperCone ∅_{A} =the carrier of A.

(44) UpperCone Ω_{A} = ∅.

(45) LowerCone ∅_{A} =the carrier of A.

(46) LowerCone Ω_{A} = ∅.

(47) If a ∈ S, then a ∉ UpperCone S.

(48) a ∉ UpperCone{a}.

(49) If a ∈ S, then a ∉ LowerCone S.

(50) a ∉ LowerCone{a}.

(51) c < a if and only if a ∈ UpperCone{c}.

(52) a < c if and only if a ∈ LowerCone{c}.

Let us consider A, S, a. The functor InitSegm(S, a) yields a subset of A and is defined by:

InitSegm(S, a) = LowerCone{a} ∩ S.

Let us consider A, S. The mode initial segment of S, which widens to the type a subset of A, is defined by:

there exists a such that a ∈ S and it = InitSegm(S, a) if S ≠ ∅, it = ∅, otherwise.

The following propositions are true:

(53) InitSegm(S, a) = LowerCone{a} ∩ S.

(54) If S ≠ ∅ and there exists a such that a ∈ S and T = InitSegm(S, a), then T is an initial segment of S.

(55) If S = ∅, then T is an initial segment of S if and only if T = ∅. In the sequel I will be an initial segment of S and I_{0} will be an initial segment

of ∅_{A}. One can prove the following propositions:

(56) x ∈ InitSegm(S, a) if and only if x ∈ LowerCone{a} and x ∈ S.

(57) a ∈ InitSegm(S, b) if and only if a < b and a ∈ S.

(58) If S ≠ ∅, then there exists a such that a ∈ S and I = InitSegm(S, a).

(59) If a ∈ T and S = InitSegm(T, a), then S is an initial segment of T.

(60) InitSegm(∅_{A}, a) = ∅.

(61) InitSegm(S, a) ⊆ S.

(62) a ∉ InitSegm(S, a).

(63) a_{1} ∈ S and a_{1} < a_{2} if and only if a_{1} ∈ InitSegm(S, a_{2}).

(64) If a_{1} < a_{2}, then InitSegm(S, a_{1}) ⊆ InitSegm(S, a_{2}).

(65) If S ⊆ T, then InitSegm(S, a) ⊆ InitSegm(T, a).

(66) I_{0} = ∅.

(67) I ⊆ S.

(68) S ≠ ∅ if and only if S is not an initial segment of S.

(69) If S ≠ ∅ or T ≠ ∅ but S is an initial segment of T, then T is not an initial segment of S.

(70) If a_{1} < a_{2} and a_{1} ∈ S and a_{2} ∈ T and T is an initial segment of S, then a_{1} ∈ T.

(71) If a ∈ S and S is an initial segment of T, then InitSegm(S, a) = InitSegm(T, a) .

(72) If S ⊆ T and the order of A well orders T and for all a_{1}, a_{2} such that a_{2} ∈ S and a_{1} < a_{2} holds a_{1} ∈ S, then S = T or S is an initial segment of T.

(73) If S ⊆ T and the order of A well orders T and for all a_{1}, a_{2} such that a_{2} ∈ S and a_{1} ∈ T and a_{1} < a_{2} holds a_{1} ∈ S, then S = T or S is an initial segment of T.

In the sequel f will denote a choice function of 2_{+}^{the carrier of A}. Let us consider A, f. The mode chain of f, which widens to the type a chain of A, is defined by:

it ≠ ∅ and the order of A well orders it and for every a such that a ∈ it holds f(UpperCone InitSegm(it, a)) = a.

Next we state a proposition

(74) If C ≠ ∅ and the order of A well orders C and for every a such that

a ∈ C holds f(UpperCone InitSegm(C, a)) = a, then C is a chain of f. In the sequel fC, fC_{1}, fC_{2} denote chains of f. Next we state a number of

propositions:

(75) fC ≠ ∅.

(76) the order of A well orders fC.

(77) If a ∈ fC, then f(UpperCone InitSegm(fC, a)) = a.

(78) {f(the carrier of A)} is a chain of f.

(79) f(the carrier of A) ∈ fC.

(80) If a ∈ fC and b = f(the carrier of A), then b ≤ a.

(81) If a = f(the carrier of A), then InitSegm(fC, a) = ∅.

(82) fC_{1} ∩ fC_{2} ≠ ∅.

(83) If fC_{1} ≠ fC_{2}, then fC_{1} is an initial segment of fC_{2} if and only if fC_{2} is not an initial segment of fC_{1}.

(84) fC_{1} ≠ fC_{2} and fC_{1} ⊆ fC_{2} if and only if fC_{1} is an initial segment of

fC_{2}. Let us consider A, f. The functor Chains f yielding a non-empty set, is defined

by:

x ∈ Chains f if and only if x is a chain of f.

One can prove the following propositions:

(85) If for every x holds x ∈ D if and only if x is a chain of f, then D = Chains f.

(86) x ∈ Chains f if and only if x is a chain of f.

(87) ⋃(Chains f) ≠ ∅.

(88) If fC ≠ ⋃(Chains f) and S = ⋃(Chains f), then fC is an initial segment of S.

(89) ⋃(Chains f) is a chain of f.

(90) x ∈ X if and only if {x} ∈ 2^{X}.

(91) There exists X such that X ≠ ∅ and X ∈ Y if and only if ⋃ Y ≠ ∅.

(92) P is strongly connected in X if and only if P is reflexive in X and P is connected in X.

(93) If P is reflexive in X and Y ⊆ X, then P is reflexive in Y.

(94) If P is antisymmetric in X and Y ⊆ X, then P is antisymmetric in Y.

(95) If P is transitive in X and Y ⊆ X, then P is transitive in Y.

(96) If P is strongly connected in X and Y ⊆ X, then P is strongly connected in Y.

References

[1] Grzegorz Bancerek. The well ordering relations. Formalized Mathematics, 1(1):123–129, 1990.

[2] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[3] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[4] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

[5] Kazimierz Kuratowski. Wste‘p do teorii mnogości i topologii. PWN, Warszawa, 1977.

[6] Zinaida Trybulec and Halina Świe‘czkowska. Boolean properties of sets. Formalized Mathematics, 1(1):17–23, 1990.

[7] Edmund Woronowicz. Relations and their basic properties. Formalized Mathematics, 1(1):73–83, 1990.

[8] Edmund Woronowicz. Relations defined on sets. Formalized Mathematics, 1(1):181–186, 1990.

[9] Edmund Woronowicz and Anna Zalewska. Properties of binary relations. Formalized Mathematics, 1(1):85–89, 1990.

320

Recursive Definitions

Krzysztof Hryniewiecki Warsaw University

Summary. The text contains some schemes which allow elimination of defintions by recursion.

MML Identifier: RECDEF 1.

The papers [5], [1], [3], [2], and [4] provide the notation and terminology for this paper. We follow a convention: n, m, k will denote natural numbers and x, y, z, y_{1}, y_{2} will be arbitrary. The arguments of the notions defined below are the following: D which is a non-empty set; p which is a function from into D; n which is an element of . Then p(n) is an element of D.

The arguments of the notions defined below are the following: p which is a function from into ; n which is an element of . Then p(n) is a natural number.

In the article we present several logical schemes. The scheme RecEx concerns a constant A and a ternary predicate P and states that:

there exists f being a function such that dom f = and f(0) = A and for every element n of holds P[n, f(n), f(n + 1)] provided the parameters satisfy the following conditions:

• for every natural number n for arbitrary x there exists y being any such that P[n, x, y],

• for every natural number n for arbitrary x, y_{1}, y_{2} such that P[n, x, y_{1}] and P[n, x, y_{2}] holds y_{1} = y_{2}.

The scheme RecExD deals with a constant A that is a non-empty set, a constant B that is an element of A and a ternary predicate P and states that:

there exists f being a function from into A such that f(0) = B and for every element n of holds P[n, f(n), f(n + 1)] provided the parameters satisfy the following conditions:

• for every natural number n for every element x of A there exists y being an element of A such that P[n, x, y],

• for every natural number n for all elements x, y_{1}, y_{2} of A such that P[n, x, y_{1}] and P[n, x, y_{2}] holds y_{1} = y_{2}.

322 Krzysztof Hryniewiecki

The scheme LambdaRecEx concerns a constant A and a binary functor F and states that:

there exists f being a function such that dom f = and f(0) = A and for every element n of for arbitrary x such that x = f(n) holds f(n + 1) = F(n, x) for all values of the parameters.

The scheme LambdaRecExD concerns a constant A that is a non-empty set, a constant B that is an element of A and a binary functor F yielding an element of A and states that:

there exists f being a function from into A such that f(0) = B and for every element n of for every element x of A such that x = f(n) holds f(n + 1) = F(n, x) for all values of the parameters.

The scheme RecFuncExR concerns a constant A that is a real number and a binary functor F yielding a real number and states that:

there exists f being a function from into such that f(0) = A and for every natural number n for every real number x such that x = f(n) holds f(n + 1) = F(n, x) for all values of the parameters.

The scheme RecExN deals with a constant A that is a natural number and a binary functor F yielding a natural number and states that:

there exists f being a function from into such that f(0) = A and for every natural number n for every natural number x such that x = f(n) holds f(n + 1) = F(n, x) for all values of the parameters.

The scheme FinRecEx deals with a constant A, a constant B that is a natural number and a ternary predicate P and states that:

there exists p being a finite sequence such that len p = B but p(1) = A or B = 0 and for every n such that 1 ≤ n and n ≤ B − 1 holds P[n, p(n), p(n + 1)] provided the parameters satisfy the following conditions:

• for every natural number n such that 1 ≤ n and n ≤ B − 1 for arbitrary x there exists y being any such that P[n, x, y],

• for every natural number n such that 1 ≤ n and n ≤ B − 1 for arbitrary x, y_{1}, y_{2} such that P[n, x, y_{1}] and P[n, x, y_{2}] holds y_{1} = y_{2}.

The scheme FinRecExD deals with a constant A that is a non-empty set, a constant B that is an element of A, a constant C that is a natural number and a ternary predicate P and states that:

there exists p being a finite sequence of elements of A such that len p = C but p(1) = B or C = 0 and for every n such that 1 ≤ n and n ≤ C − 1 holds P[n, p(n), p(n + 1)] provided the parameters satisfy the following conditions:

• for every natural number n such that 1 ≤ n and n ≤ C − 1 for every element x of A there exists y being an element of A such that P[n, x, y],

• for every natural number n such that 1 ≤ n and n ≤ C − 1 for all elements x, y_{1}, y_{2} of A such that P[n, x, y_{1}] and P[n, x, y_{2}] holds

Recursive Definitions 323

y_{1} = y_{2}. The scheme FinRecExR deals with a constant A that is a real number, a

constant B that is a natural number and a ternary predicate P and states that:

there exists p being a finite sequence of elements of such that len p = B but p(1) = A or B = 0 and for every n such that 1 ≤ n and n ≤ B − 1 holds P[n, p(n), p(n + 1)] provided the parameters satisfy the following conditions:

• for every natural number n such that 1 ≤ n and n ≤ B − 1 for every real number x there exists y being a real number such that P[n, x, y],

• for every natural number n such that 1 ≤ n and n ≤ B−1 for all real numbers x, y_{1}, y_{2} such that P[n, x, y_{1}] and P[n, x, y_{2}] holds y_{1} = y_{2}.

The scheme FinRecExN deals with a constant A that is a natural number, a constant B that is a natural number and a ternary predicate P and states that:

there exists p being a finite sequence of elements of such that len p = B but p(1) = A or B = 0 and for every n such that 1 ≤ n and n ≤ B − 1 holds P[n, p(n), p(n + 1)] provided the parameters satisfy the following conditions:

• for every natural number n such that 1 ≤ n and n ≤ B − 1 for every natural number x there exists y being a natural number such that P[n, x, y],

• for every natural number n such that 1 ≤ n and n ≤ B − 1 for all natural numbers x, y_{1}, y_{2} such that P[n, x, y_{1}] and P[n, x, y_{2}] holds y_{1} = y_{2}.

The scheme SeqBinOpEx deals with a constant A that is a finite sequence and a ternary predicate P and states that:

there exists x such that there exists p being a finite sequence such that x = p(len p) and len p = len A and p(1) = A(1) and for every k such that 1 ≤ k and k ≤ len A − 1 holds P[A(k + 1), p(k), p(k + 1)]. provided the parameters satisfy the following conditions:

• for all k, x such that 1 ≤ k and k ≤ len A − 1 there exists y such that P[A(k + 1), x, y],

• for all k, x, y_{1}, y_{2}, z such that 1 ≤ k and k ≤ len A − 1 and z = A(k + 1) and P[z, x, y_{1}] and P[z, x, y_{2}] holds y_{1} = y_{2}.

The scheme LambdaSeqBinOpEx deals with a constant A that is a finite sequence and a binary functor F and states that:

there exists x such that there exists p being a finite sequence such that x = p(len p) and len p = len A and p(1) = A(1) and for all k, y, z such that 1 ≤ k and k ≤ len A − 1 and y = A(k + 1) and z = p(k) holds p(k + 1) = F(y, z). for all values of the parameters.

The scheme RecUn deals with a constant A, a constant B that is a function, a constant C that is a function and a ternary predicate P and states that:

B = C provided the parameters satisfy the following conditions:

• dom B = and B(0) = A and for every n holds P[n, B(n), B(n + 1)],

• dom C = and C(0) = A and for every n holds P[n, C(n), C(n + 1)], • for every n for arbitrary x, y_{1}, y_{2} such that P[n, x, y_{1}] and P[n, x, y_{2}]

holds y_{1} = y_{2}. The scheme RecUnD deals with a constant A that is a non-empty set, a

constant B that is an element of A, a ternary predicate P , a constant C that is a function from into A and a constant D that is a function from into A, and states that:

C = D provided the parameters satisfy the following conditions:

• C(0) = B and for every n holds P[n, C(n), C(n + 1)],

• D(0) = B and for every n holds P[n, D(n), D(n + 1)],

• for every natural number n for all elements x, y_{1}, y_{2} of A such that P[n, x, y_{1}] and P[n, x, y_{2}] holds y_{1} = y_{2}.

The scheme LambdaRecUn deals with a constant A, a binary functor F, a constant B that is a function and a constant C that is a function, and states that:

B = C provided the parameters satisfy the following conditions:

• dom B = and B(0) = A and for every n for arbitrary y such that y = B(n) holds B(n + 1) = F(n, y),

• dom C = and C(0) = A and for every n for arbitrary y such that y = C(n) holds C(n + 1) = F(n, y).

The scheme LambdaRecUnD concerns a constant A that is a non-empty set, a constant B that is an element of A, a binary functor F yielding an element of A, a constant C that is a function from into A and a constant D that is a function from into A, and states that:

C = D provided the parameters satisfy the following conditions:

• C(0) = B and for every n for every element y of A such that y = C(n) holds C(n + 1) = F(n, y),

• D(0) = B and for every n for every element y of A such that y = D(n) holds D(n + 1) = F(n, y).

The scheme LambdaRecUnR concerns a constant A that is a real number, a binary functor F, a constant B that is a function from into and a constant C that is a function from into , and states that:

B = C provided the parameters satisfy the following conditions:

• B(0) = A and for every n for every real number y such that y = B(n) holds B(n + 1) = F(n, y),

• C(0) = A and for every n for every real number y such that y = C(n) holds C(n + 1) = F(n, y).

The scheme LambdaRecUnN deals with a constant A that is a natural number, a binary functor F yielding a natural number, a constant B that is a function from into and a constant C that is a function from into , and states that:

B = C provided the parameters satisfy the following conditions:

• B(0) = A and for all n, m such that m = B(n) holds B(n + 1) = F(n, m),

• C(0) = A and for all n, m such that m = C(n) holds C(n + 1) = F(n, m).

The scheme FinRecUn deals with a constant A, a constant B that is a natural number, a constant C that is a finite sequence, a constant D that is a finite sequence and a ternary predicate P and states that:

C = D provided the parameters satisfy the following conditions:

• for every n such that 1 ≤ n and n ≤ B − 1 for arbitrary x, y_{1}, y_{2} such that P[n, x, y_{1}] and P[n, x, y_{2}] holds y_{1} = y_{2},

• len C = B but C(1) = A or B = 0 and for every n such that 1 ≤ n and n ≤ B − 1 holds P[n, C(n), C(n + 1)],

• len D = B but D(1) = A or B = 0 and for every n such that 1 ≤ n and n ≤ B − 1 holds P[n, D(n), D(n + 1)].

The scheme FinRecUnD concerns a constant A that is a non-empty set, a constant B that is an element of A, a constant C that is a natural number, a constant D that is a finite sequence of elements of A, a constant E that is a finite sequence of elements of A and a ternary predicate P and states that:

D = E provided the parameters satisfy the following conditions:

• for every n such that 1 ≤ n and n ≤ C − 1 for all elements x, y_{1}, y_{2} of A such that P[n, x, y_{1}] and P[n, x, y_{2}] holds y_{1} = y_{2},

• len D = C but D(1) = B or C = 0 and for every n such that 1 ≤ n and n ≤ C − 1 holds P[n, D(n), D(n + 1)],

• len E = C but E(1) = B or C = 0 and for every n such that 1 ≤ n and n ≤ C − 1 holds P[n, E(n), E(n + 1)].

The scheme FinRecUnR deals with a constant A that is a real number, a constant B that is a natural number, a constant C that is a finite sequence of elements of , a constant D that is a finite sequence of elements of and a ternary predicate P and states that:

C = D provided the parameters satisfy the following conditions:

• for every n such that 1 ≤ n and n ≤ B − 1 for all real numbers x, y_{1}, y_{2} such that P[n, x, y_{1}] and P[n, x, y_{2}] holds y_{1} = y_{2},

• len C = B but C(1) = A or B = 0 and for every n such that 1 ≤ n and n ≤ B − 1 holds P[n, C(n), C(n + 1)],

• len D = B but D(1) = A or B = 0 and for every n such that 1 ≤ n and n ≤ B − 1 holds P[n, D(n), D(n + 1)].

The scheme FinRecUnN concerns a constant A that is a natural number, a constant B that is a natural number, a constant C that is a finite sequence of elements of , a constant D that is a finite sequence of elements of and a ternary predicate P and states that:

C = D provided the parameters satisfy the following conditions:

• for every n such that 1 ≤ n and n ≤ B − 1 for all natural numbers x, y_{1}, y_{2} such that P[n, x, y_{1}] and P[n, x, y_{2}] holds y_{1} = y_{2},

• len C = B but C(1) = A or B = 0 and for every n such that 1 ≤ n and n ≤ B − 1 holds P[n, C(n), C(n + 1)],

• len D = B but D(1) = A or B = 0 and for every n such that 1 ≤ n and n ≤ B − 1 holds P[n, D(n), D(n + 1)].

The scheme SeqBinOpUn deals with a constant A that is a finite sequence, a ternary predicate P , a constant B and a constant C and states that:

B = C provided the parameters satisfy the following conditions:

• for all k, x, y_{1}, y_{2}, z such that 1 ≤ k and k ≤ len A − 1 and z = A(k + 1) and P[z, x, y_{1}] and P[z, x, y_{2}] holds y_{1} = y_{2},

• there exists p being a finite sequence such that B = p(len p) and len p = len A and p(1) = A(1) and for every k such that 1 ≤ k and k ≤ len A − 1 holds P[A(k + 1), p(k), p(k + 1)].

• there exists p being a finite sequence such that C = p(len p) and len p = len A and p(1) = A(1) and for every k such that 1 ≤ k and k ≤ len A − 1 holds P[A(k + 1), p(k), p(k + 1)].

The scheme LambdaSeqBinOpUn concerns a constant A that is a finite sequence, a binary functor F, a constant B and a constant C and states that:

B = C provided the parameters satisfy the following conditions:

• there exists p being a finite sequence such that B = p(len p) and len p = len A and p(1) = A(1) and for all k, y, z such that 1 ≤ k and k ≤ len A−1 and y = A(k+1) and z = p(k) holds p(k+1) = F(y, z).

• there exists p being a finite sequence such that C = p(len p) and len p = len A and p(1) = A(1) and for all k, y, z such that 1 ≤ k and k ≤ len A−1 and y = A(k+1) and z = p(k) holds p(k+1) = F(y, z).

The scheme DefRec concerns a constant A, a constant B that is a natural number and a ternary predicate P and states that:

(i) there exists y being any such that there exists f being a function such that y = f(B) and dom f = and f(0) = A and for every n holds P[n, f(n), f(n+1)], (ii) for arbitrary y_{1}, y_{2} such that there exists f being a function such that y_{1} = f(B) and dom f = and f(0) = A and for every n holds P[n, f(n), f(n+1)] and there exists f being a function such that y_{2} = f(B) and dom f = and f(0) = A and for every n holds P[n, f(n), f(n + 1)] holds y_{1} = y_{2}. provided the parameters satisfy the following conditions:

• for every n, x there exists y such that P[n, x, y],

• for all n, x, y_{1}, y_{2} such that P[n, x, y_{1}] and P[n, x, y_{2}] holds y_{1} = y_{2}.

The scheme LambdaDefRec deals with a constant A, a constant B that is a natural number and a binary functor F and states that:

(i) there exists y being any such that there exists f being a function such that y = f(B) and dom f = and f(0) = A and for all n, x such that x = f(n) holds f(n + 1) = F(n, x), (ii) for arbitrary y_{1}, y_{2} such that there exists f being a function such that y_{1} = f(B) and dom f = and f(0) = A and for all n, x such that x = f(n) holds f(n + 1) = F(n, x) and there exists f being a function such that y_{2} = f(B) and dom f = and f(0) = A and for all n, x such that x = f(n) holds f(n+1) = F(n, x) holds y_{1} = y_{2}. for all values of the parameters.

The scheme DefRecD concerns a constant A that is a non-empty set, a constant B that is an element of A, a constant C that is a natural number and a ternary predicate P and states that:

(i) there exists y being an element of A such that there exists f being a function from into A such that y = f(C) and f(0) = B and for every n holds P[n, f(n), f(n + 1)], (ii) for all elements y_{1}, y_{2} of A such that there exists f being a function from into A such that y_{1} = f(C) and f(0) = B and for every n holds P[n, f(n), f(n+1)] and there exists f being a function from into A such that y_{2} = f(C) and f(0) = B and for every n holds P[n, f(n), f(n + 1)] holds y_{1} = y_{2}. provided the parameters satisfy the following conditions:

• for every natural number n for every element x of A there exists y being an element of A such that P[n, x, y],

• for every natural number n for all elements x, y_{1}, y_{2} of A such that P[n, x, y_{1}] and P[n, x, y_{2}] holds y_{1} = y_{2}.

The scheme LambdaDefRecD concerns a constant A that is a non-empty set, a constant B that is an element of A, a constant C that is a natural number and a binary functor F yielding an element of A and states that:

(i) there exists y being an element of A such that there exists f being a function from into A such that y = f(C) and f(0) = B and for every natural number n for every element x of A such that x = f(n) holds f(n + 1) = F(n, x), (ii) for all elements y_{1}, y_{2} of A such that there exists f being a function from into A such that y_{1} = f(C) and f(0) = B and for every natural number n for every element x of A such that x = f(n) holds f(n + 1) = F(n, x) and there exists f being a function from into A such that y_{2} = f(C) and f(0) = B and for every natural number n for every element x of A such that x = f(n) holds f(n + 1) = F(n, x) holds y_{1} = y_{2}. for all values of the parameters.

The scheme SeqBinOpDef concerns a constant A that is a finite sequence and a ternary predicate P and states that:

(i) there exists x such that there exists p being a finite sequence such that x = p(len p) and len p = len A and p(1) = A(1) and for every k such that 1 ≤ k and k ≤ len A − 1 holds P[A(k + 1), p(k), p(k + 1)], (ii) for all x, y such that there exists p being a finite sequence such that x = p(len p) and len p = len A and p(1) = A(1) and for every k such that 1 ≤ k and k ≤ len A − 1 holds P[A(k + 1), p(k), p(k + 1)] and there exists p being a finite sequence such that y = p(len p) and len p = len A and p(1) = A(1) and for every k such that 1 ≤ k and k ≤ len A − 1 holds P[A(k + 1), p(k), p(k + 1)] holds x = y. provided the parameters satisfy the following conditions:

• for all k, y such that 1 ≤ k and k ≤ len A − 1 there exists z such that P[A(k + 1), y, z],

• for all k, x, y_{1}, y_{2}, z such that 1 ≤ k and k ≤ len A − 1 and z = A(k + 1) and P[z, x, y_{1}] and P[z, x, y_{2}] holds y_{1} = y_{2}.

The scheme LambdaSeqBinOpDe concerns a constant A that is a finite sequence and a binary functor F and states that:

(i) there exists x such that there exists p being a finite sequence such that x = p(len p) and len p = len A and p(1) = A(1) and for all k, y, z such that 1 ≤ k and k ≤ len A − 1 and y = A(k + 1) and z = p(k) holds p(k + 1) = F(y, z), (ii) for all x, y such that there exists p being a finite sequence such that x = p(len p) and len p = len A and p(1) = A(1) and for all k, y, z such that 1 ≤ k and k ≤ len A − 1 and y = A(k + 1) and z = p(k) holds p(k + 1) = F(y, z) and there exists p being a finite sequence such that y = p(len p) and len p = len A and p(1) = A(1) and for all k, y, z such that 1 ≤ k and k ≤ len A−1 and y = A(k+1) and z = p(k) holds p(k + 1) = F(y, z) holds x = y. for all values of the parameters.

References

[1] Grzegorz Bancerek. The fundamental properties of natural numbers. Formalized Mathematics, 1(1):41–46, 1990.

[2] Grzegorz Bancerek and Krzysztof Hryniewiecki. Segments of natural numbers and finite sequences. Formalized Mathematics, 1(1):107–114, 1990.

[3] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[4] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[5] Zinaida Trybulec and Halina Świe‘czkowska. Boolean properties of sets. Formalized Mathematics, 1(1):17–23, 1990.

Binary Operations Applied to Functions

Andrzej Trybulec^{1} Warsaw University Białystok

Summary. In the article we introduce functors yielding to a binary operation its composition with an arbitrary functions on its left side, its right side or both. We prove theorems describing the basic properties of these functors. We introduce also constant functions and converse of a function. The recent concept is defined for an arbitrary function, however is meaningful in the case of functions which range is a subset of a Cartesian product of two sets. Then the converse of a function has the same domain as the function itself and assigns to an element of the domain the mirror image of the ordered pair assigned by the function. In the case of functions defined on a non-empty set we redefine the above mentioned functors and prove simplified versions of theorems proved in the general case. We prove also theorems stating relationships between introduced concepts and such properties of binary operations as commutativity or associativity.

MML Identifier: FUNCOP 1.

The notation and terminology used in this paper have been introduced in the following articles: [6], [7], [3], [4], [1], [8], [2], [5], and [9]. One can prove the following proposition

(1) For every relation R for all sets A, B such that A ≠ ∅ and B ≠ ∅ and R = [: A, B:] holds dom R = A and rng R = B.

In the sequel f, g, h will be functions and A will be a set. Next we state three propositions:

(2) δ_{A} = ⟨id_{A}, id_{A}⟩.

(3) If dom f = dom g, then dom(f · h) = dom(g · h).

(4) If dom f = ∅ and dom g = ∅, then f = g. We adopt the following convention: F, f, g, h denote functions, A, B denote

sets, and x, y, z are arbitrary. Let us consider f. The functor f^{}yields a function and is defined by:

1Supported by RPBP.III-24.C1.

330 Andrzej Trybulec

(i) dom(f^{}) = dom f, (ii) for every x such that x ∈ dom f holds for all y, z such that f(x) = ⟨⟨y, z⟩⟩ holds (f^{})(x) = ⟨⟨z, y⟩⟩ but f(x) = (f^{})(x) or there exist y, z such that f(x) = ⟨⟨y, z⟩⟩.

We now state several propositions:

(5) Given f, g. Then g = f^{}if and only if the following conditions are satisfied:

(i) dom g = dom f, (ii) for every x such that x ∈ dom f holds for all y, z such that f(x) = ⟨⟨y, z⟩⟩

holds g(x) = ⟨⟨z, y⟩⟩ but f(x) = g(x) or there exist y, z such that f(x) = ⟨⟨y, z⟩⟩.

(6) ⟨f, g⟩ = ⟨g, f⟩^{}.

(7) (f A)^{}= f^{}A.

(8) (f^{})^{}= f.

(9) (δ_{A})^{}= δ_{A}.

(10) ⟨f, g⟩ A = ⟨f A, g⟩.

(11) ⟨f, g⟩ A = ⟨f, g A⟩.

The arguments of the notions defined below are the following: A which is a set; z which is any. The functor A ⟼ z yields a function and is defined by:

graph(A ⟼ z) = [: A, {z}:].

The following propositions are true:

(12) f = A ⟼ x if and only if graph f = [: A, {x}:].

(13) If x ∈ A, then (A ⟼ z)(x) = z.

(14) If A ≠ ∅ and f = A ⟼ x, then dom f = A and rng f = {x}.

(15) If dom f = A and rng f = {x}, then f = A ⟼ x.

(16) dom(∅ ⟼ x) = ∅ and rng(∅ ⟼ x) = ∅.

(17) If for every z such that z ∈ dom f holds f(z) = x, then f = dom f ⟼ x.

(18) (A ⟼ x) B = A ∩ B ⟼ x.

(19) dom(A ⟼ x) = A and rng(A ⟼ x) ⊆ {x}.

(20) If x ∈ B, then (A ⟼ x)^{−1} B = A.

(21) (A ⟼ x)^{−1} {x} = A.

(22) If x ∉ B, then (A ⟼ x)^{−1} B = ∅.

(23) If x ∈ dom h, then h · (A ⟼ x) = A ⟼ h(x).

(24) If A ≠ ∅ and x ∈ dom h, then dom(h · (A ⟼ x)) ≠ ∅.

(25) (A ⟼ x) · h = h^{−1} A ⟼ x.

(26) (A ⟼ ⟨⟨x, y⟩⟩)^{}= A ⟼ ⟨⟨y, x⟩⟩.

Let us consider F, f, g. The functor F^{∘}(f, g) yields a function and is defined by:

F^{∘}(f, g) = F · ⟨f, g⟩.

The following propositions are true:

(27) F^{∘}(f, g) = F · ⟨f, g⟩.

Binary Operations Applied to Functions 331

(28) If x ∈ dom(F^{∘}(f, g)), then (F^{∘}(f, g))(x) = F (f(x), g(x)).

(29) If f A = g A, then (F^{∘}(f, h)) A = (F^{∘}(g, h)) A.

(30) If f A = g A, then (F^{∘}(h, f)) A = (F^{∘}(h, g)) A.

(31) F^{∘}(f, g) · h = F^{∘}(f · h, g · h).

(32) h · F^{∘}(f, g) = (h · F)^{∘}(f, g).

Let us consider F, f, x. The functor F^{∘}(f, x) yielding a function, is defined by:

F^{∘}(f, x) = F · ⟨f, dom f ⟼ x⟩.

Next we state several propositions:

(33) F^{∘}(f, x) = F · ⟨f, dom f ⟼ x⟩.

(34) F^{∘}(f, x) = F^{∘}(f, dom f ⟼ x).

(35) If x ∈ dom(F^{∘}(f, z)), then (F^{∘}(f, z))(x) = F (f(x), z).

(36) If f A = g A, then (F^{∘}(f, x)) A = (F^{∘}(g, x)) A.

(37) F^{∘}(f, x) · h = F^{∘}(f · h, x).

(38) h · F^{∘}(f, x) = (h · F)^{∘}(f, x).

(39) F^{∘}(f, x) · id_{A} = F^{∘}(f A, x).

Let us consider F, x, g. The functor F^{∘}(x, g) yields a function and is defined by:

F^{∘}(x, g) = F · ⟨dom g ⟼ x, g⟩.

We now state several propositions:

(40) F^{∘}(x, g) = F · ⟨dom g ⟼ x, g⟩.

(41) F^{∘}(x, g) = F^{∘}(dom g ⟼ x, g).

(42) If x ∈ dom(F^{∘}(z, f)), then (F^{∘}(z, f))(x) = F (z, f(x)).

(43) If f A = g A, then (F^{∘}(x, f)) A = (F^{∘}(x, g)) A.

(44) F^{∘}(x, f) · h = F^{∘}(x, f · h).

(45) h · F^{∘}(x, f) = (h · F)^{∘}(x, f).

(46) F^{∘}(x, f) · id_{A} = F^{∘}(x, f A).

For simplicity we follow a convention: X, Y, Z will denote non-empty sets, F will denote a binary operation on X, f, g, h will denote functions from Y into X, and x, x_{1}, x_{2} will denote elements of X. Let us consider X. Then id_{X} is a function from X into X.

We now state a proposition

(47) F^{∘}(f, g) is a function from Y into X.

The arguments of the notions defined below are the following: X, Z which are non-empty sets; F which is a binary operation on X; f, g which are functions from Z into X. Then F^{∘}(f, g) is a function from Z into X.

We now state a number of propositions:

(48) For every element z of Y holds (F^{∘}(f, g))(z) = F (f(z), g(z)).

(49) For every function h from Y into X such that for every element z of Y holds h(z) = F (f(z), g(z)) holds h = F^{∘}(f, g).

(50) For every function h from Z into Y holds F^{∘}(f, g) · h = F^{∘}(f · h, g · h).

(51) For every function g from X into X holds F^{∘}(id_{X}, g) · f = F^{∘}(f, g · f).

(52) For every function g from X into X holds F^{∘}(g, id_{X}) · f = F^{∘}(g · f, f).

(53) F^{∘}(id_{X}, id_{X}) · f = F^{∘}(f, f).

(54) For every function g from X into X holds (F^{∘}(id_{X}, g))(x) = F (x, g(x)).

(55) For every function g from X into X holds (F^{∘}(g, id_{X}))(x) = F (g(x), x).

(56) (F^{∘}(id_{X}, id_{X}))(x) = F (x, x).

(57) For all A, B for arbitrary x such that x ∈ B holds A ⟼ x is a function from A into B.

(58) For all A, X, x holds A ⟼ x is a function from A into X.

(59) F^{∘}(f, x) is a function from Y into X.

The arguments of the notions defined below are the following: X, Z which are non-empty sets; F which is a binary operation on X; f which is a function from Z into X; x which is an element of X. Then F^{∘}(f, x) is a function from Z into X.

The following propositions are true:

(60) For every element y of Y holds (F^{∘}(f, x))(y) = F (f(y), x).

(61) If for every element y of Y holds g(y) = F (f(y), x), then g = F^{∘}(f, x).

(62) For every function g from Z into Y holds F^{∘}(f, x) · g = F^{∘}(f · g, x).

(63) F^{∘}(id_{X}, x) · f = F^{∘}(f, x).

(64) (F^{∘}(id_{X}, x))(x) = F (x, x).

(65) F^{∘}(x, g) is a function from Y into X.

The arguments of the notions defined below are the following: X, Z which are non-empty sets; F which is a binary operation on X; x which is an element of X; g which is a function from Z into X. Then F^{∘}(x, g) is a function from Z into X.

The following propositions are true:

(66) For every element y of Y holds (F^{∘}(x, f))(y) = F (x, f(y)).

(67) If for every element y of Y holds g(y) = F (x, f(y)), then g = F^{∘}(x, f).

(68) For every function g from Z into Y holds F^{∘}(x, f) · g = F^{∘}(x, f · g).

(69) F^{∘}(x, id_{X}) · f = F^{∘}(x, f).

(70) (F^{∘}(x, id_{X}))(x) = F (x, x).

(71) For all non-empty sets X, Y, Z for every function f from X into [: Y, Z:] for every element x of X holds f^{}(x) = ⟨⟨(f(x))_{2}, (f(x))_{1}⟩⟩.

(72) For all non-empty sets X, Y, Z for every function f from X into [: Y, Z:]

holds rng f is a relation between Y and Z. The arguments of the notions defined below are the following: X, Y, Z which

are non-empty sets; f which is a function from X into [: Y, Z:]. Then rng f is a relation between Y and Z.

The arguments of the notions defined below are the following: X, Y, Z which are non-empty sets; f which is a function from X into [: Y, Z:]. Then f^{}is a function from X into [: Z, Y :].

We now state a proposition

(73) For all non-empty sets X, Y, Z for every function f from X into [: Y, Z:]

holds rng(f^{}) = (rng f)^{}. In the sequel y denotes an element of Y. One can prove the following propo-

sitions:

(74) If F is associative, then F^{∘}(F^{∘}(x_{1}, f), x_{2}) = F^{∘}(x_{1}, F^{∘}(f, x_{2})).

(75) If F is associative, then F^{∘}(F^{∘}(f, x), g) = F^{∘}(f, F^{∘}(x, g)).

(76) If F is associative, then F^{∘}(F^{∘}(f, g), h) = F^{∘}(f, F^{∘}(g, h)).

(77) If F is associative, then F^{∘}(F (x_{1}, x_{2}), f) = F^{∘}(x_{1}, F^{∘}(x_{2}, f)).

(78) If F is associative, then F^{∘}(f, F (x_{1}, x_{2})) = F^{∘}(F^{∘}(f, x_{1}), x_{2}).

(79) If F is commutative, then F^{∘}(x, f) = F^{∘}(f, x).

(80) If F is commutative, then F^{∘}(f, g) = F^{∘}(g, f).

(81) If F is idempotent, then F^{∘}(f, f) = f.

(82) If F is idempotent, then (F^{∘}(f(y), f))(y) = f(y).

(83) If F is idempotent, then (F^{∘}(f, f(y)))(y) = f(y).

References

[1] Czesław Byliński. Basic functions and operations on functions. Formalized Mathematics, 1(1):245–254, 1990.

[2] Czesław Byliński. Binary operations. Formalized Mathematics, 1(1):175– 180, 1990.

[3] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[4] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[5] Czesław Byliński. Graphs of functions. Formalized Mathematics, 1(1):169– 173, 1990.

[6] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

[7] Andrzej Trybulec. Tuples, projections and Cartesian products. Formalized Mathematics, 1(1):97–105, 1990.

[8] Edmund Woronowicz. Relations and their basic properties. Formalized Mathematics, 1(1):73–83, 1990.

[9] Edmund Woronowicz. Relations defined on sets. Formalized Mathematics, 1(1):181–186, 1990.

334 Andrzej Trybulec Received September 4, 1989

Abelian Groups, Fields and Vector Spaces ^{1}

Eugeniusz Kusak Warsaw University Białystok Wojciech Leończuk Warsaw University Białystok Michał Muzalewski Warsaw University Białystok

Summary. This text includes definitions of the Abelian group, field and vector space over a field and some elementary theorems about them.

MML Identifier: VECTSP 1.

The articles [3], [1], and [2] provide the notation and terminology for this paper. We consider group structures which are systems

⟨ a carrier, an addition, a reverse-map, a zero ⟩

where the carrier is a non-empty set, the addition is a binary operation on the carrier, the reverse-map is a unary operation on the carrier, and the zero is an element of the carrier. In the sequel GS denotes a group structure. Let us consider GS. An element of GS is an element of the carrier of GS.

Next we state a proposition

(1) For every element x of the carrier of GS holds x is an element of GS. We now define three new functors. Let us consider GS. The functor 0_{GS}

yields an element of GS and is defined by: 0_{GS} =the zero of GS. Let x be an element of GS. The functor −x yielding an element of GS, is defined by:

−x =(the reverse-map of GS)(x). Let y be an element of GS. The functor x + y yielding an element of GS, is defined by:

x + y =(the addition of GS)(x, y).

Next we state three propositions:

(2) 0_{GS} =the zero of GS.

(3) For every element x of GS holds −x =(the reverse-map of GS)(x).

(4) For all elements x, y of GS holds x + y =(the addition of GS)(x, y).

1Supported by RPBP.III-24.C6.

336 Eugeniusz Kusak et al.

We now define two new functors. The constant +_{}is a binary operation on and is defined by:

for all elements x, y of holds +_{}(x, y) = x + y. The constant −_{}is a unary operation on and is defined by:

for every element x of for every real number x′ such that x′ = x holds −_{}(x) = −x′.

The constant _{G} is a group structure and is defined by: G = ⟨ , +_{}, −_{}, 0⟩. We now state two propositions:

(5) _{G} = ⟨ , +_{}, −_{}, 0⟩.

(6) For all elements x, y, z of _{G} holds x+y = y+x and (x+y)+z = x+(y+z) and x + 0_{_{G}} = x and x + (−x) = 0_{_{G}} .

The mode Abelian group, which widens to the type a group structure, is defined by:

for all elements x, y, z of it holds x + y = y + x and (x + y) + z = x + (y + z) and x + 0_{it} = x and x + (−x) = 0_{it}.

The following proposition is true

(7) For all elements x, y, z of GS holds x+y = y+x and (x+y)+z = x+(y+z) and x+0_{GS} = x and x+(−x) = 0_{GS} if and only if GS is an Abelian group.

In the sequel G is an Abelian group and x, y, z are elements of G. We now state four propositions:

(8) x + y = y + x.

(9) x + (y + z) = (x + y) + z.

(10) x + 0_{G} = x.

(11) x + (−x) = 0_{G}.

Let us consider G, x, y. The functor x − y yielding an element of G, is defined by:

x − y = x + (−y). The following propositions are true:

(12) x − y = x + (−y).

(13) If x + y = x + z, then y = z but if x + y = z + y, then x = z.

(14) −0_{G} = 0_{G}.

We consider field structures which are systems ⟨ a carrier, a multiplication, an addition, a reverse-map, a unity, a zero ⟩ where the carrier is a non-empty set, the multiplication, the addition are

binary operations on the carrier, the reverse-map is a unary operation on the carrier, and the unity, the zero are elements of the carrier. In the sequel F S will denote a field structure. We now define five new functors. Let us consider F S. The functor 1_{F S} yields an element of the carrier of F S and is defined by:

1_{F S} =the unity of F S. The functor 0_{F S} yields an element of the carrier of F S and is defined by:

0_{F S} =the zero of F S.

Abelian Groups, Fields and Vector Spaces 337

Let x be an element of the carrier of F S. The functor −x yields an element of the carrier of F S and is defined by:

−x =(the reverse-map of F S)(x). Let y be an element of the carrier of F S. The functor x · y yields an element of the carrier of F S and is defined by:

x · y =(the multiplication of F S)(x, y). The functor x + y yielding an element of the carrier of F S, is defined by:

x + y =(the addition of F S)(x, y). One can prove the following propositions:

(15) 1_{F S} =the unity of F S.

(16) 0_{F S} =the zero of F S.

(17) For every element x of the carrier of F S holds −x =(the reverse-map of F S)(x).

(18) For all elements x, y of the carrier of F S holds x · y =(the multiplication of F S)(x, y).

(19) For all elements x, y of the carrier of F S holds x + y =(the addition of

F S)(x, y). The constant ·_{}is a binary operation on and is defined by: for all elements x, y of holds ·_{}(x, y) = x · y. The constant _{F} is a field structure and is defined by: F = ⟨ , ·_{}, +_{}, −_{}, 1, 0⟩. We now state two propositions:

(20) _{F} = ⟨ , ·_{}, +_{}, −_{}, 1, 0⟩.

(21) Let x, y, z be elements of the carrier of _{F}. Then (i) x + y = y + x, (ii) (x + y) + z = x + (y + z), (iii) x + 0_{_{F}} = x, (iv) x + (−x) = 0_{_{F}} ,

(v) x · y = y · x, (vi) (x · y) · z = x · (y · z), (vii) x · (1_{_{F}} ) = x, (viii) if x ≠ 0_{_{F}} , then there exists y being an element of the carrier of _{F} such

that x · y = 1_{_{F}} , (ix) 0_{_{F}} ≠ 1_{_{F}} ,

(x) x · (y + z) = x · y + x · z, (xi) (y + z) · x = y · x + z · x. The mode field, which widens to the type a field structure, is defined by: Let x, y, z be elements of the carrier of it . Then

(i) x + y = y + x, (ii) (x + y) + z = x + (y + z), (iii) x + 0_{it} = x, (iv) x + (−x) = 0_{it},

(v) x · y = y · x, (vi) (x · y) · z = x · (y · z), (vii) x · (1_{it}) = x, (viii) if x ≠ 0_{it}, then there exists y being an element of the carrier of it such that x · y = 1_{it}, (ix) 0_{it} ≠ 1_{it},

(x) x · (y + z) = x · y + x · z, (xi) (y + z) · x = y · x + z · x.

We now state a proposition

(22) The following conditions are equivalent:

(i) for all elements x, y, z of the carrier of F S holds x + y = y + x and (x+y)+z = x+(y+z) and x+0_{F S} = x and x+(−x) = 0_{F S} and x·y = y·x and (x · y) · z = x · (y · z) and x · (1_{F S}) = x but if x ≠ 0_{F S}, then there exists y being an element of the carrier of F S such that x · y = 1_{F S} and 0_{F S} ≠ 1_{F S} and x · (y + z) = x · y + x · z and (y + z) · x = y · x + z · x,

(ii) F S is a field.

In the sequel F is a field and x, y, z are elements of the carrier of F. The following propositions are true:

(23) x + y = y + x.

(24) (x + y) + z = x + (y + z).

(25) x + 0_{F} = x.

(26) x + (−x) = 0_{F}.

(27) x · y = y · x.

(28) (x · y) · z = x · (y · z).

(29) x · (1_{F}) = x.

(30) If x ≠ 0_{F}, then there exists y such that x · y = 1_{F}.

(31) 0_{F} ≠ 1_{F}.

(32) x · (y + z) = x · y + x · z and (y + z) · x = y · x + z · x.

(33) If x ≠ 0_{F} and x · y = x · z, then y = z.

Let us consider F, x. Let us assume that x ≠ 0_{F}. The functor x^{−1} yields an element of the carrier of F and is defined by:

x · (x^{−1}) = 1_{F}.

We now state a proposition

(34) If x ≠ 0_{F}, then x · x^{−1} = 1_{F} and x^{−1} · x = 1_{F}.

We now define two new functors. Let us consider F, x, y. The functor x − y yielding an element of the carrier of F, is defined by:

x − y = x + (−y). The functor \frac{x}{y} yielding an element of the carrier of F, is defined by:

\frac{x}{y} = x · y^{−1}.

One can prove the following propositions:

(35) x − y = x + (−y).

(36) \frac{x}{y} = x · y^{−1}.

(37) If x + y = x + z, then y = z but if x + y = z + y, then x = z.

(38) −(x + y) = (−x) + (−y).

(39) x · 0_{F} = 0_{F} and 0_{F} · x = 0_{F}.

(40) −(−x) = x.

(41) (−x) · y = −x · y.

(42) (−x) · (−y) = x · y.

(43) x · (y − z) = x · y − x · z.

(44) x · y = 0_{F} if and only if x = 0_{F} or y = 0_{F}.

We consider vector space structures which are systems ⟨ scalars, a carrier, a multiplication ⟩ where the scalars is a field, the carrier is an Abelian group, and the multipli-

cation is a function from [: the carrier of the scalars, the carrier of the carrier :] into the carrier of the carrier. In the sequel V S will denote a vector space structure. Let us consider V S. A vector of V S is an element of the carrier of V S.

One can prove the following proposition

(45) For every element x of the carrier of V S holds x is a vector of V S. Let us consider F. The mode vector space structure over F, which widens to

the type a vector space structure, is defined by:

the scalars of it = F. One can prove the following proposition

(46) For every V S being a vector space structure holds V S is a vector space

structure over F if and only if the scalars of V S = F. In the sequel V is a vector space structure over F. The arguments of the

notions defined below are the following: F, V which are objects of the type reserved above; x which is an element of the carrier of F; v which is an element of the carrier of V. The functor x · v yields an element of the carrier of V and is defined by:

for every element x′ of the carrier of the scalars of V such that x′ = x holds x · v =(the multiplication of V)(x′, v).

We now state a proposition

(47) For every vector space structure V over F for every element x of the carrier of F for every element v of the carrier of V for every element x′ of the carrier of the scalars of V such that x′ = x holds x · v =(the multiplication of V)(x′, v).

Let us consider F. The mode vector space over F, which widens to the type a vector space structure over F, is defined by:

Let x, y be elements of the carrier of F. Let v, w be elements of the carrier of it . Then x·(v+w) = x·v+x·w and (x+y)·v = x·v+y·v and (x·y)·v = x·(y·v) and (1_{F}) · v = v.

We now state a proposition

(48) The following conditions are equivalent:

(i) for all elements x, y of the carrier of F for all elements v, w of the carrier of V holds x · (v + w) = x · v + x · w and (x + y) · v = x · v + y · v and (x · y) · v = x · (y · v) and (1_{F}) · v = v,

(ii) V is a vector space over F.

We follow a convention: V, V_{1} denote vector spaces over F, x, y denote elements of the carrier of F, and v, w denote elements of the carrier of V. Let us consider F, V. The functor Θ_{V} yielding an element of the carrier of V, is defined by:

Θ_{V} = 0_{the carrier of V}.

One can prove the following propositions:

(49) Θ_{V} = 0_{the carrier of V}.

(50) Θ_{V} + v = v.

(51) v + Θ_{V} = v.

(52) v + (−v) = Θ_{V}.

(53) (−v) + v = Θ_{V}.

(54) −Θ_{V} = Θ_{V}.

(55) x · (v + w) = x · v + x · w.

(56) (x + y) · v = x · v + y · v.

(57) (x · y) · v = x · (y · v).

(58) (1_{F}) · v = v.

(59) 0_{F} · v = Θ_{V} and (−1_{F}) · v = −v and x · (Θ_{V}) = Θ_{V}.

(60) x · v = Θ_{V} if and only if x = 0_{F} or v = Θ_{V}.

Let us consider F, V. The mode VSS of V, which widens to the type a vector space over F, is defined by: the carrier of the carrier of it ⊆the carrier of the carrier of V and for all elements v, w of the carrier of it for all elements x, y of the carrier of F holds x · v + y · w is an element of the carrier of it .

The following proposition is true

(61) the carrier of the carrier of V_{1} ⊆the carrier of the carrier of V and for all elements v, w of the carrier of V_{1} for all elements x, y of the carrier of F holds x · v + y · w is an element of the carrier of V_{1} if and only if V_{1} is a VSS of V.

In the sequel u, v, w will be elements of the carrier of V. We now state a number of propositions:

(62) v − w = v + (−w).

(63) v + w = Θ_{V} if and only if −v = w.

(64) (i) −(v + w) = (−v) − w, (ii) −(−v) = v, (iii) −((−v) + w) = v − w, (iv) −(v − w) = (−v) + w,

(v) −((−v) − w) = v + w, (vi) u − (v + w) = (u − v) − w.

(65) Θ_{V} − v = −v and v − Θ_{V} = v.

(66) x + (−y) = 0_{F} if and only if x = y but x − y = 0_{F} if and only if x = y.

(67) If x ≠ 0_{F}, then x^{−1} · (x · v) = v.

(68) −x · v = (−x) · v and w − x · v = w + (−x) · v.

(69) x · (−v) = −x · v.

(70) x · (v − w) = x · v − x · w.

(71) v − x · (y · w) = v − (x · y) · w.

(72) _{F} is a field.

(73) If x ≠ 0_{F}, then (x^{−1})^{−1} = x.

(74) If x ≠ 0_{F}, then x^{−1} ≠ 0_{F} and −x^{−1} ≠ 0_{F}.

(75) For all elements x, y of holds +_{}(x, y) = x + y.

(76) For every element x of for every real number x′ such that x′ = x holds −_{}(x) = −x′.

(77) For all elements x, y of holds ·_{}(x, y) = x · y.

(78) 1_{_{F}} + 1_{_{F}} ≠ 0_{_{F}} .

The mode Fano field, which widens to the type a field, is defined by:

1_{it} + 1_{it} ≠ 0_{it}.

The following proposition is true

(79) For every field F holds F is a Fano field if and only if 1_{F} + 1_{F} ≠ 0_{F}. In the sequel F will denote a field and a, b, c will denote elements of the carrier

of F. One can prove the following propositions:

(80) −(a − b) = (−a) + b.

(81) −(a − b) = b − a.

(82) 0_{F} + a = a.

(83) (−a) + a = 0_{F}.

(84) If a − b = 0_{F}, then a = b.

(85) −0_{F} = 0_{F}.

(86) If −a = 0_{F}, then a = 0_{F}.

(87) If a − b = 0_{F}, then b − a = 0_{F}.

(88) If a ≠ 0_{F} and a·c−b = 0_{F}, then c = b·a^{−1} but if a ≠ 0_{F} and b−c·a = 0_{F}, then c = b · a^{−1}.

(89) a + b = −((−a) + (−b)).

(90) (a + b) − (a + c) = b − c.

References

[1] Czesław Byliński. Binary operations. Formalized Mathematics, 1(1):175– 180, 1990.

[2] Krzysztof Hryniewiecki. Basic properties of real numbers. Formalized Mathematics, 1(1):35–40, 1990.

[3] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

342

Parallelity Spaces ^{1}

Eugeniusz Kusak Warsaw University Białystok Wojciech Leończuk Warsaw University Białystok Michał Muzalewski Warsaw University Białystok

Summary. In the monography [5] W. Szmielew introduced the parallelity planes ⟨S; ∥⟩, where ∥⊆ S×S×S×S. In this text we omit upper bound axiom which must be satisfied by the parallelity planes (see also E.Kusak [3]). Further we will list those theorems which remain true when we pass from the parallelity planes to the parallelity spaces. We construct a model of the parallelity space in Abelian group ⟨F × F × F; +_{F} , −_{F} , 0_{F} ⟩, where F is a field.

MML Identifier: PARSP 1.

The papers [7], [6], [2], [1], and [4] provide the terminology and notation for this paper. We follow the rules: F will denote a field, a, b, c, f, g, h will denote elements of the carrier of F, and x, y will denote elements of [: the carrier of F, the carrier of F, the carrier of F :]. Let us consider F. The functor +_{F} yields a binary operation on [: the carrier of F, the carrier of F, the carrier of F :] and is defined by:

(+_{F})(x, y) = ⟨⟨x_{1} + y_{1}, x_{2} + y_{2}, x_{3} + y_{3}⟩⟩.

The following proposition is true

(1) (+_{F})(x, y) = ⟨⟨x_{1} + y_{1}, x_{2} + y_{2}, x_{3} + y_{3}⟩⟩.

Let us consider F, x, y. The functor x + y yielding an element of [: the carrier of F, the carrier of F, the carrier of F :], is defined by:

x + y = (+_{F})(x, y).

One can prove the following three propositions:

(2) x + y = (+_{F})(x, y).

(3) x + y = ⟨⟨x_{1} + y_{1}, x_{2} + y_{2}, x_{3} + y_{3}⟩⟩.

(4) ⟨⟨a, b, c⟩⟩ + ⟨⟨f, g, h⟩⟩ = ⟨⟨a + f, b + g, c + h⟩⟩.

1Supported by RPBP.III-24.C6.

Let us consider F. The functor −_{F} yielding a unary operation on [: the carrier of F, the carrier of F, the carrier of F :], is defined by:

(−_{F})(x) = ⟨⟨ − x_{1}, −x_{2}, −x_{3}⟩⟩. The following proposition is true

(5) (−_{F})(x) = ⟨⟨ − x_{1}, −x_{2}, −x_{3}⟩⟩. Let us consider F, x. The functor −x yields an element of [: the carrier of F,

the carrier of F, the carrier of F :] and is defined by:

−x = (−_{F})(x). We now state two propositions:

(6) (−_{F})(x) = −x.

(7) −x = ⟨⟨ − x_{1}, −x_{2}, −x_{3}⟩⟩. In the sequel S denotes a set. Let us consider S. The mode 4-ary relation

over the S, which widens to the type a set, is defined by:

it ⊆ [: S, S, S, S:]. We now state a proposition

(8) For every set R holds R ⊆ [: S, S, S, S:] if and only if R is a 4-ary relation over the S.

We consider parallelity structures which are systems ⟨ a universum, a parallelity ⟩ where the universum is a non-empty set and the parallelity is a 4-ary relation

over the the universum. In the sequel F is a field and P S is a parallelity structure. The arguments of the notions defined below are the following: P S which is an object of the type reserved above; a, b, c, d which are elements of the universum of P S. The predicate a, b ∥ c, d is defined by:

⟨⟨a, b, c, d⟩⟩ ∈the parallelity of P S. Next we state a proposition

(9) For all elements a, b, c, d of the universum of P S holds a, b ∥ c, d if and only if ⟨⟨a, b, c, d⟩⟩ ∈the parallelity of P S.

Let us consider F. The functor F^{3} yields a non-empty set and is defined by: F^{3} = [: the carrier of F, the carrier of F, the carrier of F :]. Next we state a proposition

(10) F^{3} = [: the carrier of F, the carrier of F, the carrier of F :]. Let us consider F. The functor (F^{3})^{4} yields a non-empty set and is defined

by:

(F^{3})^{4} = [: F^{3}, F^{3}, F^{3}, F^{3} :]. One can prove the following proposition

(11) (F^{3})^{4} = [: F^{3}, F^{3}, F^{3}, F^{3} :].

We adopt the following convention: x will be arbitrary and a, b, c, d, e, f, g, h will denote elements of [: the carrier of F, the carrier of F, the carrier of F :]. Let us consider F. The functor Par′_{F} yielding a set, is defined by:

x ∈ Par′_{F} if and only if the following conditions are satisfied:

Parallelity Spaces 345

(i) x ∈ (F^{3})^{4}, (ii) there exist a, b, c, d such that x = ⟨⟨a, b, c, d⟩⟩ and (a_{1} − b_{1}) · (c_{2} − d_{2}) − (c_{1} − d_{1}) · (a_{2} − b_{2}) = 0_{F} and (a_{1} − b_{1}) · (c_{3} − d_{3}) − (c_{1} − d_{1}) · (a_{3} − b_{3}) = 0_{F} and (a_{2} − b_{2}) · (c_{3} − d_{3}) − (c_{2} − d_{2}) · (a_{3} − b_{3}) = 0_{F}.

Next we state two propositions:

(12) (i) For every x holds x ∈ Par′_{F} if and only if x ∈ (F^{3})^{4} and there exist a, b, c, d such that x = ⟨⟨a, b, c, d⟩⟩ and (a_{1} − b_{1}) · (c_{2} − d_{2}) − (c_{1} − d_{1}) · (a_{2} − b_{2}) = 0_{F} and (a_{1} − b_{1}) · (c_{3} − d_{3}) − (c_{1} − d_{1}) · (a_{3} − b_{3}) = 0_{F} and (a_{2} − b_{2}) · (c_{3} − d_{3}) − (c_{2} − d_{2}) · (a_{3} − b_{3}) = 0_{F},

(ii) Par′_{F} is a set.

(13) Par′_{F} ⊆ [: F^{3}, F^{3}, F^{3}, F^{3} :].

Let us consider F. The functor Par_{F} yielding a 4-ary relation over the F^{3}, is defined by:

Par_{F} = Par′_{F}.

We now state a proposition

(14) Par_{F} = Par′_{F} and Par_{F} is a 4-ary relation over the F^{3}.

Let us consider F. The functor Aff_{F^{3}} yields a parallelity structure and is defined by:

Aff_{F^{3}} = ⟨F^{3}, Par_{F} ⟩.

We now state three propositions:

(15) Aff_{F^{3}} = ⟨F^{3}, Par_{F} ⟩.

(16) the universum of Aff_{F^{3}} = F^{3}.

(17) the parallelity of Aff_{F^{3}} = Par_{F}.

In the sequel a, b, c, d, p, q, r, s denote elements of the universum of Aff_{F^{3}}. One can prove the following propositions:

(18) a, b ∥ c, d if and only if ⟨⟨a, b, c, d⟩⟩ ∈ Par_{F}.

(19) ⟨⟨a, b, c, d⟩⟩ ∈ Par_{F} if and only if the following conditions are satisfied: (i) ⟨⟨a, b, c, d⟩⟩ ∈ (F^{3})^{4}, (ii) there exist e, f, g, h such that ⟨⟨a, b, c, d⟩⟩ = ⟨⟨e, f, g, h⟩⟩ and (e_{1}−f_{1})·(g_{2}−

h_{2})−(g_{1}−h_{1})·(e_{2}−f_{2}) = 0_{F} and (e_{1}−f_{1})·(g_{3}−h_{3})−(g_{1}−h_{1})·(e_{3}−f_{3}) = 0_{F} and (e_{2} − f_{2}) · (g_{3} − h_{3}) − (g_{2} − h_{2}) · (e_{3} − f_{3}) = 0_{F}.

(20) a, b ∥ c, d if and only if the following conditions are satisfied: (i) ⟨⟨a, b, c, d⟩⟩ ∈ (F^{3})^{4}, (ii) there exist e, f, g, h such that ⟨⟨a, b, c, d⟩⟩ = ⟨⟨e, f, g, h⟩⟩ and (e_{1}−f_{1})·(g_{2}−

h_{2})−(g_{1}−h_{1})·(e_{2}−f_{2}) = 0_{F} and (e_{1}−f_{1})·(g_{3}−h_{3})−(g_{1}−h_{1})·(e_{3}−f_{3}) = 0_{F} and (e_{2} − f_{2}) · (g_{3} − h_{3}) − (g_{2} − h_{2}) · (e_{3} − f_{3}) = 0_{F}.

(21) the universum of Aff_{F^{3}} = [: the carrier of F, the carrier of F, the carrier of F :].

(22) ⟨⟨a, b, c, d⟩⟩ ∈ (F^{3})^{4}.

(23) a, b ∥ c, d if and only if there exist e, f, g, h such that ⟨⟨a, b, c, d⟩⟩ = ⟨⟨e, f, g, h⟩⟩ and (e_{1} − f_{1}) · (g_{2} − h_{2}) − (g_{1} − h_{1}) · (e_{2} − f_{2}) = 0_{F} and (e_{1} − f_{1}) · (g_{3} − h_{3}) − (g_{1} − h_{1}) · (e_{3} − f_{3}) = 0_{F} and (e_{2} − f_{2}) · (g_{3} − h_{3}) − (g_{2} − h_{2}) · (e_{3} − f_{3}) = 0_{F}.

(24) a, b ∥ b, a.

(25) a, b ∥ c, c.

(26) If a, b ∥ p, q and a, b ∥ r, s, then p, q ∥ r, s or a = b.

(27) If a, b ∥ a, c, then b, a ∥ b, c.

(28) There exists d such that a, b ∥ c, d and a, c ∥ b, d.

The mode parallelity space, which widens to the type a parallelity structure, is defined by:

Let a, b, c, d, p, q, r, s be elements of the universum of it . Then

(i) a, b ∥ b, a, (ii) a, b ∥ c, c, (iii) if a, b ∥ p, q and a, b ∥ r, s, then p, q ∥ r, s or a = b, (iv) if a, b ∥ a, c, then b, a ∥ b, c,

(v) there exists x being an element of the universum of it such that a, b ∥ c, x and a, c ∥ b, x.

We now state a proposition

(29) Let P be a parallelity structure. Then the following conditions are equiv-

alent:

(i) for all elements a, b, c, d, p, q, r, s of the universum of P holds a, b ∥ b, a and a, b ∥ c, c but if a, b ∥ p, q and a, b ∥ r, s, then p, q ∥ r, s or a = b but if a, b ∥ a, c, then b, a ∥ b, c and there exists x being an element of the universum of P such that a, b ∥ c, x and a, c ∥ b, x,

(ii) P is a parallelity space.

We follow the rules: P S denotes a parallelity space and a, b, c, d, p, q, r, s denote elements of the universum of P S. One can prove the following propositions:

(30) a, b ∥ b, a.

(31) a, b ∥ c, c.

(32) If a, b ∥ p, q and a, b ∥ r, s, then p, q ∥ r, s or a = b.

(33) If a, b ∥ a, c, then b, a ∥ b, c.

(34) There exists d such that a, b ∥ c, d and a, c ∥ b, d.

(35) a, b ∥ a, b.

(36) If a, b ∥ c, d, then c, d ∥ a, b.

(37) a, a ∥ b, c.

(38) If a, b ∥ c, d, then b, a ∥ c, d.

(39) If a, b ∥ c, d, then a, b ∥ d, c.

(40) If a, b ∥ c, d, then b, a ∥ c, d and a, b ∥ d, c and b, a ∥ d, c and c, d ∥ a, b and d, c ∥ a, b and c, d ∥ b, a and d, c ∥ b, a.

(41) Suppose a, b ∥ a, c. Then a, c ∥ a, b and b, a ∥ a, c and a, b ∥ c, a and a, c ∥ b, a and b, a ∥ c, a and c, a ∥ a, b and c, a ∥ b, a and b, a ∥ b, c and a, b ∥ b, c and b, a ∥ c, b and b, c ∥ b, a and a, b ∥ c, b and c, b ∥ b, a and b, c ∥ a, b and c, b ∥ a, b and c, a ∥ c, b and a, c ∥ c, b and c, a ∥ b, c and a, c ∥ b, c and c, b ∥ c, a and b, c ∥ c, a and c, b ∥ a, c and b, c ∥ a, c.

(42) If a = b or c = d or a = c and b = d or a = d and b = c, then a, b ∥ c, d.

(43) If a ≠ b and p, q ∥ a, b and a, b ∥ r, s, then p, q ∥ r, s.

(44) If a, b a, c, then a ≠ b and b ≠ c and c ≠ a.

(45) If a, b c, d, then a ≠ b and c ≠ d.

(46) Suppose a, b c, d. Then b, a c, d and a, b d, c and b, a d, c and c, d a, b and d, c a, b and c, d b, a and d, c b, a.

(47) Suppose a, b a, c. Then a, c a, b and b, a a, c and a, b c, a and a, c b, a and b, a c, a and c, a a, b and c, a b, a and b, a b, c and a, b b, c and b, a c, b and b, c b, a and b, a c, b and c, b b, a and b, c a, b and c, b a, b and c, a c, b and a, c c, b and c, a b, c and a, c b, c and c, b c, a and b, c c, a and c, b a, c and b, c a, c.

(48) If a, b c, d and a, b ∥ p, q and c, d ∥ r, s and p ≠ q and r ≠ s, then p, q r, s.

(49) If a, b a, c and a, b ∥ p, q and a, c ∥ p, r and b, c ∥ q, r and p ≠ q, then p, q p, r.

(50) If a, b a, c and a, c ∥ p, r and b, c ∥ p, r, then p = r.

(51) If p, q p, r and p, r ∥ p, s and q, r ∥ q, s, then r = s.

(52) If a, b a, c and a, b ∥ p, q and a, c ∥ p, r and a, c ∥ p, s and b, c ∥ q, r and b, c ∥ q, s, then r = s.

(53) If a, b ∥ a, c and a, b ∥ a, d, then a, b ∥ c, d.

(54) If for all a, b holds a = b, then for all p, q, r, s holds p, q ∥ r, s.

(55) If there exist a, b such that a ≠ b and for every c holds a, b ∥ a, c, then for all p, q, r, s holds p, q ∥ r, s.

(56) If a, b a, c and p ≠ q, then p, q p, a or p, q p, b or p, q p, c.

References

[1] Czesław Byliński. Binary operations. Formalized Mathematics, 1(1):175– 180, 1990.

[2] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[3] Eugeniusz Kusak. A new approach to dimension-free affine geometry. Bull. Acad. Polon. Sci. Sér. Sci. Math., 27(11 – 12):875 – 882, 1979.

[4] Eugeniusz Kusak, Wojciech Leończuk, and Michał Muzalewski. Abelian groups, fields and vector spaces. Formalized Mathematics, 1(2):335–342, 1990.

[5] Wanda Szmielew. From Affine to Euclidean Geometry. Volume 27, PWN – D.Reidel Publ. Co., Warszawa – Dordrecht, 1983.

[6] Andrzej Trybulec. Domains and their Cartesian products. Formalized Mathematics, 1(1):115–122, 1990.

348 Eugeniusz Kusak et al.

[7] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics,

1(1):9–11, 1990. Received November 23, 1989

Construction of a bilinear antisymmetric form in symplectic vector space ^{1}

Eugeniusz Kusak Warsaw University

Białystok Wojciech Leończuk Warsaw University Białystok Michał Muzalewski Warsaw University Białystok

Summary. In this text we will present unpublished results by Eugeniusz Kusak. It contains an axiomatic description of the class of all spaces ⟨V; ⊥_{ξ}⟩, where V is a vector space over a field F, ξ : V × V → F is a bilinear antisymmetric form i.e. ξ(x, y) = −ξ(y, x) and x ⊥_{ξ} y iff ξ(x, y) = 0 for x, y ∈ V. It also contains an effective construction of bilinear antisymmetric form ξ for given symplectic space ⟨V; ⊥⟩ such that ⊥=⊥_{ξ}. The basic tool used in this method is the notion of orthogonal projection J(a, b, x) for a, b, x ∈ V. We should stress the fact that axioms of orthogonal and symplectic spaces differ only by one axiom, namely: x ⊥ y + εz & y ⊥ z + εx ⇒ z ⊥ x + εy. For ε = +1 we get the axiom characterizing symplectic geometry. For ε = −1 we get the axiom on three perpendiculars characterizing orthogonal geometry - see [1].

MML Identifier: SYMSP 1.

The terminology and notation used in this paper have been introduced in the following papers: [2], and [3]. In the sequel F will be a field. We consider symplectic structures which are systems

⟨ scalars, a carrier, an orthogonality ⟩ where the scalars is a field, the carrier is a vector space over the scalars, and

the orthogonality is a relation on the carrier of the carrier of the carrier. The arguments of the notions defined below are the following: S which is a symplectic structure; a, b which are elements of the carrier of the carrier of S. The predicate a ⊥ b is defined by:

⟨⟨a, b⟩⟩ ∈the orthogonality of S. One can prove the following proposition

1Supported by RPBP.III-24.C6.

(1) For every S being a symplectic structure for all elements a, b of the carrier of the carrier of S holds a ⊥ b if and only if ⟨⟨a, b⟩⟩ ∈the orthogonality of S.

The mode symplectic space, which widens to the type a symplectic structure, is defined by:

Let a, b, c, x be elements of the carrier of the carrier of it . Let l be an element of the carrier of the scalars of it . Then

(i) if a ≠ Θ_{the carrier of it}, then there exists y being an element of the carrier of the carrier of it such that y ⊥̸ a, (ii) if a ⊥ b, then l · a ⊥ b, (iii) if b ⊥ a and c ⊥ a, then b + c ⊥ a, (iv) if b ⊥̸ a, then there exists k being an element of the carrier of the scalars of it such that x − k · b ⊥ a,

(v) if a ⊥ b + c and b ⊥ c + a, then c ⊥ a + b. In the sequel S is a symplectic structure. We now state a proposition

(2) The following conditions are equivalent:

(i) for all elements a, b, c, x of the carrier of the carrier of S for every element l of the carrier of the scalars of S holds if a ≠ Θ_{the carrier of S}, then there exists y being an element of the carrier of the carrier of S such that y ⊥̸ a but if a ⊥ b, then l · a ⊥ b but if b ⊥ a and c ⊥ a, then b + c ⊥ a but if b ⊥̸ a, then there exists k being an element of the carrier of the scalars of S such that x − k · b ⊥ a but if a ⊥ b + c and b ⊥ c + a, then c ⊥ a + b,

(ii) S is a symplectic space. We follow the rules: S is a symplectic space, a, b, c, d, a′, b′, p, q, x, y, z are

elements of the carrier of the carrier of S, and k, l are elements of the carrier of the scalars of S. Let us consider S. The functor 0_{S} yields an element of the carrier of the scalars of S and is defined by:

0_{S} = 0_{the scalars of S}. Next we state a proposition

(3) 0_{S} = 0_{the scalars of S}. Let us consider S. The functor Ω_{S} yielding an element of the carrier of the

scalars of S, is defined by:

Ω_{S} = 1_{the scalars of S}. The following proposition is true

(4) Ω_{S} = 1_{the scalars of S}. Let us consider S. The functor Θ_{S} yields an element of the carrier of the

carrier of S and is defined by:

Θ_{S} = Θ_{the carrier of S}. The following propositions are true:

(5) Θ_{S} = Θ_{the carrier of S}.

(6) If a ≠ Θ_{S}, then there exists b such that b ⊥̸ a.

(7) If a ⊥ b, then l · a ⊥ b.

(8) If b ⊥ a and c ⊥ a, then b + c ⊥ a.

(9) If b ⊥̸ a, then there exists l such that x − l · b ⊥ a.

Construction of a bilinear antisymmetric form … 351

(10) If a ⊥ b + c and b ⊥ c + a, then c ⊥ a + b.

(11) Θ_{S} ⊥ a.

(12) If a ⊥ b, then b ⊥ a.

(13) If a ⊥̸ b and c + a ⊥ b, then c ⊥̸ b.

(14) If b ⊥̸ a and c ⊥ a, then b + c ⊥̸ a.

(15) If b ⊥̸ a and l ≠ 0_{S}, then l · b ⊥̸ a and b ⊥̸ l · a.

(16) If a ⊥ b, then −a ⊥ b.

(17) If a + b ⊥ c and a ⊥ c, then b ⊥ c.

(18) If a + b ⊥ c and b ⊥ c, then a ⊥ c.

(19) If a ⊥̸ c, then a + b ⊥̸ c or (Ω_{S} + Ω_{S}) · a + b ⊥̸ c.

(20) If a′ ⊥̸ a and a′ ⊥ b and b′ ⊥̸ b and b′ ⊥ a, then a′ +b′ ⊥̸ a and a′ +b′ ⊥̸ b.

(21) If a ≠ Θ_{S} and b ≠ Θ_{S}, then there exists p such that p ⊥̸ a and p ⊥̸ b.

(22) If Ω_{S} + Ω_{S} ≠ 0_{S} and a ≠ Θ_{S} and b ≠ Θ_{S} and c ≠ Θ_{S}, then there exists p such that p ⊥̸ a and p ⊥̸ b and p ⊥̸ c.

(23) If a − b ⊥ d and a − c ⊥ d, then b − c ⊥ d.

(24) If b ⊥̸ a and x − k · b ⊥ a and x − l · b ⊥ a, then k = l.

(25) If Ω_{S} + Ω_{S} ≠ 0_{S}, then a ⊥ a.

Let us consider S, a, b, x. Let us assume that b ⊥̸ a. The functor J(a, b, x) yields an element of the carrier of the scalars of S and is defined by:

for every element l of the carrier of the scalars of S such that x − l · b ⊥ a holds J(a, b, x) = l.

The following propositions are true:

(26) If b ⊥̸ a and x − l · b ⊥ a, then J(a, b, x) = l.

(27) If b ⊥̸ a, then x − J(a, b, x) · b ⊥ a.

(28) If b ⊥̸ a, then J(a, b, l · x) = l · J(a, b, x).

(29) If b ⊥̸ a, then J(a, b, x + y) = J(a, b, x) + J(a, b, y).

(30) If b ⊥̸ a and l ≠ 0_{S}, then J(a, l · b, x) = l^{−1} · J(a, b, x).

(31) If b ⊥̸ a and l ≠ 0_{S}, then J(l · a, b, x) = J(a, b, x).

(32) If b ⊥̸ a and p ⊥ a, then J(a, b + p, c) = J(a, b, c) and J(a, b, c + p) = J(a, b, c).

(33) If b ⊥̸ a and p ⊥ b and p ⊥ c, then J(a + p, b, c) = J(a, b, c).

(34) If b ⊥̸ a and c − b ⊥ a, then J(a, b, c) = Ω_{S}.

(35) If b ⊥̸ a, then J(a, b, b) = Ω_{S}.

(36) If b ⊥̸ a, then x ⊥ a if and only if J(a, b, x) = 0_{S}.

(37) If b ⊥̸ a and q ⊥̸ a, then J(a, b, p) · J(a, b, q)^{−1} = J(a, q, p).

(38) If b ⊥̸ a and c ⊥̸ a, then J(a, b, c) = J(a, c, b)^{−1}.

(39) If b ⊥̸ a and b ⊥ c + a, then J(a, b, c) = J(c, b, a).

(40) If a ⊥̸ b and c ⊥̸ b, then J(c, b, a) = (−J(b, a, c)^{−1}) · J(a, b, c).

(41) If Ω_{S} + Ω_{S} ≠ 0_{S} and a ⊥̸ p and a ⊥̸ q and b ⊥̸ p and b ⊥̸ q, then J(a, p, q) · J(b, q, p) = J(p, a, b) · J(q, b, a).

(42) If Ω_{S} + Ω_{S} ≠ 0_{S} and p ⊥̸ a and p ⊥̸ x and q ⊥̸ a and q ⊥̸ x, then J(a, q, p) · J(p, a, x) = J(x, q, p) · J(q, a, x).

(43) Suppose Ω_{S} + Ω_{S} ≠ 0_{S} and p ⊥̸ a and p ⊥̸ x and q ⊥̸ a and q ⊥̸ x and b ⊥̸ a. Then (J(a, b, p)·J(p, a, x))·J(x, p, y) = (J(a, b, q)·J(q, a, x))·J(x, q, y).

(44) If a ⊥̸ p and x ⊥̸ p and y ⊥̸ p, then J(p, a, x) · J(x, p, y) = (−J(p, a, y)) ·

J(y, p, x). Let us consider S, x, y, a, b. Let us assume that b ⊥̸ a and Ω_{S} +Ω_{S} ≠ 0_{S}. The

functor x ·_{a,b} y yields an element of the carrier of the scalars of S and is defined by:

for every q such that q ⊥̸ a and q ⊥̸ x holds x ·_{a,b} y = (J(a, b, q) · J(q, a, x)) · J(x, q, y) if there exists p such that p ⊥̸ a and p ⊥̸ x, x ·_{a,b} y = 0_{S} if for every p holds p ⊥ a or p ⊥ x.

One can prove the following propositions:

(45) If Ω_{S} + Ω_{S} ≠ 0_{S} and b ⊥̸ a and p ⊥̸ a and p ⊥̸ x, then x ·_{a,b} y = (J(a, b, p) · J(p, a, x)) · J(x, p, y).

(46) If Ω_{S} + Ω_{S} ≠ 0_{S} and b ⊥̸ a and for every p holds p ⊥ a or p ⊥ x, then x ·_{a,b} y = 0_{S}.

(47) If Ω_{S} + Ω_{S} ≠ 0_{S} and b ⊥̸ a and x = Θ_{S}, then x ·_{a,b} y = 0_{S}.

(48) If Ω_{S} + Ω_{S} ≠ 0_{S} and b ⊥̸ a, then x ·_{a,b} y = 0_{S} if and only if y ⊥ x.

(49) If Ω_{S} + Ω_{S} ≠ 0_{S} and b ⊥̸ a, then x ·_{a,b} y = −y ·_{a,b} x.

(50) If Ω_{S} + Ω_{S} ≠ 0_{S} and b ⊥̸ a, then x ·_{a,b} (l · y) = l · x ·_{a,b} y.

(51) If Ω_{S} + Ω_{S} ≠ 0_{S} and b ⊥̸ a, then x ·_{a,b} (y + z) = x ·_{a,b} y + x ·_{a,b} z.

References

[1] Eugeniusz Kusak, Wojciech Leończuk, and Michał Muzalewski. Construction of a bilinear symmetric form in orthogonal vector space. Formalized Mathematics, 1(2):353–356, 1990.

[2] Andrzej Trybulec. Domains and their Cartesian products. Formalized Mathematics, 1(1):115–122, 1990.

[3] Edmund Woronowicz. Relations defined on sets. Formalized Mathematics, 1(1):181–186, 1990.

Construction of a bilinear symmetric form in orthogonal vector space ^{1}

Eugeniusz Kusak Warsaw University

Białystok Wojciech Leończuk Warsaw University Białystok Michał Muzalewski Warsaw University Białystok

Summary. In this text we present unpublished results by Eugeniusz Kusak and Wojciech Leończuk. They contain an axiomatic description of the class of all spaces ⟨V; ⊥_{ξ}⟩, where V is a vector space over a field F, ξ : V × V → F is a bilinear symmetric form i.e. ξ(x, y) = ξ(y, x) and x ⊥_{ξ} y iff ξ(x, y) = 0 for x, y ∈ V. They also contain an effective construction of bilinear symmetric form ξ for given orthogonal space ⟨V; ⊥⟩ such that ⊥=⊥_{ξ}. The basic tool used in this method is the notion of orthogonal projection J(a, b, x) for a, b, x ∈ V. We should stress the fact that axioms of orthogonal and symplectic spaces differ only by one axiom, namely: x ⊥ y+εz &y ⊥ z +εx ⇒ z ⊥ x+εy. For ε = −1 we get the axiom on three perpendiculars characterizing orthogonal geometry. For ε = +1 we get the axiom characterizing symplectic geometry - see [1].

MML Identifier: ORTSP 1.

The papers [2], and [3] provide the terminology and notation for this paper. In the sequel F will be a field. We consider orthogonality structures which are systems

⟨ scalars, a carrier, an orthogonality ⟩ where the scalars is a field, the carrier is a vector space over the scalars,

and the orthogonality is a relation on the carrier of the carrier of the carrier. The arguments of the notions defined below are the following: O which is an orthogonality structure; a, b which are elements of the carrier of the carrier of O. The predicate a ⊥ b is defined by:

⟨⟨a, b⟩⟩ ∈the orthogonality of O. The following proposition is true

(1) For every O being an orthogonality structure for all elements a, b of the carrier of the carrier of O holds a ⊥ b if and only if ⟨⟨a, b⟩⟩ ∈the orthogonality of O.

1Supported by RPBP.III-24.C6.

The mode orthogonality space, which widens to the type an orthogonality structure, is defined by:

Let a, b, c, d, x be elements of the carrier of the carrier of it . Let l be an element of the carrier of the scalars of it . Then

(i) if a ≠ Θ_{the carrier of it} and b ≠ Θ_{the carrier of it} and c ≠ Θ_{the carrier of it} and d ≠ Θ_{the carrier of it}, then there exists p being an element of the carrier of the carrier of it such that p ⊥̸ a and p ⊥̸ b and p ⊥̸ c and p ⊥̸ d, (ii) if a ⊥ b, then l · a ⊥ b, (iii) if b ⊥ a and c ⊥ a, then b + c ⊥ a, (iv) if b ⊥̸ a, then there exists k being an element of the carrier of the scalars of it such that x − k · b ⊥ a,

(v) if a ⊥ b − c and b ⊥ c − a, then c ⊥ a − b. In the sequel S will denote an orthogonality structure. Next we state a propo-

sition (2) The following conditions are equivalent:

(i) for all elements a, b, c, d, x of the carrier of the carrier of S for every element l of the carrier of the scalars of S holds if a ≠ Θ_{the carrier of S} and b ≠ Θ_{the carrier of S} and c ≠ Θ_{the carrier of S} and d ≠ Θ_{the carrier of S}, then there exists p being an element of the carrier of the carrier of S such that p ⊥̸ a and p ⊥̸ b and p ⊥̸ c and p ⊥̸ d but if a ⊥ b, then l · a ⊥ b but if b ⊥ a and c ⊥ a, then b + c ⊥ a but if b ⊥̸ a, then there exists k being an element of the carrier of the scalars of S such that x − k · b ⊥ a but if a ⊥ b − c and b ⊥ c − a, then c ⊥ a − b,

(ii) S is an orthogonality space. We adopt the following convention: S denotes an orthogonality space, a, b, c,

d, p, q, x, y, z denote elements of the carrier of the carrier of S, and k, l denote elements of the carrier of the scalars of S. Let us consider S. The functor 0_{S} yielding an element of the carrier of the scalars of S, is defined by:

0_{S} = 0_{the scalars of S}. One can prove the following proposition

(3) 0_{S} = 0_{the scalars of S}. Let us consider S. The functor Ω_{S} yields an element of the carrier of the

scalars of S and is defined by:

Ω_{S} = 1_{the scalars of S}. The following proposition is true

(4) Ω_{S} = 1_{the scalars of S}. Let us consider S. The functor Θ_{S} yields an element of the carrier of the

carrier of S and is defined by:

Θ_{S} = Θ_{the carrier of S}. One can prove the following propositions:

(5) Θ_{S} = Θ_{the carrier of S}.

(6) If a ≠ Θ_{S} and b ≠ Θ_{S} and c ≠ Θ_{S} and d ≠ Θ_{S}, then there exists p such that p ⊥̸ a and p ⊥̸ b and p ⊥̸ c and p ⊥̸ d.

Construction of a bilinear symmetric form … 355

(7) If a ⊥ b, then l · a ⊥ b.

(8) If b ⊥ a and c ⊥ a, then b + c ⊥ a.

(9) If b ⊥̸ a, then there exists k such that x − k · b ⊥ a.

(10) If a ⊥ b − c and b ⊥ c − a, then c ⊥ a − b.

(11) Θ_{S} ⊥ a.

(12) If a ⊥ b, then b ⊥ a.

(13) If a ⊥̸ b and c + a ⊥ b, then c ⊥̸ b.

(14) If b ⊥̸ a and c ⊥ a, then b + c ⊥̸ a.

(15) If b ⊥̸ a and l ≠ 0_{S}, then l · b ⊥̸ a and b ⊥̸ l · a.

(16) If a ⊥ b, then −a ⊥ b.

(17) If a + b ⊥ c and a ⊥ c, then b ⊥ c.

(18) If a + b ⊥ c and b ⊥ c, then a ⊥ c.

(19) If a − b ⊥ d and a − c ⊥ d, then b − c ⊥ d.

(20) If b ⊥̸ a and x − k · b ⊥ a and x − l · b ⊥ a, then k = l.

(21) If a ⊥ a and b ⊥ b, then a + b ⊥ a − b.

(22) If Ω_{S} + Ω_{S} ≠ 0_{S} and there exists a such that a ≠ Θ_{S}, then there exists

b such that b ⊥̸ b. Let us consider S, a, b, x. Let us assume that b ⊥̸ a. The functor J(a, b, x)

yielding an element of the carrier of the scalars of S, is defined by:

for every element l of the carrier of the scalars of S such that x − l · b ⊥ a holds J(a, b, x) = l.

Next we state a number of propositions:

(23) If b ⊥̸ a and x − l · b ⊥ a, then J(a, b, x) = l.

(24) If b ⊥̸ a, then x − J(a, b, x) · b ⊥ a.

(25) If b ⊥̸ a, then J(a, b, l · x) = l · J(a, b, x).

(26) If b ⊥̸ a, then J(a, b, x + y) = J(a, b, x) + J(a, b, y).

(27) If b ⊥̸ a and l ≠ 0_{S}, then J(a, l · b, x) = l^{−1} · J(a, b, x).

(28) If b ⊥̸ a and l ≠ 0_{S}, then J(l · a, b, x) = J(a, b, x).

(29) If b ⊥̸ a and p ⊥ a, then J(a, b + p, c) = J(a, b, c) and J(a, b, c + p) = J(a, b, c).

(30) If b ⊥̸ a and p ⊥ b and p ⊥ c, then J(a + p, b, c) = J(a, b, c).

(31) If b ⊥̸ a and c − b ⊥ a, then J(a, b, c) = Ω_{S}.

(32) If b ⊥̸ a, then J(a, b, b) = Ω_{S}.

(33) If b ⊥̸ a, then x ⊥ a if and only if J(a, b, x) = 0_{S}.

(34) If b ⊥̸ a and q ⊥̸ a, then J(a, b, p) · J(a, b, q)^{−1} = J(a, q, p).

(35) If b ⊥̸ a and c ⊥̸ a, then J(a, b, c) = J(a, c, b)^{−1}.

(36) If b ⊥̸ a and b ⊥ c + a, then J(a, b, c) = −J(c, b, a).

(37) If a ⊥̸ b and c ⊥̸ b, then J(c, b, a) = J(b, a, c)^{−1} · J(a, b, c).

(38) If p ⊥̸ a and p ⊥̸ x and q ⊥̸ a and q ⊥̸ x, then J(a, q, p) · J(p, a, x) = J(q, a, x) · J(x, q, p).

(39) Suppose p ⊥̸ a and p ⊥̸ x and q ⊥̸ a and q ⊥̸ x and b ⊥̸ a. Then (J(a, b, p) · J(p, a, x)) · J(x, p, y) = (J(a, b, q) · J(q, a, x)) · J(x, q, y).

(40) If a ⊥̸ p and x ⊥̸ p and y ⊥̸ p, then J(p, a, x) · J(x, p, y) = J(p, a, y) ·

J(y, p, x). Let us consider S, x, y, a, b. Let us assume that b ⊥̸ a. The functor x ·_{a,b} y

yielding an element of the carrier of the scalars of S, is defined by:

for every q such that q ⊥̸ a and q ⊥̸ x holds x ·_{a,b} y = (J(a, b, q) · J(q, a, x)) · J(x, q, y) if there exists p such that p ⊥̸ a and p ⊥̸ x, x ·_{a,b} y = 0_{S} if for every p holds p ⊥ a or p ⊥ x.

One can prove the following propositions:

(41) If b ⊥̸ a and p ⊥̸ a and p ⊥̸ x, then x ·_{a,b} y = (J(a, b, p) · J(p, a, x)) · J(x, p, y).

(42) If b ⊥̸ a and for every p holds p ⊥ a or p ⊥ x, then x ·_{a,b} y = 0_{S}.

(43) If b ⊥̸ a and x = Θ_{S}, then x ·_{a,b} y = 0_{S}.

(44) If b ⊥̸ a, then x ·_{a,b} y = 0_{S} if and only if y ⊥ x.

(45) If b ⊥̸ a, then x ·_{a,b} y = y ·_{a,b} x.

(46) If b ⊥̸ a, then x ·_{a,b} (l · y) = l · x ·_{a,b} y.

(47) If b ⊥̸ a, then x ·_{a,b} (y + z) = x ·_{a,b} y + x ·_{a,b} z.

References

[1] Eugeniusz Kusak, Wojciech Leończuk, and Michał Muzalewski. Construction of a bilinear antisymmetric form in symplectic vector space. Formalized Mathematics, 1(2):349–352, 1990.

[2] Andrzej Trybulec. Domains and their Cartesian products. Formalized Mathematics, 1(1):115–122, 1990.

[3] Edmund Woronowicz. Relations defined on sets. Formalized Mathematics, 1(1):181–186, 1990.

Partial Functions

Czesław Byliński^{1} Warsaw University Białystok

Summary. In the article we define partial functions. We also define the following notions related to partial functions and functions themselves: the empty function, the restriction of a function to a partial function from a set into a set, the set of all partial functions from a set into a set, the total functions, the relation of tolerance of two functions and the set of all total functions which are tolerated by a partial function. Some simple propositions related to the introduced notions are proved. In the beginning of this article we prove some auxiliary theorems and schemas related to the articles: [1] and [2].

MML Identifier: PARTFUN1.

The terminology and notation used in this paper are introduced in the following articles: [4], [1], [2], and [3]. We adopt the following convention: x, y, y_{1}, y_{2}, z, z_{1}, z_{2} will be arbitrary, P, Q, X, X′, X_{1}, X_{2}, Y, Y′, Y_{1}, Y_{2}, V, Z will denote sets, and C, D will denote non-empty sets. One can prove the following propositions:

(1) If P ⊆ [: X_{1}, Y_{1} :] and Q ⊆ [: X_{2}, Y_{2} :], then P ∪ Q ⊆ [: X_{1} ∪ X_{2}, Y_{1} ∪ Y_{2} :].

(2) For all functions f, g such that for every x such that x ∈ dom f ∩ dom g holds f(x) = g(x) there exists h being a function such that graph f ∪ graph g = graph h.

(3) For all functions f, g, h such that graph f ∪ graph g = graph h for every x such that x ∈ dom f ∩ dom g holds f(x) = g(x).

(4) For arbitrary f such that f ∈ Y^{X} holds f is a function from X into Y. In the article we present several logical schemes. The scheme LambdaC deals

with a constant A that is a set, a unary predicate P , a unary functor F and a unary functor G and states that:

there exists f being a function such that dom f = A and for every x such that x ∈ A holds if P[x], then f(x) = F(x) but if not P[x], then f(x) = G(x) for all values of the parameters.

1Supported by RPBP.III-24.C1

358 Czesław Byliński

The scheme Lambda1C deals with a constant A that is a set, a constant B that is a set, a unary predicate P , a unary functor F and a unary functor G and states that:

there exists f being a function from A into B such that for every x such that x ∈ A holds if P[x], then f(x) = F(x) but if not P[x], then f(x) = G(x) provided the parameters satisfy the following condition:

• for every x such that x ∈ A holds if P[x], then F(x) ∈ B but if not P[x], then G(x) ∈ B.

The constant is a function and is defined by:

graph = ∅.

Next we state a number of propositions:

(5) For every function f such that graph f = ∅ holds = f.

(6) graph = ∅.

(7) = ∅.

(8) For every function f such that dom f = ∅ or rng f = ∅ holds = f.

(9) dom = ∅.

(10) rng = ∅.

(11) For every function f holds f · = and · f = .

(12) id_{∅} = .

(13) is one-to-one.

(14) ^{−1} = .

(15) For every function f holds f ∅ = .

(16) X = .

(17) For every function f holds ∅ f = .

(18) Y = .

(19) ^{∘} X = ∅.

(20) ^{−1} Y = ∅.

(21) is a function from ∅ into Y.

(22) For every function f from ∅ into Y holds f = .

Let us consider X, Y. The mode partial function from X to Y, which widens to the type a function, is defined by:

dom it ⊆ X and rng it ⊆ Y.

Next we state a number of propositions:

(23) For every function f holds f is a partial function from X to Y if and only if dom f ⊆ X and rng f ⊆ Y.

(24) For every function f holds f is a partial function from dom f to rng f.

(25) For every function f such that rng f ⊆ Y holds f is a partial function from dom f to Y.

(26) For every partial function f from C to D such that y ∈ rng f there exists x being an element of C such that x ∈ dom f and y = f(x).

Partial Functions 359

(27) For every partial function f from X to Y such that x ∈ dom f holds f(x) ∈ Y.

(28) For every partial function f from X to Y such that dom f ⊆ Z holds f is a partial function from Z to Y.

(29) For every partial function f from X to Y such that rng f ⊆ Z holds f is a partial function from X to Z.

(30) For every partial function f from X to Y such that X ⊆ Z holds f is a partial function from Z to Y.

(31) For every partial function f from X to Y such that Y ⊆ Z holds f is a partial function from X to Z.

(32) For every partial function f from X_{1} to Y_{1} such that X_{1} ⊆ X_{2} and Y_{1} ⊆ Y_{2} holds f is a partial function from X_{2} to Y_{2}.

(33) For every function f for every partial function g from X to Y such that graph f ⊆ graph g holds f is a partial function from X to Y.

(34) For all partial functions f_{1}, f_{2} from C to D such that X = dom f_{1} and X = dom f_{2} and for every element x of C such that x ∈ X holds f_{1}(x) = f_{2}(x) holds f_{1} = f_{2}.

(35) For all partial functions f_{1}, f_{2} from [: X, Y :] to Z such that V = dom f_{1} and V = dom f_{2} and for all x, y such that ⟨⟨x, y⟩⟩ ∈ V holds f_{1}(⟨⟨x, y⟩⟩) = f_{2}(⟨⟨x, y⟩⟩) holds f_{1} = f_{2}.

Now we present four schemes. The scheme PartFuncEx concerns a constant A that is a set, a constant B that is a set and a binary predicate P and states that:

there exists f being a partial function from A to B such that for every x holds x ∈ dom f if and only if x ∈ A and there exists y such that P[x, y] and for every x such that x ∈ dom f holds P[x, f(x)] provided the parameters satisfy the following conditions:

• for all x, y such that x ∈ A and P[x, y] holds y ∈ B,

• for all x, y_{1}, y_{2} such that x ∈ A and P[x, y_{1}] and P[x, y_{2}] holds y_{1} = y_{2}.

The scheme LambdaR concerns a constant A that is a set, a constant B that is a set, a unary functor F and a unary predicate P and states that:

there exists f being a partial function from A to B such that for every x holds x ∈ dom f if and only if x ∈ A and P[x] and for every x such that x ∈ dom f holds f(x) = F(x) provided the parameters satisfy the following condition:

• for every x such that P[x] holds F(x) ∈ B.

The scheme PartFuncEx2 concerns a constant A that is a set, a constant B that is a set, a constant C that is a set and a ternary predicate P and states that:

there exists f being a partial function from [: A, B:] to C such that for all x, y holds ⟨⟨x, y⟩⟩ ∈ dom f if and only if x ∈ A and y ∈ B and there exists z such that P[x, y, z] and for all x, y such that ⟨⟨x, y⟩⟩ ∈ dom f holds P[x, y, f(⟨⟨x, y⟩⟩)]. provided the parameters satisfy the following conditions:

• for all x, y, z such that x ∈ A and y ∈ B and P[x, y, z] holds z ∈ C, • for all x, y, z_{1}, z_{2} such that x ∈ A and y ∈ B and P[x, y, z_{1}] and

P[x, y, z_{2}] holds z_{1} = z_{2}. The scheme LambdaR2 concerns a constant A that is a set, a constant B that

is a set, a constant C that is a set, a binary functor F and a binary predicate P and states that:

there exists f being a partial function from [: A, B:] to C such that for all x, y holds ⟨⟨x, y⟩⟩ ∈ dom f if and only if x ∈ A and y ∈ B and P[x, y] and for all x, y such that ⟨⟨x, y⟩⟩ ∈ dom f holds f(⟨⟨x, y⟩⟩) = F(x, y) provided the parameters satisfy the following condition:

• for all x, y such that P[x, y] holds F(x, y) ∈ C.

The arguments of the notions defined below are the following: X, Y, V, Z which are objects of the type reserved above; f which is a partial function from X to Y; g which is a partial function from V to Z. Then g ·f is a partial function from X to Z.

One can prove the following propositions:

(36) For every partial function f from X to Y holds f · id_{X} = f.

(37) For every partial function f from X to Y holds id_{Y} ·f = f.

(38) For every partial function f from C to D such that for all elements x_{1}, x_{2} of C such that x_{1} ∈ dom f and x_{2} ∈ dom f and f(x_{1}) = f(x_{2}) holds x_{1} = x_{2} holds f is one-to-one.

(39) For every partial function f from X to Y such that f is one-to-one holds f^{−1} is a partial function from Y to X.

(40) For every function f from X into Y such that if Y = ∅, then X = ∅ but f is one-to-one holds f^{−1} is a partial function from Y to X.

(41) For every function f from X into X such that f is one-to-one holds f^{−1} is a partial function from X to X.

(42) For every function f from X into D such that f is one-to-one holds f^{−1} is a partial function from D to X.

(43) For every partial function f from X to Y holds f Z is a partial function from Z to Y.

(44) For every partial function f from X to Y holds f Z is a partial function from X to Y.

(45) For every partial function f from X to Y holds Z f is a partial function from X to Z.

(46) For every partial function f from X to Y holds Z f is a partial function from X to Y.

(47) For every function f holds (Y f) X is a partial function from X to Y.

(48) For every partial function f from X to Y holds (Y′ f) X′ is a partial function from X to Y.

(49) For every partial function f from C to D such that y ∈ f^{∘} X there exists x being an element of C such that x ∈ dom f and y = f(x).

(50) For every partial function f from X to Y holds f ^{∘} P ⊆ Y.

The arguments of the notions defined below are the following: X, Y which are objects of the type reserved above; f which is a partial function from X to Y; P which is an object of the type reserved above. Then f ^{∘} P is a subset of Y.

We now state two propositions:

(51) For every partial function f from X to Y holds f ^{∘} X = rng f.

(52) For every partial function f from X to Y holds f ^{−1} Q ⊆ X. The arguments of the notions defined below are the following: X, Y which

are objects of the type reserved above; f which is a partial function from X to Y; Q which is an object of the type reserved above. Then f ^{−1} Q is a subset of X.

Next we state a number of propositions:

(53) For every partial function f from X to Y holds f ^{−1} Y = dom f.

(54) For every partial function f from ∅ to Y holds dom f = ∅ and rng f = ∅.

(55) For every function f such that dom f = ∅ holds f is a partial function from X to Y.

(56) is a partial function from X to Y.

(57) For every partial function f from ∅ to Y holds f = .

(58) For every partial function f_{1} from ∅ to Y_{1} for every partial function f_{2} from ∅ to Y_{2} holds f_{1} = f_{2}.

(59) For every partial function f from ∅ to Y holds f is one-to-one.

(60) For every partial function f from ∅ to Y holds f ^{∘} P = ∅.

(61) For every partial function f from ∅ to Y holds f ^{−1} Q = ∅.

(62) For every partial function f from X to ∅ holds dom f = ∅ and rng f = ∅.

(63) For every function f such that rng f = ∅ holds f is a partial function from X to Y.

(64) For every partial function f from X to ∅ holds f = .

(65) For every partial function f_{1} from X_{1} to ∅ for every partial function f_{2} from X_{2} to ∅ holds f_{1} = f_{2}.

(66) For every partial function f from X to ∅ holds f is one-to-one.

(67) For every partial function f from X to ∅ holds f ^{∘} P = ∅.

(68) For every partial function f from X to ∅ holds f ^{−1} Q = ∅.

(69) For every partial function f from {x} to Y holds rng f ⊆ {f(x)}.

(70) For every partial function f from {x} to Y holds f is one-to-one.

(71) For every partial function f from {x} to Y holds f ^{∘} P ⊆ {f(x)}.

(72) For every function f such that dom f = {x} and x ∈ X and f(x) ∈ Y holds f is a partial function from X to Y.

(73) For every partial function f from X to {y} such that x ∈ dom f holds f(x) = y.

(74) For all partial functions f_{1}, f_{2} from X to {y} such that dom f_{1} = dom f_{2} holds f_{1} = f_{2}.

The arguments of the notions defined below are the following: f which is a function; X, Y which are sets. The functor f_{X ˙→Y} yielding a partial function from X to Y, is defined by:

f_{X ˙→Y} = (Y f) X.

We now state a number of propositions:

(75) For every function f for all X, Y holds f_{X ˙→Y} = (Y f) X.

(76) For every function f holds graph(f_{X ˙→Y} ) ⊆ graph f.

(77) For every function f holds dom(f_{X ˙→Y} ) ⊆ dom f and rng(f_{X ˙→Y} ) ⊆ rng f.

(78) For every function f holds x ∈ dom(f_{X ˙→Y} ) if and only if x ∈ dom f and x ∈ X and f(x) ∈ Y.

(79) For every function f such that x ∈ dom f and x ∈ X and f(x) ∈ Y holds (f_{X ˙→Y} )(x) = f(x).

(80) For every function f such that x ∈ dom(f_{X ˙→Y} ) holds (f_{X ˙→Y} )(x) = f(x).

(81) For all functions f, g such that graph f ⊆ graph g holds graph(f_{X ˙→Y} ) ⊆ graph(g_{X ˙→Y} ).

(82) For every function f such that Z ⊆ X holds graph(f_{Z ˙→Y} ) ⊆ graph(f_{X ˙→Y} ) .

(83) For every function f such that Z ⊆ Y holds graph(f_{X ˙→Z}) ⊆ graph(f_{X ˙→Y} ) .

(84) For every function f such that X_{1} ⊆ X_{2} and Y_{1} ⊆ Y_{2} holds graph(f_{X_{1} ˙→Y_{1}}) ⊆ graph(f_{X_{2} ˙→Y_{2}}) .

(85) For every function f such that dom f ⊆ X and rng f ⊆ Y holds f = f_{X ˙→Y} .

(86) For every function f holds f = f_{dom f ˙→ rng f}.

(87) For every partial function f from X to Y holds f_{X ˙→Y} = f.

(88) For every function f from X into Y such that if Y = ∅, then X = ∅ holds f_{X ˙→Y} = f.

(89) For every function f from X into X holds f_{X ˙→X} = f.

(90) For every function f from X into D holds f_{X ˙→D} = f.

(91) _{X ˙→Y} = .

(92) For all functions f, g holds graph((g_{Y ˙→Z})·(f_{X ˙→Y} )) ⊆ graph(g·f_{X ˙→Z}).

(93) For all functions f, g such that rng f ∩ dom g ⊆ Y holds (g_{Y ˙→Z}) · (f_{X ˙→Y} ) = g · f_{X ˙→Z}.

(94) For every function f such that f is one-to-one holds f_{X ˙→Y} is one-to-one.

(95) For every function f such that f is one-to-one holds (f_{X ˙→Y} )^{−1} = f^{−1}_{Y ˙→X}.

(96) For every function f holds (f_{X ˙→Y} ) Z = f_{X∩Z ˙→Y} .

(97) For every function f holds Z (f_{X ˙→Y} ) = f_{X ˙→Z∩Y} .

The arguments of the notions defined below are the following: X, Y which are objects of the type reserved above; f which is a partial function from X to Y. The predicate f is total is defined by:

dom f = X.

We now state a number of propositions:

(98) For every partial function f from X to Y holds f is total if and only if dom f = X.

(99) For every partial function f from X to Y such that f is total and Y = ∅ holds X = ∅.

(100) For every partial function f from X to Y such that dom f = X holds f is a function from X into Y.

(101) For every partial function f from X to Y such that f is total holds f is a function from X into Y.

(102) For every partial function f from X to Y such that if Y = ∅, then X = ∅ but f is a function from X into Y holds f is total.

(103) For every function f from X into Y for every partial function f′ from X to Y such that if Y = ∅, then X = ∅ but f = f′ holds f′ is total.

(104) For every function f from X into Y such that if Y = ∅, then X = ∅ holds f_{X ˙→Y} is total.

(105) For every function f from X into X holds f_{X ˙→X} is total.

(106) For every function f from X into D holds f_{X ˙→D} is total.

(107) For every partial function f from X to Y such that if Y = ∅, then X = ∅ there exists g being a function from X into Y such that for every x such that x ∈ dom f holds g(x) = f(x).

(108) For every partial function f from X to D there exists g being a function from X into D such that for every x such that x ∈ dom f holds g(x) = f(x).

(109) For every function f from X into Y such that if Y = ∅, then X = ∅ holds f is a partial function from X to Y.

(110) For every function f from X into X holds f is a partial function from X to X.

(111) For every function f from X into D holds f is a partial function from X to D.

(112) For every partial function f from ∅ to Y holds f is total.

(113) For every function f such that f_{X ˙→Y} is total holds X ⊆ dom f.

(114) If _{X ˙→Y} is total, then X = ∅.

(115) For every function f such that X ⊆ dom f and rng f ⊆ Y holds f_{X ˙→Y} is total.

(116) For every function f such that f_{X ˙→Y} is total holds f ^{∘} X ⊆ Y.

(117) For every function f such that X ⊆ dom f and f ^{∘} X ⊆ Y holds f_{X ˙→Y}

is total. Let us consider X, Y. The functor X ˙→Y yielding a non-empty set, is defined

by:

x ∈ X ˙→Y if and only if there exists f being a function such that x = f and dom f ⊆ X and rng f ⊆ Y.

We now state a number of propositions:

(118) For every non-empty set F holds F = X ˙→Y if and only if for every x holds x ∈ F if and only if there exists f being a function such that x = f and dom f ⊆ X and rng f ⊆ Y.

(119) For every partial function f from X to Y holds f ∈ X ˙→Y.

(120) For arbitrary f such that f ∈ X ˙→Y holds f is a partial function from X to Y.

(121) For every element f of X ˙→Y holds f is a partial function from X to Y.

(122) ∅ ˙→Y = { }.

(123) X ˙→∅ = { }.

(124) Y^{X} ⊆ X ˙→Y.

(125) If Z ⊆ X, then Z ˙→Y ⊆ X ˙→Y.

(126) ∅ ˙→Y ⊆ X ˙→Y.

(127) If Z ⊆ Y, then X ˙→Z ⊆ X ˙→Y.

(128) If X_{1} ⊆ X_{2} and Y_{1} ⊆ Y_{2}, then X_{1} ˙→Y_{1} ⊆ X_{2} ˙→Y_{2}.

Let f, g be functions. The predicate f ≈ g is defined by:

for every x such that x ∈ dom f ∩ dom g holds f(x) = g(x).

The following propositions are true:

(129) For all functions f, g holds f ≈ g if and only if for every x such that x ∈ dom f ∩ dom g holds f(x) = g(x).

(130) For all functions f, g holds f ≈ g if and only if there exists h being a function such that graph f ∪ graph g = graph h.

(131) For all functions f, g holds f ≈ g if and only if there exists h being a function such that graph f ⊆ graph h and graph g ⊆ graph h.

(132) For all functions f, g such that dom f ⊆ dom g holds f ≈ g if and only if for every x such that x ∈ dom f holds f(x) = g(x).

(133) For all functions f, g holds f ≈ f.

(134) For all functions f, g such that f ≈ g holds g ≈ f.

(135) For all functions f, g such that graph f ⊆ graph g holds f ≈ g.

(136) For all functions f, g such that dom f = dom g and f ≈ g holds f = g.

(137) For all functions f, g such that f = g holds f ≈ g.

(138) For all functions f, g such that dom f ∩ dom g = ∅ holds f ≈ g.

(139) For all functions f, g, h such that graph f ⊆ graph h and graph g ⊆ graph h holds f ≈ g.

(140) For all partial functions f, g from X to Y for every function h such that f ≈ h and graph g ⊆ graph f holds g ≈ h.

(141) For every function f holds ≈ f and f ≈ .

(142) For every function f holds _{X ˙→Y} ≈ f and f ≈ _{X ˙→Y} .

(143) For all partial functions f, g from X to {y} holds f ≈ g.

(144) For every function f holds f X ≈ f and f X ≈ f.

(145) For every function f holds Y f ≈ f and f ≈ Y f.

(146) For every function f holds (Y f) X ≈ f and f ≈ (Y f) X.

(147) For every function f holds f_{X ˙→Y} ≈ f and f ≈ f_{X ˙→Y} .

(148) For all partial functions f, g from X to Y such that f is total and g is total and f ≈ g holds f = g.

(149) For all functions f, g from X into Y such that if Y = ∅, then X = ∅ but f ≈ g holds f = g.

(150) For all functions f, g from X into X such that f ≈ g holds f = g.

(151) For all functions f, g from X into D such that f ≈ g holds f = g.

(152) For every partial function f from X to Y for every function g from X into Y such that if Y = ∅, then X = ∅ holds f ≈ g if and only if for every x such that x ∈ dom f holds f(x) = g(x).

(153) For every partial function f from X to X for every function g from X into X holds f ≈ g if and only if for every x such that x ∈ dom f holds f(x) = g(x).

(154) For every partial function f from X to D for every function g from X into D holds f ≈ g if and only if for every x such that x ∈ dom f holds f(x) = g(x).

(155) For every partial function f from X to Y such that if Y = ∅, then X = ∅ there exists g being a function from X into Y such that f ≈ g.

(156) For every partial function f from X to X there exists g being a function from X into X such that f ≈ g.

(157) For every partial function f from X to D there exists g being a function from X into D such that f ≈ g.

(158) For all partial functions f, g, h from X to Y such that f ≈ h and g ≈ h and h is total holds f ≈ g.

(159) For all partial functions f, g from X to Y for every function h from X into Y such that if Y = ∅, then X = ∅ but f ≈ h and g ≈ h holds f ≈ g.

(160) For all partial functions f, g from X to X for every function h from X into X such that f ≈ h and g ≈ h holds f ≈ g.

(161) For all partial functions f, g from X to D for every function h from X into D such that f ≈ h and g ≈ h holds f ≈ g.

(162) For all partial functions f, g from X to Y such that if Y = ∅, then X = ∅ but f ≈ g there exists h being a partial function from X to Y such that h is total and f ≈ h and g ≈ h.

(163) For all partial functions f, g from X to Y such that if Y = ∅, then X = ∅ but f ≈ g there exists h being a function from X into Y such that f ≈ h and g ≈ h.

The arguments of the notions defined below are the following: X, Y which are objects of the type reserved above; f which is a partial function from X to Y. The functor TotFuncs f yields a set and is defined by:

x ∈ TotFuncs f if and only if there exists g being a partial function from X to Y such that g = x and g is total and f ≈ g.

The following propositions are true:

(164) For all X, Y for every partial function f from X to Y for every Z holds Z = TotFuncs f if and only if for every x holds x ∈ Z if and only if there exists g being a partial function from X to Y such that g = x and g is total and f ≈ g.

(165) For every partial function f from X to Y for every function g from X into Y such that if Y = ∅, then X = ∅ but f ≈ g holds g ∈ TotFuncs f.

(166) For every partial function f from X to X for every function g from X into X such that f ≈ g holds g ∈ TotFuncs f.

(167) For every partial function f from X to D for every function g from X into D such that f ≈ g holds g ∈ TotFuncs f.

(168) For every partial function f from X to Y for arbitrary g such that g ∈ TotFuncs f holds g is a partial function from X to Y.

(169) For all partial functions f, g from X to Y such that g ∈ TotFuncs f holds g is total.

(170) For every partial function f from X to Y for arbitrary g such that g ∈ TotFuncs f holds g is a function from X into Y.

(171) For every partial function f from X to Y for every function g such that g ∈ TotFuncs f holds f ≈ g and g ≈ f.

(172) For every partial function f from X to ∅ such that X ≠ ∅ holds TotFuncs f = ∅ .

(173) For every partial function f from X to Y holds TotFuncs f ⊆ Y^{X}.

(174) For every partial function f from X to Y holds f is total if and only if TotFuncs f = {f}.

(175) For every partial function f from ∅ to Y holds TotFuncs f = {f}.

(176) For every partial function f from ∅ to Y holds TotFuncs f = { }.

(177) TotFuncs( _{X ˙→Y} ) = Y^{X}.

(178) For every function f from X into Y such that if Y = ∅, then X = ∅ holds TotFuncs(f_{X ˙→Y} ) = {f}.

(179) For every function f from X into X holds TotFuncs(f_{X ˙→X}) = {f}.

(180) For every function f from X into D holds TotFuncs(f_{X ˙→D}) = {f}.

(181) For every partial function f from X to {y} for every function g from X into {y} holds TotFuncs f = {g}.

(182) For all partial functions f, g from X to Y such that graph g ⊆ graph f holds TotFuncs f ⊆ TotFuncs g.

(183) For all partial functions f, g from X to Y such that dom g ⊆ dom f and TotFuncs f ⊆ TotFuncs g holds graph g ⊆ graph f.

(184) For all partial functions f, g from X to Y such that TotFuncs f ⊆ TotFuncs g and for every y holds Y ≠ {y} holds graph g ⊆ graph f.

(185) For all partial functions f, g from X to Y such that TotFuncs f ∩ TotFuncs g ≠ ∅ holds f ≈ g.

(186) For all partial functions f, g from X to Y such that if Y = ∅, then X = ∅ but f ≈ g holds TotFuncs f ∩ TotFuncs g ≠ ∅.

(187) For all partial functions f, g from X to Y such that for every y holds Y ≠ {y} and TotFuncs f = TotFuncs g holds f = g.

References

[1] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[2] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[3] Czesław Byliński. Graphs of functions. Formalized Mathematics, 1(1):169– 173, 1990.

[4] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

368

Semilattice Operations on Finite Subsets

Andrzej Trybulec^{1} Warsaw University Białystok

Summary. In the article we deal with a binary operation that is associative, commutative. We define for such an operation a functor that depends on two more arguments: a finite set of indices and a function indexing elements of the domain of the operation and yields the result of applying the operation to all indexed elements. The definition has a restriction that requires that either the set of indices is non empty or the operation has the unity. We prove theorems describing some properties of the functor introduced. Most of them we prove in two versions depending on which requirement is fulfilled. In the second part we deal with the union of finite sets that enjoys mentioned above properties. We prove analogs of the theorems proved in the first part. We precede the main part of the article with auxiliary theorems related to boolean properties of sets, enumerated sets, finite subsets, and functions. We define a casting function that yields to a set the empty set typed as a finite subset of the set. We prove also two schemes of the induction on finite sets.

MML Identifier: SETWISEO.

The terminology and notation used in this paper have been introduced in the following articles: [5], [4], [7], [6], [2], [1], and [3]. We adopt the following rules: x, y, z will be arbitrary and X, Y, Z, X′, Y′ will be sets. The following propositions are true:

(1) If {x} ⊆ {y}, then x = y.

(2) {x, y, z} ≠ ∅.

(3) {x} ⊆ {x, y, z}.

(4) {x, y} ⊆ {x, y, z}.

(5) If X ⊆ Y ∪ {x}, then x ∈ X or X ⊆ Y.

(6) x ∈ X ∪ {y} if and only if x ∈ X or x = y.

(7) If X ∪ Y ⊆ Z, then X ⊆ Z and Y ⊆ Z.

1Supported by RPBP.III-24.C1.

(8) X ∪ {x} ⊆ Y if and only if x ∈ Y and X ⊆ Y.

(9) If X′ ∪ Y′ = X ∪ Y and X misses X′ and Y misses Y′, then X = Y′ and Y = X′.

(10) If X′ ∪ Y′ = X ∪ Y and Y misses X′ and X misses Y′, then X = X′ and Y = Y′.

(11) For all X, Y for every function f holds f ^{∘} (Y \ f ^{−1} X) = f ^{∘} Y \ X. In the sequel X, Y will denote non-empty sets and f will denote a function

from X into Y. Next we state two propositions:

(12) For every element x of X holds x ∈ f ^{−1} {f(x)}.

(13) For every element x of X holds f ^{∘} {x} = {f(x)}.

The scheme SubsetEx deals with a constant A that is a non-empty set and a unary predicate P and states that:

there exists B being a subset of A such that for every element x of A holds x ∈ B if and only if P[x] for all values of the parameters.

We now state several propositions:

(14) For every element B of Fin X for every x such that x ∈ B holds x is an element of X.

(15) For every element A of Fin X for every set B for every function f from X into Y such that for every element x of X such that x ∈ A holds f(x) ∈ B holds f ^{∘} A ⊆ B.

(16) For every set X for every element B of Fin X for every set A such that A ⊆ B holds A is an element of Fin X.

(17) For every element A of Fin X holds f ^{∘} A is an element of Fin Y.

(18) For every element B of Fin X such that B ≠ ∅ there exists x being an element of X such that x ∈ B.

(19) For every element A of Fin X such that f ^{∘} A = ∅ holds A = ∅. Let X be a set. The functor 0_{X} yielding an element of Fin X, is defined by: 0_{X} = ∅. One can prove the following proposition

(20) For every set X holds 0_{X} = ∅.

The arguments of the notions defined below are the following: X which is a non-empty set; A which is a set; f which is a function from X into Fin A; x which is an element of X. Then f(x) is an element of Fin A.

The scheme FinSubFuncEx deals with a constant A that is a non-empty set, a constant B that is an element of Fin A and a binary predicate P and states that:

there exists f being a function from A into Fin A such that for all elements b, a of A holds a ∈ f(b) if and only if a ∈ B and P[a, b] for all values of the parameters.

The arguments of the notions defined below are the following: X which is a non-empty set; F which is a binary operation on X. The predicate F has a unity is defined by:

there exists x being an element of X such that x is a unity w.r.t. F.

Semilattice Operations on Finite Subsets 371

We now state three propositions:

(21) For every non-empty set X for every binary operation F on X holds F has a unity if and only if there exists x being an element of X such that x is a unity w.r.t. F.

(22) For every non-empty set X for every binary operation F on X holds F has a unity if and only if 1_{F} is a unity w.r.t. F.

(23) For every non-empty set X for every binary operation F on X such that F has a unity for every element x of X holds F (1_{F} , x) = x and F (x, 1_{F}) = x.

The arguments of the notions defined below are the following: X which is a non-empty set; x which is an element of X. Then {x} is an element of Fin X. Let y be an element of X. Then {x, y} is an element of Fin X. Let z be an element of X. Then {x, y, z} is an element of Fin X.

Now we present three schemes. The scheme FinSubInd1 concerns a constant A that is a non-empty set and a unary predicate P and states that:

for every element B of Fin A holds P[B] provided the parameters satisfy the following conditions:

• P[0_{A}],

• for every element B′ of Fin A for every element b of A such that P[B′] and b ∉ B′ holds P[B′ ∪ {b}].

The scheme FinSubInd2 concerns a constant A that is a non-empty set and a unary predicate P and states that:

for every element B of Fin A such that B ≠ ∅ holds P[B] provided the parameters satisfy the following conditions:

• for every element x of A holds P[{x}],

• for all elements B_{1}, B_{2} of Fin A such that B_{1} ≠ ∅ and B_{2} ≠ ∅ holds if P[B_{1}] and P[B_{2}], then P[B_{1} ∪ B_{2}].

The scheme FinSubInd3 concerns a constant A that is a non-empty set and a unary predicate P and states that:

for every element B of Fin A holds P[B] provided the parameters satisfy the following conditions:

• P[0_{A}],

• for every element B′ of Fin A for every element b of A such that P[B′] holds P[B′ ∪ {b}].

The arguments of the notions defined below are the following: X which is a non-empty family of sets; Y which is a non-empty set; f which is a function from X into Y; x which is an element of X. Then f(x) is an element of Y.

In the sequel C will be a non-empty set. The arguments of the notions defined below are the following: X, Y which are non-empty sets; F which is a binary operation on Y; B which is an element of Fin X; f which is a function from X into Y. Let us assume that B ≠ ∅ or F has a unity and F is commutative and F is associative. The functor F - ∑_{B} f yielding an element of Y, is defined by:

there exists G being a function from Fin X into Y such that F - ∑_{B} f = G(B) and for every element e of Y such that e is a unity w.r.t. F holds G(∅) = e and for every element x of X holds G({x}) = f(x) and for every element B′ of Fin X such that B′ ⊆ B and B′ ≠ ∅ for every element x of X such that x ∈ B \B′ holds G(B′ ∪ {x}) = F (G(B′), f(x)).

One can prove the following propositions:

(24) Let X, Y be non-empty sets. Let F be a binary operation on Y. Let B be an element of Fin X. Let f be a function from X into Y. Suppose B ≠ ∅ or F has a unity but F is commutative and F is associative. Let IT be an element of Y. Then IT = F - ∑_{B} f if and only if there exists G being a function from Fin X into Y such that IT = G(B) and for every element e of Y such that e is a unity w.r.t. F holds G(∅) = e and for every element x of X holds G({x}) = f(x) and for every element B′ of Fin X such that B′ ⊆ B and B′ ≠ ∅ for every element x of X such that x ∈ B \ B′ holds G(B′ ∪ {x}) = F (G(B′), f(x)).

(25) Let X, Y be non-empty sets. Let F be a binary operation on Y. Let B be an element of Fin X. Let f be a function from X into Y. Suppose B ≠ ∅ or F has a unity but F is idempotent and F is commutative and F is associative. Let IT be an element of Y. Then IT = F - ∑_{B} f if and only if there exists G being a function from Fin X into Y such that IT = G(B) and for every element e of Y such that e is a unity w.r.t. F holds G(∅) = e and for every element x of X holds G({x}) = f(x) and for every element B′ of Fin X such that B′ ⊆ B and B′ ≠ ∅ for every element x of X such that x ∈ B holds G(B′ ∪ {x}) = F (G(B′), f(x)).

For simplicity we follow the rules: X, Y denote non-empty sets, F denotes a binary operation on Y, B denotes an element of Fin X, and f denotes a function from X into Y. Next we state a number of propositions:

(26) If F is commutative and F is associative, then for every element b of X holds F - ∑_{{b}} f = f(b).

(27) If F is idempotent and F is commutative and F is associative, then for all elements a, b of X holds F - ∑_{{a,b}} f = F (f(a), f(b)).

(28) If F is idempotent and F is commutative and F is associative, then for all elements a, b, c of X holds F - ∑_{{a,b,c}} f = F (F (f(a), f(b)), f(c)).

(29) If F is idempotent and F is commutative and F is associative and B ≠ ∅, then for every element x of X holds F - ∑_{B∪{x}} f = F (F - ∑_{B} f, f(x)).

(30) If F is idempotent and F is commutative and F is associative, then for all elements B_{1}, B_{2} of Fin X such that B_{1} ≠ ∅ and B_{2} ≠ ∅ holds F - ∑_{B_{1}∪B_{2}} f = F (F - ∑_{B_{1}} f, F - ∑_{B_{2}} f).

(31) If F is commutative and F is associative and F is idempotent, then for every element x of X such that x ∈ B holds F (f(x), F - ∑_{B} f) = F - ∑_{B} f.

(32) If F is commutative and F is associative and F is idempotent, then for all elements B, C of Fin X such that B ≠ ∅ and B ⊆ C holds F (F - ∑_{B} f, F - ∑_{C} f) = F - ∑_{C} f.

(33) If B ≠ ∅ and F is commutative and F is associative and F is idempotent, then for every element a of Y such that for every element b of X such that b ∈ B holds f(b) = a holds F - ∑_{B} f = a.

(34) If F is commutative and F is associative and F is idempotent, then for every element a of Y such that f ^{∘} B = {a} holds F - ∑_{B} f = a.

(35) If F is commutative and F is associative and F is idempotent, then for all functions f, g from X into Y for all elements A, B of Fin X such that A ≠ ∅ and f ^{∘} A = g^{∘} B holds F - ∑_{A} f = F - ∑_{B} g.

(36) Let F, G be binary operations on Y. Then if F is idempotent and F is commutative and F is associative and G is distributive w.r.t. F, then for every element B of Fin X such that B ≠ ∅ for every function f from X into Y for every element a of Y holds G(a, F - ∑_{B} f) = F - ∑_{B}(G^{∘}(a, f)).

(37) Let F, G be binary operations on Y. Then if F is idempotent and F is commutative and F is associative and G is distributive w.r.t. F, then for every element B of Fin X such that B ≠ ∅ for every function f from X into Y for every element a of Y holds G(F - ∑_{B} f, a) = F - ∑_{B}(G^{∘}(f, a)).

The arguments of the notions defined below are the following: A, X, Y which are non-empty sets; f which is a function from X into Y; g which is a function from Y into A. Then g · f is a function from X into A.

The arguments of the notions defined below are the following: X, Y which are non-empty sets; f which is a function from X into Y; A which is an element of Fin X. Then f ^{∘} A is an element of Fin Y.

The following propositions are true:

(38) Let A, X, Y be non-empty sets. Then for every binary operation F on A such that F is idempotent and F is commutative and F is associative for every element B of Fin X such that B ≠ ∅ for every function f from X into Y for every function g from Y into A holds F - ∑_{f^{∘}B} g = F - ∑_{B}(g · f).

(39) Suppose F is commutative and F is associative and F is idempotent. Let Z be a non-empty set. Let G be a binary operation on Z. Suppose G is commutative and G is associative and G is idempotent. Let f be a function from X into Y. Then for every function g from Y into Z such that for all elements x, y of Y holds g(F (x, y)) = G(g(x), g(y)) for every element B of Fin X such that B ≠ ∅ holds g(F - ∑_{B} f) = G- ∑_{B}(g · f).

(40) If F is commutative and F is associative and F has a unity, then for every f holds F - ∑_{0_{X}} f = 1_{F}.

(41) If F is idempotent and F is commutative and F is associative and F has a unity, then for every element x of X holds F - ∑_{B∪{x}} f = F (F - ∑_{B} f, f(x)).

(42) If F is idempotent and F is commutative and F is associative and F has a unity, then for all elements B_{1}, B_{2} of Fin X holds F - ∑_{B_{1}∪B_{2}} f = F (F - ∑_{B_{1}} f, F - ∑_{B_{2}} f).

(43) If F is commutative and F is associative and F is idempotent and F has a unity, then for all functions f, g from X into Y for all elements A, B of Fin X such that f ^{∘} A = g^{∘} B holds F - ∑_{A} f = F - ∑_{B} g.

(44) For all non-empty sets A, X, Y for every binary operation F on A such that F is idempotent and F is commutative and F is associative and F has a unity for every element B of Fin X for every function f from X into Y for every function g from Y into A holds F - ∑_{f^{∘}B} g = F - ∑_{B}(g · f).

(45) Suppose F is commutative and F is associative and F is idempotent and F has a unity. Let Z be a non-empty set. Let G be a binary operation on Z. Suppose G is commutative and G is associative and G is idempotent and G has a unity. Let f be a function from X into Y. Let g be a function from Y into Z. Then if g(1_{F}) = 1_{G} and for all elements x, y of Y holds g(F (x, y)) = G(g(x), g(y)), then for every element B of Fin X holds g(F - ∑_{B} f) = G- ∑_{B}(g · f).

The arguments of the notions defined below are the following: A which is a set; x which is an element of Fin A. The functor @x yielding an element of Fin A qua a non-empty set, is defined by:

@x = x.

The following proposition is true

(46) For every set A for every element x of Fin A holds @x = x.

Let A be a set. The functor FinUnion_{A} yields a binary operation on Fin A and is defined by:

for all elements x, y of Fin A holds (FinUnion_{A})(x, y) = @(x ∪ y).

In the sequel A will denote a set and x, y will denote elements of Fin A. One can prove the following propositions:

(47) For every binary operation IT on Fin A holds IT = FinUnion_{A} if and only if for all elements x, y of Fin A holds IT (x, y) = @(x ∪ y).

(48) FinUnion_{A}(x, y) = x ∪ y.

(49) FinUnion_{A} is idempotent.

(50) FinUnion_{A} is commutative.

(51) FinUnion_{A} is associative.

(52) @0_{A} is a unity w.r.t. FinUnion_{A}.

(53) FinUnion_{A} has a unity.

(54) 1_{FinUnion_{A}} is a unity w.r.t. FinUnion_{A}.

(55) 1_{FinUnion_{A}} = ∅.

For simplicity we adopt the following rules: X, Y are non-empty sets, A is a set, f is a function from X into Fin A, and i, j, k are elements of X. The arguments of the notions defined below are the following: X which is a non-empty set; A which is a set; B which is an element of Fin X; f which is a function from X into Fin A. The functor FinUnion(B, f) yields an element of Fin A and is defined by:

FinUnion(B, f) = FinUnion_{A} - ∑_{B} f.

The following propositions are true:

(56) FinUnion({i}, f) = f(i).

(57) FinUnion({i, j}, f) = f(i) ∪ f(j).

(58) FinUnion({i, j, k}, f) = (f(i) ∪ f(j)) ∪ f(k).

(59) FinUnion(0_{X}, f) = ∅.

(60) For every element B of Fin X holds FinUnion(B ∪ {i}, f) = FinUnion(B, f) ∪ f(i) .

(61) For every element B of Fin X holds FinUnion(B, f) = ⋃(f ^{∘} B).

(62) For all elements B_{1}, B_{2} of Fin X holds FinUnion(B_{1} ∪ B_{2}, f) = FinUnion(B_{1}, f) ∪ FinUnion(B_{2}, f) .

(63) For every element B of Fin X for every function f from X into Y for every function g from Y into Fin A holds FinUnion(f^{∘}B, g) = FinUnion(B, g·f).

(64) Let A, X be non-empty sets. Let Y be a set. Let G be a binary operation on A. Suppose G is commutative and G is associative and G is idempotent. Let B be an element of Fin X. Then if B ≠ ∅, then for every function f from X into Fin Y for every function g from Fin Y into A such that for all elements x, y of Fin Y holds g(x ∪ y) = G(g(x), g(y)) holds g(FinUnion(B, f)) = G- ∑_{B}(g · f).

(65) Let Z be a non-empty set. Let Y be a set. Let G be a binary operation on Z. Suppose G is commutative and G is associative and G is idempotent and G has a unity. Let f be a function from X into Fin Y. Let g be a function from Fin Y into Z. Then if g(0_{Y}) = 1_{G} and for all elements x, y of Fin Y holds g(x ∪ y) = G(g(x), g(y)), then for every element B of Fin X holds g(FinUnion(B, f)) = G- ∑_{B}(g · f).

Let A be a set. The functor singleton_{A} yielding a function from A into Fin A, is defined by:

for arbitrary x such that x ∈ A holds (singleton_{A})(x) = {x}. The following propositions are true:

(66) For every set A for every function f from A into Fin A holds f = singleton_{A} if and only if for arbitrary x such that x ∈ A holds f(x) = {x}.

(67) For every non-empty set A for every function f from A into Fin A holds f = singleton_{A} if and only if for every element x of A holds f(x) = {x}.

(68) For arbitrary x for every element y of X holds x ∈ singleton_{X}(y) if and only if x = y.

(69) For all elements x, y, z of X such that x ∈ singleton_{X}(z) and y ∈ singleton_{X}(z) holds x = y.

(70) For every element B of Fin X for arbitrary x holds x ∈ FinUnion(B, f) if and only if there exists i being an element of X such that i ∈ B and x ∈ f(i).

(71) For every element B of Fin X holds FinUnion(B, singleton_{X}) = B. The arguments of the notions defined below are the following: X, Y which

are non-empty families of sets; g which is a function from X into Y; x which is an element of X. Then g(x) is an element of Y.

Next we state a proposition

(72) Let Y, Z be sets. Let f be a function from X into Fin Y. Let g be a function from Fin Y into Fin Z. Then if g(0_{Y}) = 0_{Z} and for all elements x, y of Fin Y holds g(x ∪ y) = g(x) ∪ g(y), then for every element B of Fin X holds g(FinUnion(B, f)) = FinUnion(B, g · f).

References

[1] Czesław Byliński. Binary operations. Formalized Mathematics, 1(1):175– 180, 1990.

[2] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[3] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

[4] Andrzej Trybulec. Enumerated sets. Formalized Mathematics, 1(1):25–34, 1990.

[5] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

[6] Andrzej Trybulec and Agata Darmochwał. Boolean domains. Formalized Mathematics, 1(1):187–190, 1990.

[7] Zinaida Trybulec and Halina Świe‘czkowska. Boolean properties of sets. Formalized Mathematics, 1(1):17–23, 1990.

Cardinal Numbers

Grzegorz Bancerek^{1} Warsaw University Białystok

Summary. We present the choice function rule in the beginning of the article. In the main part of the article we formalize the base of cardinal theory. In the first section we introduce the concept of cardinal numbers and order relations between them. We present here Cantor-Bernstein theorem and other properties of order relation of cardinals. In the second section we show that every set has cardinal number equipotence to it. We introduce notion of alephs and we deal with the concept of finite set. At the end of the article we show two schemes of cardinal induction. Some definitions are based on [9] and [11].

MML Identifier: CARD 1.

The papers [12], [10], [1], [13], [7], [4], [2], [3], [5], [6], and [8] provide the notation and terminology for this paper. For simplicity we follow the rules: A, B will be ordinal numbers, X, X_{1}, Y, Y_{1}, Z will be sets, R will be a relation, f will be a function, x, y will be arbitrary, m, n will be natural numbers, and M will be a non-empty family of sets. We now state a proposition

(1) If for every X such that X ∈ M holds X ≠ ∅, then there exists Choice being a function such that dom Choice = M and for every X such that X ∈ M holds Choice(X) ∈ X.

The mode cardinal number, which widens to the type a set, is defined by: there exists B such that it = B and for every A such that A ≈ B holds B ⊆ A. One can prove the following proposition

(2) X is a cardinal number if and only if there exists A such that X = A and for every B such that B ≈ A holds A ⊆ B.

Let M be a cardinal number. The functor \overline{M} yielding an ordinal number, is defined by:

\overline{M} = M.

1Supported by RPBP III.24 C1

In the sequel K, M, N will be cardinal numbers. We now state three propositions:

(3) \overline{M} = M.

(4) For every X there exists A such that X ≈ A.

(5) M is an ordinal number.

We now define two new predicates. Let us consider M, N. The predicate M ≤ N is defined by:

M ⊆ N. The predicate M < N is defined by:

M ∈ N.

Next we state a number of propositions:

(6) M ≤ N if and only if M ⊆ N.

(7) M < N if and only if M ∈ N.

(8) M = N if and only if M ≈ N.

(9) M ≤ M.

(10) If M ≤ N and N ≤ M, then M = N.

(11) If M ≤ N and N ≤ K, then M ≤ K.

(12) M ≤ N or N ≤ M.

(13) M < N if and only if M ≤ N and M ≠ N.

(14) M < N if and only if N ≰ M.

(15) If M < N, then N ≮ M.

(16) M < N or M = N or N < M.

(17) If M < N and N < K, then M < K.

(18) If M < N and N ≤ K or M ≤ N and N < K, then M < K. Let us consider X. The functor \overline{\overline{X}} yields a cardinal number and is defined

by:

X ≈ \overline{\overline{X}}.

Next we state a number of propositions:

(19) M = \overline{\overline{X}} if and only if X ≈ M.

(20) \overline{\overline{M}} = M.

(21) X ≈ Y if and only if \overline{\overline{X}} = \overline{\overline{Y}} .

(22) If R is well ordering relation, then field R ≈ \overline{R}.

(23) If X ⊆ M, then \overline{\overline{X}} ≤ M.

(24) \overline{\overline{A}} ⊆ A.

(25) If X ∈ M, then \overline{\overline{X}} < M.

(26) \overline{\overline{X}} ≤ \overline{\overline{Y}} if and only if there exists f such that f is one-to-one and dom f = X and rng f ⊆ Y.

(27) If X ⊆ Y, then \overline{\overline{X}} ≤ \overline{\overline{Y}} .

(28) \overline{\overline{X}} ≤ \overline{\overline{Y}} if and only if there exists f such that dom f = Y and X ⊆ rng f.

Cardinal Numbers 379

(29) X ≉ 2^{X}.

(30) \overline{\overline{X}} < \overline{\overline{2^{X}}}.

Let us consider X. The functor X^{+} yielding a cardinal number, is defined by: \overline{\overline{X}} < X^{+} and for every M such that \overline{\overline{X}} < M holds X^{+} ≤ M. We now state several propositions:

(31) M = X^{+} if and only if \overline{\overline{X}} < M and for every N such that \overline{\overline{X}} < N holds M ≤ N.

(32) M < M^{+}.

(33) \overline{\overline{0}} < X^{+}.

(34) If \overline{\overline{X}} = \overline{\overline{Y}} , then X^{+} = Y^{+}.

(35) If X ≈ Y, then X^{+} = Y^{+}.

(36) A ∈ A^{+}.

In the sequel L, L_{1} will be transfinite sequences. Let us consider M. The predicate M is a limit cardinal number is defined by:

for no N holds M = N^{+}.

One can prove the following proposition

(37) M is a limit cardinal number if and only if for no N holds M = N^{+}. Let us consider A. The functor ℵ_{A} yielding any, is defined by: there exists L such that ℵ_{A} = last L and dom L = succ A and L(0) = \overline{\overline{}}and

for all B, y such that succ B ∈ succ A and y = L(B) holds L(succ B) = (⋃{y})^{+} and for all B, L_{1} such that B ∈ succ A and B ≠ 0 and B is a limit ordinal number and L_{1} = L B holds L(B) = \overline{\overline{sup L_{1}}} .

Let us consider A. Then ℵ_{A} is a cardinal number.

The following propositions are true:

(38) ℵ_{0} = \overline{\overline{}}.

(39) ℵ_{succ A} = ℵ_{A}^{+}.

(40) If A ≠ 0 and A is a limit ordinal number, then for every L such that dom L = A and for every B such that B ∈ A holds L(B) = ℵ_{B} holds ℵ_{A} = \overline{\overline{sup L}}.

(41) A ∈ B if and only if ℵ_{A} < ℵ_{B}.

(42) If ℵ_{A} = ℵ_{B}, then A = B.

(43) A ⊆ B if and only if ℵ_{A} ≤ ℵ_{B}.

(44) If X ⊆ Y and Y ⊆ Z and X ≈ Z, then X ≈ Y and Y ≈ Z.

(45) If 2^{Y} ⊆ X, then \overline{\overline{Y}} < \overline{\overline{X}} and Y ≉ X.

(46) X ≈ ∅ if and only if X = ∅.

(47) \overline{\overline{∅}} = 0.

(48) X ≈ {x} if and only if there exists x such that X = {x}.

(49) \overline{\overline{X}} = \overline{\overline{\{x\}}} if and only if there exists x such that X = \{x\}.

(50) \overline{\overline{\{x\}}} = 1.

Let us consider n. The functor \overline{n} yielding an ordinal number, is defined by: there exists f such that \overline{n} = f(n) and dom f = and f(0) = 0 and for every

element n of for every x such that x = f(n) holds f(n + 1) = succ(⋃{x}).

We now state a number of propositions:

(51) \overline{0} = 0.

(52) \overline{n + 1} = succ(\overline{n}).

(53) \overline{n} ∈ ω.

(54) If A is natural, then there exists n such that \overline{n} = A.

(55) If \overline{n} = \overline{m}, then n = m.

(56) n ≤ m if and only if \overline{n} ⊆ \overline{m}.

(57) ≈ ω.

(58) If X ∩ X_{1} = ∅ and Y ∩ Y_{1} = ∅ and X ≈ Y and X_{1} ≈ Y_{1}, then X ∪ X_{1} ≈ Y ∪ Y_{1}.

(59) If x ∈ X and y ∈ X, then X \ {x} ≈ X \ {y}.

(60) If X ⊆ dom f and f is one-to-one, then X ≈ f ∘ X.

(61) If X ≈ Y and x ∈ X and y ∈ Y, then X \ {x} ≈ Y \ {y}.

(62) If Seg n ≈ Seg m, then n = m.

(63) Seg n ≈ \overline{n}.

(64) If \overline{n} ≈ \overline{m}, then n = m.

(65) If A ∈ ω, then A is a cardinal number.

(66) \overline{n} = \overline{\overline{\overline{n}}}.

Let us consider n. The functor \overline{\overline{n}} yielding a cardinal number, is defined by: \overline{\overline{n}} = \overline{n}. One can prove the following propositions:

(67) \overline{\overline{n}} = \overline{n}.

(68) If X ≈ Y or Y ≈ X but X is finite, then Y is finite.

(69) \overline{n} is finite and \overline{\overline{n}} is finite.

(70) \overline{\overline{Seg n}} = \overline{\overline{n}}.

(71) If \overline{\overline{n}} = \overline{\overline{m}}, then n = m.

(72) \overline{\overline{n}} ≤ \overline{\overline{m}} if and only if n ≤ m.

(73) \overline{\overline{n}} < \overline{\overline{m}} if and only if n < m.

(74) If X is finite, then there exists n such that X ≈ \overline{n}.

(75) If X is finite, then there exists n such that X ≈ Seg n.

(76) \overline{\overline{n}}^{+} = \overline{\overline{n + 1}}.

Let us consider X. Let us assume that X is finite. The functor card X yields a natural number and is defined by:

\overline{\overline{card X}} = \overline{\overline{X}}.

We now state several propositions:

(77) If X is finite, then card X = n if and only if \overline{\overline{n}} = \overline{\overline{X}}.

(78) card ∅ = 0.

(79) card{x} = 1.

(80) If Y is finite and X ⊆ Y, then card X ≤ card Y.

(81) If X is finite or Y is finite but X ≈ Y, then card X = card Y.

(82) If X is finite, then X^{+} is finite.

In the article we present several logical schemes. The scheme Cardinal Ind concerns a unary predicate P and states that:

for every M holds P[M] provided the parameter satisfies the following conditions:

• P[0],

• for every M such that P[M] holds P[M^{+}],

• for every M such that M ≠ 0 and M is a limit cardinal number and for every N such that N < M holds P[N] holds P[M].

The scheme Cardinal CompInd concerns a unary predicate P and states that: for every M holds P[M]

provided the parameter satisfies the following condition:

• for every M such that for every N such that N < M holds P[N] holds P[M].

Next we state several propositions:

(83) ℵ_{0} = ω.

(84) \overline{\overline{ω}} = ω and \overline{\overline{}}= ω.

(85) \overline{\overline{ω}} is a limit cardinal number.

(86) If M is finite, then there exists n such that M = \overline{\overline{n}}.

(87) card(Seg n) = n and card(\overline{n}) = n and card \overline{\overline{n}} = n.

References

[1] Grzegorz Bancerek. The fundamental properties of natural numbers. Formalized Mathematics, 1(1):41–46, 1990.

[2] Grzegorz Bancerek. The ordinal numbers. Formalized Mathematics, 1(1):91–96, 1990.

[3] Grzegorz Bancerek. Sequences of ordinal numbers. Formalized Mathematics, 1(2):281–290, 1990.

[4] Grzegorz Bancerek. The well ordering relations. Formalized Mathematics, 1(1):123–129, 1990.

[5] Grzegorz Bancerek. Zermelo theorem and axiom of choice. Formalized Mathematics, 1(2):265–267, 1990.

[6] Grzegorz Bancerek and Krzysztof Hryniewiecki. Segments of natural numbers and finite sequences. Formalized Mathematics, 1(1):107–114, 1990.

[7] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[8] Agata Darmochwał. Finite sets. Formalized Mathematics, 1(1):165–167, 1990.

[9] Wojciech Guzicki and Paweł Zbierski. Podstawy teorii mnogości. PWN, Warszawa, 1978.

[10] Krzysztof Hryniewiecki. Basic properties of real numbers. Formalized Mathematics, 1(1):35–40, 1990.

[11] Kazimierz Kuratowski and Andrzej Mostowski. Teoria mnogości. PTM, Wrocław, 1952.

[12] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

[13] Edmund Woronowicz. Relations and their basic properties. Formalized Mathematics, 1(1):73–83, 1990.

Compact Spaces

Agata Darmochwał Warsaw University Białystok

Summary. The article contains definition of a compact space and some theorems about compact spaces. The notions of a cover of a set and a centered family are defined in the article to be used in these theorems. A set is compact in the topological space if and only if every open cover of the set has a finite subcover. This definition is equivalent, what has been shown next, to the following definition: a set is compact if and only if a subspace generated by that set is compact. Some theorems about mappings and homeomorphisms of compact spaces have been also proved. The following schemes used in proofs of theorems have been proved in the article : FuncExChoice - the scheme of choice of a function, BiFuncEx - the scheme of parallel choice of two functions and the theorem about choice of a finite counter image of a finite image.

MML Identifier: COMPTS 1.

The articles [6], [1], [4], [3], [5], and [2] provide the terminology and notation for this paper. We follow a convention: x, y, z are arbitrary, Y, Z denote sets, and f denotes a function. In the article we present several logical schemes. The scheme FuncExChoice deals with a constant A that is a set, a constant B that is a set and a binary predicate P and states that:

there exists f being a function such that dom f = A and for every x such that x ∈ A holds P[x, f(x)] provided the parameters satisfy the following condition:

• for every x such that x ∈ A there exists y such that y ∈ B and P[x, y].

The scheme BiFuncEx deals with a constant A that is a set, a constant B that is a set, a constant C that is a set and a ternary predicate P and states that:

there exist f, g being functions such that dom f = A and dom g = A and for every x such that x ∈ A holds P[x, f(x), g(x)] provided the parameters satisfy the following condition:

• if x ∈ A, then there exist y, z such that y ∈ B and z ∈ C and P[x, y, z].

Next we state a proposition

(1) If Z is finite and Z ⊆ rng f, then there exists Y such that Y ⊆ dom f and Y is finite and f ^{∘} Y = Z.

For simplicity we adopt the following convention: T, S are topological spaces, A is a subspace of T, p, q are points of T, P, Q, W, V are subsets of T, and F, G are families of subsets of T. Let us consider T, F, P. The predicate F is a cover of P is defined by:

P ⊆ ⋃ F.

One can prove the following proposition

(2) F is a cover of P if and only if P ⊆ ⋃ F.

Let us consider T, F. The predicate F is centered is defined by:

F ≠ ∅ and for every G such that G ≠ ∅ and G ⊆ F and G is finite holds ⋂ G ≠ ∅.

One can prove the following proposition

(3) F is centered if and only if F ≠ ∅ and for every G such that G ≠ ∅ and G ⊆ F and G is finite holds ⋂ G ≠ ∅.

We now define five new predicates. Let us consider T. The predicate T is compact is defined by:

for every F such that F is a cover of T and F is open there exists G such that G ⊆ F and G is a cover of T and G is finite. The predicate T is a T2 space is defined by:

for all p, q such that p ≠ q there exist W, V such that W is open and V is open and p ∈ W and q ∈ V and W ∩ V = ∅. The predicate T is a T3 space is defined by:

for every p for every P such that P ≠ ∅ and P is closed and p ∉ P there exist W, V such that W is open and V is open and p ∈ W and P ⊆ V and W ∩ V = ∅. The predicate T is a T4 space is defined by:

for all W, V such that W ≠ ∅ and V ≠ ∅ and W is closed and V is closed and W ∩ V = ∅ there exist P, Q such that P is open and Q is open and W ⊆ P and V ⊆ Q and P ∩ Q = ∅. Let us consider P. The predicate P is compact is defined by:

for every F such that F is a cover of P and F is open there exists G such that G ⊆ F and G is a cover of P and G is finite.

We now state a number of propositions:

(4) T is compact if and only if for every F such that F is a cover of T and F is open there exists G such that G ⊆ F and G is a cover of T and G is finite.

(5) T is a T2 space if and only if for all p, q such that p ≠ q there exist W, V such that W is open and V is open and p ∈ W and q ∈ V and W ∩ V = ∅.

(6) T is a T3 space if and only if for every p for every P such that P ≠ ∅ and P is closed and p ∉ P there exist W, V such that W is open and V is open and p ∈ W and P ⊆ V and W ∩ V = ∅.

Compact Spaces 385

(7) T is a T4 space if and only if for all P, Q such that P ≠ ∅ and Q ≠ ∅ and P is closed and Q is closed and P ∩ Q = ∅ there exist W, V such that W is open and V is open and P ⊆ W and Q ⊆ V and W ∩ V = ∅.

(8) P is compact if and only if for every F such that F is a cover of P and F is open there exists G such that G ⊆ F and G is a cover of P and G is finite.

(9) ∅_{T} is compact.

(10) T is compact if and only if Ω_{T} is compact.

(11) If Q ⊆ Ω_{A}, then Q is compact if and only if for every subset P of A such that P = Q holds P is compact.

(12) If P ≠ ∅, then P is compact if and only if T P is compact.

(13) T is compact if and only if for every F such that F is centered and F is closed holds ⋂ F ≠ ∅.

(14) T is compact if and only if for every F such that F ≠ ∅ and F is closed and ⋂ F = ∅ there exists G such that G ≠ ∅ and G ⊆ F and G is finite and ⋂ G = ∅.

(15) For every T such that T is a T2 space for every subset A of T such that A ≠ ∅ and A is compact for every p such that p ∉ A there exist P, Q such that P is open and Q is open and p ∈ P and A ⊆ Q and P ∩ Q = ∅.

(16) If T is a T2 space and P is compact, then P is closed.

(17) If T is compact and P is closed, then P is compact.

(18) If P is compact and Q ⊆ P and Q is closed, then Q is compact.

(19) If P is compact and Q is compact, then P ∪ Q is compact.

(20) If T is a T2 space and P is compact and Q is compact, then P ∩ Q is compact.

(21) If T is a T2 space and T is compact, then T is a T3 space.

(22) If T is a T2 space and T is compact, then T is a T4 space.

In the sequel f will be a map from T into S. Next we state four propositions:

(23) If T is compact and f is continuous and rng f = Ω_{S}, then S is compact.

(24) If f is continuous and rng f = Ω_{S} and P is compact, then f ^{∘} P is compact.

(25) If T is compact and S is a T2 space and rng f = Ω_{S} and f is continuous, then for every P such that P is closed holds f ^{∘} P is closed.

(26) If T is compact and S is a T2 space and rng f = Ω_{S} and f is one-to-one and f is continuous, then f is a homeomorphism.

References

[1] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[2] Agata Darmochwał. Families of subsets, subspaces and mappings in topological spaces. Formalized Mathematics, 1(2):257–261, 1990.

[3] Agata Darmochwał. Finite sets. Formalized Mathematics, 1(1):165–167, 1990.

[4] Beata Padlewska. Families of sets. Formalized Mathematics, 1(1):147–152, 1990.

[5] Beata Padlewska and Agata Darmochwał. Topological spaces and continuous functions. Formalized Mathematics, 1(1):223–230, 1990.

[6] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

Kuratowski - Zorn Lemma ^{1}

Wojciech A. Trybulec Warsaw University Grzegorz Bancerek Warsaw University Białystok

Summary. The goal of this article is to prove Kuratowski - Zorn lemma. We prove it in a number of forms (theorems and schemes). We introduce the following notions: a relation is a quasi (or partial, or linear) order, a relation quasi (or partially, or lineary) orders a set, minimal and maximal element in a relation, inferior and superior element of a relation, a set has lower (or upper) Zorn property w.r.t. a relation. We prove basic theorems concerning those notions and theorems that relate them to the notions introduced in [6]. At the end of the article we prove some theorems that belong rather to [7], [9] or [2].

MML Identifier: ORDERS 2.

The notation and terminology used here are introduced in the following articles: [5], [3], [7], [9], [8], [2], [4], [6], and [1]. For simplicity we follow a convention: R, P are relations, X, X_{1}, X_{2}, Y, Z are sets, O is an order in X, D, D_{1} are nonempty sets, x, y are arbitrary, A is a poset, C is a chain of A, S is a subset of A, and a, b are elements of A. In the article we present several logical schemes. The scheme RelOnDomEx deals with a constant A that is a non-empty set, a constant B that is a non-empty set and a binary predicate P and states that:

there exists R being a relation between A and B such that for every element a of A for every element b of B holds ⟨⟨a, b⟩⟩ ∈ R if and only if P[a, b] for all values of the parameters.

The scheme RelOnDomEx1 deals with a constant A that is a non-empty set and a binary predicate P and states that:

there exists R being a relation on A such that for all elements a, b of A holds ⟨⟨a, b⟩⟩ ∈ R if and only if P[a, b] for all values of the parameters.

One can prove the following propositions:

(1) dom O = X and rng O = X.

1Supported by RPBP.III-24.C1

388 Wojciech A. Trybulec and Grzegorz Bancerek

(2) field O = X.

We now define three new predicates. Let us consider R. The predicate R is a quasi order is defined by:

R is pseudo reflexive and R is transitive. The predicate R is a partial order is defined by:

R is pseudo reflexive and R is transitive and R is antisymmetric. The predicate R is a linear order is defined by:

R is pseudo reflexive and R is transitive and R is antisymmetric and R is connected.

We now state a number of propositions:

(3) R is a quasi order if and only if R is pseudo reflexive and R is transitive.

(4) R is a partial order if and only if R is pseudo reflexive and R is transitive and R is antisymmetric.

(5) R is a linear order if and only if R is pseudo reflexive and R is transitive and R is antisymmetric and R is connected.

(6) If R is a quasi order, then R^{}is a quasi order.

(7) If R is a partial order, then R^{}is a partial order.

(8) If R is a linear order, then R^{}is a linear order.

(9) If R is well ordering relation, then R is a quasi order and R is a partial order and R is a linear order.

(10) If R is a linear order, then R is a quasi order and R is a partial order.

(11) If R is a partial order, then R is a quasi order.

(12) O is a partial order.

(13) O is a quasi order.

(14) If O is connected, then O is a linear order.

(15) If R is a quasi order, then R |^{2} X is a quasi order.

(16) If R is a partial order, then R |^{2} X is a partial order.

(17) If R is a linear order, then R |^{2} X is a linear order.

(18) field((the order of A) |^{2} S) = S.

(19) If (the order of A) |^{2} S is a linear order, then S is a chain of A.

(20) (the order of A) |^{2} C is a linear order.

(21) is a quasi order and is a partial order and is a linear order and is well ordering relation.

(22) △_{X} is a quasi order and △_{X} is a partial order.

We now define three new predicates. Let us consider R, X. The predicate R quasi orders X is defined by:

R is reflexive in X and R is transitive in X. The predicate R partially orders X is defined by:

R is reflexive in X and R is transitive in X and R is antisymmetric in X. The predicate R linearly orders X is defined by:

R is reflexive in X and R is transitive in X and R is antisymmetric in X and R is connected in X.

Kuratowski - Zorn Lemma 389

The following propositions are true:

(23) R quasi orders X if and only if R is reflexive in X and R is transitive in X.

(24) R partially orders X if and only if R is reflexive in X and R is transitive in X and R is antisymmetric in X.

(25) R linearly orders X if and only if R is reflexive in X and R is transitive in X and R is antisymmetric in X and R is connected in X.

(26) If R well orders X, then R quasi orders X and R partially orders X and R linearly orders X.

(27) If R linearly orders X, then R quasi orders X and R partially orders X.

(28) If R partially orders X, then R quasi orders X.

(29) If R is a quasi order, then R quasi orders field R.

(30) If R quasi orders Y and X ⊆ Y, then R quasi orders X.

(31) If R quasi orders X, then R |^{2} X is a quasi order.

(32) If R is a partial order, then R partially orders field R.

(33) If R partially orders Y and X ⊆ Y, then R partially orders X.

(34) If R partially orders X, then R |^{2} X is a partial order.

(35) If R is a linear order, then R linearly orders field R.

(36) If R linearly orders Y and X ⊆ Y, then R linearly orders X.

(37) If R linearly orders X, then R |^{2} X is a linear order.

(38) If R quasi orders X, then R^{}quasi orders X.

(39) If R partially orders X, then R^{}partially orders X.

(40) If R linearly orders X, then R^{}linearly orders X.

(41) O quasi orders X.

(42) O partially orders X.

(43) If R partially orders X, then R |^{2} X is an order in X.

(44) If R linearly orders X, then R |^{2} X is an order in X.

(45) If R well orders X, then R |^{2} X is an order in X.

(46) If the order of A linearly orders S, then S is a chain of A.

(47) the order of A linearly orders C.

(48) △_{X} quasi orders X and △_{X} partially orders X.

We now define two new predicates. Let us consider R, X. The predicate X has the upper Zorn property w.r.t. R is defined by:

for every Y such that Y ⊆ X and R |^{2} Y is a linear order there exists x such that x ∈ X and for every y such that y ∈ Y holds ⟨⟨y, x⟩⟩ ∈ R. The predicate X has the lower Zorn property w.r.t. R is defined by:

for every Y such that Y ⊆ X and R |^{2} Y is a linear order there exists x such that x ∈ X and for every y such that y ∈ Y holds ⟨⟨x, y⟩⟩ ∈ R.

We now state several propositions:

(49) X has the upper Zorn property w.r.t. R if and only if for every Y such that Y ⊆ X and R |^{2} Y is a linear order there exists x such that x ∈ X and for every y such that y ∈ Y holds ⟨⟨y, x⟩⟩ ∈ R.

(50) X has the lower Zorn property w.r.t. R if and only if for every Y such that Y ⊆ X and R |^{2} Y is a linear order there exists x such that x ∈ X and for every y such that y ∈ Y holds ⟨⟨x, y⟩⟩ ∈ R.

(51) If X has the upper Zorn property w.r.t. R, then X ≠ ∅.

(52) If X has the lower Zorn property w.r.t. R, then X ≠ ∅.

(53) X has the upper Zorn property w.r.t. R if and only if X has the lower Zorn property w.r.t. R^{}.

(54) X has the upper Zorn property w.r.t. R^{}if and only if X has the lower

Zorn property w.r.t. R. We now define four new predicates. Let us consider R, x. The predicate x is

maximal in R is defined by:

x ∈ field R and for no y holds y ∈ field R and y ≠ x and ⟨⟨x, y⟩⟩ ∈ R. The predicate x is minimal in R is defined by:

x ∈ field R and for no y holds y ∈ field R and y ≠ x and ⟨⟨y, x⟩⟩ ∈ R. The predicate x is superior of R is defined by:

x ∈ field R and for every y such that y ∈ field R and y ≠ x holds ⟨⟨y, x⟩⟩ ∈ R. The predicate x is inferior of R is defined by:

x ∈ field R and for every y such that y ∈ field R and y ≠ x holds ⟨⟨x, y⟩⟩ ∈ R. Next we state a number of propositions:

(55) x is maximal in R if and only if x ∈ field R and for no y holds y ∈ field R and y ≠ x and ⟨⟨x, y⟩⟩ ∈ R.

(56) x is minimal in R if and only if x ∈ field R and for no y holds y ∈ field R and y ≠ x and ⟨⟨y, x⟩⟩ ∈ R.

(57) x is superior of R if and only if x ∈ field R and for every y such that y ∈ field R and y ≠ x holds ⟨⟨y, x⟩⟩ ∈ R.

(58) x is inferior of R if and only if x ∈ field R and for every y such that y ∈ field R and y ≠ x holds ⟨⟨x, y⟩⟩ ∈ R.

(59) If x is inferior of R and R is antisymmetric, then x is minimal in R.

(60) If x is superior of R and R is antisymmetric, then x is maximal in R.

(61) If x is minimal in R and R is connected, then x is inferior of R.

(62) If x is maximal in R and R is connected, then x is superior of R.

(63) If x ∈ X and x is superior of R and X ⊆ field R and R is pseudo reflexive, then X has the upper Zorn property w.r.t. R.

(64) If x ∈ X and x is inferior of R and X ⊆ field R and R is pseudo reflexive, then X has the lower Zorn property w.r.t. R.

(65) x is minimal in R if and only if x is maximal in R^{}.

(66) x is minimal in R^{}if and only if x is maximal in R.

(67) x is inferior of R if and only if x is superior of R^{}.

(68) x is inferior of R^{}if and only if x is superior of R.

(69) a is minimal in the order of A if and only if for every b holds b ≮ a.

(70) a is maximal in the order of A if and only if for every b holds a ≮ b.

(71) a is superior of the order of A if and only if for every b such that a ≠ b holds b < a.

(72) a is inferior of the order of A if and only if for every b such that a ≠ b holds a < b.

(73) If for every C there exists a such that for every b such that b ∈ C holds b ≤ a, then there exists a such that for every b holds a ≮ b.

(74) If for every C there exists a such that for every b such that b ∈ C holds

a ≤ b, then there exists a such that for every b holds b ≮ a. We now state several propositions:

(75) For all R, X such that R partially orders X and field R = X and X has the upper Zorn property w.r.t. R there exists x such that x is maximal in R.

(76) For all R, X such that R partially orders X and field R = X and X has the lower Zorn property w.r.t. R there exists x such that x is minimal in R.

(77) Given X. Suppose X ≠ ∅ and for every Z such that Z ⊆ X and for all X_{1}, X_{2} such that X_{1} ∈ Z and X_{2} ∈ Z holds X_{1} ⊆ X_{2} or X_{2} ⊆ X_{1} there exists Y such that Y ∈ X and for every X_{1} such that X_{1} ∈ Z holds X_{1} ⊆ Y. Then there exists Y such that Y ∈ X and for every Z such that Z ∈ X and Z ≠ Y holds Y ⊈ Z.

(78) Given X. Suppose X ≠ ∅ and for every Z such that Z ⊆ X and for all X_{1}, X_{2} such that X_{1} ∈ Z and X_{2} ∈ Z holds X_{1} ⊆ X_{2} or X_{2} ⊆ X_{1} there exists Y such that Y ∈ X and for every X_{1} such that X_{1} ∈ Z holds Y ⊆ X_{1}. Then there exists Y such that Y ∈ X and for every Z such that Z ∈ X and Z ≠ Y holds Z ⊈ Y.

(79) Given X. Suppose X ≠ ∅ and for every Z such that Z ≠ ∅ and Z ⊆ X and for all X_{1}, X_{2} such that X_{1} ∈ Z and X_{2} ∈ Z holds X_{1} ⊆ X_{2} or X_{2} ⊆ X_{1} holds ⋃ Z ∈ X. Then there exists Y such that Y ∈ X and for every Z such that Z ∈ X and Z ≠ Y holds Y ⊈ Z.

(80) Given X. Suppose X ≠ ∅ and for every Z such that Z ≠ ∅ and Z ⊆ X and for all X_{1}, X_{2} such that X_{1} ∈ Z and X_{2} ∈ Z holds X_{1} ⊆ X_{2} or X_{2} ⊆ X_{1} holds ⋂ Z ∈ X. Then there exists Y such that Y ∈ X and for every Z such that Z ∈ X and Z ≠ Y holds Z ⊈ Y.

Now we present two schemes. The scheme Zorn Max concerns a constant A that is a non-empty set and a binary predicate P and states that:

there exists x being an element of A such that for every element y of A such that x ≠ y holds not P[x, y] provided the parameters satisfy the following conditions:

• for every element x of A holds P[x, x],

• for all elements x, y of A such that P[x, y] and P[y, x] holds x = y,

• for all elements x, y, z of A such that P[x, y] and P[y, z] holds P[x, z], • for every X such that X ⊆ A and for all elements x, y of A such

that x ∈ X and y ∈ X holds P[x, y] or P[y, x] there exists y being an element of A such that for every element x of A such that x ∈ X holds P[x, y].

The scheme Zorn Min deals with a constant A that is a non-empty set and a binary predicate P and states that:

there exists x being an element of A such that for every element y of A such that x ≠ y holds not P[y, x] provided the parameters satisfy the following conditions:

• for every element x of A holds P[x, x],

• for all elements x, y of A such that P[x, y] and P[y, x] holds x = y,

• for all elements x, y, z of A such that P[x, y] and P[y, z] holds P[x, z],

• for every X such that X ⊆ A and for all elements x, y of A such that x ∈ X and y ∈ X holds P[x, y] or P[y, x] there exists y being an element of A such that for every element x of A such that x ∈ X holds P[y, x].

One can prove the following propositions:

(81) If R partially orders X and field R = X, then there exists P such that R ⊆ P and P linearly orders X and field P = X.

(82) R ⊆ [: field R, field R:].

(83) If R is pseudo reflexive and X ⊆ field R, then field(R |^{2} X) = X.

(84) If R is reflexive in X, then R |^{2} X is pseudo reflexive.

(85) If R is transitive in X, then R |^{2} X is transitive.

(86) If R is antisymmetric in X, then R |^{2} X is antisymmetric.

(87) If R is connected in X, then R |^{2} X is connected.

(88) If R is connected in X and Y ⊆ X, then R is connected in Y.

(89) If R well orders X and Y ⊆ X, then R well orders Y.

(90) If R is connected, then R^{}is connected.

(91) If R is reflexive in X, then R^{}is reflexive in X.

(92) If R is transitive in X, then R^{}is transitive in X.

(93) If R is antisymmetric in X, then R^{}is antisymmetric in X.

(94) If R is connected in X, then R^{}is connected in X.

(95) (R |^{2} X)^{}= R^{}|^{2} X.

(96) R |^{2} ∅ = .

References

[1] Grzegorz Bancerek. The ordinal numbers. Formalized Mathematics, 1(1):91–96, 1990.

[2] Grzegorz Bancerek. The well ordering relations. Formalized Mathematics, 1(1):123–129, 1990.

[3] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[4] Beata Padlewska. Families of sets. Formalized Mathematics, 1(1):147–152, 1990.

[5] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

[6] Wojciech A. Trybulec. Partially ordered sets. Formalized Mathematics, 1(2):313–319, 1990.

[7] Edmund Woronowicz. Relations and their basic properties. Formalized Mathematics, 1(1):73–83, 1990.

[8] Edmund Woronowicz. Relations defined on sets. Formalized Mathematics, 1(1):181–186, 1990.

[9] Edmund Woronowicz and Anna Zalewska. Properties of binary relations. Formalized Mathematics, 1(1):85–89, 1990.

394

Operations on Subspaces in Real Linear Space

Wojciech A. Trybulec^{1} Warsaw University

Summary. In this article the following operations on subspaces of real linear space are intoduced: sum, intersection and direct sum. Some theorems about those notions are proved. We define linear complement of a subspace. Some theorems about decomposition of a vector onto two subspaces and onto subspace and it’s linear complement are proved. We also show that a set of subspaces with operations sum and intersection is a lattice. At the end of the article theorems that belong rather to [7], [6],

[5] or [8] are proved.

MML Identifier: RLSUB 2.

The notation and terminology used in this paper are introduced in the following papers: [1], [8], [4], [3], [6], [5], and [2]. For simplicity we adopt the following convention: V is a real linear space, W, W_{1}, W_{2}, W_{3} are subspaces of V, u, u_{1}, u_{2}, v, v_{1}, v_{2} are vectors of V, X, Y are sets, and x be arbitrary. Let us consider V, W_{1}, W_{2}. The functor W_{1} + W_{2} yielding a subspace of V, is defined by:

the vectors of W_{1} + W_{2} = {v + u : v ∈ W_{1} ∧ u ∈ W_{2}}.

Let us consider V, W_{1}, W_{2}. The functor W_{1} ∩ W_{2} yielding a subspace of V, is defined by:

the vectors of W_{1} ∩ W_{2} =(the vectors of W_{1})∩(the vectors of W_{2}).

Next we state a number of propositions:

(1) the vectors of W_{1} + W_{2} = {v + u : v ∈ W_{1} ∧ u ∈ W_{2}}.

(2) If the vectors of W = {v + u : v ∈ W_{1} ∧ u ∈ W_{2}}, then W = W_{1} + W_{2}.

(3) the vectors of W_{1} ∩ W_{2} =(the vectors of W_{1})∩(the vectors of W_{2}).

(4) If the vectors of W =(the vectors of W_{1})∩(the vectors of W_{2}), then W = W_{1} ∩ W_{2}.

(5) x ∈ W_{1} + W_{2} if and only if there exist v_{1}, v_{2} such that v_{1} ∈ W_{1} and v_{2} ∈ W_{2} and x = v_{1} + v_{2}.

1Supported by RPBP.III-24.C1

(6) If v ∈ W_{1} or v ∈ W_{2}, then v ∈ W_{1} + W_{2}.

(7) x ∈ W_{1} ∩ W_{2} if and only if x ∈ W_{1} and x ∈ W_{2}.

(8) W + W = W.

(9) W_{1} + W_{2} = W_{2} + W_{1}.

(10) W_{1} + (W_{2} + W_{3}) = (W_{1} + W_{2}) + W_{3}.

(11) W_{1} is a subspace of W_{1} + W_{2} and W_{2} is a subspace of W_{1} + W_{2}.

(12) W_{1} is a subspace of W_{2} if and only if W_{1} + W_{2} = W_{2}.

(13) 0_{V} + W = W and W + 0_{V} = W.

(14) 0_{V} + Ω_{V} = V and Ω_{V} + 0_{V} = V.

(15) Ω_{V} + W = V and W + Ω_{V} = V.

(16) Ω_{V} + Ω_{V} = V.

(17) W ∩ W = W.

(18) W_{1} ∩ W_{2} = W_{2} ∩ W_{1}.

(19) W_{1} ∩ (W_{2} ∩ W_{3}) = (W_{1} ∩ W_{2}) ∩ W_{3}.

(20) W_{1} ∩ W_{2} is a subspace of W_{1} and W_{1} ∩ W_{2} is a subspace of W_{2}.

(21) W_{1} is a subspace of W_{2} if and only if W_{1} ∩ W_{2} = W_{1}.

(22) 0_{V} ∩ W = 0_{V} and W ∩ 0_{V} = 0_{V}.

(23) 0_{V} ∩ Ω_{V} = 0_{V} and Ω_{V} ∩ 0_{V} = 0_{V}.

(24) Ω_{V} ∩ W = W and W ∩ Ω_{V} = W.

(25) Ω_{V} ∩ Ω_{V} = V.

(26) W_{1} ∩ W_{2} is a subspace of W_{1} + W_{2}.

(27) W_{1} ∩ W_{2} + W_{2} = W_{2}.

(28) W_{1} ∩ (W_{1} + W_{2}) = W_{1}.

(29) W_{1} ∩ W_{2} + W_{2} ∩ W_{3} is a subspace of W_{2} ∩ (W_{1} + W_{3}).

(30) If W_{1} is a subspace of W_{2}, then W_{2} ∩ (W_{1} + W_{3}) = W_{1} ∩ W_{2} + W_{2} ∩ W_{3}.

(31) W_{2} + W_{1} ∩ W_{3} is a subspace of (W_{1} + W_{2}) ∩ (W_{2} + W_{3}).

(32) If W_{1} is a subspace of W_{2}, then W_{2} +W_{1} ∩W_{3} = (W_{1} +W_{2})∩(W_{2} +W_{3}).

(33) If W_{1} is a subspace of W_{3}, then W_{1} + W_{2} ∩ W_{3} = (W_{1} + W_{2}) ∩ W_{3}.

(34) W_{1} + W_{2} = W_{2} if and only if W_{1} ∩ W_{2} = W_{1}.

(35) If W_{1} is a subspace of W_{2}, then W_{1} + W_{3} is a subspace of W_{2} + W_{3}.

(36) There exists W such that the vectors of W =(the vectors of W_{1})∪(the vectors of W_{2}) if and only if W_{1} is a subspace of W_{2} or W_{2} is a subspace of W_{1}.

Let us consider V. The functor Subspaces V yielding a non-empty set, is defined by:

for every x holds x ∈ Subspaces V if and only if x is a subspace of V.

In the sequel D will denote a non-empty set. We now state three propositions:

(37) If for every x holds x ∈ D if and only if x is a subspace of V, then D = Subspaces V.

(38) x ∈ Subspaces V if and only if x is a subspace of V.

Operations on Subspaces in Real Linear Space 397

(39) V ∈ Subspaces V.

Let us consider V, W_{1}, W_{2}. The predicate V is the direct sum of W_{1} and W_{2} is defined by:

V = W_{1} + W_{2} and W_{1} ∩ W_{2} = 0_{V}.

Let us consider V, W. The mode linear complement of W, which widens to the type a subspace of V, is defined by:

V is the direct sum of it and W.

One can prove the following propositions:

(40) V is the direct sum of W_{1} and W_{2} if and only if V = W_{1} + W_{2} and W_{1} ∩ W_{2} = 0_{V}.

(41) If V is the direct sum of W_{1} and W_{2}, then W_{1} is a linear complement of W_{2}.

(42) If V is the direct sum of W_{1} and W_{2}, then W_{2} is a linear complement of

W_{1}. In the sequel L denotes a linear complement of W. One can prove the following

propositions:

(43) V is the direct sum of L and W and V is the direct sum of W and L.

(44) W + L = V and L + W = V.

(45) W ∩ L = 0_{V} and L ∩ W = 0_{V}.

(46) If V is the direct sum of W_{1} and W_{2}, then V is the direct sum of W_{2} and W_{1}.

(47) V is the direct sum of 0_{V} and Ω_{V} and V is the direct sum of Ω_{V} and 0_{V}.

(48) W is a linear complement of L.

(49) 0_{V} is a linear complement of Ω_{V} and Ω_{V} is a linear complement of 0_{V}. In the sequel C is a coset of W, C_{1} is a coset of W_{1}, and C_{2} is a coset of W_{2}.

We now state several propositions:

(50) If C_{1} ∩ C_{2} ≠ ∅, then C_{1} ∩ C_{2} is a coset of W_{1} ∩ W_{2}.

(51) V is the direct sum of W_{1} and W_{2} if and only if for every C_{1}, C_{2} there exists v such that C_{1} ∩ C_{2} = {v}.

(52) W_{1} + W_{2} = V if and only if for every v there exist v_{1}, v_{2} such that v_{1} ∈ W_{1} and v_{2} ∈ W_{2} and v = v_{1} + v_{2}.

(53) If V is the direct sum of W_{1} and W_{2} and v = v_{1} + v_{2} and v = u_{1} + u_{2} and v_{1} ∈ W_{1} and u_{1} ∈ W_{1} and v_{2} ∈ W_{2} and u_{2} ∈ W_{2}, then v_{1} = u_{1} and v_{2} = u_{2}.

(54) Suppose V = W_{1} + W_{2} and there exists v such that for all v_{1}, v_{2}, u_{1}, u_{2} such that v = v_{1} + v_{2} and v = u_{1} + u_{2} and v_{1} ∈ W_{1} and u_{1} ∈ W_{1} and v_{2} ∈ W_{2} and u_{2} ∈ W_{2} holds v_{1} = u_{1} and v_{2} = u_{2}. Then V is the direct sum of W_{1} and W_{2}.

In the sequel t will be an element of [: the vectors of V, the vectors of V :]. Let us consider V, t. Then t_{1} is a vector of V. Then t_{2} is a vector of V.

Let us consider V, v, W_{1}, W_{2}. Let us assume that V is the direct sum of W_{1} and W_{2}. The functor v < (W_{1}, W_{2}) yields an element of [: the vectors of V, the vectors of V :] and is defined by:

v = (v < (W_{1}, W_{2}))_{1} + (v < (W_{1}, W_{2}))_{2} and (v < (W_{1}, W_{2}))_{1} ∈ W_{1} and (v < (W_{1}, W_{2}))_{2} ∈ W_{2} . We now state a number of propositions:

(55) If V is the direct sum of W_{1} and W_{2} and t_{1} + t_{2} = v and t_{1} ∈ W_{1} and t_{2} ∈ W_{2}, then t = v < (W_{1}, W_{2}).

(56) If V is the direct sum of W_{1} and W_{2}, then (v < (W_{1}, W_{2}))_{1} + (v < (W_{1}, W_{2}))_{2} = v .

(57) If V is the direct sum of W_{1} and W_{2}, then (v < (W_{1}, W_{2}))_{1} ∈ W_{1}.

(58) If V is the direct sum of W_{1} and W_{2}, then (v < (W_{1}, W_{2}))_{2} ∈ W_{2}.

(59) If V is the direct sum of W_{1} and W_{2}, then (v < (W_{1}, W_{2}))_{1} = (v < (W_{2}, W_{1}))_{2} .

(60) If V is the direct sum of W_{1} and W_{2}, then (v < (W_{1}, W_{2}))_{2} = (v < (W_{2}, W_{1}))_{1} .

(61) If t_{1} + t_{2} = v and t_{1} ∈ W and t_{2} ∈ L, then t = v < (W, L).

(62) (v < (W, L))_{1} + (v < (W, L))_{2} = v.

(63) (v < (W, L))_{1} ∈ W and (v < (W, L))_{2} ∈ L.

(64) (v < (W, L))_{1} = (v < (L, W))_{2}.

(65) (v < (W, L))_{2} = (v < (L, W))_{1}.

In the sequel A_{1}, A_{2} will be elements of Subspaces V. Let us consider V. The functor SubJoin V yields a binary operation on Subspaces V and is defined by:

for all A_{1}, A_{2}, W_{1}, W_{2} such that A_{1} = W_{1} and A_{2} = W_{2} holds

(SubJoin V)(A_{1}, A_{2}) = W_{1} + W_{2} .

Let us consider V. The functor SubMeet V yielding a binary operation on Subspaces V, is defined by:

for all A_{1}, A_{2}, W_{1}, W_{2} such that A_{1} = W_{1} and A_{2} = W_{2} holds

(SubMeet V)(A_{1}, A_{2}) = W_{1} ∩ W_{2} .

In the sequel o will be a binary operation on Subspaces V. The following propositions are true:

(66) If A_{1} = W_{1} and A_{2} = W_{2}, then SubJoin V (A_{1}, A_{2}) = W_{1} + W_{2}.

(67) If for all A_{1}, A_{2}, W_{1}, W_{2} such that A_{1} = W_{1} and A_{2} = W_{2} holds o(A_{1}, A_{2}) = W_{1} + W_{2}, then o = SubJoin V.

(68) If A_{1} = W_{1} and A_{2} = W_{2}, then SubMeet V (A_{1}, A_{2}) = W_{1} ∩ W_{2}.

(69) If for all A_{1}, A_{2}, W_{1}, W_{2} such that A_{1} = W_{1} and A_{2} = W_{2} holds o(A_{1}, A_{2}) = W_{1} ∩ W_{2}, then o = SubMeet V.

(70) ⟨Subspaces V, SubJoin V, SubMeet V ⟩ is a lattice.

(71) ⟨Subspaces V, SubJoin V, SubMeet V ⟩ is a lower bound lattice.

(72) ⟨Subspaces V, SubJoin V, SubMeet V ⟩ is an upper bound lattice.

(73) ⟨Subspaces V, SubJoin V, SubMeet V ⟩ is a bound lattice.

(74) ⟨Subspaces V, SubJoin V, SubMeet V ⟩ is a modular lattice.

For simplicity we adopt the following convention: l will be a bound lattice, l_{0} will be a lower bound lattice, l_{1} will be an upper bound lattice, a, b will be elements of the carrier of l, a_{0}, b_{0} will be elements of the carrier of l_{0}, and a_{1}, b_{1} will be elements of the carrier of l_{1}. One can prove the following propositions:

(75) ⟨Subspaces V, SubJoin V, SubMeet V ⟩ is a complemented lattice.

(76) If W_{1} is a subspace of W_{2}, then W_{1} ∩ W_{3} is a subspace of W_{2} ∩ W_{3}.

(77) If X ⊆ Y and X ≠ Y, then there exists x such that x ∈ Y and x ∉ X.

(78) v = v_{1} + v_{2} if and only if v_{1} = v − v_{2}.

(79) If for every v holds v ∈ W, then W = V.

(80) There exists C such that v ∈ C.

(81) x ∈ v + W if and only if there exists u such that u ∈ W and x = v + u.

(82) l is a complemented lattice if and only if for every a there exists b such that b is a complement of a.

(83) a is a complement of b if and only if a ⊔ b = ⊤_{l} and a ⊓ b = ⊥_{l}.

(84) If for every a_{0} holds a_{0} ⊓ b_{0} = b_{0}, then b_{0} = ⊥_{l_{0}}.

(85) If for every a_{1} holds a_{1} ⊔ b_{1} = b_{1}, then b_{1} = ⊤_{l_{1}}.

References

[1] Czesław Byliński. Binary operations. Formalized Mathematics, 1(1):175– 180, 1990.

[2] Andrzej Trybulec. Domains and their Cartesian products. Formalized Mathematics, 1(1):115–122, 1990.

[3] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

[4] Andrzej Trybulec. Tuples, projections and Cartesian products. Formalized Mathematics, 1(1):97–105, 1990.

[5] Wojciech A. Trybulec. Subspaces and cosets of subspaces in real linear space. Formalized Mathematics, 1(2):297–301, 1990.

[6] Wojciech A. Trybulec. Vectors in real linear space. Formalized Mathematics, 1(2):291–296, 1990.

[7] Zinaida Trybulec and Halina Świe‘czkowska. Boolean properties of sets. Formalized Mathematics, 1(1):17–23, 1990.

[8] Stanisław Żukowski. Introduction to lattice theory. Formalized Mathematics, 1(1):215–222, 1990.

400

σ-Fields and Probability

Andrzej Ne‘dzusiak

Summary. This article contains definitions and theorems concerning basic properties of following objects: - a field of subsets of given nonempty set; - a sequence of subsets of given nonempty set; - a σ-field of subsets of given nonempty set and events from this σ-field; - a probability i.e. σ-additive normed measure defined on previously introduced σ-field; - a σ-field generated by family of subsets of given set; - family of Borel Sets.

MML Identifier: PROB 1.

The articles [7], [1], [3], [2], [5], [4], [6], and [8] provide the notation and terminology for this paper. For simplicity we adopt the following rules: Omega will be a non-empty set, Y, Z, V will be sets, A, B, D will be subsets of Omega, f will be a function, m, n will be natural numbers, p, x, y, z will be arbitrary, r, r_{1}, r_{2} will be real numbers, and seq will be a sequence of real numbers. We now state three propositions:

(1) For every x holds x is a subset of Omega if and only if x ∈ 2^{Omega}.

(2) For all r, r_{1}, r_{2} such that 0 ≤ r and r_{1} = r_{2} − r holds r_{1} ≤ r_{2}.

(3) For all r, seq such that there exists n such that for every m such that n ≤ m holds seq(m) = r holds seq is convergent and lim seq = r.

Let us consider Omega. The mode field of subsets of Omega, which widens to the type a set, is defined by:

it ⊆ 2^{Omega} and there exists A such that A ∈ it but if A ∈ it and B ∈ it, then A ∩ B ∈ it but if A ∈ it, then A^{c} ∈ it.

Next we state a proposition

(4) For all Omega, Y holds for all A, B holds Y ⊆ 2^{Omega} and there exists A such that A ∈ Y but if A ∈ Y and B ∈ Y, then A ∩ B ∈ Y but if A ∈ Y, then A^{c} ∈ Y if and only if Y is a field of subsets of Omega.

In the sequel F ld will be a field of subsets of Omega. Next we state a number of propositions:

(5) F ld ⊆ 2^{Omega}.

(6) There exists A such that A ∈ F ld.

402 Andrzej Ne‘dzusiak

(7) If A ∈ F ld and B ∈ F ld, then A ∩ B ∈ F ld.

(8) If A ∈ F ld, then A^{c} ∈ F ld.

(9) If A ∈ F ld and B ∈ F ld, then A ∪ B ∈ F ld.

(10) ∅ ∈ F ld.

(11) Omega ∈ F ld.

(12) If A ∈ F ld and B ∈ F ld, then A \ B ∈ F ld.

(13) If A ∈ F ld and B ∈ F ld, then A∪B = (A\B)∪B and (A\B)∪B ∈ F ld and A \ B misses B.

(14) For every Omega holds {∅, Omega} is a field of subsets of Omega.

(15) For every Omega holds 2^{Omega} is a field of subsets of Omega.

(16) {∅, Omega} ⊆ F ld and F ld ⊆ 2^{Omega}.

(17) For every x such that x ∈ F ld holds x is a subset of Omega.

(18) For every Omega holds for every p such that p ∈ [: , {Omega}:] there exist x, y such that ⟨⟨x, y⟩⟩ = p and for all x, y, z such that ⟨⟨x, y⟩⟩ ∈ [: , {Omega}:] and ⟨⟨x, z⟩⟩ ∈ [: , {Omega}:] holds y = z.

(19) For every Omega there exists f such that dom f = and for every n

holds f(n) = Omega and f(n) ∈ 2^{Omega}. Let us consider Omega. The mode sequence of subsets of Omega, which

widens to the type a function, is defined by: dom it = and for every n holds it(n) ∈ 2^{Omega}. One can prove the following proposition

(20) f is a sequence of subsets of Omega if and only if dom f = and for

every n holds f(n) ∈ 2^{Omega}. In the sequel ASeq, BSeq denote sequences of subsets of Omega. We now

state two propositions:

(21) There exists ASeq such that for every n holds ASeq(n) = Omega.

(22) For every A, B there exists ASeq such that ASeq(0) = A and for every

n such that n ≠ 0 holds ASeq(n) = B. Let us consider Omega, ASeq, n. Then ASeq(n) is a subset of Omega. The following proposition is true

(23) For all ASeq, V such that V = ⋃(rng ASeq) holds V is a subset of

Omega. Let us consider Omega, ASeq. The functor Union ASeq yields a set and is

defined by:

Union ASeq = ⋃(rng ASeq).

We now state a proposition

(24) For all ASeq, V holds V = Union ASeq if and only if V = ⋃(rng ASeq). Let us consider Omega, ASeq. Then Union ASeq is a subset of Omega. We now state two propositions:

(25) For all x, ASeq holds x ∈ Union ASeq if and only if there exists n such that x ∈ ASeq(n).

σ-Fields and Probability 403

(26) For every ASeq there exists BSeq such that for every n holds BSeq(n) =

(ASeq(n))^{c}. Let us consider Omega, ASeq. The functor Complement ASeq yields a se-

quence of subsets of Omega and is defined by:

for every n holds (Complement ASeq)(n) = (ASeq(n))^{c}. One can prove the following proposition

(27) For all ASeq, BSeq holds BSeq = Complement ASeq if and only if for

every n holds BSeq(n) = (ASeq(n))^{c}. Let us consider Omega, ASeq. The functor Intersection ASeq yields a subset

of Omega and is defined by:

Intersection ASeq = (Union(Complement ASeq))^{c}. One can prove the following propositions:

(28) For all ASeq, A holds A = Intersection ASeq if and only if A = (Union(Complement ASeq))^{c} .

(29) For all ASeq, x holds x ∈ Intersection ASeq if and only if for every n holds x ∈ ASeq(n).

(30) For all A, B, ASeq such that ASeq(0) = A and for every n such that n ≠ 0 holds ASeq(n) = B holds Intersection ASeq = A ∩ B.

(31) For every ASeq holds Complement(Complement ASeq) = ASeq. We now define two new predicates. Let us consider Omega, ASeq. The

predicate ASeq is nonincreasing is defined by:

for all n, m such that n ≤ m holds ASeq(m) ⊆ ASeq(n). The predicate ASeq is nondecreasing is defined by:

for all n, m such that n ≤ m holds ASeq(n) ⊆ ASeq(m). The following two propositions are true:

(32) For all Omega, ASeq holds ASeq is nonincreasing if and only if for all n, m such that n ≤ m holds ASeq(m) ⊆ ASeq(n).

(33) For all Omega, ASeq holds ASeq is nondecreasing if and only if for all

n, m such that n ≤ m holds ASeq(n) ⊆ ASeq(m). Let us consider Omega. The mode σ-field of subsets of Omega, which widens

to the type a set, is defined by:

it ⊆ 2^{Omega} and there exists A such that A ∈ it and for every ASeq such that for every n holds ASeq(n) ∈ it holds Intersection ASeq ∈ it and for every A such that A ∈ it holds A^{c} ∈ it.

We now state two propositions:

(34) For all Omega, Y holds Y is a σ-field of subsets of Omega if and only if Y ⊆ 2^{Omega} and there exists A such that A ∈ Y and for every ASeq such that for every n holds ASeq(n) ∈ Y holds Intersection ASeq ∈ Y and for every A such that A ∈ Y holds A^{c} ∈ Y.

(35) For all Omega, Y such that Y is a σ-field of subsets of Omega holds Y

is a field of subsets of Omega. In the sequel Sigma is a σ-field of subsets of Omega. Next we state several

propositions:

(36) Sigma ⊆ 2^{Omega}.

(37) For every x such that x ∈ Sigma holds x is a subset of Omega.

(38) There exists A such that A ∈ Sigma.

(39) For all A, B such that A ∈ Sigma and B ∈ Sigma holds A∩B ∈ Sigma.

(40) For every A such that A ∈ Sigma holds A^{c} ∈ Sigma.

(41) For all A, B such that A ∈ Sigma and B ∈ Sigma holds A∪B ∈ Sigma.

(42) ∅ ∈ Sigma.

(43) Omega ∈ Sigma.

(44) For all A, B such that A ∈ Sigma and B ∈ Sigma holds A\B ∈ Sigma. Let us consider Omega, Sigma. The mode sequence of subsets of Sigma,

which widens to the type a sequence of subsets of Omega, is defined by: for every n holds it(n) ∈ Sigma. We now state two propositions:

(45) ASeq is a sequence of subsets of Sigma if and only if for every n holds ASeq(n) ∈ Sigma.

(46) For all Omega, Sigma for every sequence ASeq of subsets of Sigma

holds Union ASeq ∈ Sigma. Let us consider Omega, Sigma. The mode event of Sigma, which widens to

the type a subset of Omega, is defined by:

it ∈ Sigma.

The following propositions are true:

(47) For all Sigma, A holds A is an event of Sigma if and only if A ∈ Sigma.

(48) For all Sigma, x such that x ∈ Sigma holds x is an event of Sigma.

(49) For all events A, B of Sigma holds A ∩ B is an event of Sigma.

(50) For every event A of Sigma holds A^{c} is an event of Sigma.

(51) For all events A, B of Sigma holds A ∪ B is an event of Sigma.

(52) For all Omega, Sigma holds ∅ is an event of Sigma.

(53) For all Omega, Sigma holds Omega is an event of Sigma.

(54) For all events A, B of Sigma holds A \ B is an event of Sigma. We now define two new functors. Let us consider Omega, Sigma. The functor

Ω_{Sigma} yields an event of Sigma and is defined by:

Ω_{Sigma} = Omega. The functor ∅_{Sigma} yielding an event of Sigma, is defined by:

∅_{Sigma} = ∅.

Next we state two propositions:

(55) For all Omega, Sigma holds Ω_{Sigma} = Omega.

(56) For all Omega, Sigma holds ∅_{Sigma} = ∅.

The arguments of the notions defined below are the following: Omega, Sigma which are objects of the type reserved above; A, B which are events of Sigma. Then A ∩ B is an event of Sigma. Then A ∪ B is an event of Sigma. Then A \ B is an event of Sigma.

We now state two propositions:

(57) For all Omega, Sigma, ASeq holds ASeq is a sequence of subsets of Sigma if and only if for every n holds ASeq(n) is an event of Sigma.

(58) For all Omega, Sigma, ASeq such that ASeq is a sequence of subsets of

Sigma holds Union ASeq is an event of Sigma. In the sequel Sigma is a σ-field of subsets of Omega, A, B are events of Sigma,

and ASeq is a sequence of subsets of Sigma. Next we state a proposition

(59) For every Omega, Sigma, p there exists f such that dom f = Sigma and for every D such that D ∈ Sigma holds if p ∈ D, then f(D) = 1 but if p ∉ D, then f(D) = 0.

In the sequel P is a function from Sigma into . The following three propositions are true:

(60) For every Omega, Sigma, p there exists P such that for every D such that D ∈ Sigma holds if p ∈ D, then P (D) = 1 but if p ∉ D, then P (D) = 0.

(61) For every P holds dom P = Sigma and rng P ⊆ .

(62) For all Sigma, ASeq, P holds P · ASeq is a sequence of real numbers. Let us consider Omega, Sigma, ASeq, P. Then P · ASeq is a sequence of real

numbers.

Let us consider Omega, Sigma, P, A. Then P (A) is a real number.

Let us consider Omega, Sigma. The mode probability on Sigma, which widens to the type a function from Sigma into , is defined by:

(i) for every A holds 0 ≤ it(A), (ii) it(Omega) = 1, (iii) for all A, B such that A misses B holds it(A ∪ B) = it(A) + it(B), (iv) for every ASeq such that ASeq is nonincreasing holds it·ASeq is convergent and lim(it · ASeq) = it(Intersection ASeq).

Next we state a proposition

(63) Let P be a function from Sigma into . Then P is a probability on

Sigma if and only if the following conditions are satisfied:

(i) for every A holds 0 ≤ P (A), (ii) P (Omega) = 1, (iii) for all A, B such that A misses B holds P (A ∪ B) = P (A) + P (B), (iv) for every ASeq such that ASeq is nonincreasing holds P · ASeq is con-

vergent and lim(P · ASeq) = P (Intersection ASeq). In the sequel P will be a probability on Sigma. One can prove the following

propositions:

(64) P (∅) = 0.

(65) P (∅_{Sigma}) = 0.

(66) P (Ω_{Sigma}) = 1.

(67) For all P, A holds P (Ω_{Sigma} \ A) + P (A) = 1.

(68) For all P, A holds P (Ω_{Sigma} \ A) = 1 − P (A).

(69) For all P, A, B such that A ⊆ B holds P (B \ A) = P (B) − P (A).

(70) For all P, A, B such that A ⊆ B holds P (A) ≤ P (B).

(71) For all P, A holds P (A) ≤ 1.

(72) For all P, A, B holds P (A ∪ B) = P (A) + P (B \ A).

(73) For all P, A, B holds P (A ∪ B) = P (A) + P (B \ A ∩ B).

(74) For all P, A, B holds P (A ∪ B) = (P (A) + P (B)) − P (A ∩ B).

(75) For all P, A, B holds P (A ∪ B) ≤ P (A) + P (B).

In the sequel D denotes a subset of and S denotes a subset of 2^{Omega}. Next we state a proposition

(76) 2^{Omega} is a σ-field of subsets of Omega.

The arguments of the notions defined below are the following: Omega which is an object of the type reserved above; X which is a subset of 2^{Omega}. The functor σX yields a σ-field of subsets of Omega and is defined by:

X ⊆ σX and for every Z such that X ⊆ Z and Z is a σ-field of subsets of Omega holds σX ⊆ Z.

Next we state a proposition

(77) For all S, Sigma holds Sigma = σS if and only if S ⊆ Sigma and for every Z such that S ⊆ Z and Z is a σ-field of subsets of Omega holds Sigma ⊆ Z.

Let us consider r. The functor HL(r) yielding a subset of , is defined by: HL(r) = {r_{1} : r_{1} < r}. Next we state a proposition

(78) For all r, D holds D = HL(r) if and only if D = {r_{1} : r_{1} < r}. The constant Halflines is a subset of 2^{}and is defined by: Halflines = {D : ⋀_{r} D = HL(r)}. The following proposition is true

(79) For every subset Z of 2^{}holds Z = Halflines if and only if Z = {D :

⋀_{r} D = HL(r)}. The constant the Borel sets is a σ-field of subsets of and is defined by: the Borel sets = σ Halflines. One can prove the following proposition

(80) For every σ-field Z of subsets of holds Z = the Borel sets if and only if Z = σ Halflines.

References

[1] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[2] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[3] Krzysztof Hryniewiecki. Basic properties of real numbers. Formalized Mathematics, 1(1):35–40, 1990.

[4] Jarosław Kotowicz. Convergent sequences and the limit of sequences. Formalized Mathematics, 1(2):273–275, 1990.

[5] Jarosław Kotowicz. Real sequences and basic operations on them. Formalized Mathematics, 1(2):269–272, 1990.

[6] Beata Padlewska. Families of sets. Formalized Mathematics, 1(1):147–152, 1990.

[7] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

[8] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67– 71, 1990.

408

Introduction to Categories and Functors

Czesław Byliński Warsaw University Białystok

Summary. The category is introduced as an ordered 5-tuple of the form ⟨O, M, dom, cod, ·, id⟩ where O (objects) and M (morphisms) are arbitrary nonempty sets, dom and cod map M onto O and assign to a morphism domain and codomain, · is a partial binary map from M × M to M (composition of morphisms), id applied to an object yields the identity morphism. We define the basic notions of the category theory such as hom, monic, epi, invertible. We next define functors, the composition of functors, faithfulness and fullness of functors, isomorphism between categories and the identity functor.

MML Identifier: CAT 1.

The papers [5], [1], [3], [2], and [4] provide the terminology and notation for this paper. In the sequel a, b, c, o, m, x are arbitrary. Let us consider x. Then {x} is a non-empty set.

Next we state several propositions:

(1) x is an element of {x}.

(2) For every element x of {a} holds x = a.

(3) For every set X for all non-empty sets C, D for every function f from C into D for every element c of C such that c ∈ X holds (f X)(c) = f(c).

(4) For all sets X, Y, Z for every non-empty set D for every function f from X into D such that Y ⊆ X and f ^{∘} Y ⊆ Z holds f Y is a function from Y into Z.

(5) For every function f from {a} into {b} for every element x of {a} holds f(x) = b.

The arguments of the notions defined below are the following: A which is a non-empty set; b which is an object of the type reserved above. of the type reserved above. Then A ⟼ b is a function from A into {b}.

Let us consider a, b, c. The functor ⟨a, b⟩ ⟼ c yields a partial function from [: {a}, {b}:] to {c} and is defined by:

⟨a, b⟩ ⟼ c = {⟨⟨a, b⟩⟩} ⟼ c. One can prove the following propositions:

(6) ⟨a, b⟩ ⟼ c = {⟨⟨a, b⟩⟩} ⟼ c.

(7) dom(⟨a, b⟩ ⟼ c) = {⟨⟨a, b⟩⟩} and dom(⟨a, b⟩ ⟼ c) = [: {a}, {b}:].

(8) (⟨a, b⟩ ⟼ c)(⟨⟨a, b⟩⟩) = c.

(9) For every element x of {a} for every element y of {b} holds (⟨a, b⟩ ⟼ c)(⟨⟨x, y⟩⟩) = c.

Let D be a non-empty set. Then id_{D} is a function from D into D. We consider category structures which are systems ⟨ objects, morphisms, a dom-map, a cod-map, a composition, an id-map ⟩ where the objects, the morphisms are non-empty sets, the dom-map, the cod-

map are functions from the morphisms into the objects, the composition is a partial function from [: the morphisms, the morphisms :] to the morphisms, and the id-map is a function from the objects into the morphisms. In the sequel C denotes a category structure. We now define two new modes. Let us consider C. An object of C is an element of the objects of C.

A morphism of C is an element of the morphisms of C. We now state two propositions:

(10) For every element a of the objects of C holds a is an object of C.

(11) For every element f of the morphisms of C holds f is a morphism of C. We adopt the following convention: a, b, c, d are objects of C and f, g are

morphisms of C. We now define two new functors. Let us consider C, f. The functor dom f yields an object of C and is defined by:

dom f =(the dom-map of C)(f). The functor cod f yielding an object of C, is defined by:

cod f =(the cod-map of C)(f). We now state two propositions:

(12) dom f =(the dom-map of C)(f).

(13) cod f =(the cod-map of C)(f).

Let us consider C, f, g. Let us assume that ⟨⟨g, f⟩⟩ ∈ dom(the composition of C). The functor g · f yielding a morphism of C, is defined by:

g · f =(the composition of C)(⟨⟨g, f⟩⟩). Next we state a proposition

(14) If ⟨⟨g, f⟩⟩ ∈ dom(the composition of C), then g · f =(the composition of

C)(⟨⟨g, f⟩⟩). Let us consider C, a. The functor id_{a} yields a morphism of C and is defined

by:

id_{a} =(the id-map of C)(a). One can prove the following proposition

(15) id_{a} =(the id-map of C)(a).

Introduction to Categories and Functors 411

Let us consider C, a, b. The functor hom(a, b) yielding sets of morphisms of C, is defined by: hom(a, b) = {f : dom f = a ∧ cod f = b}. We now state four propositions:

(16) hom(a, b) = {f : dom f = a ∧ cod f = b}.

(17) If hom(a, b) ≠ ∅, then there exists f such that f ∈ hom(a, b).

(18) f ∈ hom(a, b) if and only if dom f = a and cod f = b.

(19) hom(dom f, cod f) ≠ ∅.

Let us consider C, a, b. Let us assume that hom(a, b) ≠ ∅. The mode morphism from a to b, which widens to the type a morphism of C, is defined by:

it ∈ hom(a, b).

Next we state several propositions:

(20) If hom(a, b) ≠ ∅, then for every morphism f of C holds f is a morphism from a to b if and only if f ∈ hom(a, b).

(21) For arbitrary f such that f ∈ hom(a, b) holds f is a morphism from a to b.

(22) For every morphism f of C holds f is a morphism from dom f to cod f.

(23) For every morphism f from a to b such that hom(a, b) ≠ ∅ holds dom f = a and cod f = b.

(24) For every morphism f from a to b for every morphism h from c to d such that hom(a, b) ≠ ∅ and hom(c, d) ≠ ∅ and f = h holds a = c and b = d.

(25) For every morphism f from a to b such that hom(a, b) = {f} for every morphism g from a to b holds f = g.

(26) For every morphism f from a to b such that hom(a, b) ≠ ∅ and for every morphism g from a to b holds f = g holds hom(a, b) = {f}.

(27) For every morphism f from a to b such that hom(a, b) ≈ hom(c, d) and hom(a, b) = {f} there exists h being a morphism from c to d such that hom(c, d) = {h}.

The mode category, which widens to the type a category structure, is defined by:

(i) for all elements f, g of the morphisms of it holds ⟨⟨g, f⟩⟩ ∈ dom(the composition of it) if and only if (the dom-map of it)(g) =(the cod-map of it)(f), (ii) for all elements f, g of the morphisms of it such that (the dom-map of it)(g) =(the cod-map of it)(f) holds (the dom-map of it)((the composition of it)(⟨⟨g, f⟩⟩)) =(the dom-map of it)(f) and (the cod-map of it)((the composition of it)(⟨⟨g, f⟩⟩)) =(the cod-map of it)(g), (iii) for all elements f, g, h of the morphisms of it such that (the dom-map of it)(h) =(the cod-map of it)(g) and (the dom-map of it)(g) =(the cod-map of it)(f) holds (the composition of it)(⟨⟨h,(the composition of it)(⟨⟨g, f⟩⟩)⟩⟩) =(the composition of it)(⟨⟨(the composition of it)(⟨⟨h, g⟩⟩), f⟩⟩), (iv) for every element b of the objects of it holds (the dom-map of it)((the id-map of it)(b)) = b and (the cod-map of it)((the id-map of it)(b)) = b and for every element f of the morphisms of it such that (the cod-map of it)(f) = b holds (the composition of it)(⟨⟨(the id-map of it)(b), f⟩⟩) = f and for every element g of the morphisms of it such that (the dom-map of it)(g) = b holds (the composition of it)(⟨⟨g,(the id-map of it)(b)⟩⟩) = g.

The following three propositions are true:

(28) Let C be a category structure. Then C is a category if and only if the

following conditions are satisfied:

(i) for all elements f, g of the morphisms of C holds ⟨⟨g, f⟩⟩ ∈ dom(the composition of C) if and only if (the dom-map of C)(g) =(the cod-map of C)(f),

(ii) for all elements f, g of the morphisms of C such that (the dom-map of C)(g) =(the cod-map of C)(f) holds (the dom-map of C)((the composition of C)(⟨⟨g, f⟩⟩)) =(the dom-map of C)(f) and (the cod-map of C)((the composition of C)(⟨⟨g, f⟩⟩)) =(the cod-map of C)(g),

(iii) for all elements f, g, h of the morphisms of C such that (the dommap of C)(h) =(the cod-map of C)(g) and (the dom-map of C)(g) =(the cod-map of C)(f) holds (the composition of C)(⟨⟨h,(the composition of C)(⟨⟨g, f⟩⟩)⟩⟩) =(the composition of C)(⟨⟨(the composition of C)(⟨⟨h, g⟩⟩), f⟩⟩),

(iv) for every element b of the objects of C holds (the dom-map of C)((the id-map of C)(b)) = b and (the cod-map of C)((the id-map of C)(b)) = b and for every element f of the morphisms of C such that (the cod-map of C)(f) = b holds (the composition of C)(⟨⟨(the id-map of C)(b), f⟩⟩) = f and for every element g of the morphisms of C such that (the dom-map of C)(g) = b holds (the composition of C)(⟨⟨g,(the id-map of C)(b)⟩⟩) = g.

(29) Let C be a category structure. Suppose that

(i) for all morphisms f, g of C holds ⟨⟨g, f⟩⟩ ∈ dom(the composition of C) if and only if dom g = cod f,

(ii) for all morphisms f, g of C such that dom g = cod f holds dom(g · f) =

dom f and cod(g · f) = cod g, (iii) for all morphisms f, g, h of C such that dom h = cod g and dom g =

cod f holds h · (g · f) = (h · g) · f, (iv) for every object b of C holds dom(id_{b}) = b and cod(id_{b}) = b and for

every morphism f of C such that cod f = b holds id_{b} ·f = f and for every morphism g of C such that dom g = b holds g · id_{b} = g. Then C is a category.

(30) Let O, M be non-empty sets. Let d, c be functions from M into O. Let p be a partial function from [: M, M :] to M. Let i be a function from O into M. Let C be a category structure. Suppose C. Then C is a category if and only if the following conditions are satisfied:

(i) for all elements f, g of M holds ⟨⟨g, f⟩⟩ ∈ dom p if and only if d(g) = c(f), (ii) for all elements f, g of M such that d(g) = c(f) holds d(p(⟨⟨g, f⟩⟩)) = d(f)

and c(p(⟨⟨g, f⟩⟩)) = c(g), (iii) for all elements f, g, h of M such that d(h) = c(g) and d(g) = c(f)

holds p(⟨⟨h, p(⟨⟨g, f⟩⟩)⟩⟩) = p(⟨⟨p(⟨⟨h, g⟩⟩), f⟩⟩), (iv) for every element b of O holds d(i(b)) = b and c(i(b)) = b and for every

element f of M such that c(f) = b holds p(⟨⟨i(b), f⟩⟩) = f and for every element g of M such that d(g) = b holds p(⟨⟨g, i(b)⟩⟩) = g.

Let us consider o, m. The functor ˙ (o, m) yielding a category, is defined by: ˙ (o, m) = ⟨{o}, {m}, {m} ⟼ o, {m} ⟼ o, ⟨m, m⟩ ⟼ m, {o} ⟼ m⟩. One can prove the following propositions:

(31) ˙ (o, m) = ⟨{o}, {m}, {m} ⟼ o, {m} ⟼ o, ⟨m, m⟩ ⟼ m, {o} ⟼ m⟩.

(32) o is an object of ˙ (o, m).

(33) m is a morphism of ˙ (o, m).

(34) For every object a of ˙ (o, m) holds a = o.

(35) For every morphism f of ˙ (o, m) holds f = m.

(36) For all objects a, b of ˙ (o, m) for every morphism f of ˙ (o, m) holds f ∈ hom(a, b).

(37) For all objects a, b of ˙ (o, m) for every morphism f of ˙ (o, m) holds f is a morphism from a to b.

(38) For all objects a, b of ˙ (o, m) holds hom(a, b) ≠ ∅.

(39) For all objects a, b, c, d of ˙ (o, m) for every morphism f from a to b for

every morphism g from c to d holds f = g. We adopt the following rules: B, C, D will be categories, a, b, c, d will be

objects of C, and f, f_{1}, f_{2}, g, g_{1}, g_{2} will be morphisms of C. Next we state several propositions:

(40) dom g = cod f if and only if ⟨⟨g, f⟩⟩ ∈ dom(the composition of C).

(41) If dom g = cod f, then g · f =(the composition of C)(⟨⟨g, f⟩⟩).

(42) For all morphisms f, g of C such that dom g = cod f holds dom(g · f) = dom f and cod(g · f) = cod g.

(43) For all morphisms f, g, h of C such that dom h = cod g and dom g = cod f holds h · (g · f) = (h · g) · f.

(44) dom(id_{b}) = b and cod(id_{b}) = b.

(45) If id_{a} = id_{b}, then a = b.

(46) For every morphism f of C such that cod f = b holds id_{b} ·f = f.

(47) For every morphism g of C such that dom g = b holds g · id_{b} = g. Let us consider C, g. The predicate g is monic is defined by: for all f_{1}, f_{2} such that dom f_{1} = dom f_{2} and cod f_{1} = dom g and cod f_{2} =

dom g and g · f_{1} = g · f_{2} holds f_{1} = f_{2}.

The following proposition is true

(48) g is monic if and only if for all f_{1}, f_{2} such that dom f_{1} = dom f_{2} and

cod f_{1} = dom g and cod f_{2} = dom g and g · f_{1} = g · f_{2} holds f_{1} = f_{2}. Let us consider C, f. The predicate f is epi is defined by: for all g_{1}, g_{2} such that dom g_{1} = cod f and dom g_{2} = cod f and cod g_{1} = cod g_{2}

and g_{1} · f = g_{2} · f holds g_{1} = g_{2}.

One can prove the following proposition

(49) f is epi if and only if for all g_{1}, g_{2} such that dom g_{1} = cod f and dom g_{2} = cod f and cod g_{1} = cod g_{2} and g_{1} · f = g_{2} · f holds g_{1} = g_{2}.

Let us consider C, f. The predicate f is invertible is defined by:

there exists g such that dom g = cod f and cod g = dom f and f · g = id_{cod f} and g · f = id_{dom f}.

The following proposition is true

(50) f is invertible if and only if there exists g such that dom g = cod f and

cod g = dom f and f · g = id_{cod f} and g · f = id_{dom f}. In the sequel f will denote a morphism from a to b, f′ will denote a morphism

from b to a, g will denote a morphism from b to c, and h will denote a morphism from c to d. Next we state two propositions:

(51) If hom(a, b) ≠ ∅ and hom(b, c) ≠ ∅, then g · f ∈ hom(a, c).

(52) If hom(a, b) ≠ ∅ and hom(b, c) ≠ ∅, then hom(a, c) ≠ ∅.

Let us consider C, a, b, c, f, g. Let us assume that hom(a, b) ≠ ∅ and hom(b, c) ≠ ∅. The functor g · f yields a morphism from a to c and is defined by:

g · f = g · f.

One can prove the following propositions:

(53) If hom(a, b) ≠ ∅ and hom(b, c) ≠ ∅, then g · f = g · (f qua a morphism of C) .

(54) If hom(a, b) ≠ ∅ and hom(b, c) ≠ ∅ and hom(c, d) ≠ ∅, then (h · g) · f = h · (g · f).

(55) id_{a} ∈ hom(a, a).

(56) hom(a, a) ≠ ∅.

Let us consider C, a. Then id_{a} is a morphism from a to a.

The following propositions are true:

(57) If hom(a, b) ≠ ∅, then id_{b} ·f = f.

(58) If hom(b, c) ≠ ∅, then g · id_{b} = g.

(59) id_{a} · id_{a} = id_{a}.

(60) If hom(b, c) ≠ ∅, then g is monic if and only if for every a for all morphisms f_{1}, f_{2} from a to b such that hom(a, b) ≠ ∅ and g · f_{1} = g · f_{2} holds f_{1} = f_{2}.

(61) If hom(b, c) ≠ ∅ and hom(c, d) ≠ ∅ and g is monic and h is monic, then h · g is monic.

(62) If hom(b, c) ≠ ∅ and hom(c, d) ≠ ∅ and h · g is monic, then g is monic.

(63) For every morphism h from a to b for every morphism g from b to a such that hom(a, b) ≠ ∅ and hom(b, a) ≠ ∅ and h · g = id_{b} holds g is monic.

(64) id_{b} is monic.

(65) If hom(a, b) ≠ ∅, then f is epi if and only if for every c for all morphisms g_{1}, g_{2} from b to c such that hom(b, c) ≠ ∅ and g_{1} · f = g_{2} · f holds g_{1} = g_{2}.

(66) If hom(a, b) ≠ ∅ and hom(b, c) ≠ ∅ and f is epi and g is epi, then g · f is epi.

(67) If hom(a, b) ≠ ∅ and hom(b, c) ≠ ∅ and g · f is epi, then g is epi.

(68) For every morphism h from a to b for every morphism g from b to a such that hom(a, b) ≠ ∅ and hom(b, a) ≠ ∅ and h · g = id_{b} holds h is epi.

(69) id_{b} is epi.

(70) If hom(a, b) ≠ ∅, then f is invertible if and only if hom(b, a) ≠ ∅ and there exists g being a morphism from b to a such that f · g = id_{b} and g · f = id_{a}.

(71) If hom(a, b) ≠ ∅ and hom(b, a) ≠ ∅, then for all morphisms g_{1}, g_{2} from b

to a such that f · g_{1} = id_{b} and g_{2} · f = id_{a} holds g_{1} = g_{2}. Let us consider C, a, b, f. Let us assume that hom(a, b) ≠ ∅ and f is invertible.

The functor f^{−1} yielding a morphism from b to a, is defined by: f · (f^{−1}) = id_{b} and (f^{−1}) · f = id_{a}. We now state several propositions:

(72) If hom(a, b) ≠ ∅ and f is invertible, then for every morphism g from b to a holds g = f^{−1} if and only if f · g = id_{b} and g · f = id_{a}.

(73) If hom(a, b) ≠ ∅ and f is invertible, then f is monic and f is epi.

(74) id_{a} is invertible.

(75) If hom(a, b) ≠ ∅ and hom(b, c) ≠ ∅ and f is invertible and g is invertible, then g · f is invertible.

(76) If hom(a, b) ≠ ∅ and f is invertible, then f^{−1} is invertible.

(77) If hom(a, b) ≠ ∅ and hom(b, c) ≠ ∅ and f is invertible and g is invertible,

then (g · f)^{−1} = f^{−1} · g^{−1}. We now define three new predicates. Let us consider C, a. The predicate a is

a terminal object is defined by:

hom(b, a) ≠ ∅ and there exists f being a morphism from b to a such that for every morphism g from b to a holds f = g. The predicate a is an initial object is defined by:

hom(a, b) ≠ ∅ and there exists f being a morphism from a to b such that for every morphism g from a to b holds f = g. Let us consider b. The predicate a and b are isomorphic is defined by:

hom(a, b) ≠ ∅ and there exists f such that f is invertible.

We now state a number of propositions:

(78) a is a terminal object if and only if for every b holds hom(b, a) ≠ ∅ and there exists f being a morphism from b to a such that for every morphism g from b to a holds f = g.

(79) a is an initial object if and only if for every b holds hom(a, b) ≠ ∅ and there exists f being a morphism from a to b such that for every morphism g from a to b holds f = g.

(80) a and b are isomorphic if and only if hom(a, b) ≠ ∅ and there exists f such that f is invertible.

(81) a and b are isomorphic if and only if hom(a, b) ≠ ∅ and hom(b, a) ≠ ∅ and there exist f, f′ such that f · f′ = id_{b} and f′ · f = id_{a}.

(82) a is an initial object if and only if for every b there exists f being a morphism from a to b such that hom(a, b) = {f}.

(83) If a is an initial object, then for every morphism h from a to a holds id_{a} = h.

(84) If a is an initial object and b is an initial object, then a and b are isomorphic.

(85) If a is an initial object and a and b are isomorphic, then b is an initial object.

(86) b is a terminal object if and only if for every a there exists f being a morphism from a to b such that hom(a, b) = {f}.

(87) If a is a terminal object, then for every morphism h from a to a holds id_{a} = h.

(88) If a is a terminal object and b is a terminal object, then a and b are isomorphic.

(89) If b is a terminal object and a and b are isomorphic, then a is a terminal object.

(90) If hom(a, b) ≠ ∅ and a is a terminal object, then f is monic.

(91) a and a are isomorphic.

(92) If a and b are isomorphic, then b and a are isomorphic.

(93) If a and b are isomorphic and b and c are isomorphic, then a and c are isomorphic.

Let us consider C, D. The mode functor from C to D, which widens to the type a function from the morphisms of C into the morphisms of D, is defined by:

(i) for every element c of the objects of C there exists d being an element of the objects of D such that it((the id-map of C)(c)) =(the id-map of D)(d), (ii) for every element f of the morphisms of C holds it((the id-map of C)((the dom-map of C)(f))) =(the id-map of D)((the dom-map of D)(it(f))) and it((the id-map of C)((the cod-map of C)(f))) =(the id-map of D)((the cod-map of D)(it(f))), (iii) for all elements f, g of the morphisms of C such that ⟨⟨g, f⟩⟩ ∈ dom(the composition of C) holds it((the composition of C)(⟨⟨g, f⟩⟩)) =(the composition of D)(⟨⟨it(g), it(f)⟩⟩).

We now state two propositions:

(94) Let C, D be categories. Let T be a function from the morphisms of C into the morphisms of D. Then T is a functor from C to D if and only if the following conditions are satisfied:

(i) for every element c of the objects of C there exists d being an element of the objects of D such that T ((the id-map of C)(c)) =(the id-map of D)(d),

(ii) for every element f of the morphisms of C holds T ((the id-map of C)( (the dom-map of C)(f))) =(the id-map of D)((the dom-map of D)(T (f))) and T ((the id-map of C)((the cod-map of C)(f))) =(the id-map of D)((the cod-map of D)(T (f))),

(iii) for all elements f, g of the morphisms of C such that ⟨⟨g, f⟩⟩ ∈ dom(the composition of C) holds T ((the composition of C)(⟨⟨g, f⟩⟩)) =(the composition of D)(⟨⟨T (g), T (f)⟩⟩).

(95) For all functors F_{1}, F_{2} from C to D such that for every morphism f of

C holds F_{1}(f) = F_{2}(f) holds F_{1} = F_{2}. The arguments of the notions defined below are the following: C, D which are

categories; F which is a function from the objects of C into the objects of D; c which is an object of C. Then F (c) is an object of D.

The following propositions are true:

(96) Let T be a function from the morphisms of C into the morphisms of D.

Suppose that

(i) for every object c of C there exists d being an object of D such that T (id_{c}) = id_{d},

(ii) for every morphism f of C holds T (id_{dom f}) = id_{dom(T (f))} and

T (id_{cod f}) = id_{cod(T (f))} , (iii) for all morphisms f, g of C such that dom g = cod f holds T (g · f) =

T (g) · T (f). Then T is a functor from C to D.

(97) For every functor T from C to D for every object c of C there exists d being an object of D such that T (id_{c}) = id_{d}.

(98) For every functor T from C to D for every morphism f of C holds T (id_{dom f}) = id_{dom(T (f))} and T (id_{cod f}) = id_{cod(T (f))}.

(99) For every functor T from C to D for all morphisms f, g of C such that dom g = cod f holds dom(T (g)) = cod(T (f)) and T (g · f) = T (g) · T (f).

(100) Let T be a function from the morphisms of C into the morphisms of D. Let F be a function from the objects of C into the objects of D. Suppose that

(i) for every object c of C holds T (id_{c}) = id_{F (c)}, (ii) for every morphism f of C holds F (dom f) = dom(T (f)) and

F (cod f) = cod(T (f)) , (iii) for all morphisms f, g of C such that dom g = cod f holds T (g · f) =

T (g) · T (f). Then T is a functor from C to D.

The arguments of the notions defined below are the following: C, D which are objects of the type reserved above; F which is a function from the morphisms of C into the morphisms of D. Let us assume that for every element c of the objects of C there exists d being an element of the objects of D such that F ((the id-map of C)(c)) =(the id-map of D)(d). The functor Obj F yielding a function from the objects of C into the objects of D, is defined by:

for every element c of the objects of C for every element d of the objects of D such that F ((the id-map of C)(c)) =(the id-map of D)(d) holds (Obj F)(c) = d.

Next we state several propositions:

(101) Let C, D be categories. Let T be a function from the morphisms of C into the morphisms of D. Suppose for every element c of the objects of C there exists d being an element of the objects of D such that T ((the id-map of C)(c)) =(the id-map of D)(d). Then for every function F from the objects of C into the objects of D holds F = Obj T if and only if for every element c of the objects of C for every element d of the objects of D such that T ((the id-map of C)(c)) =(the id-map of D)(d) holds F (c) = d.

(102) For every function T from the morphisms of C into the morphisms of D such that for every object c of C there exists d being an object of D such that T (id_{c}) = id_{d} for every object c of C for every object d of D such that T (id_{c}) = id_{d} holds (Obj T)(c) = d.

(103) For every functor T from C to D for every object c of C for every object d of D such that T (id_{c}) = id_{d} holds (Obj T)(c) = d.

(104) For every functor T from C to D for every object c of C holds T (id_{c}) = id_{(Obj T)(c)}.

(105) For every functor T from C to D for every morphism f of C holds

(Obj T)(dom f) = dom(T (f)) and (Obj T)(cod f) = cod(T (f)). The arguments of the notions defined below are the following: C, D which

are categories; T which is a functor from C to D; c which is an object of C. The functor T (c) yielding an object of D, is defined by:

T (c) = (Obj T)(c).

We now state several propositions:

(106) For every functor T from C to D for every object c of C holds T (c) = (Obj T)(c).

(107) For every functor T from C to D for every object c of C for every object d of D such that T (id_{c}) = id_{d} holds T (c) = d.

(108) For every functor T from C to D for every object c of C holds T (id_{c}) = id_{T (c)}.

(109) For every functor T from C to D for every morphism f of C holds T (dom f) = dom(T (f)) and T (cod f) = cod(T (f)).

(110) For every functor T from B to C for every functor S from C to D holds

S · T is a functor from B to D. The arguments of the notions defined below are the following: B, C, D which

are objects of the type reserved above; T which is a functor from B to C; S which is a functor from C to D. Then S · T is a functor from B to D.

One can prove the following three propositions:

(111) id_{the morphisms of C} is a functor from C to C.

(112) For every functor T from B to C for every functor S from C to D for every object b of B holds (Obj(S · T))(b) = (Obj S)((Obj T)(b)).

(113) For every functor T from B to C for every functor S from C to D for

every object b of B holds (S · T)(b) = S(T (b)). Let us consider C. The functor id_{C} yielding a functor from C to C, is defined

by:

id_{C} = id_{the morphisms of C}.

The following propositions are true:

(114) id_{C} = id_{the morphisms of C}.

(115) For every morphism f of C holds id_{C}(f) = f.

(116) For every object c of C holds (Obj id_{C})(c) = c.

(117) Obj id_{C} = id_{the objects of C}.

(118) For every object c of C holds id_{C}(c) = c.

We now define three new predicates. The arguments of the notions defined below are the following: C, D which are categories; T which is a functor from C to D. The predicate T is an isomorphism is defined by:

T is one-to-one and rng T =the morphisms of D and rng(Obj T) =the objects of D. The predicate T is full is defined by:

for all objects c, c′ of C such that hom(T (c), T (c′)) ≠ ∅ for every morphism g from T (c) to T (c′) holds hom(c, c′) ≠ ∅ and there exists f being a morphism from c to c′ such that g = T (f). The predicate T is faithful is defined by:

for all objects c, c′ of C such that hom(c, c′) ≠ ∅ for all morphisms f_{1}, f_{2} from c to c′ such that T (f_{1}) = T (f_{2}) holds f_{1} = f_{2}.

One can prove the following propositions:

(119) For every functor T from C to D holds T is an isomorphism if and only if T is one-to-one and rng T =the morphisms of D and rng(Obj T) =the objects of D.

(120) For every functor T from C to D holds T is full if and only if for all objects c, c′ of C such that hom(T (c), T (c′)) ≠ ∅ for every morphism g from T (c) to T (c′) holds hom(c, c′) ≠ ∅ and there exists f being a morphism from c to c′ such that g = T (f).

(121) For every functor T from C to D holds T is faithful if and only if for all objects c, c′ of C such that hom(c, c′) ≠ ∅ for all morphisms f_{1}, f_{2} from c to c′ such that T (f_{1}) = T (f_{2}) holds f_{1} = f_{2}.

(122) id_{C} is an isomorphism.

(123) For every functor T from C to D for all objects c, c′ of C for arbitrary f such that f ∈ hom(c, c′) holds T (f) ∈ hom(T (c), T (c′)).

(124) For every functor T from C to D for all objects c, c′ of C such that hom(c, c′) ≠ ∅ for every morphism f from c to c′ holds T (f) ∈ hom(T (c), T (c′)).

(125) For every functor T from C to D for all objects c, c′ of C such that hom(c, c′) ≠ ∅ for every morphism f from c to c′ holds T (f) is a morphism from T (c) to T (c′).

(126) For every functor T from C to D for all objects c, c′ of C such that hom(c, c′) ≠ ∅ holds hom(T (c), T (c′)) ≠ ∅.

(127) For every functor T from B to C for every functor S from C to D such that T is full and S is full holds S · T is full.

(128) For every functor T from B to C for every functor S from C to D such that T is faithful and S is faithful holds S · T is faithful.

(129) For every functor T from C to D for all objects c, c′ of C holds T ^{∘}

hom(c, c′) ⊆ hom(T (c), T (c′)). The arguments of the notions defined below are the following: C, D which are

categories; T which is a functor from C to D; c, c′ which are objects of C. The functor T_{c,c′} yielding a function from hom(c, c′) into hom(T (c), T (c′)), is defined by:

T_{c,c′} = T hom(c, c′).

One can prove the following four propositions:

(130) For every functor T from C to D for all objects c, c′ of C holds T_{c,c′} = T hom(c, c′).

(131) For every functor T from C to D for all objects c, c′ of C such that hom(c, c′) ≠ ∅ for every morphism f from c to c′ holds T_{c,c′}(f) = T (f).

(132) For every functor T from C to D holds T is full if and only if for all objects c, c′ of C holds rng T_{c,c′} = hom(T (c), T (c′)).

(133) For every functor T from C to D holds T is faithful if and only if for all objects c, c′ of C holds T_{c,c′} is one-to-one.

References

[1] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[2] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 1990.

[3] Czesław Byliński. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

[4] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

[5] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

Introduction to Trees

Grzegorz Bancerek^{1} Warsaw University Białystok

Summary. The article consists of two parts: the first one deals with the concept of the prefixes of a finite sequence, the second one introduces and deals with the concept of tree. Besides some auxiliary propositions concerning finite sequences are presented. The trees are introduced as non-empty sets of finite sequences of natural numbers which are closed on prefixes and on sequences of less numbers (i.e. if ⟨n_{1}, n_{2}, …, n_{k}⟩ is a vertex (element) of a tree and m_{i} ≤ n_{i} for i = 1, 2, …, k, then ⟨m_{1}, m_{2}, …, m_{k}⟩ also is). Finite trees, elementary trees with n leaves, the leaves and the subtrees of a tree, the inserting of a tree into another tree, with a node used for detemining the place of insertion, antichains of prefixes, and height and width of finite trees are introduced.

MML Identifier: TREES 1.

The notation and terminology used in this paper have been introduced in the following papers: [8], [7], [2], [5], [4], [6], [3], and [1]. For simplicity we adopt the following rules: D is a non-empty set, X is a set, x, y are arbitrary, k, n are natural numbers, and p, q, r are finite sequences of elements of . We now state several propositions:

(1) For all finite sequences p, q such that q = p Seg n holds len q ≤ n.

(2) For all finite sequences p, q such that q = p Seg n holds len q ≤ len p.

(3) For all finite sequences p, r such that r = p Seg n there exists q being a finite sequence such that p = r^{}q.

(4) ε ≠ ⟨x⟩.

(5) For all finite sequences p, q such that p = p^{}q or p = q^{}p holds q = ε.

(6) For all finite sequences p, q such that p^{}q = ⟨x⟩ holds p = ⟨x⟩ and q = ε or p = ε and q = ⟨x⟩.

1Partially supported by Le Hodey Foundation. The part of this work had been done on Mizar Workshop ’89 (Fourdrain, France) in Summer ’89.

Let p, q be finite sequences. The predicate p ⪯ q is defined by:

there exists n such that p = q Seg n.

We now state a number of propositions:

(7) For all finite sequences p, q holds p ⪯ q if and only if there exists n such that p = q Seg n.

(8) For all finite sequences p, q holds p ⪯ q if and only if there exists r being a finite sequence such that q = p^{}r.

(9) For all finite sequences p, q such that p ⪯ q holds len p ≤ len q.

(10) For every finite sequence p holds ε ⪯ p and ε_{D} ⪯ p.

(11) For every finite sequence p such that p ⪯ ε holds p = ε.

(12) For every finite sequence p holds p ⪯ p.

(13) For all finite sequences p, q such that p ⪯ q and q ⪯ p holds p = q.

(14) For all finite sequences p, q, r such that p ⪯ q and q ⪯ r holds p ⪯ r.

(15) For all finite sequences p, q such that p ⪯ q and len p = len q holds p = q.

(16) ⟨x⟩ ⪯ ⟨y⟩ if and only if x = y.

We now define two new predicates. Let p, q be finite sequences. The predicate p and q are comparable is defined by:

p ⪯ q or q ⪯ p. The predicate p ≺ q is defined by:

p ⪯ q and p ≠ q.

One can prove the following propositions:

(17) For all finite sequences p, q holds p and q are comparable if and only if p ⪯ q or q ⪯ p.

(18) For all finite sequences p, q holds p ≺ q if and only if p ⪯ q and p ≠ q.

(19) For all finite sequences p, q such that p and q are comparable and len p = len q holds p = q.

(20) For all finite sequences p, q holds p ≺ q or p = q or q ≺ p if and only if p and q are comparable.

(21) For every finite sequence p holds p and p are comparable.

In the sequel p_{1}, p_{2} will be finite sequences. Next we state a number of propositions:

(22) If p_{1} and p_{2} are comparable, then p_{2} and p_{1} are comparable.

(23) ⟨x⟩ and ⟨y⟩ are comparable if and only if x = y.

(24) For all finite sequences p, q such that p ≺ q holds len p < len q.

(25) For no finite sequence p holds p ≺ ε or p ≺ ε_{D}.

(26) For no finite sequences p, q holds p ≺ q and q ≺ p.

(27) For all finite sequences p, q, r such that p ≺ q and q ≺ r or p ≺ q and q ⪯ r or p ⪯ q and q ≺ r holds p ≺ r.

(28) If p_{1} ⪯ p_{2}, then p_{2} p_{1}.

(29) If p_{1} ≺ p_{2}, then p_{2} p_{1}.

(30) If p_{1} ^{}⟨x⟩ ⪯ p_{2}, then p_{1} ≺ p_{2}.

Introduction to Trees 423

(31) If p_{1} ⪯ p_{2}, then p_{1} ≺ p_{2} ^{}⟨x⟩.

(32) If p_{1} ≺ p_{2} ^{}⟨x⟩, then p_{1} ⪯ p_{2}.

(33) If ε ≺ p_{2} or ε ≠ p_{2}, then p_{1} ≺ p_{1} ^{}p_{2}.

Let p be a finite sequence. The functor Seg_{⪯}(p) yielding a set, is defined by: x ∈ Seg_{⪯}(p) if and only if there exists q being a finite sequence such that

x = q and q ≺ p.

The following propositions are true:

(34) For every finite sequence p holds X = Seg_{⪯}(p) if and only if for every x holds x ∈ X if and only if there exists q being a finite sequence such that x = q and q ≺ p.

(35) For every finite sequence p such that x ∈ Seg_{⪯}(p) holds x is a finite sequence.

(36) For all finite sequences p, q holds p ∈ Seg_{⪯}(q) if and only if p ≺ q.

(37) For all finite sequences p, q such that p ∈ Seg_{⪯}(q) holds len p < len q.

(38) For all finite sequences p, q, r such that q^{}r ∈ Seg_{⪯}(p) holds q ∈ Seg_{⪯}(p).

(39) Seg_{⪯}(ε) = ∅.

(40) Seg_{⪯}(⟨x⟩) = {ε}.

(41) For all finite sequences p, q such that p ⪯ q holds Seg_{⪯}(p) ⊆ Seg_{⪯}(q).

(42) For all finite sequences p, q, r such that q ∈ Seg_{⪯}(p) and r ∈ Seg_{⪯}(p)

holds q and r are comparable. The mode tree, which widens to the type a non-empty set, is defined by: it ⊆ ^{∗} and for every p such that p ∈ it holds Seg_{⪯}(p) ⊆ it and for all p, k, n

such that p^{}⟨k⟩ ∈ it and n ≤ k holds p^{}⟨n⟩ ∈ it.

Next we state a proposition

(43) D is a tree if and only if D ⊆ ^{∗} and for every p such that p ∈ D holds Seg_{⪯}(p) ⊆ D and for all p, k, n such that p ^{}⟨k⟩ ∈ D and n ≤ k holds p^{}⟨n⟩ ∈ D.

In the sequel T, T_{1} denote trees. The following proposition is true

(44) If x ∈ T, then x is a finite sequence of elements of .

Let us consider T. We see that it makes sense to consider the following mode for restricted scopes of arguments. Then all the objests of the mode element of T are a finite sequence of elements of .

The following propositions are true:

(45) For all finite sequences p, q such that p ∈ T and q ⪯ p holds q ∈ T.

(46) For every finite sequence r such that q^{}r ∈ T holds q ∈ T.

(47) ε ∈ T and ε_{}∈ T.

(48) {ε} is a tree.

(49) T ∪ T_{1} is a tree.

(50) T ∩ T_{1} is a tree.

The mode finite tree, which widens to the type a tree, is defined by:

it is finite.

The following proposition is true

(51) T is a finite tree if and only if T is finite.

In the sequel fT, fT_{1} will be finite trees. Next we state two propositions:

(52) fT ∪ fT_{1} is a finite tree.

(53) fT ∩ T is a finite tree and T ∩ fT is a finite tree.

Let us consider n. The functor elementary tree of n yielding a finite tree, is defined by:

elementary tree of n = {⟨k⟩ : k < n} ∪ {ε}. The following propositions are true:

(54) fT = elementary tree of n if and only if fT = {⟨k⟩ : k < n} ∪ {ε}.

(55) If k < n, then ⟨k⟩ ∈ elementary tree of n.

(56) elementary tree of 0 = {ε}.

(57) If p ∈ elementary tree of n, then p = ε or there exists k such that k < n

and p = ⟨k⟩. We now define two new functors. Let us consider T. The functor Leaves T

yields a subset of T and is defined by:

p ∈ Leaves T if and only if p ∈ T and for no q holds q ∈ T and p ≺ q. Let us consider p. Let us assume that p ∈ T. The functor T p yields a tree and is defined by:

q ∈ T p if and only if p^{}q ∈ T. We now state three propositions:

(58) For every subset X of T holds X = Leaves T if and only if for every p holds p ∈ X if and only if p ∈ T and for no q holds q ∈ T and p ≺ q.

(59) If p ∈ T, then T_{1} = T p if and only if for every q holds q ∈ T_{1} if and only if p^{}q ∈ T.

(60) T ε_{}= T.

The arguments of the notions defined below are the following: T which is a finite tree; p which is an element of T. Then T p is a finite tree.

Let us consider T. Let us assume that Leaves T ≠ ∅. The mode leaf of T, which widens to the type an element of T, is defined by:

it ∈ Leaves T. We now state a proposition

(61) If Leaves T ≠ ∅, then for every element p of T holds p is a leaf of T if

and only if p ∈ Leaves T. Let us consider T. The mode subtree of T, which widens to the type a tree,

is defined by:

there exists p being an element of T such that it = T p. One can prove the following proposition

(62) T_{1} is a subtree of T if and only if there exists p being an element of T

such that T_{1} = T p. In the sequel t is an element of T. Let us consider T, p, T_{1}. Let us assume

that p ∈ T. The functor T (p/T_{1}) yields a tree and is defined by:

q ∈ T (p/T_{1}) if and only if q ∈ T and p q or there exists r such that r ∈ T_{1} and q = p^{}r.

In the sequel T_{2} is a tree. Next we state four propositions:

(63) If p ∈ T_{1}, then T = T_{1}(p/T_{2}) if and only if for every q holds q ∈ T if and only if q ∈ T_{1} and p q or there exists r such that r ∈ T_{2} and q = p^{}r.

(64) If p ∈ T, then T (p/T_{1}) = {t_{1} : p t_{1}} ∪ {p^{}s : s = s}.

(65) If p ∈ T and q ∈ T_{1}, then p^{}q ∈ T (p/T_{1}).

(66) If p ∈ T, then T_{1} = (T (p/T_{1})) p.

The arguments of the notions defined below are the following: T which is a finite tree; t which is an element of T; T_{1} which is a finite tree. Then T (t/T_{1}) is a finite tree.

In the sequel w will denote a finite sequence. The following two propositions are true:

(67) For every finite sequence p holds Seg_{⪯}(p) ≈ Seg(len p).

(68) For every finite sequence p holds card(Seg_{⪯}(p)) = len p.

The mode antichain of prefixes, which widens to the type a set, is defined by: for every x such that x ∈ it holds x is a finite sequence and for all p_{1}, p_{2} such

that p_{1} ∈ it and p_{2} ∈ it and p_{1} ≠ p_{2} holds p_{1} and p_{2} are not comparable.

Next we state three propositions:

(69) X is an antichain of prefixes if and only if for every x such that x ∈ X holds x is a finite sequence and for all p_{1}, p_{2} such that p_{1} ∈ X and p_{2} ∈ X and p_{1} ≠ p_{2} holds p_{1} and p_{2} are not comparable.

(70) {w} is an antichain of prefixes.

(71) If p_{1} and p_{2} are not comparable, then {p_{1}, p_{2}} is an antichain of prefixes. Let us consider T. The mode antichain of prefixes of T, which widens to the

type an antichain of prefixes, is defined by:

it ⊆ T. We now state a proposition

(72) For every antichain S of prefixes holds S is an antichain of prefixes of T

if and only if S ⊆ T. In the sequel t_{1}, t_{2} will be elements of T. The following three propositions are

true:

(73) ∅ is an antichain of prefixes of T and {ε} is an antichain of prefixes of T.

(74) {t} is an antichain of prefixes of T.

(75) If t_{1} and t_{2} are not comparable, then {t_{1}, t_{2}} is an antichain of prefixes

of T. We now define two new functors. Let T be a finite tree. The functor height T

yields a natural number and is defined by:

there exists p such that p ∈ T and len p = height T and for every p such that p ∈ T holds len p ≤ height T. The functor width T yielding a natural number, is defined by:

there exists X being an antichain of prefixes of T such that width T = card X and for every antichain Y of prefixes of T holds card Y ≤ card X.

We now state three propositions:

(76) For every finite tree T for every n holds n = height T if and only if there exists p such that p ∈ T and len p = n and for every p such that p ∈ T holds len p ≤ n.

(77) For every finite tree T for every n holds n = width T if and only if there exists X being an antichain of prefixes of T such that n = card X and for every antichain Y of prefixes of T holds card Y ≤ card X.

(78) 1 ≤ width fT.

The following propositions are true:

(79) height(elementary tree of 0) = 0.

(80) If height fT = 0, then fT = elementary tree of 0.

(81) height(elementary tree of(n + 1)) = 1.

(82) width(elementary tree of 0) = 1.

(83) width(elementary tree of(n + 1)) = n + 1.

(84) For every element t of fT holds height(fT t) ≤ height fT.

(85) For every element t of fT such that t ≠ ε holds height(fT t) <

height fT. The scheme Tree Ind deals with a unary predicate P and states that: for every fT holds P[fT]

provided the parameter satisfies the following condition:

• for every fT such that for every n such that ⟨n⟩ ∈ fT holds P[fT ⟨n⟩] holds P[fT].

References

[1] Grzegorz Bancerek. Cardinal numbers. Formalized Mathematics, 1(2):377– 382, 1990.

[2] Grzegorz Bancerek. The fundamental properties of natural numbers. Formalized Mathematics, 1(1):41–46, 1990.

[3] Grzegorz Bancerek. Zermelo theorem and axiom of choice. Formalized Mathematics, 1(2):265–267, 1990.

[4] Grzegorz Bancerek and Krzysztof Hryniewiecki. Segments of natural numbers and finite sequences. Formalized Mathematics, 1(1):107–114, 1990.

[5] Czesław Byliński. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

[6] Agata Darmochwał. Finite sets. Formalized Mathematics, 1(1):165–167, [7] Krzysztof Hryniewiecki. Basic properties of real numbers. Formalized Math-

ematics, 1(1):35–40, 1990.

[8] Andrzej Trybulec. Tarski Grothendieck set theory. Formalized Mathematics, 1(1):9–11, 1990.

428

Contents Form. Math. 1 (2)

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Families of Subsets, Subspaces and Mappings in Topological Spaces

By Agata Darmochwał . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

Some Properties of Functions Modul and Signum

By Jan Popiołek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

Zermelo Theorem and Axiom of Choice

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

Real Sequences and Basic Operations on Them

By Jarosław Kotowicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

Convergent Sequences and the Limit of Sequences

By Jarosław Kotowicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

Properties of ZF Models

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

Sequences of Ordinal Numbers

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

Vectors in Real Linear Space

By Wojciech A. Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

Subspaces and Cosets of Subspaces in Real Linear Space

By Wojciech A. Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

A First Order Language

By Piotr Rudnicki and Andrzej Trybulec . . . . . . . . . . . . . . . . 303

Partially Ordered Sets

By Wojciech A. Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

Recursive Definitions

By Krzysztof Hryniewiecki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

Continued on inside back cover

430 CONTENTS

Binary Operations Applied to Functions

By Andrzej Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

Abelian Groups, Fields and Vector Spaces

By Eugeniusz Kusak et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335

Parallelity Spaces

By Eugeniusz Kusak et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

Construction of a bilinear antisymmetric form in symplectic vector space

By Eugeniusz Kusak et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

Construction of a bilinear symmetric form in orthogonal vector space

By Eugeniusz Kusak et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353

Partial Functions

By Czesław Byliński . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357

Semilattice Operations on Finite Subsets

By Andrzej Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369

Cardinal Numbers

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

Compact Spaces

By Agata Darmochwał . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383

Kuratowski - Zorn Lemma

By Wojciech A. Trybulec and Grzegorz Bancerek . . . . . 387

Operations on Subspaces in Real Linear Space

By Wojciech A. Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395

σ-Fields and Probability

By Andrzej Ne‘dzusiak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401

Introduction to Categories and Functors

By Czesław Byliński . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409

Introduction to Trees

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421