FORMALIZED MATHEMATICS Volume 3, Number 2, 1992 Université Catholique de Louvain

The Jordan’s Property for Certain Subsets of the Plane

Yatsuka Nakamura Shinshu University Nagano Jarosław Kotowicz^{1} Warsaw University Białystok

Summary. Let S be a subset of the topological Euclidean plane E_{T}^{2}. We say that S has Jordan’s property if there exist two non-empty, disjoint and connected subsets G_{1} and G_{2} of E_{T}^{2} such that S^{c} = G_{1} ∪ G_{2} and \overline{G_{1}} \ G_{1} = \overline{G_{2}} \ G_{2} (see [19], [10]). The aim is to prove that the boundaries of some special polygons in E_{T}^{2} have this property (see Section 3). Moreover, it is proved that both the interior and the exterior of the boundary of any rectangle in E_{T}^{2} is open and connected.

MML Identifier: JORDAN1.

The articles [22], [24], [11], [17], [1], [4], [5], [20], [3], [16], [7], [15], [23], [18], [12], [2], [21], [14], [13], [8], [6], and [9] provide the notation and terminology for this paper.

1. Selected theorems on connected spaces

In the sequel G_{1}, G_{2} are topological spaces and A is a subset of G_{1}. The following propositions are true:

(1) If A ≠ ∅, then the carrier of G_{1} A = A.

(2) For every topological space G_{1} if for every points x, y of G_{1} there exists G_{2} such that G_{2} is connected and there exists a map f from G_{2} into G_{1} such that f is continuous and x ∈ rng f and y ∈ rng f, then G_{1} is connected.

The following propositions are true:

1The article was written during my visit at Shinshu University in 1992.

(3) For every topological space G_{1} if for all points x, y of G_{1} such that x ≠ y there exists a map h from into G_{1} such that h is continuous and x = h(0) and y = h(1), then G_{1} is connected.

(4) Let A be a subset of G_{1}. Then if A ≠ ∅_{G_{1}} and for all points x_{1}, y_{1} of G_{1} such that x_{1} ∈ A and y_{1} ∈ A and x_{1} ≠ y_{1} there exists a map h from into G_{1} A such that h is continuous and x_{1} = h(0) and y_{1} = h(1), then A is connected.

(5) For every G_{1} and for every subset A_{0} of G_{1} and for every subset A_{1} of G_{1} such that A_{0} is connected and A_{1} is connected and A_{0} ∩ A_{1} ≠ ∅ holds A_{0} ∪ A_{1} is connected.

(6) For every G_{1} and for all subsets A_{0}, A_{1}, A_{2} of G_{1} such that A_{0} is connected and A_{1} is connected and A_{2} is connected and A_{0} ∩ A_{1} ≠ ∅ and A_{1} ∩ A_{2} ≠ ∅ holds A_{0} ∪ A_{1} ∪ A_{2} is connected.

(7) For every G_{1} and for all subsets A_{0}, A_{1}, A_{2}, A_{3} of G_{1} such that A_{0} is connected and A_{1} is connected and A_{2} is connected and A_{3} is connected and A_{0} ∩A_{1} ≠ ∅ and A_{1} ∩A_{2} ≠ ∅ and A_{2} ∩A_{3} ≠ ∅ holds A_{0} ∪A_{1} ∪A_{2} ∪A_{3} is connected.

2. Certain connected and open subsets in the Euclidean plane

We follow a convention: P, Q, P_{1}, P_{2} denote subsets of E_{T}^{2} and w_{1}, w_{2} denote points of E_{T}^{2}. One can prove the following proposition

(8) For every P such that P ≠ ∅_{E_{T}^{2}} and for all w_{1}, w_{2} such that w_{1} ∈ P and w_{2} ∈ P and w_{1} ≠ w_{2} holds L(w_{1}, w_{2}) ⊆ P holds P is connected.

We adopt the following rules: p_{1}, p_{2} will be points of E_{T}^{2} and s_{1}, t_{1}, s_{2}, t_{2}, s, t, s_{3}, t_{3}, s_{4}, t_{4}, s_{5}, t_{5}, s_{6}, t_{6}, l, s_{7}, t_{7} will be real numbers. Next we state two propositions:

(9) If s_{1} < s_{3} and s_{1} < s_{4} and 0 ≤ l and l ≤ 1, then s_{1} < (1 − l) · s_{3} + l · s_{4}.

(10) If s_{3} < s_{1} and s_{4} < s_{1} and 0 ≤ l and l ≤ 1, then (1 − l) · s_{3} + l · s_{4} < s_{1}. In the sequel s_{8}, t_{8} denote real numbers. The following propositions are true:

(11) {[s, t] : s_{1} < s ∧ s < s_{2} ∧ t_{1} < t ∧ t < t_{2}} = {[s_{3}, t_{3}] : s_{1} < s_{3}} ∩ {[s_{4}, t_{4}] : s_{4} < s_{2}} ∩ {[s_{5}, t_{5}] : t_{1} < t_{5}} ∩ {[s_{6}, t_{6}] : t_{6} < t_{2}}.

(12) {[s, t] : ¬(s_{1} ≤ s ∧ s ≤ s_{2} ∧ t_{1} ≤ t ∧ t ≤ t_{2})} = {[s_{3}, t_{3}] : s_{3} < s_{1}} ∪ {[s_{4}, t_{4}] : t_{4} < t_{1}} ∪ {[s_{5}, t_{5}] : s_{2} < s_{5}} ∪ {[s_{6}, t_{6}] : t_{2} < t_{6}}.

(13) For all s_{1}, t_{1}, s_{2}, t_{2}, P such that s_{1} < s_{2} and t_{1} < t_{2} and P = {[s, t] : s_{1} < s ∧ s < s_{2} ∧ t_{1} < t ∧ t < t_{2}} holds P is connected.

(14) For all s_{1}, P such that P = {[s, t] : s_{1} < s} holds P is connected.

(15) For all s_{2}, P such that P = {[s, t] : s < s_{2}} holds P is connected.

(16) For all t_{1}, P such that P = {[s, t] : t_{1} < t} holds P is connected.

(17) For all t_{2}, P such that P = {[s, t] : t < t_{2}} holds P is connected.

(18) For all s_{1}, t_{1}, s_{2}, t_{2}, P such that P = {[s, t] : ¬(s_{1} ≤ s ∧ s ≤ s_{2} ∧ t_{1} ≤ t ∧ t ≤ t_{2})} holds P is connected.

(19) For all s_{1}, P such that P = {[s, t] : s_{1} < s} holds P is open.

(20) For all s_{1}, P such that P = {[s, t] : s_{1} > s} holds P is open.

(21) For all s_{1}, P such that P = {[s, t] : s_{1} < t} holds P is open.

(22) For all s_{1}, P such that P = {[s, t] : s_{1} > t} holds P is open.

(23) For all s_{1}, t_{1}, s_{2}, t_{2}, P such that P = {[s, t] : s_{1} < s ∧ s < s_{2} ∧ t_{1} < t ∧ t < t_{2}} holds P is open.

(24) For all s_{1}, t_{1}, s_{2}, t_{2}, P such that P = {[s, t] : ¬(s_{1} ≤ s ∧ s ≤ s_{2} ∧ t_{1} ≤ t ∧ t ≤ t_{2})} holds P is open.

(25) Given s_{1}, t_{1}, s_{2}, t_{2}, P, Q. Suppose P = {[s_{7}, t_{7}] : s_{1} < s_{7}∧s_{7} < s_{2}∧t_{1} < t_{7} ∧ t_{7} < t_{2}} and Q = {[s_{8}, t_{8}] : ¬(s_{1} ≤ s_{8} ∧ s_{8} ≤ s_{2} ∧ t_{1} ≤ t_{8} ∧ t_{8} ≤ t_{2})}. Then P ∩ Q = ∅_{E_{T}^{2}}.

(26) For all real numbers s_{1}, s_{2}, t_{1}, t_{2} holds {p : s_{1} < p_{1} ∧ p_{1} < s_{2} ∧ t_{1} < p_{2} ∧ p_{2} < t_{2}} = {[s_{7}, t_{7}] : s_{1} < s_{7} ∧ s_{7} < s_{2} ∧ t_{1} < t_{7} ∧ t_{7} < t_{2}}, where p ranges over points of E_{T}^{2}.

(27) For all s_{1}, s_{2}, t_{1}, t_{2} holds {q_{1} : ¬(s_{1} ≤ q_{1}_{1} ∧ q_{1}_{1} ≤ s_{2} ∧ t_{1} ≤ q_{1}_{2} ∧ q_{1}_{2} ≤ t_{2})} = {[s_{8}, t_{8}] : ¬(s_{1} ≤ s_{8} ∧ s_{8} ≤ s_{2} ∧ t_{1} ≤ t_{8} ∧ t_{8} ≤ t_{2})}, where q_{1} ranges over points of E_{T}^{2}.

(28) For all s_{1}, s_{2}, t_{1}, t_{2} holds {p_{0} : s_{1} < p_{0}_{1}∧p_{0}_{1} < s_{2}∧t_{1} < p_{0}_{2}∧p_{0}_{2} < t_{2}}, where p_{0} ranges over points of E_{T}^{2}, is a subset of E_{T}^{2}.

(29) For all s_{1}, s_{2}, t_{1}, t_{2} holds {p_{3} : ¬(s_{1} ≤ p_{3}_{1} ∧ p_{3}_{1} ≤ s_{2} ∧ t_{1} ≤ p_{3}_{2} ∧ p_{3}_{2} ≤ t_{2})}, where p_{3} ranges over points of E_{T}^{2}, is a subset of E_{T}^{2}.

(30) For all s_{1}, t_{1}, s_{2}, t_{2}, P such that s_{1} < s_{2} and t_{1} < t_{2} and P = {p_{0} : s_{1} < p_{0}_{1} ∧ p_{0}_{1} < s_{2} ∧ t_{1} < p_{0}_{2} ∧ p_{0}_{2} < t_{2}}, where p_{0} ranges over points of E_{T}^{2} holds P is connected.

(31) For all s_{1}, t_{1}, s_{2}, t_{2}, P such that P = {p_{3} : ¬(s_{1} ≤ p_{3}_{1} ∧ p_{3}_{1} ≤ s_{2} ∧ t_{1} ≤ p_{3}_{2} ∧ p_{3}_{2} ≤ t_{2})}, where p_{3} ranges over points of E_{T}^{2} holds P is connected.

(32) For all s_{1}, t_{1}, s_{2}, t_{2}, P such that P = {p_{0} : s_{1} < p_{0}_{1} ∧ p_{0}_{1} < s_{2} ∧ t_{1} < p_{0}_{2} ∧ p_{0}_{2} < t_{2}}, where p_{0} ranges over points of E_{T}^{2} holds P is open.

(33) For all s_{1}, t_{1}, s_{2}, t_{2}, P such that P = {p_{3} : ¬(s_{1} ≤ p_{3}_{1} ∧ p_{3}_{1} ≤ s_{2} ∧ t_{1} ≤ p_{3}_{2} ∧ p_{3}_{2} ≤ t_{2})}, where p_{3} ranges over points of E_{T}^{2} holds P is open.

(34) Given s_{1}, t_{1}, s_{2}, t_{2}, P, Q. Suppose P = {p : s_{1} < p_{1} ∧ p_{1} < s_{2} ∧ t_{1} < p_{2} ∧ p_{2} < t_{2}}, where p ranges over points of E_{T}^{2} and Q = {q_{1} : ¬(s_{1} ≤ q_{1}_{1} ∧ q_{1}_{1} ≤ s_{2} ∧ t_{1} ≤ q_{1}_{2} ∧ q_{1}_{2} ≤ t_{2})}, where q_{1} ranges over points of E_{T}^{2}. Then P ∩ Q = ∅_{E_{T}^{2}}.

(35) Given s_{1}, t_{1}, s_{2}, t_{2}, P, P_{1}, P_{2}. Suppose that (i) s_{1} < s_{2}, (ii) t_{1} < t_{2}, (iii) P = {p : p_{1} = s_{1} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} =

t_{2} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} = t_{1} ∨ p_{1} = s_{2} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1}}, where p ranges over points of E_{T}^{2}, (iv) P_{1} = {p_{1} : s_{1} < p_{1}_{1} ∧ p_{1}_{1} < s_{2} ∧ t_{1} < p_{1}_{2} ∧ p_{1}_{2} < t_{2}}, where p_{1} ranges

over points of E_{T}^{2},

(v) P_{2} = {p_{2} : ¬(s_{1} ≤ p_{2}_{1} ∧ p_{2}_{1} ≤ s_{2} ∧ t_{1} ≤ p_{2}_{2} ∧ p_{2}_{2} ≤ t_{2})}, where p_{2} ranges over points of E_{T}^{2}. Then

(vi) P^{c} = P_{1} ∪ P_{2}, (vii) P^{c} ≠ ∅, (viii) P_{1} ∩ P_{2} = ∅, (ix) for all subsets P_{3}, P_{4} of (E_{T}^{2}) P^{c} such that P_{3} = P_{1} and P_{4} = P_{2} holds

P_{3} is a component of (E_{T}^{2}) P^{c} and P_{4} is a component of (E_{T}^{2}) P^{c}.

(36) Given s_{1}, t_{1}, s_{2}, t_{2}, P, P_{1}, P_{2}. Suppose that (i) s_{1} < s_{2}, (ii) t_{1} < t_{2}, (iii) P = {p : p_{1} = s_{1} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} =

t_{2} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} = t_{1} ∨ p_{1} = s_{2} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1}}, where p ranges over points of E_{T}^{2},

(iv) P_{1} = {p_{1} : s_{1} < p_{1}_{1} ∧ p_{1}_{1} < s_{2} ∧ t_{1} < p_{1}_{2} ∧ p_{1}_{2} < t_{2}}, where p_{1} ranges

over points of E_{T}^{2},

(v) P_{2} = {p_{2} : ¬(s_{1} ≤ p_{2}_{1} ∧ p_{2}_{1} ≤ s_{2} ∧ t_{1} ≤ p_{2}_{2} ∧ p_{2}_{2} ≤ t_{2})}, where p_{2} ranges over points of E_{T}^{2}. Then P = \overline{P_{1}} \ P_{1} and P = \overline{P_{2}} \ P_{2}.

(37) Given s_{1}, s_{2}, t_{1}, t_{2}, P, P_{1}. Suppose that (i) s_{1} < s_{2}, (ii) t_{1} < t_{2}, (iii) P = {p : p_{1} = s_{1} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} =

t_{2} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} = t_{1} ∨ p_{1} = s_{2} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1}}, where p ranges over points of E_{T}^{2},

(iv) P_{1} = {p_{1} : s_{1} < p_{1}_{1} ∧ p_{1}_{1} < s_{2} ∧ t_{1} < p_{1}_{2} ∧ p_{1}_{2} < t_{2}}, where p_{1} ranges over points of E_{T}^{2}. Then P_{1} ⊆ Ω_{(E_{T}^{2}) P^{c}}.

(38) Given s_{1}, s_{2}, t_{1}, t_{2}, P, P_{1}. Suppose that (i) s_{1} < s_{2}, (ii) t_{1} < t_{2}, (iii) P = {p : p_{1} = s_{1} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} =

t_{2} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} = t_{1} ∨ p_{1} = s_{2} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1}}, where p ranges over points of E_{T}^{2},

(iv) P_{1} = {p_{1} : s_{1} < p_{1}_{1} ∧ p_{1}_{1} < s_{2} ∧ t_{1} < p_{1}_{2} ∧ p_{1}_{2} < t_{2}}, where p_{1} ranges over points of E_{T}^{2}. Then P_{1} is a subset of (E_{T}^{2}) P^{c}.

(39) Given s_{1}, s_{2}, t_{1}, t_{2}, P, P_{2}. Suppose that (i) s_{1} < s_{2}, (ii) t_{1} < t_{2}, (iii) P = {p : p_{1} = s_{1} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} =

t_{2} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} = t_{1} ∨ p_{1} = s_{2} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1}}, where p ranges over points of E_{T}^{2},

(iv) P_{2} = {p_{2} : ¬(s_{1} ≤ p_{2}_{1} ∧ p_{2}_{1} ≤ s_{2} ∧ t_{1} ≤ p_{2}_{2} ∧ p_{2}_{2} ≤ t_{2})}, where p_{2} ranges over points of E_{T}^{2}. Then P_{2} ⊆ Ω_{(E_{T}^{2}) P^{c}}.

(40) Given s_{1}, s_{2}, t_{1}, t_{2}, P, P_{2}. Suppose that (i) s_{1} < s_{2}, (ii) t_{1} < t_{2}, (iii) P = {p : p_{1} = s_{1} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} =

t_{2} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} = t_{1} ∨ p_{1} = s_{2} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1}}, where p ranges over points of E_{T}^{2},

(iv) P_{2} = {p_{2} : ¬(s_{1} ≤ p_{2}_{1} ∧ p_{2}_{1} ≤ s_{2} ∧ t_{1} ≤ p_{2}_{2} ∧ p_{2}_{2} ≤ t_{2})}, where p_{2} ranges over points of E_{T}^{2}. Then P_{2} is a subset of (E_{T}^{2}) P^{c}.

3. Jordan’s property

In the sequel S, A_{1}, A_{2} will be subsets of E_{T}^{2}. Let us consider S. We say that S has Jordan’s property if and only if the conditions (Def.1) is satisfied.

(Def.1) (i) S^{c} ≠ ∅,

(ii) there exist A_{1}, A_{2} such that S^{c} = A_{1} ∪ A_{2} and A_{1} ∩ A_{2} = ∅ and \overline{A_{1}} \ A_{1} = \overline{A_{2}} \ A_{2} and for all subsets C_{1}, C_{2} of (E_{T}^{2}) S^{c} such that C_{1} = A_{1} and C_{2} = A_{2} holds C_{1} is a component of (E_{T}^{2}) S^{c} and C_{2} is a component of (E_{T}^{2}) S^{c}.

The following propositions are true:

(41) Suppose S has Jordan’s property. Then (i) S^{c} ≠ ∅, (ii) there exist subsets A_{1}, A_{2} of E_{T}^{2} and there exist subsets C_{1}, C_{2} of

(E_{T}^{2}) S^{c} such that S^{c} = A_{1} ∪ A_{2} and A_{1} ∩ A_{2} = ∅ and \overline{A_{1}} \ A_{1} = \overline{A_{2}} \ A_{2} and C_{1} = A_{1} and C_{2} = A_{2} and C_{1} is a component of (E_{T}^{2}) S^{c} and C_{2} is a component of (E_{T}^{2}) S^{c} and for every subset C_{3} of (E_{T}^{2}) S^{c} such that C_{3} is a component of (E_{T}^{2}) S^{c} holds C_{3} = C_{1} or C_{3} = C_{2}.

(42) Given s_{1}, s_{2}, t_{1}, t_{2}, P. Suppose that (i) s_{1} < s_{2}, (ii) t_{1} < t_{2}, (iii) P = {p : p_{1} = s_{1} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} =

t_{2} ∨ p_{1} ≤ s_{2} ∧ p_{1} ≥ s_{1} ∧ p_{2} = t_{1} ∨ p_{1} = s_{2} ∧ p_{2} ≤ t_{2} ∧ p_{2} ≥ t_{1}}, where p ranges over points of E_{T}^{2}. Then P has Jordan’s property.

142 yatsuka nakamura and jarosław kotowicz

References

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

[2] Leszek Borys. Paracompact and metrizable spaces. Formalized Mathematics, 2(4):481– 485, 1991.

[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] Agata Darmochwał. The Euclidean space. Formalized Mathematics, 2(4):599–603, 1991.

[7] Agata Darmochwał. Families of subsets, subspaces and mappings in topological spaces. Formalized Mathematics, 1(2):257–261, 1990.

[8] Agata Darmochwał and Yatsuka Nakamura. Metric spaces as topological spaces - fundamental concepts. Formalized Mathematics, 2(4):605–608, 1991.

[9] Agata Darmochwał and Yatsuka Nakamura. The topological space E_{T}^{2}. Arcs, line segments and special polygonal arcs. Formalized Mathematics, 2(5):617–621, 1991.

[10] Dick Wick Hall and Guilford L.Spencer II. Elementary Topology. John Wiley and Sons Inc., 1955.

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

[12] Stanisława Kanas, Adam Lecko, and Mariusz Startek. Metric spaces. Formalized Mathematics, 1(3):607–610, 1990.

[13] Jarosław Kotowicz. Convergent real sequences. Upper and lower bound of sets of real numbers. Formalized Mathematics, 1(3):477–481, 1990.

[14] Jarosław Kotowicz. Convergent sequences and the limit of sequences. Formalized Mathematics, 1(2):273–275, 1990.

[15] Beata Padlewska. Connected spaces. Formalized Mathematics, 1(1):239–244, 1990.

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

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

[18] Konrad Raczkowski and Paweł Sadowski. Topological properties of subsets in real numbers. Formalized Mathematics, 1(4):777–780, 1990.

[19] Yukio Takeuchi and Yatsuka Nakamura. On the Jordan curve theorem. Technical Report 19804, Dept. of Information Eng., Shinshu University, 500 Wakasato, Nagano city, Japan, April 1980.

[20] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

[21] Andrzej Trybulec. A Borsuk theorem on homotopy types. Formalized Mathematics, 2(4):535–545, 1991.

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

[23] Andrzej Trybulec and Czesław Byliński. Some properties of real numbers. Formalized Mathematics, 1(3):445–449, 1990.

[24] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

Received August 24, 1992

The Lattice of Domains of an Extremally Disconnected Space ^{1}

Zbigniew Karno Warsaw University Białystok

Summary. Let X be a topological space and let A be a subset of X. Recall that A is said to be a domain in X provided Int \overline{A} ⊆ A ⊆ \overline{Int A} (see [24], [11]). Recall also that A is said to be a(n) closed (open) domain in X if A = \overline{Int A} (A = Int \overline{A}, resp.) (see e.g. [14], [24]). It is well-known that for a given topological space all its closed domains form a Boolean lattice, and similarly all its open domains form a Boolean lattice, too (see e.g., [15], [3]). In [23] it is proved that all domains of a given topological space form a complemented lattice. One may ask whether the lattice of all domains is Boolean. The aim is to give an answer to this question.

To present the main results we first recall the definition of a class of topological spaces which is important here. X is called extremally disconnected if for every open subset A of X the closure \overline{A} is open in X [18] (comp. [10]). It is shown here, using Mizar System, that the lattice of all domains of a topological space X is modular iff X is extremally disconnected. Moreover, for every extremally disconnected space the lattice of all its domains coincides with both the lattice of all its closed domains and the lattice of all its open domains. From these facts it follows that the lattice of all domains of a topological space X is Boolean iff X is extremally disconnected.

Note that we also review some of the standard facts on discrete, anti-discrete, almost discrete, extremally disconnected and hereditarily extremally disconnected topological spaces (comp. [14], [10]).

MML Identifier: TDLAT 3.

The notation and terminology used in this paper are introduced in the following articles: [20], [22], [21], [16], [6], [7], [17], [24], [9], [4], [19], [12], [5], [25], [8], [2], [1], [23], and [13].

1Editor’s Note: This work has won the 1992 Śleszyński’s Award of the Mizar Society.

1. Selected Properties of Subsets of a Topological Space

In the sequel X will be a topological space. We now state the proposition

(1) For every set B and for every subset A of X such that B ⊆ A holds B is a subset of X.

In the sequel C denotes a subset of X. We now state three propositions:

(2) \overline{C} = (Int(C^{c}))^{c}.

(3) \overline{C^{c}} = (Int C)^{c}.

(4) Int(C^{c}) = \overline{C}^{c}. In the sequel A, B denote subsets of X. Next we state several propositions:

(5) If A ∩ B = ∅, then if A is open, then A ∩ \overline{B} = ∅ and also if B is open, then \overline{A} ∩ B = ∅.

(6) If A ∪ B = the carrier of X, then if A is closed, then A ∪ Int B = the carrier of X and also if B is closed, then Int A ∪ B = the carrier of X.

(7) A is open and A is closed if and only if \overline{A} = Int A.

(8) If A is open and A is closed, then Int \overline{A} = \overline{Int A}.

(9) If A is a domain and \overline{Int A} ⊆ Int \overline{A}, then A is an open domain and A is a closed domain.

(10) If A is a domain and \overline{Int A} ⊆ Int \overline{A}, then A is open and A is closed.

(11) If A is a domain, then Int \overline{A} = Int A and \overline{A} = \overline{Int A}.

2. Discrete Topological Structures

We now define two new attributes. A topological structure is discrete if: (Def.1) the topology of it = 2^{the carrier of it}. A topological structure is anti-discrete if: (Def.2) the topology of it = {∅, the carrier of it}.

Next we state two propositions:

(12) For every Y being a topological structure such that Y is discrete and Y is anti-discrete holds 2^{the carrier of Y} = {∅, the carrier of Y }.

(13) For every Y being a topological structure such that ∅ ∈ the topology of Y and the carrier of Y ∈ the topology of Y holds if 2^{the carrier of Y} = {∅, the carrier of Y }, then Y is discrete and Y is anti-discrete.

Let us mention that there exists a topological structure which is discrete anti-discrete and strict.

Next we state two propositions:

(14) For every Y being a discrete topological structure and for every subset A of the carrier of Y holds (the carrier of Y) \ A ∈ the topology of Y.

(15) For every Y being an anti-discrete topological structure and for every subset A of the carrier of Y such that A ∈ the topology of Y holds (the carrier of Y) \ A ∈ the topology of Y.

Let us observe that every topological structure which is discrete is also topological space-like and every anti-discrete topological structure is topological space-like.

One can prove the following proposition

(16) For every Y being a topological space-like topological structure such that 2^{the carrier of Y} = {∅, the carrier of Y } holds Y is discrete and Y is anti-discrete.

A topological structure is almost discrete if: (Def.3) for every subset A of the carrier of it such that A ∈ the topology of it

holds (the carrier of it) \ A ∈ the topology of it. One can verify the following observations:

∗ every topological structure which is discrete is also almost discrete,

∗ every topological structure which is anti-discrete is also almost discrete, and

∗ there exists an almost discrete strict topological structure.

3. Discrete Topological Spaces

Let us mention that there exists a discrete anti-discrete strict topological space.

In the sequel X denotes a topological space. Next we state three propositions:

(17) X is discrete if and only if every subset of X is open.

(18) X is discrete if and only if every subset of X is closed.

(19) If for every subset A of X and for every point x of X such that A = {x}

holds A is open, then X is discrete. Let X be a discrete topological space. Note that every subspace of X is open

closed and discrete.

Let X be a discrete topological space. Observe that there exists a discrete strict subspace of X.

Next we state three propositions:

(20) X is anti-discrete if and only if for every subset A of X such that A is open holds A = ∅ or A = the carrier of X.

(21) X is anti-discrete if and only if for every subset A of X such that A is closed holds A = ∅ or A = the carrier of X.

(22) If for every subset A of X and for every point x of X such that A = {x}

holds \overline{A} = the carrier of X, then X is anti-discrete. Let X be an anti-discrete topological space. Observe that every subspace of

X is anti-discrete.

Let X be an anti-discrete topological space. Note that there exists an antidiscrete subspace of X.

One can prove the following propositions:

(23) X is almost discrete if and only if for every subset A of X such that A is open holds A is closed.

(24) X is almost discrete if and only if for every subset A of X such that A is closed holds A is open.

(25) X is almost discrete if and only if for every subset A of X such that A is open holds \overline{A} = A.

(26) X is almost discrete if and only if for every subset A of X such that A

is closed holds Int A = A. Let us observe that there exists an almost discrete strict topological space. One can prove the following two propositions:

(27) If for every subset A of X and for every point x of X such that A = {x} holds \overline{A} is open, then X is almost discrete.

(28) X is discrete if and only if X is almost discrete and for every subset A

of X and for every point x of X such that A = {x} holds A is closed. Let us observe that every discrete topological space is almost discrete and

every anti-discrete topological space is almost discrete.

Let X be an almost discrete topological space. Observe that every subspace of X is almost discrete.

Let X be an almost discrete topological space. One can verify that every open subspace of X is closed and every closed subspace of X is open.

Let X be an almost discrete topological space. Note that there exists a subspace of X which is almost discrete and strict.

4. Extremally Disconnected Topological Spaces

A topological space is extremally disconnected if: (Def.4) for every subset A of it such that A is open holds \overline{A} is open. Let us note that there exists a topological space which is extremally disconnected and strict.

In the sequel X denotes a topological space. The following propositions are true:

(29) X is extremally disconnected if and only if for every subset A of X such that A is closed holds Int A is closed.

(30) X is extremally disconnected if and only if for all subsets A, B of X such that A is open and B is open holds if A ∩ B = ∅, then \overline{A} ∩ \overline{B} = ∅.

(31) X is extremally disconnected if and only if for all subsets A, B of X such that A is closed and B is closed holds if A ∪ B = the carrier of X, then Int A ∪ Int B = the carrier of X.

(32) X is extremally disconnected if and only if for every subset A of X such that A is open holds \overline{A} = Int \overline{A}.

(33) X is extremally disconnected if and only if for every subset A of X such that A is closed holds Int A = \overline{Int A}.

(34) X is extremally disconnected if and only if for every subset A of X such that A is a domain holds A is closed and A is open.

(35) X is extremally disconnected if and only if for every subset A of X such that A is a domain holds A is a closed domain and A is an open domain.

(36) X is extremally disconnected if and only if for every subset A of X such that A is a domain holds Int \overline{A} = \overline{Int A}.

(37) X is extremally disconnected if and only if for every subset A of X such that A is a domain holds Int A = \overline{A}.

(38) X is extremally disconnected if and only if for every subset A of X holds if A is an open domain, then A is a closed domain and also if A is a closed domain, then A is an open domain.

A topological space is hereditarily extremally disconnected if:

(Def.5) every subspace of it is extremally disconnected. One can check the following observations:

∗ there exists a hereditarily extremally disconnected strict topological space,

∗ every hereditarily extremally disconnected topological space is extremally disconnected, and

∗ every topological space which is almost discrete is also hereditarily extremally disconnected.

One can prove the following proposition

(39) For every extremally disconnected topological space X and for every subspace X_{0} of X and for every subset A of X such that A = the carrier of X_{0} and A is dense holds X_{0} is extremally disconnected.

Let X be an extremally disconnected topological space. One can check that every open subspace of X is extremally disconnected.

Let X be an extremally disconnected topological space. Note that there exists an extremally disconnected strict subspace of X.

Let X be a hereditarily extremally disconnected topological space. Note that every subspace of X is hereditarily extremally disconnected.

Let X be a hereditarily extremally disconnected topological space. Note that there exists a hereditarily extremally disconnected strict subspace of X.

One can prove the following proposition

(40) If every closed subspace of X is extremally disconnected, then X is hereditarily extremally disconnected.

5. The Lattice of Domains of Extremally Disconnected Spaces

In the sequel Y is an extremally disconnected topological space. The following propositions are true:

(41) The domains of Y = the closed domains of Y.

(42) D-Union(Y) = CLD-Union(Y) and D-Meet(Y) = CLD-Meet(Y).

(43) The lattice of domains of Y = the lattice of closed domains of Y.

(44) The domains of Y = the open domains of Y.

(45) D-Union(Y) = OPD-Union(Y) and D-Meet(Y) = OPD-Meet(Y).

(46) The lattice of domains of Y = the lattice of open domains of Y.

(47) For all elements A, B of the domains of Y holds (D-Union(Y))(A, B) = A ∪ B and (D-Meet(Y))(A, B) = A ∩ B.

(48) For all elements a, b of the lattice of domains of Y and for all elements A, B of the domains of Y such that a = A and b = B holds a ⊔ b = A ∪ B and a ⊓ b = A ∩ B.

(49) For every family F of subsets of Y such that F is domains-family and for every subset S of the lattice of domains of Y such that S = F holds ⨆_{(the lattice of domains of Y)} S = \overline{⋃ F}.

(50) For every family F of subsets of Y such that F is domains-family and for every subset S of the lattice of domains of Y such that S = F holds if S ≠ ∅, then ⌈−⌉_{(the lattice of domains of Y)}S = Int ⋂ F and also if S = ∅, then ⌈−⌉_{(the lattice of domains of Y)}S = Ω_{Y}.

In the sequel X will denote a topological space. One can prove the following propositions:

(51) X is extremally disconnected if and only if the lattice of domains of X is a modular lattice.

(52) If the lattice of domains of X = the lattice of closed domains of X, then X is extremally disconnected.

(53) If the lattice of domains of X = the lattice of open domains of X, then X is extremally disconnected.

(54) If the lattice of closed domains of X = the lattice of open domains of X, then X is extremally disconnected.

(55) X is extremally disconnected if and only if the lattice of domains of X is a Boolean lattice.

Acknowledgments

The author wishes to thank to Professor A. Trybulec for many helpful conversations during the preparation of this paper. The author is also very grateful to Cz. Byliński for acquainting him with new PC Mizar utilities programs. the lattice of domains … 149

References

[1] Grzegorz Bancerek. Complete lattices. Formalized Mathematics, 2(5):719–725, 1991.

[2] Grzegorz Bancerek. Filters - part II. Quotient lattices modulo filters and direct product of two lattices. Formalized Mathematics, 2(3):433–438, 1991.

[3] Garrett Birkhoff. Lattice Theory. Providence, Rhode Island, New York, 1967.

[4] Leszek Borys. Paracompact and metrizable spaces. Formalized Mathematics, 2(4):481– 485, 1991.

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

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

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

[8] Marek Chmur. The lattice of natural numbers and the sublattice of it. The set of prime numbers. Formalized Mathematics, 2(4):453–459, 1991.

[9] Agata Darmochwał. Families of subsets, subspaces and mappings in topological spaces. Formalized Mathematics, 1(2):257–261, 1990.

[10] Ryszard Engelking. General Topology. Volume 60 of Monografie Matematyczne, PWN - Polish Scientific Publishers, Warsaw, 1977.

[11] Yoshinori Isomichi. New concepts in the theory of topological space – supercondensed set, subcondensed set, and condensed set. Pacific Journal of Mathematics, 38(3):657– 668, 1971.

[12] Zbigniew Karno. Separated and weakly separated subspaces of topological spaces. Formalized Mathematics, 2(5):665–674, 1991.

[13] Zbigniew Karno and Toshihiko Watanabe. Completeness of the lattices of domains of a topological space. Formalized Mathematics, 3(1):71–79, 1992.

[14] Kazimierz Kuratowski. Topology. Volume I, PWN - Polish Scientific Publishers, Academic Press, Warsaw, New York and London, 1966.

[15] Kazimierz Kuratowski and Andrzej Mostowski. Set Theory (with an introduction to descriptive set theory). Volume 86 of Studies in Logic and The Foundations of Mathematics, PWN - Polish Scientific Publishers and North-Holland Publishing Company, Warsaw-Amsterdam, 1976.

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

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

[18] M. H. Stone. Algebraic characterizations of special boolean rings. Fundamenta Mathematicae, 29:223–303, 1937.

[19] Andrzej Trybulec. A Borsuk theorem on homotopy types. Formalized Mathematics, 2(4):535–545, 1991.

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

[21] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

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

[23] Toshihiko Watanabe. The lattice of domains of a topological space. Formalized Mathematics, 3(1):41–46, 1992.

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

[25] Stanisław Żukowski. Introduction to lattice theory. Formalized Mathematics, 1(1):215– 222, 1990.

Received August 27, 1992 150

A Mathematical Model of CPU

Yatsuka Nakamura Shinshu University Nagano Andrzej Trybulec^{1} Warsaw University Białystok

Summary. This paper is based on a previous work of the first author [12] in which a mathematical model of the computer has been presented. The model deals with random access memory, such as RASP of C. C. Elgot and A. Robinson [11], however, it allows for a more realistic modeling of real computers. This new model of computers has been named by the author (Y. Nakamura, [12]) Architecture Model for Instructions (AMI). It is more developed than previous models, both in the description of hardware (e.g., the concept of the program counter, the structure of memory) as well as in the description of instructions (instruction codes, addresses). The structure of AMI over an arbitrary collection of mathematical domains N consists of:

- a non-empty set of objects,

- the instruction counter,

- a non-empty set of objects called instruction locations,

- a non-empty set of instruction codes,

- an instruction code for halting,

- a set of instructions that are ordered pairs with the first element being an instruction code and the second a finite sequence in which members are either objects of the AMI or elements of one of the domains included in N,

- a function that assigns to every object of AMI its kind that is either an instruction or an instruction location or an element of N,

- a function that assigns to every instruction its execution that is again

a function mapping states of AMI into the set of states. By a state of AMI we mean a function that assigns to every object of AMI an element of the same kind. In this paper we develop the theory of AMI. Some properties of AMI are introduced ensuring it to have some properties of real computers:

- a von Neumann AMI, in which only addresses to instruction locations are stored in the program counter,

- data oriented, those in which instructions cannot be stored in data locations,

- halting, in which the execution of the halt instruction is the identity mapping of the states of an AMI,

- steady programmed, the condition in which the contents of the instruction locations do not change during execution,

1The work has been done while the second author was visiting Nagano in autumn 1992.

- definite, a property in which only instructions may be stored in in-

struction locations. We present an example of AMI called a Small Concrete Model which has been constructed in [12]. The Small Concrete Model has only one kind of data: integers and a set of instructions, small but sufficient to cope with integers.

MML Identifier: AMI 1.

The terminology and notation used here have been introduced in the following articles: [19], [5], [6], [15], [2], [20], [14], [3], [17], [16], [10], [1], [4], [18], [13], [7], [9], [21], and [8].

1. Preliminaries

In the sequel x is arbitrary. Next we state several propositions:

(1) ≠ .

(2) For arbitrary a, b holds 1 ≠ ⟨⟨a, b⟩⟩.

(3) For arbitrary a, b holds 2 ≠ ⟨⟨a, b⟩⟩.

(4) For arbitrary a, b, c, d and for every function g such that dom g = {a, b} and g(a) = c and g(b) = d holds g = [a ⟼ c, b ⟼ d].

(5) For arbitrary a, b, c, d such that a ≠ b holds ∏[a ⟼ {c}, b ⟼ {d}] = {[a ⟼ c, b ⟼ d]}.

Let A be a set, and let B be a non-empty set. Then A ∪ B is a non-empty set. Let A be a non-empty set, and let B be a set. Then A ∪ B is a non-empty set. A set has non-empty elements if: (Def.1) ∅ ∉ it. One can verify that there exists a set which is non-empty with and non-empty elements.

Let A be a non-empty set. Then {A} is a non-empty set with non-empty elements. Let B be a non-empty set. Then {A, B} is a non-empty set with non-empty elements. Let A, B be non-empty sets with non-empty elements. Then A ∪ B is a non-empty set with non-empty elements.

2. General concepts

In the sequel N will be a non-empty set with non-empty elements.

We now define several new constructions. Let us consider N. We consider AMI’s over N which are systems

⟨objects, a instruction counter, instruction locations, instruction codes, a halt instruction, instructions, a object kind, a execution⟩, where the objects constitute a non-empty set, the instruction counter is an element of the objects, the instruction locations constitute a non-empty subset of the objects, the instruction codes constitute a non-empty set, the halt instruction is an element of the instruction codes, the instructions constitute a non-empty subset of [: the instruction codes, (⋃ N ∪ the objects)^{∗}:], the object kind is a function from the objects into N ∪ {the instructions,the instruction locations}, and the execution is a function from the instructions into (∏(the object kind))^{∏ (the object kind)}. Let us consider N, and let S be an AMI over N. An object of S is an element of the objects of S.

An instruction of S is an element of the instructions of S.

An instruction-location of S is an element of the instruction locations of S. Let us consider N, and let S be an AMI over N. The functor IC_{S} yields an

object of S and is defined by: (Def.2) IC_{S} = the instruction counter of S. Let us consider N, and let S be an AMI over N, and let o be an object of S. The functor ObjectKind(o) yielding an element of N ∪{the instructions of S, the instruction locations of S} is defined by: (Def.3) ObjectKind(o) = (the object kind of S)(o). Let A be a set, and let B be a non-empty set with non-empty elements, and let f be a function from A into B. Then ∏ f is a non-empty set of functions. Let P be a non-empty set of functions. We see that the element of P is a function. Let us consider N, and let S be an AMI over N. A state of S is an element of ∏ (the object kind of S).

Let us consider N, and let S be an AMI over N, and let I be an instruction of S, and let s be a state of S. The functor Exec(I, s) yielding a state of S is defined by: (Def.4) Exec(I, s) = (the execution of S qua a function from the instructions

of S into (∏ (the object kind of S))^{∏(the object kind of S)})(I)(s). Let us consider N, and let S be an AMI over N satisfying the condition: ⟨⟨the halt instruction of S, ε⟩⟩ ∈ the instructions of S. The functor halt_{S} yields an instruction of S and is defined as follows: (Def.5) halt_{S} = ⟨⟨the halt instruction of S, ε⟩⟩. Let us consider N. An AMI over N is von Neumann if: (Def.6) ObjectKind(IC_{it}) = the instruction locations of it. An AMI over N is data-oriented if: (Def.7) (the object kind of it) ^{−1} {the instructions of it} ⊆ the instruction

locations of it. An AMI over N is halting if: (Def.8) for every state s of it holds Exec(halt_{it}, s) = s. An AMI over N is steady-programmed if:

(Def.9) for every state s of it and for every instruction i of it and for every

instruction-location l of it holds (Exec(i, s))(l) = s(l). An AMI over N is definite if:

(Def.10) for every instruction-location l of it holds ObjectKind(l) = the instruc-

tions of it. Let us consider N. Note that there exists a von Neumann data-oriented halting steady-programmed definite strict AMI over N.

Let us consider N, and let S be a von Neumann AMI over N, and let s be a state of S. The functor IC_{s} yields an instruction-location of S and is defined as follows:

(Def.11) IC_{s} = s(IC_{S}).

3. A small concrete model

In the sequel i, k will be natural numbers. We now define four new functors. The non-empty subset Loc_{SCM} of is defined by:

(Def.12) Loc_{SCM} = \ {0}.

The element Halt_{SCM} of _{9} is defined as follows: (Def.13) Halt_{SCM} = 0.

The non-empty subset Data-Loc_{SCM} of Loc_{SCM} is defined as follows: (Def.14) Data-Loc_{SCM} = {2 · k + 1}.

The non-empty subset Instr-Loc_{SCM} of is defined by: (Def.15) Instr-Loc_{SCM} = {2 · k : k > 0}.

We adopt the following convention: I, J, K are elements of _{9}, a, a_{1}, a_{2} are elements of Instr-Loc_{SCM}, and b, b_{1}, b_{2}, c, c_{1} are elements of Data-Loc_{SCM}. The non-empty subset Instr_{SCM} of [: _{9}, ⋃{ } ∪ ^{∗} :] is defined as follows:

(Def.16) Instr_{SCM} = {⟨⟨Halt_{SCM}, ε⟩⟩} ∪ {⟨⟨J, ⟨a⟩⟩⟩ : J = 6} ∪ {⟨⟨K, ⟨a_{1}, b_{1}⟩⟩⟩ : K ∈ {7, 8}} ∪ {⟨⟨I, ⟨b, c⟩⟩⟩ : I ∈ {1, 2, 3, 4, 5}}.

The following propositions are true:

(6) Instr_{SCM} = {⟨⟨Halt_{SCM}, ε⟩⟩} ∪ {⟨⟨J, ⟨a⟩⟩⟩ : J = 6} ∪ {⟨⟨K, ⟨a_{1}, b_{1}⟩⟩⟩ : K ∈ {7, 8}} ∪ {⟨⟨I, ⟨b, c⟩⟩⟩ : I ∈ {1, 2, 3, 4, 5}}.

(7) ⟨⟨0, ε⟩⟩ ∈ Instr_{SCM}.

(8) ⟨⟨6, ⟨a_{2}⟩⟩⟩ ∈ Instr_{SCM}.

(9) If x ∈ {7, 8}, then ⟨⟨x, ⟨a_{2}, b_{2}⟩⟩⟩ ∈ Instr_{SCM}.

(10) If x ∈ {1, 2, 3, 4, 5}, then ⟨⟨x, ⟨b_{1}, c_{1}⟩⟩⟩ ∈ Instr_{SCM}. The function OK_{SCM} from into { } ∪ {Instr_{SCM}, Instr-Loc_{SCM}} is defined

by: (Def.17) OK_{SCM}(0) = Instr-Loc_{SCM} and for every natural number k holds

OK_{SCM}(2 · k + 1) = and OK_{SCM}(2 · k + 2) = Instr_{SCM}.

The following four propositions are true:

(11) Instr-Loc_{SCM} ≠ and Instr_{SCM} ≠ and Instr-Loc_{SCM} ≠ Instr_{SCM}.

(12) For every i holds OK_{SCM}(i) = Instr-Loc_{SCM} if and only if i = 0.

(13) For every i holds OK_{SCM}(i) = if and only if there exists k such that i = 2 · k + 1.

(14) For every i holds OK_{SCM}(i) = Instr_{SCM} if and only if there exists k

such that i = 2 · k + 2. A state_{SCM} is an element of ∏(OK_{SCM}). In the sequel s is a state_{SCM}. We now state several propositions:

(15) For every element a of Data-Loc_{SCM} holds OK_{SCM}(a) = .

(16) For every element a of Instr-Loc_{SCM} holds OK_{SCM}(a) = Instr_{SCM}.

(17) For every element a of Instr-Loc_{SCM} and for every element t of Data-Loc_{SCM} holds a ≠ t.

(18) π_{0} ∏(OK_{SCM}) = Instr-Loc_{SCM}.

(19) For every element a of Data-Loc_{SCM} holds π_{a} ∏(OK_{SCM}) = .

(20) For every element a of Instr-Loc_{SCM} holds π_{a} ∏(OK_{SCM}) = Instr_{SCM}. We now define two new functors. Let s be a state_{SCM}. The functor IC_{s}

yielding an element of Instr-Loc_{SCM} is defined by: (Def.18) IC_{s} = s(0).

Let s be a state_{SCM}, and let u be an element of Instr-Loc_{SCM}. The functor Chg_{SCM}(s, u) yields a state_{SCM} and is defined as follows:

(Def.19) Chg_{SCM}(s, u) = s +· (0⟼ . u).

The following three propositions are true:

(21) For every state_{SCM} s and for every element u of Instr-Loc_{SCM} holds (Chg_{SCM}(s, u))(0) = u.

(22) For every state_{SCM} s and for every element u of Instr-Loc_{SCM} and for every element m_{1} of Data-Loc_{SCM} holds (Chg_{SCM}(s, u))(m_{1}) = s(m_{1}).

(23) For every state_{SCM} s and for all elements u, v of Instr-Loc_{SCM} holds

(Chg_{SCM}(s, u))(v) = s(v). Let s be a state_{SCM}, and let t be an element of Data-Loc_{SCM}, and let u be

an integer. The functor Chg_{SCM}(s, t, u) yielding a state_{SCM} is defined by: (Def.20) Chg_{SCM}(s, t, u) = s +· (t⟼ . u).

The following four propositions are true:

(24) For every state_{SCM} s and for every element t of Data-Loc_{SCM} and for every integer u holds (Chg_{SCM}(s, t, u))(0) = s(0).

(25) For every state_{SCM} s and for every element t of Data-Loc_{SCM} and for every integer u holds (Chg_{SCM}(s, t, u))(t) = u.

(26) For every state_{SCM} s and for every element t of Data-Loc_{SCM} and for every integer u and for every element m_{1} of Data-Loc_{SCM} such that m_{1} ≠ t holds (Chg_{SCM}(s, t, u))(m_{1}) = s(m_{1}).

(27) For every state_{SCM} s and for every element t of Data-Loc_{SCM} and for every integer u and for every element v of Instr-Loc_{SCM} holds (Chg_{SCM}(s, t, u))(v) = s(v).

We now define two new functors. Let x be an element of Instr_{SCM}. Let us assume that there exist m_{1}, m_{2} of the type elements of Data-Loc_{SCM}; I such that x = ⟨⟨I, ⟨m_{1}, m_{2}⟩⟩⟩. The functor xaddress_{1} yields an element of Data-Loc_{SCM} and is defined by:

(Def.21) there exists a finite sequence f of elements of Data-Loc_{SCM} such that

f = x_{2} and xaddress_{1} = π_{1}f. The functor xaddress_{2} yields an element of Data-Loc_{SCM} and is defined by:

(Def.22) there exists a finite sequence f of elements of Data-Loc_{SCM} such that f = x_{2} and xaddress_{2} = π_{2}f.

One can prove the following proposition

(28) For every element x of Instr_{SCM} and for all elements m_{1}, m_{2} of Data-Loc_{SCM} and for every I such that x = ⟨⟨I, ⟨m_{1}, m_{2}⟩⟩⟩ holds xaddress_{1} = m_{1} and xaddress_{2} = m_{2}.

Let x be an element of Instr_{SCM}. Let us assume that there exist m_{1} of the type an element of Instr-Loc_{SCM}; I such that x = ⟨⟨I, ⟨m_{1}⟩⟩⟩. The functor xaddress_{j} yielding an element of Instr-Loc_{SCM} is defined as follows:

(Def.23) there exists a finite sequence f of elements of Instr-Loc_{SCM} such that f = x_{2} and xaddress_{j} = π_{1}f.

We now state the proposition

(29) For every element x of Instr_{SCM} and for every element m_{1} of Instr-Loc_{SCM}

and for every I such that x = ⟨⟨I, ⟨m_{1}⟩⟩⟩ holds xaddress_{j} = m_{1}. We now define two new functors. Let x be an element of Instr_{SCM}. Let us

assume that there exist m_{1} of the type an element of Instr-Loc_{SCM}; m_{2} of the type an element of Data-Loc_{SCM}; I such that x = ⟨⟨I, ⟨m_{1}, m_{2}⟩⟩⟩. The functor xaddress_{j} yields an element of Instr-Loc_{SCM} and is defined as follows:

(Def.24) there exists an element m_{1} of Instr-Loc_{SCM} and there exists an element m_{2} of Data-Loc_{SCM} such that ⟨m_{1}, m_{2}⟩ = x_{2} and xaddress_{j} = π_{1}⟨m_{1}, m_{2}⟩.

The functor xaddress_{c} yielding an element of Data-Loc_{SCM} is defined by: (Def.25) there exists an element m_{1} of Instr-Loc_{SCM} and there exists an element

m_{2} of Data-Loc_{SCM} such that ⟨m_{1}, m_{2}⟩ = x_{2} and xaddress_{c} = π_{2}⟨m_{1}, m_{2}⟩.

The following proposition is true

(30) For every element x of Instr_{SCM} and for every element m_{1} of Instr-Loc_{SCM} and for every element m_{2} of Data-Loc_{SCM} and for every I such that x = ⟨⟨I, ⟨m_{1}, m_{2}⟩⟩⟩ holds xaddress_{j} = m_{1} and xaddress_{c} = m_{2}.

We now define five new functors. Let s be a state_{SCM}, and let a be an element of Data-Loc_{SCM}. Then s(a) is an integer. Let D be a non-empty set, and let x, y be arbitrary, and let a, b be elements of D. Then (x = y → a, b) is an element of D. Let D be a non-empty set, and let x, y be real numbers, and let a, b be elements of D. The functor (x > y → a, b) yields an element of D and is defined as follows:

(Def.26)

(x > y → a, b) = \{ \begin{matrix}a, & if x > y, \\ b, & otherwise. \end{matrix}

Let d be an element of Instr-Loc_{SCM}. The functor Next(d) yields an element of Instr-Loc_{SCM} and is defined as follows:

(Def.27) Next(d) = d + 2.

Let x be an element of Instr_{SCM}, and let s be a state_{SCM}. The functor

Exec-Res_{SCM}(x, s) yielding a state_{SCM} is defined as follows: (Def.28) (i) Exec-Res_{SCM}(x, s) = Chg_{SCM}(Chg_{SCM}(s, xaddress_{1}, s(xaddress_{2})),

Next(IC_{s})) if there exist elements m_{1}, m_{2} of Data-Loc_{SCM} such that x = ⟨⟨1, ⟨m_{1}, m_{2}⟩⟩⟩,

(ii) Exec-Res_{SCM}(x, s) = Chg_{SCM}(Chg_{SCM}(s, xaddress_{1}, s(xaddress_{1})+ s(xaddress_{2})), Next(IC_{s})) if there exist elements m_{1}, m_{2} of Data-Loc_{SCM} such that x = ⟨⟨2, ⟨m_{1}, m_{2}⟩⟩⟩,

(iii) Exec-Res_{SCM}(x, s) = Chg_{SCM}(Chg_{SCM}(s, xaddress_{1}, s(xaddress_{1})− s(xaddress_{2})), Next(IC_{s})) if there exist elements m_{1}, m_{2} of Data-Loc_{SCM} such that x = ⟨⟨3, ⟨m_{1}, m_{2}⟩⟩⟩,

(iv) Exec-Res_{SCM}(x, s) = Chg_{SCM}(Chg_{SCM}(s, xaddress_{1}, s(xaddress_{1})· s(xaddress_{2})), Next(IC_{s})) if there exist elements m_{1}, m_{2} of Data-Loc_{SCM} such that x = ⟨⟨4, ⟨m_{1}, m_{2}⟩⟩⟩,

(v) Exec-Res_{SCM}(x, s) = Chg_{SCM}(Chg_{SCM}(Chg_{SCM}(s, xaddress_{1}, s(xaddress_{1}) ÷s(xaddress_{2})), xaddress_{2}, s(xaddress_{1}) mod s(xaddress_{2})), Next(IC_{s})) if there exist elements m_{1}, m_{2} of Data-Loc_{SCM} such that x = ⟨⟨5, ⟨m_{1}, m_{2}⟩⟩⟩,

(vi) Exec-Res_{SCM}(x, s) = Chg_{SCM}(s, xaddress_{j}) if there exists an element m_{1}

of Instr-Loc_{SCM} such that x = ⟨⟨6, ⟨m_{1}⟩⟩⟩, (vii) Exec-Res_{SCM}(x, s) = Chg_{SCM}(s, (s(xaddress_{c}) = 0 → xaddress_{j},

Next(IC_{s}))) if there exists an element m_{1} of Instr-Loc_{SCM} and there exists an element m_{2} of Data-Loc_{SCM} such that x = ⟨⟨7, ⟨m_{1}, m_{2}⟩⟩⟩,

(viii) Exec-Res_{SCM}(x, s) = Chg_{SCM}(s, (s(xaddress_{c}) > 0 → xaddress_{j}, Next(IC_{s}))) if there exists an element m_{1} of Instr-Loc_{SCM} and there exists an element m_{2} of Data-Loc_{SCM} such that x = ⟨⟨8, ⟨m_{1}, m_{2}⟩⟩⟩,

(ix) Exec-Res_{SCM}(x, s) = s, otherwise.

The function Exec_{SCM} from Instr_{SCM} into ∏ OK_{SCM}^{∏ OK_{SCM}} is defined by: (Def.29) for every element x of Instr_{SCM} and for every state_{SCM} y holds

(Exec_{SCM}(x) qua an element of (∏(OK_{SCM}))^{∏(OK_{SCM})})(y) = Exec-Res_{SCM}(x, y).

The von Neumann strict AMI SCM is defined by:

(Def.30) SCM = ⟨ , 0, Instr-Loc_{SCM}, _{9}, Halt_{SCM}, Instr_{SCM}, OK_{SCM}, Exec_{SCM}⟩.

Next we state three propositions:

(31) SCM is data-oriented.

(32) SCM is definite.

(33) The objects of SCM = and the instruction counter of SCM = 0 and the instruction locations of SCM = Instr-Loc_{SCM} and the instruction codes of SCM = _{9} and the halt instruction of SCM = Halt_{SCM} and the instructions of SCM = Instr_{SCM} and the object kind of SCM = OK_{SCM} and the execution of SCM = Exec_{SCM}.

An object of SCM is said to be a data-location if: (Def.31) it ∈ Data-Loc_{SCM}.

Let s be a state of SCM, and let d be a data-location. Then s(d) is an integer.

We adopt the following convention: a, b, c denote data-locations, l_{1} denotes an instruction-location of SCM, and I denotes an instruction of SCM. We now define several new functors. Let us consider a, b. The functor a:=b yielding an instruction of SCM is defined by:

(Def.32) a:=b = ⟨⟨1, ⟨a, b⟩⟩⟩.

The functor AddTo(a, b) yielding an instruction of SCM is defined by: (Def.33) AddTo(a, b) = ⟨⟨2, ⟨a, b⟩⟩⟩.

The functor SubFrom(a, b) yielding an instruction of SCM is defined by: (Def.34) SubFrom(a, b) = ⟨⟨3, ⟨a, b⟩⟩⟩.

The functor MultBy(a, b) yields an instruction of SCM and is defined by: (Def.35) MultBy(a, b) = ⟨⟨4, ⟨a, b⟩⟩⟩.

The functor Divide(a, b) yields an instruction of SCM and is defined as follows: (Def.36) Divide(a, b) = ⟨⟨5, ⟨a, b⟩⟩⟩.

Let us consider l_{1}. The functor goto l_{1} yields an instruction of SCM and is defined by:

(Def.37) goto l_{1} = ⟨⟨6, ⟨l_{1}⟩⟩⟩.

Let us consider a. The functor if a = 0 goto l_{1} yielding an instruction of SCM is defined as follows:

(Def.38) if a = 0 goto l_{1} = ⟨⟨7, ⟨l_{1}, a⟩⟩⟩.

The functor if a > 0 goto l_{1} yields an instruction of SCM and is defined as follows:

(Def.39) if a > 0 goto l_{1} = ⟨⟨8, ⟨l_{1}, a⟩⟩⟩.

In the sequel s will denote a state of SCM. Next we state two propositions:

(34) IC_{SCM} = 0.

(35) For every state_{SCM} S such that S = s holds IC_{s} = IC_{S}.

Let l_{1} be an instruction-location of SCM. The functor Next(l_{1}) yielding an instruction-location of SCM is defined by:

(Def.40) there exists an element m_{3} of Instr-Loc_{SCM} such that m_{3} = l_{1} and Next(l_{1}) = Next(m_{3}).

Next we state two propositions:

(36) For every instruction-location l_{1} of SCM and for every element m_{3} of Instr-Loc_{SCM} such that m_{3} = l_{1} holds Next(m_{3}) = Next(l_{1}).

(37) For every element i of Instr_{SCM} such that i = I and for every state_{SCM} S such that S = s holds Exec(I, s) = Exec-Res_{SCM}(i, S).

4. Users guide

One can prove the following propositions:

(38) (Exec(a:=b, s))(IC_{SCM}) = Next(IC_{s}) and (Exec(a:=b, s))(a) = s(b) and for every c such that c ≠ a holds (Exec(a:=b, s))(c) = s(c).

(39) (Exec(AddTo(a, b), s))(IC_{SCM}) = Next(IC_{s})

and (Exec(AddTo(a, b), s))(a) = s(a) + s(b) and for every c such that c ≠ a holds (Exec(AddTo(a, b), s))(c) = s(c).

(40) (Exec(SubFrom(a, b), s))(IC_{SCM}) = Next(IC_{s})

and (Exec(SubFrom(a, b), s))(a) = s(a) − s(b) and for every c such that c ≠ a holds (Exec(SubFrom(a, b), s))(c) = s(c).

(41) (Exec(MultBy(a, b), s))(IC_{SCM}) = Next(IC_{s})

and (Exec(MultBy(a, b), s))(a) = s(a)·s(b) and for every c such that c ≠ a holds (Exec(MultBy(a, b), s))(c) = s(c).

(42) Suppose a ≠ b. Then (i) (Exec(Divide(a, b), s))(IC_{SCM}) = Next(IC_{s}), (ii) (Exec(Divide(a, b), s))(a) = s(a) ÷ s(b), (iii) (Exec(Divide(a, b), s))(b) = s(a) mod s(b), (iv) for every c such that c ≠ a and c ≠ b holds (Exec(Divide(a, b), s))(c) =

s(c).

(43) (Exec(goto l_{1}, s))(IC_{SCM}) = l_{1} and (Exec(goto l_{1}, s))(c) = s(c).

(44) If s(a) = 0, then (Exec(if a = 0 goto l_{1}, s))(IC_{SCM}) = l_{1} and also if s(a) ≠ 0, then (Exec(if a = 0 goto l_{1}, s))(IC_{SCM}) = Next(IC_{s}) and (Exec(if a = 0 goto l_{1}, s))(c) = s(c).

(45) If s(a) > 0, then (Exec(if a > 0 goto l_{1}, s))(IC_{SCM}) = l_{1} and also if s(a) ≤ 0, then (Exec(if a > 0 goto l_{1}, s))(IC_{SCM}) = Next(IC_{s}) and (Exec(if a > 0 goto l_{1}, s))(c) = s(c).

(46) Exec(halt_{SCM}, s) = s.

(47) For every state s of SCM and for every instruction-location i of SCM holds s(i) is an instruction of SCM.

160 yatsuka nakamura and andrzej trybulec

References

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

[2] Grzegorz Bancerek. König’s theorem. Formalized Mathematics, 1(3):589–593, 1990.

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

[4] Czesław Byliński. A classical first order language. Formalized Mathematics, 1(4):669– 676, 1990.

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

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

[7] Czesław Byliński. The modification of a function by a function and the iteration of the composition of a function. Formalized Mathematics, 1(3):521–527, 1990.

[8] Czesław Byliński. Products and coproducts in categories. Formalized Mathematics, 2(5):701–709, 1991.

[9] Czesław Byliński. Subcategories and products of categories. Formalized Mathematics, 1(4):725–732, 1990.

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

[11] C.C. Elgot and A. Robinson. Random access stored-program machines, an approach to programming languages. J.A.C.M., 11(4):365–399, Oct 1964.

[12] Yatsuka Nakamura. On a Mathematical Model of CPU and Algorithm. Technical Report, Shinshu University, Aug 1991.

[13] Henryk Oryszczyszyn and Krzysztof Prażmowski. Real functions spaces. Formalized Mathematics, 1(3):555–561, 1990.

[14] Dariusz Surowik. Cyclic groups and some of their properties - part I. Formalized Mathematics, 2(5):623–627, 1991.

[15] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

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

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

[18] Andrzej Trybulec. Function domains and Frænkel operator. Formalized Mathematics, 1(3):495–500, 1990.

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

[20] Michał J. Trybulec. Integers. Formalized Mathematics, 1(3):501–505, 1990.

[21] Wojciech A. Trybulec. Pigeon hole principle. Formalized Mathematics, 1(3):575–579, 1990.

Cartesian Categories

Czesław Byliński Warsaw University Białystok

Summary. We define and prove some simple facts on Cartesian categories and its duals co-Cartesian categories. The Cartesian category is defined as a category with the fixed terminal object, the fixed projections, and the binary products. Category C has finite products if and only if C has a terminal object and for every pair a, b of objects of C the product a×b exists. We say that a category C has a finite product if every finite family of objects of C has a product. Our work is based on ideas of [13], where the algebraic properties of the proof theory are investigated. The terminal object of a Cartesian category C is denoted by 1_{C}. The binary product of a and b is written as a×b. The projections of the product are written as pr_{1}(a, b) and as pr_{2}(a, b). We define the products f × g of arrows f : a → a′ and g : b → b′ as < f · pr_{1}, g · pr_{2} >: a × b → a′ × b′

Co-Cartesian category is defined dually to the Cartesian category. Dual to a terminal object is an initial object, and to products are coproducts. The initial object of a Cartesian category C is written as 0_{C}. Binary coproduct of a and b is written as a+b. Injections of the coproduct are written as in_{1}(a, b) and as in_{2}(a, b).

MML Identifier: CAT 4.

The terminology and notation used in this paper are introduced in the following papers: [16], [15], [11], [4], [5], [14], [9], [12], [2], [1], [3], [7], [6], [8], and [10].

1. Preliminaries

In the sequel o, m, r will be arbitrary. We now define two new constructions. Let us consider o, m, r. [⟨o, m⟩ ↦ r] is a function from [: {o}, {m}:] into {r}.

Let C be a category, and let a, b be objects of C. Let us observe that a and b are isomorphic if: (Def.1) hom(a, b) ≠ ∅ and hom(b, a) ≠ ∅ and there exists a morphism f from a

to b and there exists a morphism f′ from b to a such that f · f′ = id_{b} and f′ · f = id_{a}.

2. Cartesian Categories

Let C be a category. We say that C has finite product if and only if: (Def.2) for every set I and for every function F from I into the objects of C such

that I is finite there exists an object a of C and there exists a projections family F′ from a onto I such that cod_{κ} F′(κ) = F and a is a product w.r.t. F′.

We now state the proposition

(1) Let C be a category. Then C has finite product if and only if there exists an object of C which is a terminal object and for every objects a, b of C there exists an object c of C and there exist morphisms p_{1}, p_{2} of C such that dom p_{1} = c and dom p_{2} = c and cod p_{1} = a and cod p_{2} = b and c is a product w.r.t. p_{1} and p_{2}.

We now define several new constructions. We consider Cartesian category structures which are extension of category structures and are systems

⟨objects, morphisms, a dom-map, a cod-map, a composition, an id-map, a terminal, a product, a 1st-projection, a 2nd-projection⟩, where the objects, the morphisms constitute 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, the id-map is a function from the objects into the morphisms, the terminal is an element of the objects, the product is a function from [: the objects, the objects :] into the objects, and the 1st-projection, the 2nd-projection are functions from [: the objects, the objects :] into the morphisms. Let C be a Cartesian category structure. The functor 1_{C} yielding an object of C is defined by: (Def.3) 1_{C} = the terminal of C. Let a, b be objects of C. The functor a × b yielding an object of C is defined as follows: (Def.4) a × b = (the product of C)(⟨⟨a, b⟩⟩). The functor π_{1}(a × b) yielding a morphism of C is defined as follows: (Def.5) π_{1}(a × b) = (the 1st-projection of C)(⟨⟨a, b⟩⟩). The functor π_{2}(a × b) yields a morphism of C and is defined as follows: (Def.6) π_{2}(a × b) = (the 2nd-projection of C)(⟨⟨a, b⟩⟩). Let us consider o, m. The functor _{ ˙ c}(o, m) yielding a strict Cartesian category structure is defined by: (Def.7) _{ ˙ c}(o, m) = ⟨{o}, {m}, {m} ⟼ o, {m} ⟼ o, ⟨m, m⟩ ⟼ m, {o} ⟼ m,

Extract(o), [⟨o, o⟩ ↦ o], [⟨o, o⟩ ↦ m], [⟨o, o⟩ ↦ m]⟩.

We now state the proposition

(2) The category structure of _{ ˙ c}(o, m) = ˙ (o, m).

Let us note that there exists a Cartesian category structure which is strict and category-like.

Let o, m be arbitrary. Then _{ ˙ c}(o, m) is a strict category-like Cartesian category structure.

The following propositions are true:

(3) For every object a of _{ ˙ c}(o, m) holds a = o.

(4) For all objects a, b of _{ ˙ c}(o, m) holds a = b.

(5) For every morphism f of _{ ˙ c}(o, m) holds f = m.

(6) For all morphisms f, g of _{ ˙ c}(o, m) holds f = g.

(7) For all objects a, b of _{ ˙ c}(o, m) and for every morphism f of _{ ˙ c}(o, m) holds f ∈ hom(a, b).

(8) For all objects a, b of _{ ˙ c}(o, m) every morphism of _{ ˙ c}(o, m) is a morphism from a to b.

(9) For all objects a, b of _{ ˙ c}(o, m) holds hom(a, b) ≠ ∅.

(10) Every object of _{ ˙ c}(o, m) is a terminal object.

(11) For every object c of _{ ˙ c}(o, m) and for all morphisms p_{1}, p_{2} of _{ ˙ c}(o, m)

holds c is a product w.r.t. p_{1} and p_{2}. A category-like Cartesian category structure is Cartesian if:

(Def.8) the terminal of it is a terminal object and for all objects a, b of it holds cod (the 1st-projection of it)(⟨⟨a, b⟩⟩) = a and cod (the 2nd-projection of it)(⟨⟨a, b⟩⟩) = b and (the product of it)(⟨⟨a, b⟩⟩) is a product w.r.t. (the 1st-projection of it)(⟨⟨a, b⟩⟩) and (the 2nd-projection of it)(⟨⟨a, b⟩⟩).

We now state the proposition

(12) For arbitrary o, m holds _{ ˙ c}(o, m) is Cartesian.

One can verify that there exists a strict Cartesian category-like Cartesian category structure.

A Cartesian category is a category-like Cartesian category structure. We adopt the following convention: C denotes a Cartesian category and a,

b, c, d, e, s denote objects of C. We now state three propositions:

(13) 1_{C} is a terminal object.

(14) For all morphisms f_{1}, f_{2} from a to 1_{C} holds f_{1} = f_{2}.

(15) hom(a, 1_{C}) ≠ ∅.

Let us consider C, a. !_{a} is a morphism from a to 1_{C}. Next we state several propositions:

(16) !_{a} = |_{1_{C}}a.

(17) dom(!_{a}) = a and cod(!_{a}) = 1_{C}.

(18) hom(a, 1_{C}) = {!_{a}}.

(19) dom π_{1}(a × b) = a × b and cod π_{1}(a × b) = a.

(20) dom π_{2}(a × b) = a × b and cod π_{2}(a × b) = b.

Let us consider C, a, b. Then π_{1}(a × b) is a morphism from a × b to a. Then π_{2}(a × b) is a morphism from a × b to b.

The following four propositions are true:

(21) hom(a × b, a) ≠ ∅ and hom(a × b, b) ≠ ∅.

(22) a × b is a product w.r.t. π_{1}(a × b) and π_{2}(a × b).

(23) C has finite product.

(24) If hom(a, b) ≠ ∅ and hom(b, a) ≠ ∅, then π_{1}(a × b) is retraction and

π_{2}(a × b) is retraction. Let us consider C, a, b, c, and let f be a morphism from c to a, and let g be

a morphism from c to b. Let us assume that hom(c, a) ≠ ∅ and hom(c, b) ≠ ∅. The functor ⟨f, g⟩ yields a morphism from c to a × b and is defined by: (Def.9) π_{1}(a × b) · ⟨f, g⟩ = f and π_{2}(a × b) · ⟨f, g⟩ = g.

The following propositions are true:

(25) If hom(c, a) ≠ ∅ and hom(c, b) ≠ ∅, then hom(c, a × b) ≠ ∅.

(26) ⟨π_{1}(a × b), π_{2}(a × b)⟩ = id_{(a×b)}.

(27) For every morphism f from c to a and for every morphism g from c to b and for every morphism h from d to c such that hom(c, a) ≠ ∅ and hom(c, b) ≠ ∅ and hom(d, c) ≠ ∅ holds ⟨f · h, g · h⟩ = ⟨f, g⟩ · h.

(28) For all morphisms f, k from c to a and for all morphisms g, h from c to b such that hom(c, a) ≠ ∅ and hom(c, b) ≠ ∅ and ⟨f, g⟩ = ⟨k, h⟩ holds f = k and g = h.

(29) For every morphism f from c to a and for every morphism g from c to b such that hom(c, a) ≠ ∅ and hom(c, b) ≠ ∅ and also f is monic or g is monic holds ⟨f, g⟩ is monic.

(30) hom(a, a × 1_{C}) ≠ ∅ and hom(a, 1_{C} × a) ≠ ∅.

We now define four new functors. Let us consider C, a. The functor λ(a) yielding a morphism from 1_{C} × a to a is defined by:

(Def.10) λ(a) = π_{2}(1_{C} × a).

The functor λ^{−1}(a) yielding a morphism from a to 1_{C} × a is defined as follows: (Def.11) λ^{−1}(a) = ⟨!_{a}, id_{a}⟩.

The functor ρ(a) yields a morphism from a × 1_{C} to a and is defined as follows: (Def.12) ρ(a) = π_{1}(a × 1_{C}).

The functor ρ^{−1}(a) yielding a morphism from a to a × 1_{C} is defined as follows: (Def.13) ρ^{−1}(a) = ⟨id_{a},!_{a}⟩.

The following propositions are true:

(31) λ(a) · λ^{−1}(a) = id_{a} and λ^{−1}(a) · λ(a) = id_{(1_{C}×a)} and ρ(a) · ρ^{−1}(a) = id_{a} and ρ^{−1}(a) · ρ(a) = id_{(a×1_{C})}.

(32) a and a × 1_{C} are isomorphic and a and 1_{C} × a are isomorphic. Let us consider C, a, b. The functor Switch(a) yielding a morphism from

a × b to b × a is defined as follows: (Def.14) Switch(a) = ⟨π_{2}(a × b), π_{1}(a × b)⟩.

One can prove the following three propositions:

(33) hom(a × b, b × a) ≠ ∅.

(34) Switch(a) · Switch(b) = id_{(b×a)}.

(35) a × b and b × a are isomorphic.

Let us consider C, a. The functor Δ(a) yielding a morphism from a to a × a is defined by:

(Def.15) Δ(a) = ⟨id_{a}, id_{a}⟩.

We now state two propositions:

(36) hom(a, a × a) ≠ ∅.

(37) For every morphism f from a to b such that hom(a, b) ≠ ∅ holds ⟨f, f⟩ =

Δ(b) · f. We now define two new functors. Let us consider C, a, b, c. The functor

α((a, b), c) yielding a morphism from a × b × c to a × (b × c) is defined by: (Def.16) α((a, b), c) = ⟨π_{1}(a×b)·π_{1}((a×b)×c), ⟨π_{2}(a×b)·π_{1}((a×b)×c), π_{2}((a×

b) × c)⟩⟩. The functor α(a, (b, c)) yields a morphism from a × (b × c) to a × b × c and is defined as follows:

(Def.17) α(a, (b, c)) = ⟨⟨π_{1}(a×(b×c)), π_{1}(b×c)·π_{2}(a×(b×c))⟩, π_{2}(b×c)·π_{2}(a× (b × c))⟩.

The following three propositions are true:

(38) hom(a × b × c, a × (b × c)) ≠ ∅ and hom(a × (b × c), a × b × c) ≠ ∅.

(39) α((a, b), c) · α(a, (b, c)) = id_{(a×(b×c))} and α(a, (b, c)) · α((a, b), c) = id_{(a×b×c)}.

(40) (a × b) × c and a × (b × c) are isomorphic.

Let us consider C, a, b, c, d, and let f be a morphism from a to b, and let g be a morphism from c to d. The functor f × g yields a morphism from a × c to b × d and is defined by:

(Def.18) f × g = ⟨f · π_{1}(a × c), g · π_{2}(a × c)⟩.

One can prove the following propositions:

(41) If hom(a, c) ≠ ∅ and hom(b, d) ≠ ∅, then hom(a × b, c × d) ≠ ∅.

(42) id_{a} × id_{b} = id_{(a×b)}.

(43) Let f be a morphism from a to b. Let h be a morphism from c to d. Then for every morphism g from e to a and for every morphism k from e to c such that hom(a, b) ≠ ∅ and hom(c, d) ≠ ∅ and hom(e, a) ≠ ∅ and hom(e, c) ≠ ∅ holds (f × h) · ⟨g, k⟩ = ⟨f · g, h · k⟩.

(44) For every morphism f from c to a and for every morphism g from c to b such that hom(c, a) ≠ ∅ and hom(c, b) ≠ ∅ holds ⟨f, g⟩ = (f × g) · Δ(c).

(45) Let f be a morphism from a to b. Let h be a morphism from c to d. Then for every morphism g from e to a and for every morphism k from s to c such that hom(a, b) ≠ ∅ and hom(c, d) ≠ ∅ and hom(e, a) ≠ ∅ and hom(s, c) ≠ ∅ holds (f × h) · (g × k) = (f · g) × (h · k).

3. Co-Cartesian Categories

Let C be a category. We say that C has finite coproduct if and only if: (Def.19) for every set I and for every function F from I into the objects of C such

that I is finite there exists an object a of C and there exists a injections family F′ into a on I such that dom_{κ} F′(κ) = F and a is a coproduct w.r.t. F′.

Next we state the proposition

(46) Let C be a category. Then C has finite coproduct if and only if there exists an object of C which is an initial object and for every objects a, b of C there exists an object c of C and there exist morphisms i_{1}, i_{2} of C such that dom i_{1} = a and dom i_{2} = b and cod i_{1} = c and cod i_{2} = c and c is a coproduct w.r.t. i_{1} and i_{2}.

We now define several new constructions. We consider cocartesian category structures which are extension of category structures and are systems

⟨objects, morphisms, a dom-map, a cod-map, a composition, an id-map, a initial, a coproduct, a 1st-coprojection, a 2nd-coprojection⟩, where the objects, the morphisms constitute 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, the id-map is a function from the objects into the morphisms, the initial is an element of the objects, the coproduct is a function from [: the objects, the objects :] into the objects, and the 1st-coprojection, the 2nd-coprojection are functions from [: the objects, the objects :] into the morphisms. Let C be a cocartesian category structure. The functor 0_{C} yields an object of C and is defined as follows:

(Def.20) 0_{C} = the initial of C.

Let a, b be objects of C. The functor a + b yields an object of C and is defined as follows:

(Def.21) a + b = (the coproduct of C)(⟨⟨a, b⟩⟩).

The functor in_{1}(a + b) yields a morphism of C and is defined as follows: (Def.22) in_{1}(a + b) = (the 1st-coprojection of C)(⟨⟨a, b⟩⟩).

The functor in_{2}(a + b) yields a morphism of C and is defined by: (Def.23) in_{2}(a + b) = (the 2nd-coprojection of C)(⟨⟨a, b⟩⟩).

Let us consider o, m. The functor ˙ _{c}^{op}(o, m) yielding a strict cocartesian category structure is defined by:

(Def.24) ˙ _{c}^{op}(o, m) = ⟨{o}, {m}, {m} ⟼ o, {m} ⟼ o, ⟨m, m⟩ ⟼ m, {o} ⟼ m, Extract(o), [⟨o, o⟩ ↦ o], [⟨o, o⟩ ↦ m], [⟨o, o⟩ ↦ m]⟩.

One can prove the following proposition

(47) The category structure of ˙ _{c}^{op}(o, m) = ˙ (o, m).

Let us note that there exists a strict category-like cocartesian category structure.

Let o, m be arbitrary. Then ˙ _{c}^{op}(o, m) is a strict category-like cocartesian category structure.

One can prove the following propositions:

(48) For every object a of ˙ _{c}^{op}(o, m) holds a = o.

(49) For all objects a, b of ˙ _{c}^{op}(o, m) holds a = b.

(50) For every morphism f of ˙ _{c}^{op}(o, m) holds f = m.

(51) For all morphisms f, g of ˙ _{c}^{op}(o, m) holds f = g.

(52) For all objects a, b of ˙ _{c}^{op}(o, m) and for every morphism f of ˙ _{c}^{op}(o, m) holds f ∈ hom(a, b).

(53) For all objects a, b of ˙ _{c}^{op}(o, m) every morphism of ˙ _{c}^{op}(o, m) is a morphism from a to b.

(54) For all objects a, b of ˙ _{c}^{op}(o, m) holds hom(a, b) ≠ ∅.

(55) Every object of ˙ _{c}^{op}(o, m) is an initial object.

(56) For every object c of ˙ _{c}^{op}(o, m) and for all morphisms i_{1}, i_{2} of ˙ _{c}^{op}(o, m)

holds c is a coproduct w.r.t. i_{1} and i_{2}. A category-like cocartesian category structure is cocartesian if:

(Def.25) the initial of it is an initial object and for all objects a, b of it holds dom (the 1st-coprojection of it)(⟨⟨a, b⟩⟩) = a and dom (the 2nd-coprojection of it)(⟨⟨a, b⟩⟩) = b and (the coproduct of it)(⟨⟨a, b⟩⟩) is a coproduct w.r.t. (the 1st-coprojection of it)(⟨⟨a, b⟩⟩) and (the 2nd-coprojection of it)(⟨⟨a, b⟩⟩).

One can prove the following proposition

(57) For arbitrary o, m holds ˙ _{c}^{op}(o, m) is cocartesian.

One can check that there exists a category-like cocartesian category structure which is strict and cocartesian.

A cocartesian category is a category-like cocartesian category structure. We adopt the following rules: C is a cocartesian category and a, b, c, d, e, s

are objects of C. Next we state two propositions:

(58) 0_{C} is an initial object.

(59) For all morphisms f_{1}, f_{2} from 0_{C} to a holds f_{1} = f_{2}.

Let us consider C, a. !^{a} is a morphism from 0_{C} to a.

We now state a number of propositions:

(60) hom(0_{C}, a) ≠ ∅.

(61) !^{a} = |^{0_{C}}a.

(62) dom(!^{a}) = 0_{C} and cod(!^{a}) = a.

(63) hom(0_{C}, a) = {!^{a}}.

(64) dom in_{1}(a + b) = a and cod in_{1}(a + b) = a + b.

(65) dom in_{2}(a + b) = b and cod in_{2}(a + b) = a + b.

(66) hom(a, a + b) ≠ ∅ and hom(b, a + b) ≠ ∅.

(67) a + b is a coproduct w.r.t. in_{1}(a + b) and in_{2}(a + b).

(68) C has finite coproduct.

(69) If hom(a, b) ≠ ∅ and hom(b, a) ≠ ∅, then in_{1}(a + b) is coretraction and

in_{2}(a + b) is coretraction. Let us consider C, a, b. Then in_{1}(a + b) is a morphism from a to a + b. Then

in_{2}(a + b) is a morphism from b to a + b. Let us consider C, a, b, c, and let f be a morphism from a to c, and let g be a morphism from b to c. Let us assume that hom(a, c) ≠ ∅ and hom(b, c) ≠ ∅. The functor ⟨f, g⟩ yielding a morphism from a + b to c is defined as follows:

(Def.26) ⟨f, g⟩ · in_{1}(a + b) = f and ⟨f, g⟩ · in_{2}(a + b) = g.

Next we state several propositions:

(70) If hom(a, c) ≠ ∅ and hom(b, c) ≠ ∅, then hom(a + b, c) ≠ ∅.

(71) ⟨in_{1}(a + b), in_{2}(a + b)⟩ = id_{(a+b)}.

(72) For every morphism f from a to c and for every morphism g from b to c and for every morphism h from c to d such that hom(a, c) ≠ ∅ and hom(b, c) ≠ ∅ and hom(c, d) ≠ ∅ holds ⟨h · f, h · g⟩ = h · ⟨f, g⟩.

(73) For all morphisms f, k from a to c and for all morphisms g, h from b to c such that hom(a, c) ≠ ∅ and hom(b, c) ≠ ∅ and ⟨f, g⟩ = ⟨k, h⟩ holds f = k and g = h.

(74) For every morphism f from a to c and for every morphism g from b to c such that hom(a, c) ≠ ∅ and hom(b, c) ≠ ∅ and also f is epi or g is epi holds ⟨f, g⟩ is epi.

(75) a and a + 0_{C} are isomorphic and a and 0_{C} + a are isomorphic.

(76) a + b and b + a are isomorphic.

(77) (a + b) + c and a + (b + c) are isomorphic.

We now define two new functors. Let us consider C, a. The functor ∇_{a} yields a morphism from a + a to a and is defined by:

(Def.27) ∇_{a} = ⟨id_{a}, id_{a}⟩.

Let us consider C, a, b, c, d, and let f be a morphism from a to c, and let g be a morphism from b to d. The functor f + g yielding a morphism from a + b to c + d is defined as follows:

(Def.28) f + g = ⟨in_{1}(c + d) · f, in_{2}(c + d) · g⟩.

The following propositions are true:

(78) If hom(a, c) ≠ ∅ and hom(b, d) ≠ ∅, then hom(a + b, c + d) ≠ ∅.

(79) id_{a} + id_{b} = id_{(a+b)}.

(80) Let f be a morphism from a to c. Let h be a morphism from b to d. Then for every morphism g from c to e and for every morphism k from d to e such that hom(a, c) ≠ ∅ and hom(b, d) ≠ ∅ and hom(c, e) ≠ ∅ and hom(d, e) ≠ ∅ holds ⟨g, k⟩ · (f + h) = ⟨g · f, k · h⟩.

(81) For every morphism f from a to c and for every morphism g from b to c such that hom(a, c) ≠ ∅ and hom(b, c) ≠ ∅ holds ∇_{c} · (f + g) = ⟨f, g⟩.

cartesian categories 169

(82) Let f be a morphism from a to c. Let h be a morphism from b to d. Then for every morphism g from c to e and for every morphism k from d to s such that hom(a, c) ≠ ∅ and hom(b, d) ≠ ∅ and hom(c, e) ≠ ∅ and hom(d, s) ≠ ∅ holds (g + k) · (f + h) = g · f + k · h.

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] Czesław Byliński. Basic functions and operations on functions. Formalized Mathematics, 1(1):245–254, 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] Czesław Byliński. Introduction to categories and functors. Formalized Mathematics, 1(2):409–420, 1990.

[7] Czesław Byliński. The modification of a function by a function and the iteration of the composition of a function. Formalized Mathematics, 1(3):521–527, 1990.

[8] Czesław Byliński. Opposite categories and contravariant functors. Formalized Mathematics, 2(3):419–424, 1991.

[9] Czesław Byliński. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

[10] Czesław Byliński. Products and coproducts in categories. Formalized Mathematics, 2(5):701–709, 1991.

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

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

[13] M. E. Szabo. Algebra of Proofs. North Holland, 1978.

[14] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

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

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

170

Algebra of Vector Functions

Hiroshi Yamazaki Shinshu University Nagano Yasunari Shidama Shinshu University Nagano

Summary. We develop the algebra of partial vector functions, with domains being algebra of vector functions.

MML Identifier: VFUNCT 1.

The terminology and notation used in this paper have been introduced in the following papers: [10], [5], [2], [3], [1], [12], [9], [4], [6], [11], [8], and [7]. For simplicity we adopt the following rules: X, Y will denote sets, C will denote a non-empty set, c will denote an element of C, V will denote a real normed space, f, f_{1}, f_{2}, f_{3} will denote partial functions from C to the carrier of V, and r, p will denote real numbers. We now define several new functors. Let us consider C, V, f_{1}, f_{2}. The functor f_{1} + f_{2} yielding a partial function from C to the carrier of V is defined as follows: (Def.1) dom(f_{1} + f_{2}) = dom f_{1} ∩ dom f_{2} and for every c such that c ∈ dom(f_{1} +

f_{2}) holds (f_{1} + f_{2})(c) = f_{1}(c) + f_{2}(c). The functor f_{1} − f_{2} yields a partial function from C to the carrier of V and is defined as follows: (Def.2) dom(f_{1} − f_{2}) = dom f_{1} ∩ dom f_{2} and for every c such that c ∈ dom(f_{1} −

f_{2}) holds (f_{1} − f_{2})(c) = f_{1}(c) − f_{2}(c). Let us consider C, and let us consider V, and let f_{1} be a partial function from C to , and let us consider f_{2}. The functor f_{1} f_{2} yielding a partial function from C to the carrier of V is defined by: (Def.3) dom(f_{1} f_{2}) = dom f_{1} ∩ dom f_{2} and for every c such that c ∈ dom(f_{1} f_{2})

holds (f_{1} f_{2})(c) = f_{1}(c) · f_{2}(c). Let us consider C, V, f, r. The functor r f yielding a partial function from C to the carrier of V is defined as follows: (Def.4) dom(r f) = dom f and for every c such that c ∈ dom(r f) holds (r f)(c) =

r · f(c).

Let us consider C, V, f. The functor ∥f∥ yields a partial function from C to and is defined by: (Def.5) dom∥f∥ = dom f and for every c such that c ∈ dom∥f∥ holds ∥f∥(c) =

∥f(c)∥. The functor −f yielding a partial function from C to the carrier of V is defined as follows: (Def.6) dom(−f) = dom f and for every c such that c ∈ dom(−f) holds

(−f)(c) = −f(c). Next we state a number of propositions:

(1) f = f_{1} + f_{2} if and only if dom f = dom f_{1} ∩ dom f_{2} and for every c such that c ∈ dom f holds f(c) = f_{1}(c) + f_{2}(c).

(2) f = f_{1} − f_{2} if and only if dom f = dom f_{1} ∩ dom f_{2} and for every c such that c ∈ dom f holds f(c) = f_{1}(c) − f_{2}(c).

(3) For every partial function f_{1} from C to holds f = f_{1} f_{2} if and only if dom f = dom f_{1} ∩ dom f_{2} and for every c such that c ∈ dom f holds f(c) = f_{1}(c) · f_{2}(c).

(4) f = r f_{1} if and only if dom f = dom f_{1} and for every c such that c ∈ dom f holds f(c) = r · f_{1}(c).

(5) For every partial function f from C to holds f = ∥f_{1}∥ if and only if dom f = dom f_{1} and for every c such that c ∈ dom f holds f(c) = ∥f_{1}(c)∥.

(6) f = −f_{1} if and only if dom f = dom f_{1} and for every c such that c ∈ dom f holds f(c) = −f_{1}(c).

(7) For every partial function f_{1} from C to holds dom(f_{1} f_{2}) \ (f_{1} f_{2})^{−1} {0_{V} } = (dom f_{1} \ f_{1} ^{−1} {0}) ∩ (dom f_{2} \ f_{2} ^{−1} {0_{V} }).

(8) ∥f∥^{−1} {0} = f ^{−1} {0_{V} } and (−f)^{−1} {0_{V} } = f ^{−1} {0_{V} }.

(9) If r ≠ 0, then (r f)^{−1} {0_{V} } = f ^{−1} {0_{V} }.

(10) f_{1} + f_{2} = f_{2} + f_{1}.

(11) (f_{1} + f_{2}) + f_{3} = f_{1} + (f_{2} + f_{3}).

(12) For all partial functions f_{1}, f_{2} from C to and for every partial function f_{3} from C to the carrier of V holds (f_{1} f_{2}) f_{3} = f_{1} (f_{2} f_{3}).

(13) For all partial functions f_{1}, f_{2} from C to holds (f_{1} + f_{2}) f_{3} = f_{1} f_{3} + f_{2} f_{3}.

(14) For every partial function f_{3} from C to holds f_{3} (f_{1} + f_{2}) = f_{3} f_{1} + f_{3} f_{2}.

(15) For every partial function f_{1} from C to holds r (f_{1} f_{2}) = (r f_{1}) f_{2}.

(16) For every partial function f_{1} from C to holds r (f_{1} f_{2}) = f_{1} (r f_{2}).

(17) For all partial functions f_{1}, f_{2} from C to holds (f_{1} − f_{2}) f_{3} = f_{1} f_{3} − f_{2} f_{3}.

(18) For every partial function f_{3} from C to holds f_{3} f_{1} − f_{3} f_{2} = f_{3} (f_{1} − f_{2}).

(19) r (f_{1} + f_{2}) = r f_{1} + r f_{2}.

(20) (r · p) f = r (p f).

(21) r (f_{1} − f_{2}) = r f_{1} − r f_{2}.

(22) f_{1} − f_{2} = (−1) (f_{2} − f_{1}).

(23) f_{1} − (f_{2} + f_{3}) = f_{1} − f_{2} − f_{3}.

(24) 1 f = f.

(25) f_{1} − (f_{2} − f_{3}) = (f_{1} − f_{2}) + f_{3}.

(26) f_{1} + (f_{2} − f_{3}) = (f_{1} + f_{2}) − f_{3}.

(27) For every partial function f_{1} from C to holds ∥f_{1} f_{2}∥ = |f_{1}| ∥f_{2}∥.

(28) ∥r f∥ = |r| ∥f∥.

(29) −f = (−1) f.

(30) −−f = f.

(31) f_{1} − f_{2} = f_{1} + −f_{2}.

We now state a number of propositions:

(32) f_{1} − −f_{2} = f_{1} + f_{2}.

(33) (f_{1} + f_{2}) X = f_{1} X + f_{2} X and (f_{1} + f_{2}) X = f_{1} X + f_{2} and (f_{1} + f_{2}) X = f_{1} + f_{2} X.

(34) For every partial function f_{1} from C to holds (f_{1} f_{2}) X = (f_{1} X) (f_{2} X) and (f_{1} f_{2}) X = (f_{1} X) f_{2} and (f_{1} f_{2}) X = f_{1} (f_{2} X).

(35) (−f) X = −f X and ∥f∥ X = ∥f X∥.

(36) (f_{1} − f_{2}) X = f_{1} X − f_{2} X and (f_{1} − f_{2}) X = f_{1} X − f_{2} and (f_{1} − f_{2}) X = f_{1} − f_{2} X.

(37) (r f) X = r (f X).

(38) f_{1} is total and f_{2} is total if and only if f_{1} + f_{2} is total and also f_{1} is total and f_{2} is total if and only if f_{1} − f_{2} is total.

(39) For every partial function f_{1} from C to holds f_{1} is total and f_{2} is total if and only if f_{1} f_{2} is total.

(40) f is total if and only if r f is total.

(41) f is total if and only if −f is total.

(42) f is total if and only if ∥f∥ is total.

(43) If f_{1} is total and f_{2} is total, then (f_{1} + f_{2})(c) = f_{1}(c) + f_{2}(c) and (f_{1} − f_{2})(c) = f_{1}(c) − f_{2}(c).

(44) For every partial function f_{1} from C to such that f_{1} is total and f_{2} is total holds (f_{1} f_{2})(c) = f_{1}(c) · f_{2}(c).

(45) If f is total, then (r f)(c) = r · f(c).

(46) If f is total, then (−f)(c) = −f(c) and ∥f∥(c) = ∥f(c)∥.

Let us consider C, V, f, Y. We say that f is bounded on Y if and only if: (Def.7) there exists r such that for every c such that c ∈ Y ∩ dom f holds

∥f(c)∥ ≤ r. Next we state a number of propositions:

(47) f is bounded on Y if and only if there exists r such that for every c such that c ∈ Y ∩ dom f holds ∥f(c)∥ ≤ r.

(48) If Y ⊆ X and f is bounded on X, then f is bounded on Y.

(49) If X ∩ dom f = ∅, then f is bounded on X.

(50) If 0 = r, then r f is bounded on Y.

(51) If f is bounded on Y, then r f is bounded on Y.

(52) If f is bounded on Y, then ∥f∥ is bounded on Y and −f is bounded on Y.

(53) If f_{1} is bounded on X and f_{2} is bounded on Y, then f_{1} + f_{2} is bounded on X ∩ Y.

(54) For every partial function f_{1} from C to such that f_{1} is bounded on X and f_{2} is bounded on Y holds f_{1} f_{2} is bounded on X ∩ Y.

(55) If f_{1} is bounded on X and f_{2} is bounded on Y, then f_{1} − f_{2} is bounded on X ∩ Y.

(56) If f is bounded on X and f is bounded on Y, then f is bounded on X ∪ Y.

(57) If f_{1} is a constant on X and f_{2} is a constant on Y, then f_{1} + f_{2} is a constant on X ∩ Y and f_{1} − f_{2} is a constant on X ∩ Y.

(58) For every partial function f_{1} from C to such that f_{1} is a constant on X and f_{2} is a constant on Y holds f_{1} f_{2} is a constant on X ∩ Y.

(59) If f is a constant on Y, then p f is a constant on Y.

(60) If f is a constant on Y, then ∥f∥ is a constant on Y and −f is a constant on Y.

(61) If f is a constant on Y, then f is bounded on Y.

(62) If f is a constant on Y, then for every r holds r f is bounded on Y and −f is bounded on Y and ∥f∥ is bounded on Y.

(63) If f_{1} is bounded on X and f_{2} is a constant on Y, then f_{1}+f_{2} is bounded on X ∩ Y.

(64) If f_{1} is bounded on X and f_{2} is a constant on Y, then f_{1}−f_{2} is bounded on X ∩ Y and f_{2} − f_{1} is bounded on X ∩ 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. 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. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

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

[6] Jarosław Kotowicz. Partial functions from a domain to a domain. Formalized Mathematics, 1(4):697–702, 1990.

algebra of vector functions 175

[7] Jarosław Kotowicz. Partial functions from a domain to the set of real numbers. Formalized Mathematics, 1(4):703–709, 1990.

[8] Jan Popiołek. Real normed space. Formalized Mathematics, 2(1):111–115, 1991.

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

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

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

[12] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

176

On a Duality Between Weakly Separated Subspaces of Topological Spaces

Zbigniew Karno Warsaw University Białystok

Summary. Let X be a topological space and let X_{1} and X_{2} be subspaces of X with the carriers A_{1} and A_{2}, respectively. Recall that X_{1} and X_{2} are weakly separated if A_{1} \ A_{2} and A_{2} \ A_{1} are separated (see [2] and also [1] for applications). Our purpose is to list a number of properties of such subspaces, supplementary to those given in [2]. Note that in the Mizar formalism the carrier of any topological space (hence the carrier of any its subspace) is always non–empty, therefore for convenience we list beforehand analogous properties of weakly separated subsets without any additional conditions.

To present the main results we first formulate a useful definition. We say that X_{1} and X_{2} constitute a decomposition of X if A_{1} and A_{2} are disjoint and the union of A_{1} and A_{2} covers the carrier of X (comp. [3]). We are ready now to present the following duality property between pairs of weakly separated subspaces : If each pair of subspaces X_{1}, Y_{1} and X_{2}, Y_{2} of X constitutes a decomposition of X, then X_{1} and X_{2} are weakly separated iff Y_{1} and Y_{2} are weakly separated. From this theorem we get immediately that under the same hypothesis, X_{1} and X_{2} are separated iff X_{1} misses X_{2} and Y_{1} and Y_{2} are weakly separated. Moreover, we show the following enlargement theorem : If X_{i} and Y_{i} are subspaces of X such that Y_{i} is a subspace of X_{i} and Y_{1} ∪ Y_{2} = X_{1} ∪ X_{2} and if Y_{1} and Y_{2} are weakly separated, then X_{1} and X_{2} are weakly separated. We show also the following dual extenuation theorem : If X_{i} and Y_{i} are subspaces of X such that Y_{i} is a subspace of X_{i} and Y_{1} ∩ Y_{2} = X_{1} ∩ X_{2} and if X_{1} and X_{2} are weakly separated, then Y_{1} and Y_{2} are weakly separated. At the end we give a few properties of weakly separated subspaces in subspaces.

MML Identifier: TSEP 2.

The papers [6], [7], [4], [8], [5], and [2] provide the notation and terminology for this paper.

1. Certain Set–Decompositions of a Topological Space

In the sequel X denotes a topological space. Next we state the proposition (1) For all subsets A, B of X holds A^{c} \ B^{c} = B \ A. Let X be a topological space, and let A_{1}, A_{2} be subsets of X. We say that

A_{1} and A_{2} constitute a decomposition if and only if: (Def.1) A_{1} ∩ A_{2} = ∅ and A_{1} ∪ A_{2} = the carrier of X.

In the sequel A, A_{1}, A_{2}, B_{1}, B_{2} are subsets of X. We now state a number of propositions:

(2) A_{1} and A_{2} constitute a decomposition if and only if A_{1} ∩ A_{2} = ∅_{X} and A_{1} ∪ A_{2} = Ω_{X}.

(3) If A_{1} and A_{2} constitute a decomposition, then A_{2} and A_{1} constitute a decomposition.

(4) If A_{1} and A_{2} constitute a decomposition, then A_{1} = A_{2}^{c} and A_{2} = A_{1}^{c}.

(5) If A_{1} = A_{2}^{c} or A_{2} = A_{1}^{c}, then A_{1} and A_{2} constitute a decomposition.

(6) A and A^{c} constitute a decomposition and A^{c} and A constitute a decomposition.

(7) ∅_{X} and Ω_{X} constitute a decomposition and Ω_{X} and ∅_{X} constitute a decomposition.

(8) If A is non-empty, then A and A do not constitute a decomposition.

(9) If A_{1} and A constitute a decomposition and A and A_{2} constitute a decomposition, then A_{1} = A_{2}.

(10) If A_{1} and A_{2} constitute a decomposition, then \overline{A_{1}} and Int A_{2} constitute a decomposition and Int A_{1} and \overline{A_{2}} constitute a decomposition.

(11) \overline{A} and Int(A^{c}) constitute a decomposition and \overline{A^{c}} and Int A constitute a decomposition and Int A and \overline{A^{c}} constitute a decomposition and Int(A^{c}) and \overline{A} constitute a decomposition.

(12) If A_{1} and A_{2} constitute a decomposition, then A_{1} is open if and only if A_{2} is closed.

(13) If A_{1} and A_{2} constitute a decomposition, then A_{1} is closed if and only if A_{2} is open.

(14) If A_{1} and A_{2} constitute a decomposition and B_{1} and B_{2} constitute a decomposition, then A_{1} ∩ B_{1} and A_{2} ∪ B_{2} constitute a decomposition.

(15) If A_{1} and A_{2} constitute a decomposition and B_{1} and B_{2} constitute a decomposition, then A_{1} ∪ B_{1} and A_{2} ∩ B_{2} constitute a decomposition.

2. Duality between Pairs of Weakly Separated Subsets

In the sequel X will denote a topological space and A_{1}, A_{2} will denote subsets of X. Next we state a number of propositions:

(16) For all subsets A_{1}, A_{2}, C_{1}, C_{2} of X such that A_{1} and C_{1} constitute a decomposition and A_{2} and C_{2} constitute a decomposition holds A_{1} and A_{2} are weakly separated if and only if C_{1} and C_{2} are weakly separated.

(17) A_{1} and A_{2} are weakly separated if and only if A_{1}^{c} and A_{2}^{c} are weakly separated.

(18) For all subsets A_{1}, A_{2}, C_{1}, C_{2} of X such that A_{1} and C_{1} constitute a decomposition and A_{2} and C_{2} constitute a decomposition holds if A_{1} and A_{2} are separated, then C_{1} and C_{2} are weakly separated.

(19) For all subsets A_{1}, A_{2}, C_{1}, C_{2} of X such that A_{1} and C_{1} constitute a decomposition and A_{2} and C_{2} constitute a decomposition holds if A_{1} ∩ A_{2} = ∅ and C_{1} and C_{2} are weakly separated, then A_{1} and A_{2} are separated.

(20) For all subsets A_{1}, A_{2}, C_{1}, C_{2} of X such that A_{1} and C_{1} constitute a decomposition and A_{2} and C_{2} constitute a decomposition holds if C_{1} ∪ C_{2} = the carrier of X and C_{1} and C_{2} are weakly separated, then A_{1} and A_{2} are separated.

(21) If A_{1} and A_{2} constitute a decomposition, then A_{1} and A_{2} are weakly separated if and only if A_{1} and A_{2} are separated.

(22) A_{1} and A_{2} are weakly separated if and only if (A_{1} ∪ A_{2}) \ A_{1} and (A_{1} ∪ A_{2}) \ A_{2} are separated.

(23) For all subsets A_{1}, A_{2}, C_{1}, C_{2} of X such that C_{1} ⊆ A_{1} and C_{2} ⊆ A_{2} and C_{1} ∪ C_{2} = A_{1} ∪ A_{2} holds if C_{1} and C_{2} are weakly separated, then A_{1} and A_{2} are weakly separated.

(24) A_{1} and A_{2} are weakly separated if and only if A_{1}\A_{1}∩A_{2} and A_{2}\A_{1}∩A_{2} are separated.

(25) For all subsets A_{1}, A_{2}, C_{1}, C_{2} of X such that C_{1} ⊆ A_{1} and C_{2} ⊆ A_{2} and C_{1} ∩ C_{2} = A_{1} ∩ A_{2} holds if A_{1} and A_{2} are weakly separated, then C_{1} and C_{2} are weakly separated.

In the sequel X_{0} will denote a subspace of X and B_{1}, B_{2} will denote subsets of X_{0}. One can prove the following propositions:

(26) If B_{1} = A_{1} and B_{2} = A_{2}, then A_{1} and A_{2} are separated if and only if B_{1} and B_{2} are separated.

(27) If B_{1} = (the carrier of X_{0}) ∩ A_{1} and B_{2} = (the carrier of X_{0}) ∩ A_{2}, then if A_{1} and A_{2} are separated, then B_{1} and B_{2} are separated.

(28) If B_{1} = A_{1} and B_{2} = A_{2}, then A_{1} and A_{2} are weakly separated if and only if B_{1} and B_{2} are weakly separated.

(29) If B_{1} = (the carrier of X_{0}) ∩ A_{1} and B_{2} = (the carrier of X_{0}) ∩ A_{2}, then if A_{1} and A_{2} are weakly separated, then B_{1} and B_{2} are weakly separated.

3. Certain Subspace–Decompositions of a Topological Space

Let X be a topological space, and let X_{1}, X_{2} be subspaces of X. We say that X_{1} and X_{2} constitute a decomposition if and only if: (Def.2) for all subsets A_{1}, A_{2} of X such that A_{1} = the carrier of X_{1} and

A_{2} = the carrier of X_{2} holds A_{1} and A_{2} constitute a decomposition. In the sequel X_{0}, X_{1}, X_{2}, Y_{1}, Y_{2} denote subspaces of X. The following

propositions are true:

(30) X_{1} and X_{2} constitute a decomposition if and only if X_{1} misses X_{2} and the topological structure of X = X_{1} ∪ X_{2}.

(31) If X_{1} and X_{2} constitute a decomposition, then X_{2} and X_{1} constitute a decomposition.

(32) X_{0} and X_{0} do not constitute a decomposition.

(33) If X_{1} and X_{0} constitute a decomposition and X_{0} and X_{2} constitute a decomposition, then the topological structure of X_{1} = the topological structure of X_{2}.

(34) For all subspaces X_{1}, X_{2}, Y_{1}, Y_{2} of X such that X_{1} and Y_{1} constitute a decomposition and X_{2} and Y_{2} constitute a decomposition holds Y_{1} ∪ Y_{2} = the topological structure of X if and only if X_{1} misses X_{2}.

(35) If X_{1} and X_{2} constitute a decomposition, then X_{1} is open if and only if X_{2} is closed.

(36) If X_{1} and X_{2} constitute a decomposition, then X_{1} is closed if and only if X_{2} is open.

(37) If X_{1} meets Y_{1} and X_{1} and X_{2} constitute a decomposition and Y_{1} and Y_{2} constitute a decomposition, then X_{1} ∩ Y_{1} and X_{2} ∪ Y_{2} constitute a decomposition.

(38) If X_{2} meets Y_{2} and X_{1} and X_{2} constitute a decomposition and Y_{1} and Y_{2} constitute a decomposition, then X_{1} ∪ Y_{1} and X_{2} ∩ Y_{2} constitute a decomposition.

4. Duality between Pairs of Weakly Separated Subspaces

In the sequel X is a topological space. We now state several propositions:

(39) For all subspaces X_{1}, X_{2}, Y_{1}, Y_{2} of X such that X_{1} and Y_{1} constitute a decomposition and X_{2} and Y_{2} constitute a decomposition holds X_{1} and X_{2} are weakly separated if and only if Y_{1} and Y_{2} are weakly separated.

(40) For all subspaces X_{1}, X_{2}, Y_{1}, Y_{2} of X such that X_{1} and Y_{1} constitute a decomposition and X_{2} and Y_{2} constitute a decomposition holds if X_{1} and X_{2} are separated, then Y_{1} and Y_{2} are weakly separated.

(41) For all subspaces X_{1}, X_{2}, Y_{1}, Y_{2} of X such that X_{1} and Y_{1} constitute a decomposition and X_{2} and Y_{2} constitute a decomposition holds if X_{1} misses X_{2} and Y_{1} and Y_{2} are weakly separated, then X_{1} and X_{2} are separated.

(42) For all subspaces X_{1}, X_{2}, Y_{1}, Y_{2} of X such that X_{1} and Y_{1} constitute a decomposition and X_{2} and Y_{2} constitute a decomposition holds if Y_{1}∪Y_{2} = the topological structure of X and Y_{1} and Y_{2} are weakly separated, then X_{1} and X_{2} are separated.

(43) For all subspaces X_{1}, X_{2} of X such that X_{1} and X_{2} constitute a decomposition holds X_{1} and X_{2} are weakly separated if and only if X_{1} and X_{2} are separated.

(44) For all subspaces X_{1}, X_{2}, Y_{1}, Y_{2} of X such that Y_{1} is a subspace of X_{1} and Y_{2} is a subspace of X_{2} and Y_{1} ∪ Y_{2} = X_{1} ∪ X_{2} holds if Y_{1} and Y_{2} are weakly separated, then X_{1} and X_{2} are weakly separated.

(45) For all subspaces X_{1}, X_{2}, Y_{1}, Y_{2} of X such that Y_{1} is a subspace of X_{1} and Y_{2} is a subspace of X_{2} and Y_{1} meets Y_{2} and Y_{1} ∩ Y_{2} = X_{1} ∩ X_{2} holds if X_{1} and X_{2} are weakly separated, then Y_{1} and Y_{2} are weakly separated.

In the sequel X_{0} will denote a subspace of X. Next we state four propositions:

(46) For all subspaces X_{1}, X_{2} of X and for all subspaces Y_{1}, Y_{2} of X_{0} such that the carrier of X_{1} = the carrier of Y_{1} and the carrier of X_{2} = the carrier of Y_{2} holds X_{1} and X_{2} are separated if and only if Y_{1} and Y_{2} are separated.

(47) For all subspaces X_{1}, X_{2} of X such that X_{1} meets X_{0} and X_{2} meets X_{0} and for all subspaces Y_{1}, Y_{2} of X_{0} such that Y_{1} = X_{1}∩X_{0} and Y_{2} = X_{2}∩X_{0} holds if X_{1} and X_{2} are separated, then Y_{1} and Y_{2} are separated.

(48) For all subspaces X_{1}, X_{2} of X and for all subspaces Y_{1}, Y_{2} of X_{0} such that the carrier of X_{1} = the carrier of Y_{1} and the carrier of X_{2} = the carrier of Y_{2} holds X_{1} and X_{2} are weakly separated if and only if Y_{1} and Y_{2} are weakly separated.

(49) For all subspaces X_{1}, X_{2} of X such that X_{1} meets X_{0} and X_{2} meets X_{0} and for all subspaces Y_{1}, Y_{2} of X_{0} such that Y_{1} = X_{1} ∩ X_{0} and Y_{2} = X_{2} ∩ X_{0} holds if X_{1} and X_{2} are weakly separated, then Y_{1} and Y_{2} are weakly separated.

References

[1] Zbigniew Karno. Continuity of mappings over the union of subspaces. Formalized Mathematics, 3(1):1–16, 1992.

[2] Zbigniew Karno. Separated and weakly separated subspaces of topological spaces. Formalized Mathematics, 2(5):665–674, 1991.

[3] Kazimierz Kuratowski. Topology. Volume I, PWN - Polish Scientific Publishers, Academic Press, Warsaw, New York and London, 1966.

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

[5] Andrzej Trybulec. A Borsuk theorem on homotopy types. Formalized Mathematics, 2(4):535–545, 1991.

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

182 zbigniew karno

[7] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

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

Basic Petri Net Concepts

Pauline N. Kawamoto Shinshu University Nagano

Yasushi Fuwa Shinshu University Nagano Yatsuka Nakamura Shinshu University Nagano

Summary. This article presents the basic place/transition net structure definition for building various types of Petri nets. The basic net structure fields include places, transitions, and arcs (place-transition, transition-place) which may be supplemented with other fields (e.g., capacity, weight, marking, etc.) as needed. The theorems included in this article are divided into the following categories: deadlocks, traps, and dual net theorems. Here, a dual net is taken as the result of inverting all arcs (place-transition arcs to transition-place arcs and vice-versa) in the original net.

MML Identifier: PETRI.

The papers [3], [5], [6], [7], [1], [4], and [2] provide the terminology and notation for this paper.

1. Basic Place/Transition Net Structure Definition

Let A, B be non-empty sets. Observe that there exists a non-empty relation between A and B.

Let A, B be non-empty sets, and let r be a non-empty relation between A and B. We see that the element of r is an element of [: A, B:].

We consider place/transitions net structures which are systems

⟨places, transitions, S-T arcs, T-S arcs⟩, where the places, the transitions constitute non-empty sets, the S-T arcs constitute a non-empty relation between the places and the transitions, and the T-S arcs constitute a non-empty relation between the transitions and the places.

In the sequel P_{1} will denote a place/transitions net structure. We now define several new modes. Let us consider P_{1}. A place of P_{1} is an element of the places of P_{1}.

A transition of P_{1} is an element of the transitions of P_{1}. An S-T arc of P_{1} is an element of the S-T arcs of P_{1}. A T-S arc of P_{1} is an element of the T-S arcs of P_{1}. Let us consider P_{1}, and let x be an S-T arc of P_{1}. Then x_{1} is a place of P_{1}.

Then x_{2} is a transition of P_{1}. Let us consider P_{1}, and let x be a T-S arc of P_{1}. Then x_{1} is a transition of P_{1}. Then x_{2} is a place of P_{1}.

The scheme Set of Elements deals with a non-empty set A, and a unary predicate P, and states that:

{x : P[x]}, where x ranges over elements of A, is a subset of A for all values of the parameters.

In the sequel S_{0} will denote a set of places of P_{1}. We now define two new functors. Let us consider P_{1}, S_{0}. The functor ^{∗}S_{0} yielding a set of transitions of P_{1} is defined as follows: (Def.1) ^{∗}S_{0} = {t : ⋁_{f} ⋁_{s}[s ∈ S_{0} ∧ f = ⟨⟨t, s⟩⟩]}, where t ranges over transitions

of P_{1}, and f ranges over T-S arcs of P_{1}, and s ranges over places of P_{1}. The functor S_{0}^{∗} yielding a set of transitions of P_{1} is defined as follows: (Def.2) S_{0}^{∗} = {t : ⋁_{f} ⋁_{s}[s ∈ S_{0} ∧ f = ⟨⟨s, t⟩⟩]}, where t ranges over transitions

of P_{1}, and f ranges over S-T arcs of P_{1}, and s ranges over places of P_{1}.

Next we state four propositions:

(1) ^{∗}S_{0} = {f_{1} : f_{2} ∈ S_{0}}, where f ranges over T-S arcs of P_{1}.

(2) For an arbitrary x holds x ∈ ^{∗}S_{0} if and only if there exists a T-S arc f of P_{1} and there exists a place s of P_{1} such that s ∈ S_{0} and f = ⟨⟨x, s⟩⟩.

(3) S_{0}^{∗} = {f_{2} : f_{1} ∈ S_{0}}, where f ranges over S-T arcs of P_{1}.

(4) For an arbitrary x holds x ∈ S_{0}^{∗} if and only if there exists an S-T arc f of P_{1} and there exists a place s of P_{1} such that s ∈ S_{0} and f = ⟨⟨s, x⟩⟩.

In the sequel T_{0} is a set of transitions of P_{1}. We now define two new functors. Let us consider P_{1}, T_{0}. The functor ^{∗}T_{0} yields a set of places of P_{1} and is defined by: (Def.3) ^{∗}T_{0} = {s : ⋁_{f} ⋁_{t}[t ∈ T_{0} ∧ f = ⟨⟨s, t⟩⟩]}, where s ranges over places of P_{1},

and f ranges over S-T arcs of P_{1}, and t ranges over transitions of P_{1}. The functor T_{0}^{∗} yielding a set of places of P_{1} is defined by: (Def.4) T_{0}^{∗} = {s : ⋁_{f} ⋁_{t}[t ∈ T_{0} ∧ f = ⟨⟨t, s⟩⟩]}, where s ranges over places of P_{1},

and f ranges over T-S arcs of P_{1}, and t ranges over transitions of P_{1}.

Next we state several propositions:

(5) ^{∗}T_{0} = {f_{1} : f_{2} ∈ T_{0}}, where f ranges over S-T arcs of P_{1}.

(6) For an arbitrary x holds x ∈ ^{∗}T_{0} if and only if there exists an S-T arc f of P_{1} and there exists a transition t of P_{1} such that t ∈ T_{0} and f = ⟨⟨x, t⟩⟩.

(7) T_{0}^{∗} = {f_{2} : f_{1} ∈ T_{0}}, where f ranges over T-S arcs of P_{1}.

(8) For an arbitrary x holds x ∈ T_{0}^{∗} if and only if there exists a T-S arc f of P_{1} and there exists a transition t of P_{1} such that t ∈ T_{0} and f = ⟨⟨t, x⟩⟩.

(9) ^{∗}(∅_{the places of P_{1}}) = ∅.

(10) (∅_{the places of P_{1}})^{∗} = ∅.

(11) ^{∗}(∅_{the transitions of P_{1}}) = ∅.

(12) (∅_{the transitions of P_{1}})^{∗} = ∅.

2. Deadlocks

We now define two new attributes. Let us consider P_{1}. A set of places of P_{1} is deadlock-like if: (Def.5) ^{∗}it is a subset of it^{∗}. A place/transitions net structure has deadlocks if: (Def.6) there exists a set of places of it which is deadlock-like.

3. Traps

We now define two new attributes. Let us consider P_{1}. A set of places of P_{1} is trap-like if: (Def.7) it^{∗} is a subset of ^{∗}it. A place/transitions net structure has traps if: (Def.8) there exists a set of places of it which is trap-like. Let A, B be non-empty sets, and let r be a non-empty relation between A and B. Then r^{}is a non-empty relation between B and A.

4. Duality Theorems for Place/Transition Nets

Let us consider P_{1}. The functor P_{1}^{∘} yields a strict place/transitions net structure and is defined by: (Def.9) P_{1}^{∘} = ⟨the places of P_{1}, the transitions of P_{1}, (the T-S arcs of P_{1})^{}, (the

S-T arcs of P_{1})^{}⟩. One can prove the following propositions:

(13) (P_{1}^{∘})^{∘} = the place/transitions net structure of P_{1}.

(14) The places of P_{1} = the places of P_{1}^{∘} and the transitions of P_{1} = the transitions of P_{1}^{∘} and (the S-T arcs of P_{1})^{}= the T-S arcs of P_{1}^{∘} and (the T-S arcs of P_{1})^{}= the S-T arcs of P_{1}^{∘}.

We now define several new functors. Let us consider P_{1}, and let S_{0} be a set of places of P_{1}. The functor S_{0}^{∘} yields a set of places of P_{1}^{∘} and is defined as follows:

(Def.10) S_{0}^{∘} = S_{0}.

Let us consider P_{1}, and let s be a place of P_{1}. The functor s^{∘} yields a place of P_{1}^{∘} and is defined by:

(Def.11) s^{∘} = s. Let us consider P_{1}, and let S_{0} be a set of places of P_{1}^{∘}. The functor ^{∘} S_{0} yields a set of places of P_{1} and is defined by:

(Def.12) ^{∘} S_{0} = S_{0}. Let us consider P_{1}, and let s be a place of P_{1}^{∘}. The functor ^{∘} s yields a place of P_{1} and is defined by:

(Def.13) ^{∘} s = s. Let us consider P_{1}, and let T_{0} be a set of transitions of P_{1}. The functor T_{0}^{∘} yielding a set of transitions of P_{1}^{∘} is defined by:

(Def.14) T_{0}^{∘} = T_{0}. Let us consider P_{1}, and let t be a transition of P_{1}. The functor t^{∘} yields a transition of P_{1}^{∘} and is defined as follows:

(Def.15) t^{∘} = t.

Let us consider P_{1}, and let T_{0} be a set of transitions of P_{1}^{∘}. The functor ^{∘} T_{0} yielding a set of transitions of P_{1} is defined by:

(Def.16) ^{∘} T_{0} = T_{0}. Let us consider P_{1}, and let t be a transition of P_{1}^{∘}. The functor ^{∘} t yielding a transition of P_{1} is defined by:

(Def.17) ^{∘} t = t.

In the sequel S will denote a set of places of P_{1}. Next we state several propositions:

(15) (S^{∘})^{∗} = ^{∗}S.

(16) ^{∗}(S^{∘}) = S^{∗}.

(17) S is deadlock-like if and only if S^{∘} is trap-like.

(18) S is trap-like if and only if S^{∘} is deadlock-like.

(19) For every P_{1} being a place/transitions net structure and for every transition t of P_{1} and for every S_{0} being a set of places of P_{1} holds t ∈ S_{0}^{∗} if and only if ^{∗}{t} ∩ S_{0} ≠ ∅.

(20) For every P_{1} being a place/transitions net structure and for every transition t of P_{1} and for every S_{0} being a set of places of P_{1} holds t ∈ ^{∗}S_{0} if and only if {t}^{∗} ∩ S_{0} ≠ ∅.

References

[1] Czesław Byliński. Functions from a set to a set. Formalized Mathematics, 1(1):153–164, 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,

basic petri net concepts 187

[4] Andrzej Trybulec. Tuples, projections and Cartesian products. Formalized Mathematics, 1(1):97–105, 1990.

[5] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

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

[7] Edmund Woronowicz. Relations defined on sets. Formalized Mathematics, 1(1):181–186, 1990.

188

Finite Topological Spaces

Hiroshi Imura Shinshu University Nagano Masayoshi Eguchi Shinshu University Nagano

Summary. By borrowing the concept of neighborhood from the theory of topological space in continuous cases and extending it to a discrete case such as a space of lattice points we have defined such concepts as boundaries, closures, interiors, isolated points, and connected points as in the case of continuity. We have proved various properties which are satisfied by these concepts.

MML Identifier: FIN TOPO.

The articles [15], [8], [2], [5], [16], [6], [14], [19], [10], [12], [17], [9], [11], [3], [4], [13], [7], [18], and [1] provide the notation and terminology for this paper. The scheme Set of Elements deals with a non-empty set A, a unary functor F yielding an element of A, and a unary predicate P, and states that:

{F(x) : P[x]}, where x ranges over elements of A, is a subset of A for all values of the parameters.

One can prove the following propositions:

(1) Let A be a set. Let f be a finite sequence of elements of 2^{A}. Then if for every natural number i such that 1 ≤ i and i < len f holds π_{i}f ⊆ π_{i+1}f, then for all natural numbers i, j such that i ≤ j and 1 ≤ i and j ≤ len f holds π_{i}f ⊆ π_{j}f.

(2) Let A be a set. Let f be a finite sequence of elements of 2^{A}. Suppose for every natural number i such that 1 ≤ i and i < len f holds π_{i}f ⊆ π_{i+1}f. Then for all natural numbers i, j such that i < j and 1 ≤ i and j ≤ len f and π_{j}f ⊆ π_{i}f and for every natural number k such that i ≤ k and k ≤ j holds π_{j}f = π_{k}f.

(3) For every set F such that F is finite and F ≠ ∅ and for all sets B, C such that B ∈ F and C ∈ F holds B ⊆ C or C ⊆ B there exists a set m such that m ∈ F and for every set C such that C ∈ F holds C ⊆ m.

(4) For all sets x, A holds x ⊆ A if and only if x ∈ 2^{A}.

(5) For every function f if for every natural number i holds f(i) ⊆ f(i + 1), and for all natural numbers i, j such that i ≤ j holds f(i) ⊆ f(j).

The scheme MaxFinSeqEx deals with a non-empty set A, a subset B of A, a subset C of A, and a unary functor F yielding a subset of A and states that:

there exists a finite sequence f of elements of 2^{A} such that len f > 0 and π_{1}f = C and for every natural number i such that i > 0 and i < len f holds π_{i+1}f = F(π_{i}f) and F(π_{len f}f) = π_{len f}f and for all natural numbers i, j such that i > 0 and i < j and j ≤ len f holds π_{i}f ⊆ B and π_{i}f ⊆ π_{j}f and π_{i}f ≠ π_{j}f provided the parameters meet the following requirements:

• B is finite,

• C ⊆ B,

• for every subset A of A such that A ⊆ B holds A ⊆ F(A) and F(A) ⊆ B.

We consider finite topology spaces which are extension of a 1-sorted structure and are systems

⟨a carrier, a neighbour-map⟩, where the carrier is a non-empty set and the neighbour-map is a function from the carrier into 2^{the carrier}.

In the sequel F_{1} denotes a finite topology space. We now define two new modes. Let F_{1} be a 1-sorted structure. An element of F_{1} is an element of the carrier of F_{1}.

A subset of F_{1} is a subset of the carrier of F_{1}.

In the sequel x, y are elements of F_{1}. Let F_{1} be a finite topology space, and let x be an element of F_{1}. The functor U(x) yields a subset of F_{1} and is defined as follows:

(Def.1) U(x) = (the neighbour-map of F_{1})(x).

One can prove the following proposition

(6) For every F_{1} being a finite topology space and for every element x of F_{1} holds U(x) = (the neighbour-map of F_{1})(x).

We now define three new constructions. Let x be arbitrary, and let y be a subset of {x}. Then x⟼ . y is a function from {x} into 2^{{x}}. The strict finite topology space FT_{{0}} is defined as follows:

(Def.2) FT_{{0}} = ⟨{0 qua any}, 0⟼ . Ω_{{0 qua any}}⟩. A finite topology space is filled if:

(Def.3) for every element x of it holds x ∈ U(x). A 1-sorted structure is finite if:

(Def.4) the carrier of it is finite.

One can prove the following two propositions:

(7) FT_{{0}} is filled.

(8) FT_{{0}} is finite.

Let us observe that there exists a finite filled strict finite topology space. Let T be a 1-sorted structure, and let F be a set. We say that F is a cover

of T if and only if: (Def.5) the carrier of T ⊆ ⋃ F.

Next we state the proposition

(9) For every F_{1} being a filled finite topology space holds {U(x)}, where x ranges over elements of F_{1}, is a cover of F_{1}.

In the sequel A is a subset of F_{1}. Let us consider F_{1}, and let A be a subset of F_{1}. The functor A^{δ} yielding a subset of F_{1} is defined as follows: (Def.6) A^{δ} = {x : U(x) ∩ A ≠ ∅ ∧ U(x) ∩ A^{c} ≠ ∅}.

The following proposition is true

(10) x ∈ A^{δ} if and only if U(x) ∩ A ≠ ∅ and U(x) ∩ A^{c} ≠ ∅. We now define two new functors. Let us consider F_{1}, and let A be a subset

of F_{1}. The functor A^{δ_{i}} yielding a subset of F_{1} is defined as follows: (Def.7) A^{δ_{i}} = A ∩ A^{δ}. The functor A^{δ_{o}} yields a subset of F_{1} and is defined as follows: (Def.8) A^{δ_{o}} = A^{c} ∩ A^{δ}.

Next we state the proposition

(11) A^{δ} = A^{δ_{i}} ∪ A^{δ_{o}}.

We now define several new constructions. Let us consider F_{1}, and let A be a subset of F_{1}. The functor A^{i} yielding a subset of F_{1} is defined by: (Def.9) A^{i} = {x : U(x) ⊆ A}. The functor A^{b} yielding a subset of F_{1} is defined as follows:

(Def.10) A^{b} = {x : U(x) ∩ A ≠ ∅}.

The functor A^{s} yielding a subset of F_{1} is defined by: (Def.11) A^{s} = {x : x ∈ A ∧ (U(x) \ {x}) ∩ A = ∅}.

Let us consider F_{1}, and let A be a subset of F_{1}. The functor A^{n} yielding a subset of F_{1} is defined as follows:

(Def.12) A^{n} = A \ A^{s}.

The functor A^{f} yields a subset of F_{1} and is defined as follows: (Def.13) A^{f} = {x : ⋁_{y}[y ∈ A ∧ x ∈ U(y)]}.

A finite topology space is symmetric if: (Def.14) for all elements x, y of the carrier of it such that y ∈ U(x) holds

x ∈ U(y). The following propositions are true:

(12) x ∈ A^{i} if and only if U(x) ⊆ A.

(13) x ∈ A^{b} if and only if U(x) ∩ A ≠ ∅.

(14) x ∈ A^{s} if and only if x ∈ A and (U(x) \ {x}) ∩ A = ∅.

(15) x ∈ A^{n} if and only if x ∈ A and (U(x) \ {x}) ∩ A ≠ ∅.

(16) x ∈ A^{f} if and only if there exists y such that y ∈ A and x ∈ U(y).

(17) F_{1} is symmetric if and only if for every A holds A^{b} = A^{f}.

In the sequel F will be a subset of F_{1}. We now define five new constructions. Let us consider F_{1}. A subset of F_{1} is open if:

(Def.15) it = it^{i}.

A subset of F_{1} is closed if: (Def.16) it = it^{b}.

A subset of F_{1} is connected if: (Def.17) for all subsets B, C of F_{1} such that it = B ∪ C and B ≠ ∅ and C ≠ ∅

and B ∩ C = ∅ holds B^{b} ∩ C ≠ ∅. Let us consider F_{1}, and let A be a subset of F_{1}. The functor A^{f_{b}} yields a subset of F_{1} and is defined as follows:

(Def.18) A^{f_{b}} = ⋂{F : A ⊆ F ∧ F is closed}.

The functor A^{f_{i}} yielding a subset of F_{1} is defined by: (Def.19) A^{f_{i}} = ⋃{F : A ⊆ F ∧ F is open}.

Next we state a number of propositions:

(18) For every F_{1} being a filled finite topology space and for every subset A of F_{1} holds A ⊆ A^{b}.

(19) For every F_{1} being a finite topology space and for all subsets A, B of F_{1} such that A ⊆ B holds A^{b} ⊆ B^{b}.

(20) Let F_{1} be a filled finite finite topology space. Let A be a subset of F_{1}. Then A is connected if and only if for every element x of F_{1} such that x ∈ A there exists a finite sequence S of elements of 2^{the carrier of F_{1}} such that len S > 0 and π_{1}S = {x} and for every natural number i such that i > 0 and i < len S holds π_{i+1}S = (π_{i}S)^{b} ∩ A and A ⊆ π_{len S}S.

(21) For every non-empty set E and for every subset A of E and for every element x of E holds x ∈ A^{c} if and only if x ∉ A.

(22) ((A^{c})^{i})^{c} = A^{b}.

(23) ((A^{c})^{b})^{c} = A^{i}.

(24) A^{δ} = A^{b} ∩ (A^{c})^{b}.

(25) (A^{c})^{δ} = A^{δ}.

(26) If x ∈ A^{s}, then x ∉ (A \ {x})^{b}.

(27) If A^{s} ≠ ∅ and card A > 1, then A is connected.

(28) For every F_{1} being a filled finite topology space and for every subset A of F_{1} holds A^{i} ⊆ A.

(29) For every set E and for all subsets A, B of E holds A = B if and only if A^{c} = B^{c}.

(30) If A is open, then A^{c} is closed.

(31) If A is closed, then A^{c} is open. finite topological spaces 193

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 and Krzysztof Hryniewiecki. Segments of natural numbers and finite sequences. Formalized Mathematics, 1(1):107–114, 1990.

[4] Czesław Byliński. A classical first order language. Formalized Mathematics, 1(4):669– 676, 1990.

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

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

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

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

[9] Rafał Kwiatek and Grzegorz Zwara. The divisibility of integers and integer relative primes. Formalized Mathematics, 1(5):829–832, 1990.

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

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

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

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

[14] Andrzej Trybulec. Semilattice operations on finite subsets. Formalized Mathematics, 1(2):369–376, 1990.

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

[16] Andrzej Trybulec and Agata Darmochwał. Boolean domains. Formalized Mathematics, 1(1):187–190, 1990.

[17] Michał J. Trybulec. Integers. Formalized Mathematics, 1(3):501–505, 1990.

[18] Wojciech A. Trybulec. Pigeon hole principle. Formalized Mathematics, 1(3):575–579, 1990.

[19] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

194

Sets and Functions of Trees and Joining Operations of Trees

Grzegorz Bancerek Polish Academy of Sciences Institute of Mathematics Warszawa

Summary. In the article we deal with sets of trees and functions yielding trees. So, we introduce the sets of all trees, all finite trees and of all trees decorated by elements from some set. Next, the functions and the finite sequences yielding (finite, decorated) trees are introduced. There are shown some convenient but technical lemmas and clusters concerning with those concepts. In the fourth section we deal with trees decorated by Cartesian product and we introduce the concept of a tree called a substitution of structure of some finite tree. Finally, we introduce the operations of joining trees, i.e. for the finite sequence of trees we define the tree which is made by joining the trees from the sequence by common root. For one and two trees there are introduced the same operations.

MML Identifier: TREES 3.

The notation and terminology used here are introduced in the following papers: [17], [13], [3], [9], [18], [6], [11], [16], [15], [19], [1], [10], [14], [7], [8], [4], [5], [12], and [2].

1. Finite sets

For simplicity we adopt the following rules: x, y will be arbitrary, i, n will be natural numbers, p, q will be finite sequences, X, Y will be sets, and f will be a function. Let X be a set. Observe that there exists a finite subset of X and every finite sequence-like function is finite.

Let X be a non-empty set. One can check that there exists a finite non-empty subset of X.

Let X be a finite set. Observe that every subset of X is finite.

Let us consider x. Then {x} is a finite non-empty set. Let us consider y. Then {x, y} is a finite non-empty set. Let us consider n. Then Seg n is a finite set of natural numbers. Then the elementary tree of n is a finite tree.

2. Sets of trees

We now define five new constructions. The non-empty set Trees is defined by: (Def.1) Trees is the set of all trees. The non-empty subset FinTrees of Trees is defined as follows: (Def.2) FinTrees is the set of all finite trees. A set is constituted of trees if: (Def.3) for every x such that x ∈ it holds x is a tree. A set is constituted of finite trees if: (Def.4) for every x such that x ∈ it holds x is a finite tree. A set is constituted of decorated trees if: (Def.5) for every x such that x ∈ it holds x is a decorated tree.

Next we state a number of propositions:

(1) X is constituted of trees if and only if X ⊆ Trees.

(2) X is constituted of finite trees if and only if X ⊆ FinTrees.

(3) X is constituted of trees and Y is constituted of trees if and only if X ∪ Y is constituted of trees.

(4) If X is constituted of trees and Y is constituted of trees, then X− . Y is constituted of trees.

(5) If X is constituted of trees, then X ∩Y is constituted of trees and Y ∩X is constituted of trees and X \ Y is constituted of trees.

(6) X is constituted of finite trees and Y is constituted of finite trees if and only if X ∪ Y is constituted of finite trees.

(7) If X is constituted of finite trees and Y is constituted of finite trees, then X− . Y is constituted of finite trees.

(8) If X is constituted of finite trees, then X ∩ Y is constituted of finite trees and Y ∩ X is constituted of finite trees and X \ Y is constituted of finite trees.

(9) X is constituted of decorated trees and Y is constituted of decorated trees if and only if X ∪ Y is constituted of decorated trees.

(10) If X is constituted of decorated trees and Y is constituted of decorated trees, then X− . Y is constituted of decorated trees.

(11) If X is constituted of decorated trees, then X ∩ Y is constituted of decorated trees and Y ∩ X is constituted of decorated trees and X \ Y is constituted of decorated trees.

(12) ∅ is constituted of trees, constituted of finite trees and constituted of decorated trees.

(13) {x} is constituted of trees if and only if x is a tree.

(14) {x} is constituted of finite trees if and only if x is a finite tree.

(15) {x} is constituted of decorated trees if and only if x is a decorated tree.

(16) {x, y} is constituted of trees if and only if x is a tree and y is a tree.

(17) {x, y} is constituted of finite trees if and only if x is a finite tree and y is a finite tree.

(18) {x, y} is constituted of decorated trees if and only if x is a decorated tree and y is a decorated tree.

(19) If X is constituted of trees and Y ⊆ X, then Y is constituted of trees.

(20) If X is constituted of finite trees and Y ⊆ X, then Y is constituted of finite trees.

(21) If X is constituted of decorated trees and Y ⊆ X, then Y is constituted

of decorated trees. We now define three new constructions. One can verify the following obser-

vations:

∗ there exists a finite constituted of trees constituted of finite trees nonempty set,

∗ there exists a finite constituted of decorated trees non-empty set, and ∗ every constituted of finite trees set is constituted of trees. Let X be a constituted of trees set. One can check that every subset of X is

constituted of trees.

Let X be a constituted of finite trees set. One can check that every subset of X is constituted of finite trees.

Let X be a constituted of decorated trees set. Note that every subset of X is constituted of decorated trees.

Let D be a constituted of trees non-empty set. We see that the element of D is a tree. Let D be a constituted of finite trees non-empty set. We see that the element of D is a finite tree. Let D be a constituted of decorated trees nonempty set. We see that the element of D is a decorated tree. Let us note that it makes sense to consider the following constant. Then Trees is a constituted of trees non-empty set. Let us observe that there exists a constituted of finite trees non-empty subset of Trees.

Let us note that it makes sense to consider the following constant. Then FinTrees is a constituted of finite trees non-empty subset of Trees. Let D be a non-empty set. A set is called a set of trees decorated by D if: (Def.6) for every x such that x ∈ it holds x is a tree decorated by D. Let D be a non-empty set. Note that every set of trees decorated by D is constituted of decorated trees.

Let D be a non-empty set. Note that there exists a set of trees decorated by D which is finite and non-empty.

Let D be a non-empty set, and let E be a non-empty set of trees decorated by D. We see that the element of E is a tree decorated by D. Let T be a tree, and let D be a non-empty set. Then D^{T} is a non-empty set of trees decorated by D. We see that the function from T into D is a tree decorated by D. Let D be a non-empty set. The functor Trees(D) yielding a non-empty set of trees decorated by D is defined as follows: (Def.7) for every tree T decorated by D holds T ∈ Trees(D). Let D be a non-empty set. The functor FinTrees(D) yielding a non-empty set of trees decorated by D is defined as follows: (Def.8) for every tree T decorated by D holds dom T is finite if and only if

T ∈ FinTrees(D).

The following proposition is true

(22) For every non-empty set D holds FinTrees(D) ⊆ Trees(D).

3. Functions yielding trees

We now define three new attributes. A function is tree yielding if: (Def.9) rng it is constituted of trees. A function is finite tree yielding if:

(Def.10) rng it is constituted of finite trees.

A function is decorated tree yielding if: (Def.11) rng it is constituted of decorated trees.

One can prove the following propositions:

(23) ε is tree yielding, finite tree yielding and decorated tree yielding.

(24) f is tree yielding if and only if for every x such that x ∈ dom f holds f(x) is a tree.

(25) f is finite tree yielding if and only if for every x such that x ∈ dom f holds f(x) is a finite tree.

(26) f is decorated tree yielding if and only if for every x such that x ∈ dom f holds f(x) is a decorated tree.

(27) p is tree yielding and q is tree yielding if and only if p^{}q is tree yielding.

(28) p is finite tree yielding and q is finite tree yielding if and only if p^{}q is finite tree yielding.

(29) p is decorated tree yielding and q is decorated tree yielding if and only if p^{}q is decorated tree yielding.

(30) ⟨x⟩ is tree yielding if and only if x is a tree.

(31) ⟨x⟩ is finite tree yielding if and only if x is a finite tree.

(32) ⟨x⟩ is decorated tree yielding if and only if x is a decorated tree.

(33) ⟨x, y⟩ is tree yielding if and only if x is a tree and y is a tree.

(34) ⟨x, y⟩ is finite tree yielding if and only if x is a finite tree and y is a finite tree.

(35) ⟨x, y⟩ is decorated tree yielding if and only if x is a decorated tree and y is a decorated tree.

(36) If i ≠ 0, then i ⟼ x is tree yielding if and only if x is a tree.

(37) If i ≠ 0, then i ⟼ x is finite tree yielding if and only if x is a finite tree.

(38) If i ≠ 0, then i ⟼ x is decorated tree yielding if and only if x is a

decorated tree. One can verify the following observations:

∗ there exists a tree yielding finite tree yielding non-empty finite sequence,

∗ there exists a decorated tree yielding non-empty finite sequence,

∗ there exists a tree yielding finite tree yielding non-empty function,

∗ there exists a decorated tree yielding non-empty function, and

∗ every function which is finite tree yielding is also tree yielding.

Let D be a constituted of trees non-empty set. Observe that every finite sequence of elements of D is tree yielding.

Let p, q be tree yielding finite sequences. Then p^{}q is a tree yielding finite sequence. Let D be a constituted of finite trees non-empty set. Note that every finite sequence of elements of D is finite tree yielding.

Let p, q be finite tree yielding finite sequences. Then p ^{}q is a finite tree yielding finite sequence. Let D be a constituted of decorated trees non-empty set. One can check that every finite sequence of elements of D is decorated tree yielding.

Let p, q be decorated tree yielding finite sequences. Then p^{}q is a decorated tree yielding finite sequence. Let T be a tree. Then ⟨T ⟩ is a tree yielding nonempty finite sequence. Let S be a tree. Then ⟨T, S⟩ is a tree yielding non-empty finite sequence. Let n be a natural number, and let T be a tree. Then n ⟼ T is a tree yielding finite sequence. Let T be a finite tree. Then ⟨T ⟩ is a finite tree yielding tree yielding non-empty finite sequence. Let S be a finite tree. Then ⟨T, S⟩ is a finite tree yielding non-empty tree yielding finite sequence. Let n be a natural number, and let T be a finite tree. Then n ⟼ T is a finite tree yielding finite sequence. Let T be a decorated tree. Then ⟨T ⟩ is a decorated tree yielding non-empty finite sequence. Let S be a decorated tree. Then ⟨T, S⟩ is a decorated tree yielding non-empty finite sequence. Let n be a natural number, and let T be a decorated tree. Then n ⟼ T is a decorated tree yielding finite sequence.

The following proposition is true

(39) For every decorated tree yielding function f holds dom(dom_{κ} f(κ)) =

dom f and dom_{κ} f(κ) is tree yielding. Let p be a decorated tree yielding finite sequence. Then dom_{κ} p(κ) is a tree

yielding finite sequence.

One can prove the following proposition

(40) For every decorated tree yielding finite sequence p holds len(dom_{κ} p(κ)) = len p.

4. Trees decorated by Cartesian product and structure of substitution

We now define four new constructions. Let D, E be non-empty sets. A tree decorated by D and E is a tree decorated by [: D, E:].

A set of trees decorated by D and E is a set of trees decorated by [: D, E:]. Let T_{1}, T_{2} be decorated trees. Then ⟨T_{1}, T_{2}⟩ is a decorated tree. Let D_{1}, D_{2}

be non-empty sets, and let T_{1} be a tree decorated by D_{1}, and let T_{2} be a tree decorated by D_{2}. Then ⟨T_{1}, T_{2}⟩ is a tree decorated by D_{1} and D_{2}. Let D, E be non-empty sets, and let T be a tree decorated by D, and let f be a function from D into E. Then f · T is a tree decorated by E. Let D_{1}, D_{2} be non-empty sets. Then π_{1}(D_{1} ×D_{2}) is a function from [: D_{1}, D_{2} :] into D_{1}. Then π_{2}(D_{1} ×D_{2}) is a function from [: D_{1}, D_{2} :] into D_{2}. Let D_{1}, D_{2} be non-empty sets, and let T be a tree decorated by D_{1} and D_{2}. The functor T_{1} yielding a tree decorated by D_{1} is defined by:

(Def.12) T_{1} = π_{1}(D_{1} × D_{2}) · T.

The functor T_{2} yielding a tree decorated by D_{2} is defined by: (Def.13) T_{2} = π_{2}(D_{1} × D_{2}) · T.

The following propositions are true:

(41) For all non-empty sets D_{1}, D_{2} and for every tree T decorated by D_{1} and D_{2} and for every element t of dom T holds T (t)_{1} = T_{1}(t) and T_{2}(t) = T (t)_{2}.

(42) For all non-empty sets D_{1}, D_{2} and for every tree T decorated by D_{1}

and D_{2} holds ⟨T_{1}, T_{2}⟩ = T. We now define two new modes. Let T be a finite tree. Then Leaves T is a

finite non-empty subset of T. Let T be a tree, and let S be a non-empty subset of T. We see that the element of S is an element of T. Let T be a finite tree. We see that the leaf of T is an element of Leaves T. Let T be a finite tree. A tree is called a substitution of structure of T if:

(Def.14) for every element t of it holds t ∈ T or there exists a leaf l of T such

that l ≺ t. Let T be a finite tree, and let t be a leaf of T, and let S be a tree. Then T (t/S) is a substitution of structure of T. Let T be a finite tree. Observe that there exists a finite substitution of structure of T.

Let us consider n. A substitution of structure of n is a substitution of structure of the elementary tree of n.

We now state two propositions:

(43) Every tree is a substitution of structure of 0.

(44) For all trees T_{1}, T_{2} such that T_{1}-level(1) ⊆ T_{2}-level(1) and for every n such that ⟨n⟩ ∈ T_{1} holds T_{1} ⟨n⟩ = T_{2} ⟨n⟩ holds T_{1} ⊆ T_{2}.

5. Joining of trees

Next we state several propositions:

(45) For all trees T, T′ and for every element p of T holds p ∈ T (p/T′).

(46) For all trees T, T′ and for every finite sequence p of elements of such that p ∈ Leaves T holds T ⊆ T (p/T′).

(47) For all decorated trees T, T′ and for every element p of dom T holds T (p/T′)(p) = T′(ε).

(48) For all decorated trees T, T′ and for all elements p, q of dom T such that p q holds T (p/T′)(q) = T (q).

(49) For all decorated trees T, T′ and for every element p of dom T and for

every element q of dom T′ holds T (p/T′)(p^{}q) = T′(q). Let T_{1}, T_{2} be trees. Then T_{1} ∪ T_{2} is a tree. One can prove the following proposition

(50) Let T_{1}, T_{2} be trees. Let p be an element of T_{1} ∪ T_{2}. Then (i) if p ∈ T_{1} and p ∈ T_{2}, then (T_{1} ∪ T_{2}) p = T_{1} p ∪ T_{2} p, (ii) if p ∉ T_{1}, then (T_{1} ∪ T_{2}) p = T_{2} p, (iii) if p ∉ T_{2}, then (T_{1} ∪ T_{2}) p = T_{1} p. We now define three new functors. Let us consider p satisfying the condition:

p is tree yielding. The functor \overbrace{p} yielding a tree is defined as follows: (Def.15) x ∈ \overbrace{p} if and only if x = ε or there exist n, q such that n < len p and

q ∈ p(n + 1) and x = ⟨n⟩^{}q.

Let T be a tree. The functor \overbrace{T} yields a tree and is defined by:

(Def.16) \overbrace{T} = \overbrace{⟨T ⟩}.

Let T_{1}, T_{2} be trees. The functor \overbrace{T_{1}, T_{2}} yields a tree and is defined by:

(Def.17) \overbrace{T_{1}, T_{2}} = \overbrace{⟨T_{1}, T_{2}⟩}.

One can prove the following propositions:

(51) If p is tree yielding, then ⟨n⟩ ^{}q ∈ \overbrace{p} if and only if n < len p and q ∈ p(n + 1).

(52) If p is tree yielding, then \overbrace{p} -level(1) = \{⟨n⟩ : n < len p\} and for every n such that n < len p holds \overbrace{p} ⟨n⟩ = p(n + 1).

(53) For all tree yielding finite sequences p, q such that \overbrace{p} = \overbrace{q} holds p = q.

202 grzegorz bancerek

(54) For all tree yielding finite sequences p_{1}, p_{2} and for every tree T holds p ∈ T if and only if ⟨len p_{1}⟩^{}p ∈ \overbrace{p_{1} ^{}⟨T ⟩^{}p_{2}}.

(55) \overbrace{ε} = the elementary tree of 0.

(56) If p is tree yielding, then the elementary tree of len p ⊆ \overbrace{p}.

(57) The elementary tree of i = \overbrace{i ⟼ the elementary tree of 0}.

(58) For every tree T and for every tree yielding finite sequence p holds \overbrace{p^{}⟨T ⟩} = (\overbrace{p} ∪the elementary tree of len p + 1)(⟨len p⟩/T).

(59) For every tree yielding finite sequence p holds \overbrace{p^{}⟨the elementary tree of 0⟩} = \overbrace{p} ∪ the elementary tree of len p + 1.

(60) For all tree yielding finite sequences p, q and for all trees T_{1}, T_{2} holds \overbrace{p^{}⟨T_{1}⟩^{}q} = \overbrace{p^{}⟨T_{2}⟩^{}q}(⟨len p⟩/T_{1}).

(61) For every tree T holds \overbrace{T} = (the elementary tree of 1)(⟨0⟩/T).

(62) For all trees T_{1}, T_{2} holds \overbrace{T_{1}, T_{2}} = (the elementary tree of

2)(⟨0⟩/T_{1})(⟨1⟩/T_{2}). Let p be a finite tree yielding finite sequence. Then \overbrace{p} is a finite tree. Let

T be a finite tree. Then \overbrace{T} is a finite tree. Let T_{1}, T_{2} be finite trees. Then \overbrace{T_{1}, T_{2}} is a finite tree.

One can prove the following propositions:

(63) For every tree T and for an arbitrary x holds x ∈ \overbrace{T} if and only if x = ε or there exists p such that p ∈ T and x = ⟨0⟩^{}p.

(64) For every tree T and for every finite sequence p holds p ∈ T if and only if ⟨0⟩^{}p ∈ \overbrace{T}.

(65) For every tree T holds the elementary tree of 1 ⊆ \overbrace{T}.

(66) For all trees T_{1}, T_{2} such that T_{1} ⊆ T_{2} holds \overbrace{T_{1}} ⊆ \overbrace{T_{2}}.

(67) For all trees T_{1}, T_{2} such that \overbrace{T_{1}} = \overbrace{T_{2}} holds T_{1} = T_{2}.

(68) For every tree T holds \overbrace{T} ⟨0⟩ = T.

(69) For all trees T_{1}, T_{2} holds \overbrace{T_{1}}(⟨0⟩/T_{2}) = \overbrace{T_{2}}.

(70) \overbrace{the elementary tree of 0} = the elementary tree of 1.

(71) For all trees T_{1}, T_{2} and for an arbitrary x holds x ∈ \overbrace{T_{1}, T_{2}} if and only if x = ε or there exists p such that p ∈ T_{1} and x = ⟨0⟩^{}p or p ∈ T_{2} and x = ⟨1⟩^{}p.

(72) For all trees T_{1}, T_{2} and for every finite sequence p holds p ∈ T_{1} if and

only if ⟨0⟩^{}p ∈ \overbrace{T_{1}, T_{2}}.

(73) For all trees T_{1}, T_{2} and for every finite sequence p holds p ∈ T_{2} if and

only if ⟨1⟩^{}p ∈ \overbrace{T_{1}, T_{2}}.

(74) For all trees T_{1}, T_{2} holds the elementary tree of 2 ⊆ \overbrace{T_{1}, T_{2}}.

(75) For all trees T_{1}, T_{2}, W_{1}, W_{2} such that T_{1} ⊆ W_{1} and T_{2} ⊆ W_{2} holds

\overbrace{T_{1}, T_{2}} ⊆ \overbrace{W_{1}, W_{2}}.

(76) For all trees T_{1}, T_{2}, W_{1}, W_{2} such that \overbrace{T_{1}, T_{2}} = \overbrace{W_{1}, W_{2}} holds T_{1} = W_{1} and T_{2} = W_{2}.

(77) For all trees T_{1}, T_{2} holds \overbrace{T_{1}, T_{2}} ⟨0⟩ = T_{1} and \overbrace{T_{1}, T_{2}} ⟨1⟩ = T_{2}.

(78) For all trees T, T_{1}, T_{2} holds \overbrace{T_{1}, T_{2}}(⟨0⟩/T) = \overbrace{T, T_{2}} and \overbrace{T_{1}, T_{2}}(⟨1⟩/T) =

\overbrace{T_{1}, T}.

(79) \overbrace{the elementary tree of 0, the elementary tree of 0} = the elementary tree of 2.

In the sequel w is a finite tree yielding finite sequence. One can prove the following propositions:

(80) For every w if for every finite tree t such that t ∈ rng w holds height t ≤ n, then height \overbrace{w} ≤ n + 1.

(81) For every finite tree t such that t ∈ rng w holds height \overbrace{w} > height t.

(82) For every finite tree t such that t ∈ rng w and for every finite tree t′ such that t′ ∈ rng w holds height t′ ≤ height t holds height \overbrace{w} = height t + 1.

(83) For every finite tree T holds height \overbrace{T} = height T + 1.

(84) For all finite trees T_{1}, T_{2} holds height \overbrace{T_{1}, T_{2}} = max(height T_{1}, height T_{2})+ 1.

References

[1] Grzegorz Bancerek. Cardinal numbers. Formalized Mathematics, 1(2):377–382, 1990.

[2] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

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

[4] Grzegorz Bancerek. Introduction to trees. Formalized Mathematics, 1(2):421–427, 1990.

[5] Grzegorz Bancerek. König’s lemma. Formalized Mathematics, 2(3):397–402, 1991.

[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. Basic functions and operations on functions. Formalized Mathematics, 1(1):245–254, 1990.

[8] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 1990.

204 grzegorz bancerek

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

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

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

[12] Alicia de la Cruz. Introduction to modal propositional logic. Formalized Mathematics, 2(4):553–558, 1991.

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

[14] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

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

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

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

[18] Andrzej Trybulec. Tuples, projections and Cartesian products. Formalized Mathematics, 1(1):97–105, 1990.

[19] Andrzej Trybulec and Czesław Byliński. Some properties of real numbers. Formalized Mathematics, 1(3):445–449, 1990.

Sum and Product of Finite Sequences of Elements of a Field

Katarzyna Zawadzka Warsaw University Białystok

Summary. This article is concerned with a generalization of concepts introduced in [10], i.e., there are introduced the sum and the product of finite number of elements of any field. Moreover, the product of vectors which yields a vector is introduced. According to [10], some operations on i-tuples of elements of field are introduced: addition, subtraction, and complement. Some properties on the sum and the product of finite number of elements of a field are present.

MML Identifier: FVSUM 1.

The articles [17], [2], [18], [7], [8], [3], [4], [14], [13], [15], [19], [16], [6], [5], [9], [1], [20], [22], [21], [11], and [12] provide the notation and terminology for this paper.

1. Auxiliary theorems

For simplicity we adopt the following convention: i, j, k will denote natural numbers, K will denote a field, a, a′, a_{1}, a_{2}, a_{3} will denote elements of the carrier of K, p, p_{1}, p_{2}, q will denote finite sequences of elements of the carrier of K, and R, R_{1}, R_{2}, R_{3} will denote elements of (the carrier of K)^{i}. We now state a number of propositions:

(1) −0_{K} = 0_{K}.

(2) The addition of K is commutative.

(3) The addition of K is associative.

(4) The multiplication of K is commutative.

(5) The multiplication of K is associative.

(6) 1_{K} is a unity w.r.t. the multiplication of K.

(7) 1_{the multiplication of K} = 1_{K}.

(8) 0_{K} is a unity w.r.t. the addition of K.

(9) 1_{the addition of K} = 0_{K}.

(10) The addition of K has a unity.

(11) The multiplication of K has a unity.

(12) The multiplication of K is distributive w.r.t. the addition of K. We now define two new functors. Let us consider K, and let a be an element

of the carrier of K. The functor ·^{a} yields a unary operation on the carrier of K and is defined by: (Def.1) ·^{a} = (the multiplication of K)^{∘}(a, id_{(the carrier of K)}). Let us consider K. The functor −_{K} yields a binary operation on the carrier of K and is defined as follows: (Def.2) −_{K} = (the addition of K) ∘ (id_{(the carrier of K)}, the reverse-map of K).

We now state several propositions:

(13) −_{K} = (the addition of K) ∘ (id_{(the carrier of K)}, the reverse-map of K).

(14) −_{K}(a_{1}, a_{2}) = a_{1} − a_{2}.

(15) ·^{a} is distributive w.r.t. the addition of K.

(16) The reverse-map of K is an inverse operation w.r.t. the addition of K.

(17) The addition of K has an inverse operation.

(18) The inverse operation w.r.t. the addition of K = the reverse-map of K.

(19) The reverse-map of K is distributive w.r.t. the addition of K. Let us consider K, p_{1}, p_{2}. The functor p_{1} + p_{2} yielding a finite sequence of

elements of the carrier of K is defined as follows: (Def.3) p_{1} + p_{2} = (the addition of K)^{∘}(p_{1}, p_{2}).

Next we state two propositions:

(20) p_{1} + p_{2} = (the addition of K)^{∘}(p_{1}, p_{2}).

(21) If i ∈ Seg len(p_{1} +p_{2}) and a_{1} = p_{1}(i) and a_{2} = p_{2}(i), then (p_{1} +p_{2})(i) =

a_{1} + a_{2}. Let us consider i, and let us consider K, and let R_{1}, R_{2} be elements of (the

carrier of K)^{i}. Then R_{1} + R_{2} is an element of (the carrier of K)^{i}.

Next we state several propositions:

(22) If j ∈ Seg i and a_{1} = R_{1}(j) and a_{2} = R_{2}(j), then (R_{1}+R_{2})(j) = a_{1}+a_{2}.

(23) ε_{(the carrier of K)} + p = ε_{(the carrier of K)} and p + ε_{(the carrier of K)} = ε_{(the carrier of K)}.

(24) ⟨a_{1}⟩ + ⟨a_{2}⟩ = ⟨a_{1} + a_{2}⟩.

(25) (i ⟼ a_{1}) + (i ⟼ a_{2}) = i ⟼ a_{1} + a_{2}.

(26) R_{1} + R_{2} = R_{2} + R_{1}.

(27) R_{1} + (R_{2} + R_{3}) = (R_{1} + R_{2}) + R_{3}.

(28) R + (i ⟼ 0_{K}) = R and R = (i ⟼ 0_{K}) + R.

Let us consider K, p. The functor −p yields a finite sequence of elements of the carrier of K and is defined as follows: (Def.4) −p = (the reverse-map of K) · p.

The following two propositions are true:

(29) −p = (the reverse-map of K) · p.

(30) If i ∈ Seg len(−p) and a = p(i), then (−p)(i) = −a.

Let us consider i, K, R. Then −R is an element of (the carrier of K)^{i}.

One can prove the following propositions:

(31) If j ∈ Seg i and a = R(j), then (−R)(j) = −a.

(32) −ε_{(the carrier of K)} = ε_{(the carrier of K)}.

(33) −⟨a⟩ = ⟨−a⟩.

(34) −(i ⟼ a) = i ⟼ −a.

(35) R + −R = i ⟼ 0_{K} and −R + R = i ⟼ 0_{K}.

(36) If R_{1} + R_{2} = i ⟼ 0_{K}, then R_{1} = −R_{2} and R_{2} = −R_{1}.

(37) −−R = R.

(38) If −R_{1} = −R_{2}, then R_{1} = R_{2}.

(39) If R_{1} + R = R_{2} + R or R_{1} + R = R + R_{2}, then R_{1} = R_{2}.

(40) −(R_{1} + R_{2}) = −R_{1} + −R_{2}.

Let us consider K, p_{1}, p_{2}. The functor p_{1} − p_{2} yielding a finite sequence of elements of the carrier of K is defined as follows: (Def.5) p_{1} − p_{2} = (−_{K})^{∘}(p_{1}, p_{2}).

Next we state two propositions:

(41) p_{1} − p_{2} = (−_{K})^{∘}(p_{1}, p_{2}).

(42) If i ∈ Seg len(p_{1} −p_{2}) and a_{1} = p_{1}(i) and a_{2} = p_{2}(i), then (p_{1} −p_{2})(i) =

a_{1} − a_{2}. Let us consider i, K, R_{1}, R_{2}. Then R_{1} − R_{2} is an element of (the carrier of

K)^{i}.

The following propositions are true:

(43) If j ∈ Seg i and a_{1} = R_{1}(j) and a_{2} = R_{2}(j), then (R_{1}−R_{2})(j) = a_{1}−a_{2}.

(44) ε_{(the carrier of K)} − p = ε_{(the carrier of K)} and p − ε_{(the carrier of K)} = ε_{(the carrier of K)}.

(45) ⟨a_{1}⟩ − ⟨a_{2}⟩ = ⟨a_{1} − a_{2}⟩.

(46) (i ⟼ a_{1}) − (i ⟼ a_{2}) = i ⟼ a_{1} − a_{2}.

(47) R_{1} − R_{2} = R_{1} + −R_{2}.

(48) R − (i ⟼ 0_{K}) = R.

(49) (i ⟼ 0_{K}) − R = −R.

(50) R_{1} − −R_{2} = R_{1} + R_{2}.

(51) −(R_{1} − R_{2}) = R_{2} − R_{1}.

(52) −(R_{1} − R_{2}) = −R_{1} + R_{2}.

(53) R − R = i ⟼ 0_{K}.

(54) If R_{1} − R_{2} = i ⟼ 0_{K}, then R_{1} = R_{2}.

(55) R_{1} − R_{2} − R_{3} = R_{1} − (R_{2} + R_{3}).

(56) R_{1} + (R_{2} − R_{3}) = (R_{1} + R_{2}) − R_{3}.

(57) R_{1} − (R_{2} − R_{3}) = (R_{1} − R_{2}) + R_{3}.

(58) R_{1} = (R_{1} + R) − R.

(59) R_{1} = (R_{1} − R) + R.

(60) For all elements a, b of the carrier of K holds ((the multiplication of K)^{∘}(a, id_{(the carrier of K)}))(b) = a · b.

(61) For all elements a, b of the carrier of K holds ·^{a}(b) = a · b.

Let us consider K, and let p be a finite sequence of elements of the carrier of K, and let a be an element of the carrier of K. The functor a · p yielding a finite sequence of elements of the carrier of K is defined as follows: (Def.6) a · p = ·^{a} ·p.

Next we state the proposition

(62) If i ∈ Seg len(a · p) and a′ = p(i), then (a · p)(i) = a · a′.

Let us consider i, K, R, a. Then a · R is an element of (the carrier of K)^{i}. The following propositions are true:

(63) If j ∈ Seg i and a′ = R(j), then (a · R)(j) = a · a′.

(64) a · ε_{(the carrier of K)} = ε_{(the carrier of K)}.

(65) a · ⟨a_{1}⟩ = ⟨a · a_{1}⟩.

(66) a_{1} · (i ⟼ a_{2}) = i ⟼ a_{1} · a_{2}.

(67) (a_{1} · a_{2}) · R = a_{1} · (a_{2} · R).

(68) (a_{1} + a_{2}) · R = a_{1} · R + a_{2} · R.

(69) a · (R_{1} + R_{2}) = a · R_{1} + a · R_{2}.

(70) 1_{K} · R = R.

(71) 0_{K} · R = i ⟼ 0_{K}.

(72) (−1_{K}) · R = −R.

Let us consider K, p_{1}, p_{2}. The functor p_{1} • p_{2} yields a finite sequence of elements of the carrier of K and is defined as follows: (Def.7) p_{1} • p_{2} = (the multiplication of K)^{∘}(p_{1}, p_{2}).

One can prove the following proposition

(73) If i ∈ Seg len(p_{1} • p_{2}) and a_{1} = p_{1}(i) and a_{2} = p_{2}(i), then (p_{1} • p_{2})(i) =

a_{1} · a_{2}. Let us consider i, K, R_{1}, R_{2}. Then R_{1} • R_{2} is an element of (the carrier of

K)^{i}.

We now state a number of propositions:

(74) If j ∈ Seg i and a_{1} = R_{1}(j) and a_{2} = R_{2}(j), then (R_{1} • R_{2})(j) = a_{1} · a_{2}.

(75) ε_{(the carrier of K)} • p = ε_{(the carrier of K)} and p • ε_{(the carrier of K)} = ε_{(the carrier of K)}.

(76) ⟨a_{1}⟩ • ⟨a_{2}⟩ = ⟨a_{1} · a_{2}⟩.

(77) R_{1} • R_{2} = R_{2} • R_{1}.

(78) p • q = q • p.

(79) R_{1} • (R_{2} • R_{3}) = (R_{1} • R_{2}) • R_{3}.

(80) (i ⟼ a) • R = a · R and R • (i ⟼ a) = a · R.

(81) (i ⟼ a_{1}) • (i ⟼ a_{2}) = i ⟼ a_{1} · a_{2}.

(82) a · (R_{1} • R_{2}) = a · R_{1} • R_{2}.

(83) a · (R_{1} • R_{2}) = a · R_{1} • R_{2} and a · (R_{1} • R_{2}) = R_{1} • a · R_{2}.

(84) a · R = (i ⟼ a) • R.

Let us consider K, and let p be a finite sequence of elements of the carrier of K. The functor ∑ p yielding an element of the carrier of K is defined as follows: (Def.8) ∑ p = the addition of K p.

The following propositions are true:

(85) ∑(ε_{(the carrier of K)}) = 0_{K}.

(86) ∑⟨a⟩ = a.

(87) ∑(p^{}⟨a⟩) = ∑ p + a.

(88) ∑(p_{1} ^{}p_{2}) = ∑ p_{1} + ∑ p_{2}.

(89) ∑(⟨a⟩^{}p) = a + ∑ p.

(90) ∑⟨a_{1}, a_{2}⟩ = a_{1} + a_{2}.

(91) ∑⟨a_{1}, a_{2}, a_{3}⟩ = a_{1} + a_{2} + a_{3}.

(92) ∑(a · p) = a · ∑ p.

(93) For every element R of (the carrier of K)^{0} holds ∑ R = 0_{K}.

(94) ∑(−p) = −∑ p.

(95) ∑(R_{1} + R_{2}) = ∑ R_{1} + ∑ R_{2}.

(96) ∑(R_{1} − R_{2}) = ∑ R_{1} − ∑ R_{2}.

Let us consider K, and let p be a finite sequence of elements of the carrier of K. The functor ∏ p yielding an element of the carrier of K is defined by: (Def.9) ∏ p = the multiplication of K p.

The following propositions are true:

(97) ∏ p = the multiplication of K p.

(98) ∏(ε_{(the carrier of K)}) = 1_{K}.

(99) ∏⟨a⟩ = a.

(100) ∏(p^{}⟨a⟩) = ∏ p · a.

(101) ∏(p_{1} ^{}p_{2}) = ∏ p_{1} · ∏ p_{2}.

(102) ∏(⟨a⟩^{}p) = a · ∏ p.

(103) ∏⟨a_{1}, a_{2}⟩ = a_{1} · a_{2}.

(104) ∏⟨a_{1}, a_{2}, a_{3}⟩ = a_{1} · a_{2} · a_{3}.

210 katarzyna zawadzka

(105) For every element R of (the carrier of K)^{0} holds ∏ R = 1_{K}.

(106) ∏(i ⟼ 1_{K}) = 1_{K}.

(107) There exists k such that k ∈ Seg len p and p(k) = 0_{K} if and only if ∏ p = 0_{K}.

(108) ∏(i + j ⟼ a) = ∏(i ⟼ a) · ∏(j ⟼ a).

(109) ∏(i · j ⟼ a) = ∏(j ⟼ ∏(i ⟼ a)).

(110) ∏(i ⟼ a_{1} · a_{2}) = ∏(i ⟼ a_{1}) · ∏(i ⟼ a_{2}).

(111) ∏(R_{1} • R_{2}) = ∏ R_{1} · ∏ R_{2}.

(112) ∏(a · R) = ∏(i ⟼ a) · ∏ R.

Let us consider K, and let p, q be finite sequences of elements of the carrier of K. The functor p · q yielding an element of the carrier of K is defined by:

(Def.10) p · q = ∑(p • q).

One can prove the following propositions:

(113) For all elements a, b of the carrier of K holds ⟨a⟩ · ⟨b⟩ = a · b.

(114) For all elements a_{1}, a_{2}, b_{1}, b_{2} of the carrier of K holds ⟨a_{1}, a_{2}⟩ · ⟨b_{1}, b_{2}⟩ = a_{1} · b_{1} + a_{2} · b_{2}.

(115) For all finite sequences p, q of elements of the carrier of K holds p · q = q · p.

Acknowledgments

I would like to thank Czesław Byliński for his help.

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 and Krzysztof Hryniewiecki. Segments of natural numbers and finite sequences. Formalized Mathematics, 1(1):107–114, 1990.

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

[5] Czesław Byliński. Binary operations applied to finite sequences. Formalized Mathematics, 1(4):643–649, 1990.

[6] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 1990.

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

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

[9] Czesław Byliński. Semigroup operations on finite subsets. Formalized Mathematics, 1(4):651–656, 1990.

[10] Czesław Byliński. The sum and product of finite sequences of real numbers. Formalized Mathematics, 1(4):661–668, 1990.

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

[12] Katarzyna Jankowska. Transpose matrices and groups of permutations. Formalized Mathematics, 2(5):711–717, 1991.

[13] Eugeniusz Kusak, Wojciech Leończuk, and Michał Muzalewski. Abelian groups, fields and vector spaces. Formalized Mathematics, 1(2):335–342, 1990.

sum and product of finite sequences of … 211

[14] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

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

[16] Andrzej Trybulec. Semilattice operations on finite subsets. Formalized Mathematics, 1(2):369–376, 1990.

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

[18] Andrzej Trybulec and Czesław Byliński. Some properties of real numbers. Formalized Mathematics, 1(3):445–449, 1990.

[19] Andrzej Trybulec and Agata Darmochwał. Boolean domains. Formalized Mathematics, 1(1):187–190, 1990.

[20] Wojciech A. Trybulec. Groups. Formalized Mathematics, 1(5):821–827, 1990.

[21] Wojciech A. Trybulec. Lattice of subgroups of a group. Frattini subgroup. Formalized Mathematics, 2(1):41–47, 1991.

[22] Wojciech A. Trybulec. Non-contiguous substrings and one-to-one finite sequences. Formalized Mathematics, 1(3):569–573, 1990.

212

Monoids

Grzegorz Bancerek Polish Academy of Sciences Institute of Mathematics Warsaw

Summary. The goal of the article is to define the concept of monoid. In the preliminary section we introduce the notion of some properties of binary operations. The second section is concerning with structures with a set and a binary operation on this set: there is introduced the notion corresponding to the notion of some properties of binary operations and there are shown some useful clusters. Next, we are concerning with the structure with a set, a binary operation on the set and with an element of the set. Such a structure is called monoid iff the operation is associative and the element is a unity of the operation. In the fourth section the concept of subsystems of monoid (group) is introduced. Subsystems are submonoids (subgroups) or other parts of monoid (group) with are closed w.r.t. the operation. The are present facts on inheritness of some properties by subsystems. Finally, there are construct the examples of groups and monoids: the group ⟩ , +⟨ of real numbers with addition, the group ^{+} of integers as the subsystem of the group ⟩ , +⟨, the semigroup ⟩ , +⟨ of natural numbers as the subsystem of ^{+}, and the monoid ⟩ , +, 0⟨ of natural numbers with addition and zero as monoidal extension of the semigroup ⟩ , +⟨. The semigroups of real and natural numbers with multiplication are also introduced. The monoid of finite sequences over some set with concatenation as binary operation and with empty sequence as neutral element is defined in sixth section. Last section deals with monoids with the composition of functions as the operation, i.e. with the monoid of partial and total functions and the monoid of permutations.

MML Identifier: MONOID 0.

The papers [15], [16], [13], [1], [6], [2], [7], [3], [5], [9], [17], [10], [14], [12], [4], [18], [8], and [11] provide the terminology and notation for this paper.

1. Binary operations preliminary

In the sequel x is arbitrary and X, Y denote sets. We now define several new constructions. Let G be a 1-sorted structure. An element of G is an element of the carrier of G.

A finite sequence of elements of G is a finite sequence of elements of the carrier of G.

A binary operation on G is a binary operation on the carrier of G.

A subset of G is a subset of the carrier of G.

A 1-sorted structure is constituted functions if: (Def.1) every element of it is a function. A 1-sorted structure is constituted finite sequences if: (Def.2) every element of it is a finite sequence. Let X be a constituted functions 1-sorted structure. One can check the following observations:

∗ every element of X is function-like,

∗ every constituted finite sequences 1-sorted structure is constituted functions, and

∗ every constituted finite sequences half group structure is constituted functions.

Let X be a constituted finite sequences 1-sorted structure. Note that every element of X is finite sequence-like.

Let D be a non-empty set, and let p, q be finite sequences of elements of D. Then p^{}q is an element of D^{∗}. Let g, f be functions. We introduce the functor f ∘ g as a synonym of f · g. Let X be a set, and let g, f be functions from X into X. Then f · g is a function from X into X. Let X be a set, and let g, f be permutations of X. Then f · g is a permutation of X. Let A be a set, and let B, C be non-empty sets, and let g be a function from A into B, and let f be a function from B into C. Then f · g is a function from A into C. Let A, B, C be sets, and let g be a partial function from A to B, and let f be a partial function from B to C. Then f · g is a partial function from A to C. Let D be a non-empty set. A binary operation on D is left invertible if: (Def.3) for every elements a, b of D there exists an element l of D such that

it(l, a) = b. A binary operation on D is right invertible if: (Def.4) for every elements a, b of D there exists an element r of D such that

it(a, r) = b. A binary operation on D is invertible if: (Def.5) for every elements a, b of D there exist elements r, l of D such that

it(a, r) = b and it(l, a) = b. A binary operation on D is left cancelable if: (Def.6) for all elements a, b, c of D such that it(a, b) = it(a, c) holds b = c.

A binary operation on D is right cancelable if: (Def.7) for all elements a, b, c of D such that it(b, a) = it(c, a) holds b = c. A binary operation on D is cancelable if: (Def.8) for all elements a, b, c of D such that it(a, b) = it(a, c) or it(b, a) = it(c,

a) holds b = c. A binary operation on D has uniquely decomposable unity if: (Def.9) it has a unity and for all elements a, b of D such that it(a, b) = 1_{it}

holds a = b and b = 1_{it}. We now state three propositions:

(1) For every non-empty set D and for every binary operation f on D holds f is invertible if and only if f is left invertible and right invertible.

(2) For every non-empty set D and for every binary operation f on D holds f is cancelable if and only if f is left cancelable and right cancelable.

(3) For every binary operation f on {x} holds f = {⟨⟨x, x⟩⟩} ⟼ x and f has a unity and f is commutative and f is associative and f is idempotent and f is invertible and cancelable and has uniquely decomposable unity.

2. Semigroups

We adopt the following convention: G denotes a half group structure, D denotes a non-empty set, and a, b, c, r, l denote elements of G. We now define several new attributes. A half group structure is unital if:

(Def.10) the operation of it has a unity.

A half group structure is commutative if: (Def.11) the operation of it is commutative.

A half group structure is associative if: (Def.12) the operation of it is associative.

A half group structure is idempotent if: (Def.13) the operation of it is idempotent.

A half group structure is left invertible if: (Def.14) the operation of it is left invertible.

A half group structure is right invertible if: (Def.15) the operation of it is right invertible.

A half group structure is invertible if: (Def.16) the operation of it is invertible.

A half group structure is left cancelable if: (Def.17) the operation of it is left cancelable.

A half group structure is right cancelable if: (Def.18) the operation of it is right cancelable.

A half group structure is cancelable if: (Def.19) the operation of it is cancelable.

A half group structure has uniquely decomposable unity if: (Def.20) the operation of it has uniquely decomposable unity.

One can verify that there exists a unital commutative associative cancelable idempotent invertible with uniquely decomposable unity constituted functions constituted finite sequences strict half group structure.

We now state a number of propositions:

(4) If G is unital, then 1_{the operation of G} is a unity w.r.t. the operation of G.

(5) G is unital if and only if for every a holds 1_{the operation of G} ·a = a and a · 1_{the operation of G} = a.

(6) G is unital if and only if there exists a such that for every b holds a·b = b and b · a = b.

(7) G is commutative if and only if for all a, b holds a · b = b · a.

(8) G is associative if and only if for all a, b, c holds (a · b) · c = a · (b · c).

(9) G is idempotent if and only if for every a holds a · a = a.

(10) G is left invertible if and only if for every a, b there exists l such that l · a = b.

(11) G is right invertible if and only if for every a, b there exists r such that a · r = b.

(12) G is invertible if and only if for every a, b there exist r, l such that a · r = b and l · a = b.

(13) G is left cancelable if and only if for all a, b, c such that a · b = a · c holds b = c.

(14) G is right cancelable if and only if for all a, b, c such that b · a = c · a holds b = c.

(15) G is cancelable if and only if for all a, b, c such that a · b = a · c or b · a = c · a holds b = c.

(16) G has uniquely decomposable unity if and only if the operation of G has a unity and for all elements a, b of G such that a · b = 1_{the operation of G} holds a = b and b = 1_{the operation of G}.

(17) If G is associative, then G is invertible if and only if G is unital and the

operation of G has an inverse operation. One can check the following observations:

∗ every group-like half group structure is associative and invertible,

∗ every associative invertible half group structure is group-like,

∗ every half group structure which is invertible is also left invertible and right invertible,

∗ every half group structure which is left invertible and right invertible is also invertible, ∗ every cancelable half group structure is left cancelable and right cance-

lable,

∗ every left cancelable right cancelable half group structure is cancelable,

∗ every half group structure which is associative and invertible is also unital and cancelable,

∗ every Abelian group is commutative, and

∗ every commutative group is Abelian.

3. Monoids

We consider monoid structures which are extension of a half group structure and are systems

⟨a carrier, an operation, a unity⟩, where the carrier is a non-empty set, the operation is a binary operation on the carrier, and the unity is an element of the carrier.

In the sequel M will be a monoid structure. A monoid structure is well unital if:

(Def.21) the unity of it is a unity w.r.t. the operation of it.

Next we state the proposition

(18) M is well unital if and only if for every element a of M holds (the unity

of M) · a = a and a · the unity of M = a. Let us mention that every monoid structure which is well unital is also unital. We now state the proposition

(19) For every M being a monoid structure such that M is well unital holds

the unity of M = 1_{the operation of M}. We now define two new modes. Let us note that there exists a well unital

commutative associative cancelable idempotent invertible with uniquely decomposable unity unital constituted functions constituted finite sequences strict monoid structure.

A monoid is a well unital associative monoid structure. Let G be a half group structure. A monoid structure is called a monoidal

extension of G if: (Def.22) the half group structure of it = the half group structure of G.

One can prove the following proposition

(20) For every monoidal extension M of G holds the carrier of M = the carrier of G and the operation of M = the operation of G and for all elements a, b of M and for all elements a′, b′ of G such that a = a′ and b = b′ holds a · b = a′ · b′.

Let G be a half group structure. Note that there exists a strict monoidal extension of G.

The following proposition is true (21) Let G be a half group structure. Let M be a monoidal extension of

G. Then if G is unital, then M is unital and also if G is commutative, then M is commutative and also if G is associative, then M is associative and also if G is invertible, then M is invertible and also if G has uniquely decomposable unity, then M has uniquely decomposable unity and also if G is cancelable, then M is cancelable.

Let G be a constituted functions half group structure. One can check that every monoidal extension of G is constituted functions.

Let G be a constituted finite sequences half group structure. Note that every monoidal extension of G is constituted finite sequences.

Let G be a unital half group structure. Observe that every monoidal extension of G is unital.

Let G be an associative half group structure. One can verify that every monoidal extension of G is associative.

Let G be a commutative half group structure. One can verify that every monoidal extension of G is commutative.

Let G be an invertible half group structure. Note that every monoidal extension of G is invertible.

Let G be a cancelable half group structure. One can check that every monoidal extension of G is cancelable.

Let G be a half group structure with uniquely decomposable unity. Note that every monoidal extension of G is with uniquely decomposable unity.

Let G be a unital half group structure. Note that there exists a well unital strict monoidal extension of G.

The following proposition is true

(22) For every G being a unital half group structure and for all well unital strict monoidal extensions M_{1}, M_{2} of G holds M_{1} = M_{2}.

4. Subsystems

We now define two new modes. Let G be a half group structure. A half group structure is said to be a subsystem of G if:

(Def.23) the operation of it ≤ the operation of G.

Let G be a half group structure. One can check that there exists a subsystem of G which is strict.

Let G be a unital half group structure. Observe that there exists a subsystem of G which is unital associative commutative cancelable idempotent invertible with uniquely decomposable unity and strict.

Let G be a half group structure. A monoid structure is called a monoidal subsystem of G if:

(Def.24) the operation of it ≤ the operation of G and for every M being a monoid structure such that G = M holds the unity of it = the unity of M.

Let G be a half group structure. Note that there exists a monoidal subsystem of G which is strict.

Let M be a monoid structure. Let us note that the monoidal subsystem of M can be characterized by the following (equivalent) condition:

(Def.25) the operation of it ≤ the operation of M and the unity of it = the unity

of M. Let G be a well unital monoid structure. Observe that there exists a well unital associative commutative cancelable idempotent invertible with uniquely decomposable unity strict monoidal subsystem of G.

We now state the proposition

(23) For every G being a half group structure every monoidal subsystem of

G is a subsystem of G. Let G be a half group structure, and let M be a monoidal extension of G.

We see that the subsystem of M is a subsystem of G. Let G_{1} be a half group structure, and let G_{2} be a subsystem of G_{1}. We see that the subsystem of G_{2} is a subsystem of G_{1}. Let G_{1} be a half group structure, and let G_{2} be a monoidal subsystem of G_{1}. We see that the subsystem of G_{2} is a subsystem of G_{1}. Let G be a half group structure, and let M be a monoidal subsystem of G. We see that the monoidal subsystem of M is a monoidal subsystem of G.

We now state the proposition

(24) G is a subsystem of G and M is a monoidal subsystem of M. In the sequel H is a subsystem of G and N is a monoidal subsystem of G.

One can prove the following propositions:

(25) The carrier of H ⊆ the carrier of G and the carrier of N ⊆ the carrier of G.

(26) For every G being a half group structure and for every subsystem H of G holds the operation of H = (the operation of G) [: the carrier of H, the carrier of H:].

(27) For all elements a, b of H and for all elements a′, b′ of G such that a = a′ and b = b′ holds a · b = a′ · b′.

(28) For all subsystems H_{1}, H_{2} of G such that the carrier of H_{1} = the carrier of H_{2} holds the half group structure of H_{1} = the half group structure of H_{2}.

(29) For all monoidal subsystems H_{1}, H_{2} of M such that the carrier of H_{1} = the carrier of H_{2} holds the monoid structure of H_{1} = the monoid structure of H_{2}.

(30) For all subsystems H_{1}, H_{2} of G such that the carrier of H_{1} ⊆ the carrier of H_{2} holds H_{1} is a subsystem of H_{2}.

(31) For all monoidal subsystems H_{1}, H_{2} of M such that the carrier of H_{1} ⊆ the carrier of H_{2} holds H_{1} is a monoidal subsystem of H_{2}.

(32) If G is unital and 1_{the operation of G} ∈ the carrier of H, then H is unital and 1_{the operation of G} = 1_{the operation of H}.

(33) For every M being a well unital monoid structure every monoidal subsystem of M is well unital.

(34) If G is commutative, then H is commutative.

(35) If G is associative, then H is associative.

(36) If G is idempotent, then H is idempotent.

(37) If G is cancelable, then H is cancelable.

(38) If 1_{the operation of G} ∈ the carrier of H and G has uniquely decomposable unity, then H has uniquely decomposable unity.

(39) For every M being a well unital monoid structure with uniquely decomposable unity every monoidal subsystem of M has uniquely decomposable unity.

Let G be a constituted functions half group structure. Observe that every subsystem of G is constituted functions and every monoidal subsystem of G is constituted functions.

Let G be a constituted finite sequences half group structure. One can verify that every subsystem of G is constituted finite sequences and every monoidal subsystem of G is constituted finite sequences.

Let M be a well unital monoid structure. Note that every monoidal subsystem of M is well unital.

Let G be a commutative half group structure. Observe that every subsystem of G is commutative and every monoidal subsystem of G is commutative.

Let G be an associative half group structure. One can verify that every subsystem of G is associative and every monoidal subsystem of G is associative.

Let G be an idempotent half group structure. Observe that every subsystem of G is idempotent and every monoidal subsystem of G is idempotent.

Let G be a cancelable half group structure. Observe that every subsystem of G is cancelable and every monoidal subsystem of G is cancelable.

Let M be a well unital monoid structure with uniquely decomposable unity. Observe that every monoidal subsystem of M is with uniquely decomposable unity.

In this article we present several logical schemes. The scheme SubStrEx1 deals with a half group structure A and a non-empty subset B of A and states that:

there exists a strict subsystem H of A such that the carrier of H = B provided the following condition is met:

• for all elements x, y of B holds x · y ∈ B.

The scheme SubStrEx2 deals with a half group structure A, and a unary predicate P, and states that:

there exists a strict subsystem H of A such that for every element x of A holds x ∈ the carrier of H if and only if P[x] provided the following conditions are met:

• for all elements x, y of A such that P[x] and P[y] holds P[x · y],

• there exists an element x of A such that P[x].

The scheme MonoidalSubStrEx1 concerns a monoid structure A and a nonempty subset B of A and states that:

there exists a strict monoidal subsystem H of A such that the carrier of H = B provided the parameters meet the following requirements:

• for all elements x, y of B holds x · y ∈ B,

• the unity of A ∈ B.

The scheme MonoidalSubStrEx2 deals with a monoid structure A, and a unary predicate P, and states that:

there exists a strict monoidal subsystem M of A such that for every element x of A holds x ∈ the carrier of M if and only if P[x] provided the following requirements are met:

• for all elements x, y of A such that P[x] and P[y] holds P[x · y],

• P[the unity of A].

Let us consider G, a, b. Then a · b is an element of G. We introduce the functor a ⊗ b as a synonym of a · b.

5. The examples of monoids of numbers

The unital associative invertible commutative cancelable strict half group structure ⟨ , +⟩ is defined by:

(Def.26) ⟨ , +⟩ = ⟨ , +_{}⟩.

The following propositions are true:

(40) The carrier of ⟨ , +⟩ = and the operation of ⟨ , +⟩ = +_{}and for all elements a, b of ⟨ , +⟩ and for all real numbers x, y such that a = x and b = y holds a · b = x + y.

(41) x is an element of ⟨ , +⟩ if and only if x is a real number.

(42) 1_{the operation of ⟨ ,+⟩} = 0.

(43) For every subsystem N of ⟨ , +⟩ and for all elements a, b of N and for all real numbers x, y such that a = x and b = y holds a · b = x + y.

(44) For every unital subsystem N of ⟨ , +⟩ holds 1_{the operation of N} = 0.

(45) For every subsystem N of ⟨ , +⟩ such that 0 is an element of N holds

N is unital and 1_{the operation of N} = 0. Let G be a unital half group structure. Observe that every associative in-

vertible subsystem of G is unital cancelable and group-like.

Let us note that it makes sense to consider the following constant. Then ^{+} is a unital invertible strict subsystem of ⟨ , +⟩.

The following two propositions are true:

(46) For every strict subsystem G of ⟨ , +⟩ holds G = ^{+} if and only if the carrier of G = .

(47) x is an element of ^{+} if and only if x is an integer.

We now define three new functors. The unital strict subsystem ⟨ , +⟩ of ^{+} with uniquely decomposable unity is defined by:

(Def.27) the carrier of ⟨ , +⟩ = .

⟨ , +, 0⟩ is a well unital strict monoidal extension of ⟨ , +⟩.

The binary operation +_{}on is defined by: (Def.28) +_{}= the operation of ⟨ , +⟩.

Next we state several propositions:

(48) x is an element of ⟨ , +⟩ if and only if x is a natural number.

(49) ⟨ , +⟩ = ⟨ , +_{}⟩.

(50) x is an element of ⟨ , +, 0⟩ if and only if x is a natural number.

(51) For all natural numbers n_{1}, n_{2} and for all elements m_{1}, m_{2} of ⟨ , +, 0⟩ such that n_{1} = m_{1} and n_{2} = m_{2} holds m_{1} · m_{2} = n_{1} + n_{2}.

(52) ⟨ , +, 0⟩ = ⟨ , +_{}, 0⟩.

(53) +_{}= +_{}[: , :] and +_{}= (+_{}) [: , :].

(54) 0 is a unity w.r.t. +_{}and +_{}has a unity and 1_{+_{}}= 0 and +_{}is commutative and +_{}is associative and +_{}has uniquely decomposable unity.

The unital commutative associative strict half group structure ⟨ , ·⟩ is defined by:

(Def.29) ⟨ , ·⟩ = ⟨ , ·_{}⟩.

Next we state several propositions:

(55) The carrier of ⟨ , ·⟩ = and the operation of ⟨ , ·⟩ = ·_{}and for all elements a, b of ⟨ , ·⟩ and for all real numbers x, y such that a = x and b = y holds a · b = x · y.

(56) x is an element of ⟨ , ·⟩ if and only if x is a real number.

(57) 1_{the operation of ⟨ ,·⟩} = 1.

(58) For every subsystem N of ⟨ , ·⟩ and for all elements a, b of N and for all real numbers x, y such that a = x and b = y holds a · b = x · y.

(59) For every subsystem N of ⟨ , ·⟩ such that 1 is an element of N holds N is unital and 1_{the operation of N} = 1.

(60) For every unital subsystem N of ⟨ , ·⟩ holds 1_{the operation of N} = 0 or

1_{the operation of N} = 1. We now define three new functors. The unital strict subsystem ⟨ , ·⟩ of ⟨ , ·⟩

with uniquely decomposable unity is defined by: (Def.30) the carrier of ⟨ , ·⟩ = .

⟨ , ·, 1⟩ is a well unital strict monoidal extension of ⟨ , ·⟩.

The binary operation ·_{}on is defined by: (Def.31) ·_{}= the operation of ⟨ , ·⟩.

One can prove the following propositions:

(61) ⟨ , ·⟩ = ⟨ , ·_{}⟩.

(62) For all natural numbers n_{1}, n_{2} and for all elements m_{1}, m_{2} of ⟨ , ·⟩ such that n_{1} = m_{1} and n_{2} = m_{2} holds m_{1} · m_{2} = n_{1} · n_{2}.

(63) 1_{the operation of ⟨ ,·⟩} = 1.

(64) For all natural numbers n_{1}, n_{2} and for all elements m_{1}, m_{2} of ⟨ , ·, 1⟩ such that n_{1} = m_{1} and n_{2} = m_{2} holds m_{1} · m_{2} = n_{1} · n_{2}.

(65) ⟨ , ·, 1⟩ = ⟨ , ·_{}, 1⟩.

(66) ·_{}= ·_{}[: , :].

(67) 1 is a unity w.r.t. ·_{}and ·_{}has a unity and 1_{·_{}}= 1 and ·_{}is commutative and ·_{}is associative and ·_{}has uniquely decomposable unity.

6. The monoid of finite sequences over the set

We now define three new functors. Let D be a non-empty set. The functor ⟨D^{∗},^{}⟩ yielding a unital associative cancelable constituted finite sequences strict half group structure with uniquely decomposable unity is defined by:

(Def.32) the carrier of ⟨D^{∗},^{}⟩ = D^{∗} and for all elements p, q of ⟨D^{∗},^{}⟩ holds p ⊗ q = p^{}q.

Let us consider D. ⟨D^{∗},^{}, ε⟩ is a well unital strict monoidal extension of ⟨D^{∗},^{}⟩.

The concatenation of D yielding a binary operation on D^{∗} is defined as follows:

(Def.33) the concatenation of D = the operation of ⟨D^{∗},^{}⟩.

We now state several propositions:

(68) ⟨D^{∗},^{}⟩ = ⟨D^{∗}, the concatenation of D⟩.

(69) 1_{the operation of ⟨D^{∗},^{}⟩} = ε.

(70) The carrier of ⟨D^{∗},^{}, ε⟩ = D^{∗} and the operation of ⟨D^{∗},^{}, ε⟩ = the concatenation of D and the unity of ⟨D^{∗},^{}, ε⟩ = ε.

(71) For all elements a, b of ⟨D^{∗},^{}, ε⟩ holds a ⊗ b = a^{}b.

(72) For every subsystem F of ⟨D^{∗},^{}⟩ and for all elements p, q of F holds p ⊗ q = p^{}q.

(73) For every unital subsystem F of ⟨D^{∗},^{}⟩ holds 1_{the operation of F} = ε.

(74) For every subsystem F of ⟨D^{∗},^{}⟩ such that ε is an element of F holds F is unital and 1_{the operation of F} = ε.

(75) For all non-empty sets A, B such that A ⊆ B holds ⟨A^{∗},^{}⟩ is a subsystem of ⟨B^{∗},^{}⟩.

(76) The concatenation of D has a unity and 1_{the concatenation of D} = ε and the concatenation of D is associative.

7. Monoids of mappings

We now define three new functors. Let X be a set. The semigroup of partial functions onto X yields a unital associative constituted functions strict half group structure and is defined by:

(Def.34) the carrier of the semigroup of partial functions onto X = X ˙→X and for all elements f, g of the semigroup of partial functions onto X holds f ⊗ g = f ∘ g.

Let X be a set. The monoid of partial functions onto X is a well unital strict monoidal extension of the semigroup of partial functions onto X.

The composition of X yields a binary operation on X ˙→X and is defined as follows:

(Def.35) the composition of X = the operation of the semigroup of partial functions onto X.

We now state several propositions:

(77) x is an element of the semigroup of partial functions onto X if and only if x is a partial function from X to X.

(78) 1_{the operation of the semigroup of partial functions onto X} = id_{X}.

(79) For every subsystem F of the semigroup of partial functions onto X and for all elements f, g of F holds f ⊗ g = f ∘ g.

(80) For every subsystem F of the semigroup of partial functions onto X such that id_{X} is an element of F holds F is unital and 1_{the operation of F} = id_{X}.

(81) If Y ⊆ X, then the semigroup of partial functions onto Y is a subsystem

of the semigroup of partial functions onto X. We now define two new functors. Let X be a set. The semigroup of functions

onto X yielding a unital strict subsystem of the semigroup of partial functions onto X is defined as follows:

(Def.36) the carrier of the semigroup of functions onto X = X^{X}.

Let X be a set. The monoid of functions onto X is a well unital strict monoidal extension of the semigroup of functions onto X.

The following four propositions are true:

(82) x is an element of the semigroup of functions onto X if and only if x is a function from X into X.

(83) The operation of the semigroup of functions onto X = (the composition of X) [: X^{X}, X^{X} :].

(84) 1_{the operation of the semigroup of functions onto X} = id_{X}.

(85) The carrier of the monoid of functions onto X = X^{X} and the operation of the monoid of functions onto X = (the composition of X) [: X^{X}, X^{X} :] and the unity of the monoid of functions onto X = id_{X}.

Let X be a set. The group of permutations onto X yields a unital invertible strict subsystem of the semigroup of functions onto X and is defined by:

monoids 225

(Def.37) for every element f of the semigroup of functions onto X holds f ∈ the carrier of the group of permutations onto X if and only if f is a permutation of X.

One can prove the following three propositions:

(86) x is an element of the group of permutations onto X if and only if x is a permutation of X.

(87) 1_{the operation of the group of permutations onto X} = id_{X} and 1_{the group of permutations onto X} = id_{X}.

(88) For every element f of the group of permutations onto X holds f^{−1} = (f qua a function)^{−1}.

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. Binary operations applied to finite sequences. Formalized Mathematics, 1(4):643–649, 1990.

[5] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 1990.

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

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

[8] Czesław Byliński. The modification of a function by a function and the iteration of the composition of a function. Formalized Mathematics, 1(3):521–527, 1990.

[9] Czesław Byliński. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

[10] Eugeniusz Kusak, Wojciech Leończuk, and Michał Muzalewski. Abelian groups, fields and vector spaces. Formalized Mathematics, 1(2):335–342, 1990.

[11] Dariusz Surowik. Cyclic groups and some of their properties - part I. Formalized Mathematics, 2(5):623–627, 1991.

[12] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

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

[14] Andrzej Trybulec. Semilattice operations on finite subsets. Formalized Mathematics, 1(2):369–376, 1990.

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

[16] Andrzej Trybulec. Tuples, projections and Cartesian products. Formalized Mathematics, 1(1):97–105, 1990.

[17] Michał J. Trybulec. Integers. Formalized Mathematics, 1(3):501–505, 1990.

[18] Wojciech A. Trybulec. Groups. Formalized Mathematics, 1(5):821–827, 1990.

226

Monoid of Multisets and Subsets

Grzegorz Bancerek Polish Academy of Sciences Institute of Mathematics Warsaw

Summary. The monoid of functions yielding elements of a group is introduced. The monoid of multisets over a set is constructed as such monoid where the target group is the group of natural numbers with addition. Moreover, the generalization of group operation onto the operation on subsets is present. That generalization is used to introduce the group 2^{G} of subsets of a group G.

MML Identifier: MONOID 1.

The articles [21], [22], [15], [3], [17], [10], [5], [14], [11], [7], [16], [20], [9], [8], [19], [6], [13], [1], [18], [23], [24], [12], [2], and [4] provide the notation and terminology for this paper.

1. Updating

We adopt the following convention: x, y are arbitrary, X, Y, Z are sets, and n is a natural number. We now define two new constructions. Let D be a nonempty set, and let d be an element of D. Then {d} is a non-empty subset of D. Let D be a non-empty set, and let X_{1}, X_{2} be subsets of D. Then X_{1} ∪ X_{2} is a subset of D. Let D be a non-empty set, and let X_{1} be a subset of D, and let X_{2} be a non-empty subset of D. Then X_{1} ∪ X_{2} is a non-empty subset of D. Let D_{1}, D_{2}, D be non-empty sets. A binary function from D_{1}, D_{2} into D is a function from [: D_{1}, D_{2} :] into D.

Let f be a function, and let x_{1}, x_{2}, y be arbitrary. The functor f(x_{1}, x_{2})(y) is defined by: (Def.1) f(x_{1}, x_{2})(y) = f(⟨⟨x_{1}, x_{2}⟩⟩)(y).

The following proposition is true (1) For all functions f, g and for arbitrary x_{1}, x_{2}, x such that ⟨⟨x_{1}, x_{2}⟩⟩ ∈

dom f and g = f(x_{1}, x_{2}) and x ∈ dom g holds f(x_{1}, x_{2})(x) = g(x). Let A, D_{1}, D_{2}, D be non-empty sets, and let f be a binary function from

D_{1}, D_{2} into D^{A}, and let x_{1} be an element of D_{1}, and let x_{2} be an element of D_{2}, and let x be an element of A. Then f(x_{1}, x_{2})(x) is an element of D. Let A be a set, and let D_{1}, D_{2}, D be non-empty sets, and let f be a binary function from D_{1}, D_{2} into D, and let g_{1} be a function from A into D_{1}, and let g_{2} be a function from A into D_{2}. Then f^{∘}(g_{1}, g_{2}) is an element of D^{A}. Let A be a non-empty set, and let n be a natural number, and let x be an element of A. Then n ⟼ x is a finite sequence of elements of A. We introduce the functor n⟼ . x as a synonym of n ⟼ x. Let D be a non-empty set, and let A be a set, and let d be an element of D. Then A ⟼ d is an element of D^{A}. Let A be a set, and let D_{1}, D_{2}, D be non-empty sets, and let f be a binary function from D_{1}, D_{2} into D, and let d be an element of D_{1}, and let g be a function from A into D_{2}. Then f^{∘}(d, g) is an element of D^{A}. Let A be a set, and let D_{1}, D_{2}, D be non-empty sets, and let f be a binary function from D_{1}, D_{2} into D, and let g be a function from A into D_{1}, and let d be an element of D_{2}. Then f^{∘}(g, d) is an element of D^{A}.

We now state the proposition

(2) For all functions f, g and for every set X holds (f X) · g = f · (X g). The scheme NonUniqFuncDEx concerns a set A, a non-empty set B, and a

binary predicate P, and states that:

there exists a function f from A into B such that for every x such that x ∈ A holds P[x, f(x)] provided the following condition is met:

• for every x such that x ∈ A there exists an element y of B such that P[x, y].

2. Monoid of functions into a semigroup

Let D_{1}, D_{2}, D be non-empty sets, and let f be a binary function from D_{1}, D_{2} into D, and let A be a set. The functor f_{A}^{∘} yields a binary function from D_{1}^{A}, D_{2}^{A} into D^{A} and is defined by: (Def.2) for every element f_{1} of D_{1}^{A} and for every element f_{2} of D_{2}^{A} holds

(f_{A}^{∘})(f_{1}, f_{2}) = f^{∘}(f_{1}, f_{2}).

Next we state the proposition

(3) For all non-empty sets D_{1}, D_{2}, D and for every binary function f from D_{1}, D_{2} into D and for every set A and for every function f_{1} from A into D_{1} and for every function f_{2} from A into D_{2} and for every x such that x ∈ A holds (f_{A}^{∘})(f_{1}, f_{2})(x) = f(f_{1}(x), f_{2}(x)).

For simplicity we adopt the following convention: A will denote a set, D will denote a non-empty set, a will denote an element of D, o, o′ will denote binary operations on D, and f, g, h will denote functions from A into D. The following propositions are true:

(4) If o is commutative, then o^{∘}(f, g) = o^{∘}(g, f).

(5) If o is associative, then o^{∘}(o^{∘}(f, g), h) = o^{∘}(f, o^{∘}(g, h)).

(6) If a is a unity w.r.t. o, then o^{∘}(a, f) = f and o^{∘}(f, a) = f.

(7) If o is idempotent, then o^{∘}(f, f) = f.

(8) If o is commutative, then o_{A}^{∘} is commutative.

(9) If o is associative, then o_{A}^{∘} is associative.

(10) If a is a unity w.r.t. o, then A ⟼ a is a unity w.r.t. o_{A}^{∘}.

(11) If o has a unity, then 1_{o_{A}^{∘}} = A ⟼ 1_{o} and o_{A}^{∘} has a unity.

(12) If o is idempotent, then o_{A}^{∘} is idempotent.

(13) If o is invertible, then o_{A}^{∘} is invertible.

(14) If o is cancelable, then o_{A}^{∘} is cancelable.

(15) If o has uniquely decomposable unity, then o_{A}^{∘} has uniquely decomposable unity.

(16) If o absorbs o′, then o_{A}^{∘} absorbs o_{A}^{′∘}.

(17) For all non-empty sets D_{1}, D_{2}, D, E_{1}, E_{2}, E and for every binary function o_{1} from D_{1}, D_{2} into D and for every binary function o_{2} from E_{1}, E_{2} into E such that o_{1} ≤ o_{2} holds o_{1}_{A}^{∘} ≤ o_{2}_{A}^{∘}.

Let G be a half group structure, and let A be a set. The functor G^{A} yielding a half group structure is defined by: (Def.3) (i) G^{A} = ⟨(the carrier of G)^{A}, (the operation of

G)_{A}^{∘}, A ⟼ 1_{the operation of G}

qua an element of (the carrier of G)^{A} qua a non-empty set⟩ if G is unital, (ii) G^{A} = ⟨(the carrier of G)^{A}, (the operation of G)_{A}^{∘}⟩, otherwise.

In the sequel G denotes a half group structure. We now state two propositions:

(18) The carrier of G^{X} = (the carrier of G)^{X} and the operation of G^{X} = (the operation of G)_{X}^{∘}.

(19) x is an element of G^{X} if and only if x is a function from X into the

carrier of G. Let G be a half group structure, and let A be a set. Then G^{A} is a constituted

functions half group structure.

We now state two propositions:

(20) For every element f of G^{X} holds dom f = X and rng f ⊆ the carrier of G.

(21) For all elements f, g of G^{X} if for every x such that x ∈ X holds

f(x) = g(x), then f = g. Let G be a half group structure, and let A be a non-empty set, and let f be

an element of G^{A}. Then rng f is a non-empty subset of G. Let a be an element of A. Then f(a) is an element of G.

We now state the proposition

(22) For all elements f_{1}, f_{2} of G^{D} and for every element a of D holds (f_{1} ·

f_{2})(a) = f_{1}(a) · f_{2}(a). Let G be a unital half group structure, and let A be a set. Then G^{A} is a well

unital constituted functions strict monoid structure.

One can prove the following propositions:

(23) For every G being a unital half group structure holds the unity of G^{X} = X ⟼ 1_{the operation of G}.

(24) Let G be a half group structure. Let A be a set. Then (i) if G is commutative, then G^{A} is commutative, (ii) if G is associative, then G^{A} is associative, (iii) if G is idempotent, then G^{A} is idempotent, (iv) if G is invertible, then G^{A} is invertible,

(v) if G is cancelable, then G^{A} is cancelable, (vi) if G has uniquely decomposable unity, then G^{A} has uniquely decom-

posable unity.

(25) For every subsystem H of G holds H^{X} is a subsystem of G^{X}.

(26) For every G being a unital half group structure and for every subsystem H of G such that 1_{the operation of G} ∈ the carrier of H holds H^{X} is a monoidal subsystem of G^{X}.

Let G be a unital associative commutative cancelable half group structure with uniquely decomposable unity, and let A be a set. Then G^{A} is a commutative cancelable constituted functions strict monoid with uniquely decomposable unity.

3. Monoid of multisets over a set

Let A be a set. The functor A_{ω}^{⊗} yields a commutative cancelable constituted functions strict monoid with uniquely decomposable unity and is defined by: (Def.4) A_{ω}^{⊗} = ⟨ , +, 0⟩^{A}.

Next we state the proposition

(27) The carrier of X_{ω}^{⊗} = ^{X} and the operation of X_{ω}^{⊗} = (+_{})_{X}^{∘} and the

unity of X_{ω}^{⊗} = X ⟼ 0. Let A be a set. A multiset over A is an element of A_{ω}^{⊗}. Next we state two propositions:

(28) x is a multiset over X if and only if x is a function from X into .

(29) For every multiset m over X holds dom m = X and rng m ⊆ . Let A be a non-empty set, and let m be a multiset over A. Then rng m is

a non-empty subset of . Let a be an element of A. Then m(a) is a natural number.

Next we state two propositions:

(30) For all multisets m_{1}, m_{2} over D and for every element a of D holds (m_{1} ⊗ m_{2})(a) = m_{1}(a) + m_{2}(a).

(31) χ_{Y,X} is a multiset over X.

Let us consider Y, X. Then χ_{Y,X} is a multiset over X. Let us consider X, and let n be a natural number. Then X ⟼ n is a multiset over X. Let A be a non-empty set, and let a be an element of A. The functor χa yields a multiset over A and is defined as follows: (Def.5) χa = χ_{{a},A}.

One can prove the following proposition

(32) For every non-empty set A and for all elements a, b of A holds (χa)(a) =

1 and also if b ≠ a, then (χa)(b) = 0. For simplicity we follow a convention: A denotes a non-empty set, a denotes

an element of A, p, q denote finite sequences of elements of A, and m_{1}, m_{2} denote multisets over A. Next we state the proposition

(33) If for every a holds m_{1}(a) = m_{2}(a), then m_{1} = m_{2}.

Let A be a set. The functor A^{⊗} yields a strict monoidal subsystem of A_{ω}^{⊗} and is defined as follows: (Def.6) for every multiset f over A holds f ∈ the carrier of A^{⊗} if and only if

f ^{−1} ( \ {0}) is finite. The following three propositions are true:

(34) χa is an element of A^{⊗}.

(35) dom({x} (p^{}⟨x⟩)) = dom({x} p) ∪ {len p + 1}.

(36) If x ≠ y, then dom({x} (p^{}⟨y⟩)) = dom({x} p).

Let A be a non-empty set, and let p be a finite sequence of elements of A. The functor |p| yields a multiset over A and is defined as follows: (Def.7) for every element a of A holds |p|(a) = card dom({a} p).

We now state several propositions:

(37) |ε_{A}|(a) = 0.

(38) |ε_{A}| = A ⟼ 0.

(39) |⟨a⟩| = χa.

(40) |p^{}⟨a⟩| = |p| ⊗ χa.

(41) |p^{}q| = |p| ⊗ |q|.

(42) |n⟼ . a|(a) = n and for every element b of A such that b ≠ a holds

|n⟼ . a|(b) = 0. Next we state two propositions:

(43) |p| is an element of A^{⊗}.

(44) If x is an element of A^{⊗}, then there exists p such that x = |p|.

4. Monoid of subsets of a semigroup

In the sequel a, b will be elements of D. Let D_{1}, D_{2}, D be non-empty sets, and let f be a binary function from D_{1}, D_{2} into D. The functor ^{∘} f yields a binary function from 2^{D_{1}}, 2^{D_{2}} into 2^{D} and is defined by:

(Def.8) for every element x of [: 2^{D_{1}}, 2^{D_{2}} :] holds (^{∘} f)(x) = f ^{∘} [: x_{1}, x_{2} :].

One can prove the following propositions:

(45) For all non-empty sets D_{1}, D_{2}, D and for every binary function f from D_{1}, D_{2} into D and for every subset X_{1} of D_{1} and for every subset X_{2} of D_{2} holds (^{∘} f)(X_{1}, X_{2}) = f ^{∘} [: X_{1}, X_{2} :].

(46) For all non-empty sets D_{1}, D_{2}, D and for every binary function f from D_{1}, D_{2} into D and for every subset X_{1} of D_{1} and for every subset X_{2} of D_{2} and for arbitrary x_{1}, x_{2} such that x_{1} ∈ X_{1} and x_{2} ∈ X_{2} holds f(x_{1}, x_{2}) ∈ (^{∘} f)(X_{1}, X_{2}).

(47) For all non-empty sets D_{1}, D_{2}, D and for every binary function f from D_{1}, D_{2} into D and for every subset X_{1} of D_{1} and for every subset X_{2} of D_{2} holds (^{∘} f)(X_{1}, X_{2}) = {f(a, b) : a ∈ X_{1} ∧ b ∈ X_{2}}, where a ranges over elements of D_{1}, and b ranges over elements of D_{2}.

(48) If o is commutative, then o^{∘} [: X, Y :] = o^{∘} [: Y, X:].

(49) If o is associative, then o^{∘} [: o^{∘} [: X, Y :], Z:] = o^{∘} [: X, o^{∘} [: Y, Z:] :].

(50) If o is commutative, then ^{∘} o is commutative.

(51) If o is associative, then ^{∘} o is associative.

(52) If a is a unity w.r.t. o, then o^{∘} [: {a}, X:] = D ∩ X and o^{∘} [: X, {a}:] = D ∩ X.

(53) If a is a unity w.r.t. o, then {a} is a unity w.r.t. ^{∘} o and ^{∘} o has a unity and 1_{^{∘} o} = {a}.

(54) If o has a unity, then ^{∘} o has a unity and {1_{o}} is a unity w.r.t. ^{∘} o and 1_{^{∘} o} = {1_{o}}.

(55) If o has uniquely decomposable unity, then ^{∘} o has uniquely decompos-

able unity. Let G be a half group structure. The functor 2^{G} yields a half group structure

and is defined by:

(Def.9) (i) 2^{G} = ⟨2^{the carrier of G},^{∘} (the operation of G), {1_{the operation of G}}⟩ if

G is unital, (ii) 2^{G} = ⟨2^{the carrier of G},^{∘} (the operation of G)⟩, otherwise. Let G be a unital half group structure. Then 2^{G} is a well unital strict monoid structure.

One can prove the following three propositions:

(56) The carrier of 2^{G} = 2^{the carrier of G} and the operation of 2^{G} = ^{∘} (the operation of G).

monoid of multisets and subsets 233

(57) For every G being a unital half group structure holds the unity of 2^{G} = {1_{the operation of G}}.

(58) For every G being a half group structure holds if G is commutative, then 2^{G} is commutative and also if G is associative, then 2^{G} is associative and also if G has uniquely decomposable unity, then 2^{G} has uniquely decomposable unity.

References

[1] Grzegorz Bancerek. Cardinal numbers. Formalized Mathematics, 1(2):377–382, 1990.

[2] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

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

[4] Grzegorz Bancerek. Monoids. Formalized Mathematics, 3(2):213–225, 1992.

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

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

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

[8] Czesław Byliński. Binary operations applied to finite sequences. Formalized Mathematics, 1(4):643–649, 1990.

[9] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 1990.

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

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

[12] Czesław Byliński. The modification of a function by a function and the iteration of the composition of a function. Formalized Mathematics, 1(3):521–527, 1990.

[13] Czesław Byliński. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

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

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

[16] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

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

[18] Andrzej Trybulec. Finite join and finite meet and dual lattices. Formalized Mathematics, 1(5):983–988, 1990.

[19] Andrzej Trybulec. Function domains and Frænkel operator. Formalized Mathematics, 1(3):495–500, 1990.

[20] Andrzej Trybulec. Semilattice operations on finite subsets. Formalized Mathematics, 1(2):369–376, 1990.

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

[22] Andrzej Trybulec. Tuples, projections and Cartesian products. Formalized Mathematics, 1(1):97–105, 1990.

[23] Wojciech A. Trybulec. Binary operations on finite sequences. Formalized Mathematics, 1(5):979–981, 1990.

[24] Wojciech A. Trybulec. Groups. Formalized Mathematics, 1(5):821–827, 1990.

234

Product of Families of Groups and Vector Spaces

Anna Lango Warsaw University

Białystok

Grzegorz Bancerek Polish Academy of Sciences Institute of Mathematics Warsaw

Summary. In the first section we present properties of fields and Abelian groups in terms of commutativity, associativity, etc. Next, we are concerned with operations on n-tuples on some set which are generalization of operations on this set. It is used in third section to introduce the n-power of a group and the n-power of a field. Besides, we introduce a concept of indexed family of binary (unary) operations over some indexed family of sets and a product of such families which is binary (unary) operation on a product of family sets. We use that product in the last section to introduce the product of a finite sequence of Abelian groups.

MML Identifier: PRVECT 1.

The notation and terminology used in this paper are introduced in the following articles: [16], [9], [10], [13], [3], [17], [2], [5], [6], [12], [4], [8], [7], [14], [1], [11], and [15].

1. Abelian Groups and Fields

In the sequel G will denote an Abelian group. The following propositions are true:

(1) The addition of G is commutative.

(2) The addition of G is associative.

(3) The zero of G is a unity w.r.t. the addition of G.

(4) The reverse-map of G is an inverse operation w.r.t. the addition of G. In the sequel G_{1} will be a group structure. Next we state the proposition (5) If the addition of G_{1} is commutative and the addition of G_{1} is associative

and the zero of G_{1} is a unity w.r.t. the addition of G_{1} and the reverse-map of G_{1} is an inverse operation w.r.t. the addition of G_{1}, then G_{1} is an Abelian group.

In the sequel F is a field. We now state several propositions:

(6) The addition of F is commutative.

(7) The multiplication of F is commutative.

(8) The addition of F is associative.

(9) The multiplication of F is associative.

(10) The zero of F is a unity w.r.t. the addition of F.

(11) The unity of F is a unity w.r.t. the multiplication of F.

(12) The reverse-map of F is an inverse operation w.r.t. the addition of F.

(13) The multiplication of F is distributive w.r.t. the addition of F. One can verify that every field-like field structure is Abelian group-like.

2. The n-Product of a Binary and a Unary Operation

For simplicity we follow a convention: F is a field, n is a natural number, D is a non-empty set, d is an element of D, B is a binary operation on D, and C is a unary operation on D. We now define three new functors. Let us consider D, n, and let F be a binary operation on D, and let x, y be elements of D^{n}. Then F^{∘}(x, y) is an element of D^{n}. Let D be a non-empty set, and let F be a binary operation on D, and let n be a natural number. The functor π^{n}F yields a binary operation on D^{n} and is defined by:

(Def.1) for all elements x, y of D^{n} holds (π^{n}F)(x, y) = F^{∘}(x, y). Let us consider D, and let F be a unary operation on D, and let us consider n. The functor π^{n}F yields a unary operation on D^{n} and is defined as follows:

(Def.2) for every element x of D^{n} holds (π^{n}F)(x) = F · x. Let D be a non-empty set, and let us consider n, and let x be an element of D. Then n ⟼ x is an element of D^{n}. We introduce the functor n⟼ . x as a synonym of n ⟼ x.

The following four propositions are true:

(14) If B is commutative, then π^{n}B is commutative.

(15) If B is associative, then π^{n}B is associative.

(16) If d is a unity w.r.t. B, then n⟼ . d is a unity w.r.t. π^{n}B.

(17) If B has a unity and B is associative and C is an inverse operation w.r.t. B, then π^{n}C is an inverse operation w.r.t. π^{n}B.

3. The n-Power of a Group and of a Field

Let F be an Abelian group, and let us consider n. The functor F^{n} yielding a strict Abelian group is defined as follows: (Def.3) F^{n} = ⟨(the carrier of F)^{n}, π^{n}(the addition of F), π^{n}(the reverse-map of

F), n⟼ . the zero of F qua an element of (the carrier of F)^{n}⟩. We now define two new functors. Let us consider F, n. The functor ·_{F}^{n} yields

a function from [: the carrier of F, (the carrier of F)^{n}:] into (the carrier of F)^{n} and is defined by: (Def.4) for every element x of F and for every element v of (the carrier of F)^{n}

holds (·_{F}^{n})(x, v) = (the multiplication of F)^{∘}(x, v). Let us consider F, n. The n-dimension vector space over F yielding a strict vector space structure over F is defined as follows: (Def.5) the group structure of the n-dimension vector space over F = F^{n} and

the multiplication of the n-dimension vector space over F = ·_{F}^{n}. For simplicity we follow a convention: D will be a non-empty set, H, G

will be binary operations on D, d will be an element of D, and t_{1}, t_{2} will be elements of D^{n}. One can prove the following proposition

(18) If H is distributive w.r.t. G, then H^{∘}(d, G^{∘}(t_{1}, t_{2})) = G^{∘}(H^{∘}(d, t_{1}),

H^{∘}(d, t_{2})). Let D be a non-empty set, and let n be a natural number, and let F be a

binary operation on D, and let x be an element of D, and let v be an element of D^{n}. Then F^{∘}(x, v) is an element of D^{n}. Let us consider F, n. Then the n-dimension vector space over F is a strict vector space over F.

4. Sequences of Non-empty Sets

In the sequel x will be arbitrary. We now define two new attributes. A function is non-empty set yielding if: (Def.6) ∅ ∉ rng it. A set is constituted functions if: (Def.7) if x ∈ it, then x is a function. One can check that there exists a non-empty non-empty set yielding finite sequence and there exists a non-empty constituted functions set.

Let F be a constituted functions non-empty set. We see that the element of F is a function. Let f be a non-empty set yielding function. Then ∏ f is a constituted functions non-empty set. A sequence of non-empty sets is a non-empty non-empty set yielding finite sequence.

Let a be a non-empty function. Then dom a is a non-empty set.

The scheme NEFinSeqLambda concerns a non-empty finite sequence A and a unary functor F and states that:

there exists a non-empty finite sequence p such that len p = len A and for every element i of dom A holds p(i) = F(i) for all values of the parameters.

Let a be a non-empty set yielding non-empty function, and let i be an element of dom a. Then a(i) is a non-empty set. Let a be a non-empty set yielding nonempty function, and let f be an element of ∏ a, and let i be an element of dom a. Then f(i) is an element of a(i).

5. The Product of Families of Operations

In the sequel a will denote a sequence of non-empty sets, i will denote an element of dom a, and p will denote a finite sequence. We now define two new modes. Let a be a non-empty set yielding non-empty function. A function is called a family of binary operations of a if: (Def.8) dom it = dom a and for every element i of dom a holds it(i) is a binary

operation on a(i). A function is said to be a family of unary operations of a if: (Def.9) dom it = dom a and for every element i of dom a holds it(i) is a unary

operation on a(i). Let us consider a. Note that every family of binary operations of a is finite sequence-like and every family of unary operations of a is finite sequence-like.

The following two propositions are true:

(19) p is a family of binary operations of a if and only if len p = len a and for every i holds p(i) is a binary operation on a(i).

(20) p is a family of unary operations of a if and only if len p = len a and for

every i holds p(i) is a unary operation on a(i). Let us consider a, and let b be a family of binary operations of a, and let us

consider i. Then b(i) is a binary operation on a(i). Let us consider a, and let u be a family of unary operations of a, and let us consider i. Then u(i) is a unary operation on a(i). Let F be a constituted functions non-empty set, and let u be a unary operation on F, and let f be an element of F. Then u(f) is an element of F.

In the sequel f is arbitrary. One can prove the following proposition

(21) For all unary operations d, d′ on ∏ a if for every element f of ∏ a and

for every element i of dom a holds d(f)(i) = d′(f)(i), then d = d′. We now state the proposition

(22) For every family u of unary operations of a holds dom_{κ} u(κ) = a and

∏(rng_{κ} u(κ)) ⊆ ∏ a. Let us consider a, and let u be a family of unary operations of a. Then ∏^{∘} u

is a unary operation on ∏ a.

We now state the proposition (23) For every family u of unary operations of a and for every element f of

∏ a and for every element i of dom a holds (∏^{∘} u)(f)(i) = u(i)(f(i)). Let F be a constituted functions non-empty set, and let b be a binary op-

eration on F, and let f, g be elements of F. Then b(f, g) is an element of F.

The following proposition is true

(24) For all binary operations d, d′ on ∏ a if for all elements f, g of ∏ a and

for every element i of dom a holds d(f, g)(i) = d′(f, g)(i), then d = d′. In the sequel i will denote an element of dom a. Let us consider a, and let b

be a family of binary operations of a. The functor ∏^{∘} b yields a binary operation on ∏ a and is defined by:

(Def.10) for all elements f, g of ∏ a and for every element i of dom a holds (∏^{∘} b)(f, g)(i) = b(i)(f(i), g(i)).

The following propositions are true:

(25) For every family b of binary operations of a if for every i holds b(i) is commutative, then ∏^{∘} b is commutative.

(26) For every family b of binary operations of a if for every i holds b(i) is associative, then ∏^{∘} b is associative.

(27) For every family b of binary operations of a and for every element f of ∏ a if for every i holds f(i) is a unity w.r.t. b(i), then f is a unity w.r.t. ∏^{∘} b.

(28) For every family b of binary operations of a and for every family u of unary operations of a if for every i holds u(i) is an inverse operation w.r.t. b(i) and b(i) has a unity, then ∏^{∘} u is an inverse operation w.r.t. ∏^{∘} b.

6. The Product of Families of Groups

We now define three new constructions. A function is Abelian group yielding if: (Def.11) if x ∈ rng it, then x is an Abelian group.

One can check that there exists a non-empty Abelian group yielding finite sequence.

A sequence of groups is a non-empty Abelian group yielding finite sequence. Let g be a sequence of groups, and let i be an element of dom g. Then g(i)

is an Abelian group. Let g be a sequence of groups. The functor \overline{g} yielding a sequence of non-empty sets is defined as follows:

(Def.12) len \overline{g} = len g and for every element j of dom g holds \overline{g}(j) = the carrier of g(j).

In the sequel g is a sequence of groups and i is an element of dom \overline{g}. We now define four new functors. Let us consider g, i. Then g(i) is an Abelian group. Let us consider g. The functor ⟨+_{g_{i}}⟩_{i} yields a family of binary operations of \overline{g} and is defined by:

240 anna lango and grzegorz bancerek

(Def.13) len(⟨+_{g_{i}}⟩_{i}) = len \overline{g} and for every i holds ⟨+_{g_{i}}⟩_{i}(i) = the addition of g(i). The functor ⟨−_{g_{i}}⟩_{i} yields a family of unary operations of \overline{g} and is defined by:

(Def.14) len(⟨−_{g_{i}}⟩_{i}) = len \overline{g} and for every i holds ⟨−_{g_{i}}⟩_{i}(i) = the reverse-map of g(i).

The functor ⟨0_{g_{i}}⟩_{i} yields an element of ∏ \overline{g} and is defined by: (Def.15) for every i holds ⟨0_{g_{i}}⟩_{i}(i) = the zero of g(i).

Let G be a sequence of groups. The functor ∏ G yields a strict Abelian group and is defined by:

(Def.16) ∏ G = ⟨∏ \overline{G}, ∏^{∘}(⟨+_{G_{i}}⟩_{i}), ∏^{∘}(⟨−_{G_{i}}⟩_{i}), ⟨0_{G_{i}}⟩_{i}⟩.

References

[1] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

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

[3] Grzegorz Bancerek. König’s theorem. Formalized Mathematics, 1(3):589–593, 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. Basic functions and operations on functions. Formalized Mathematics, 1(1):245–254, 1990.

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

[7] Czesław Byliński. Binary operations applied to finite sequences. Formalized Mathematics, 1(4):643–649, 1990.

[8] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 1990.

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

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

[11] Czesław Byliński. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

[12] Eugeniusz Kusak, Wojciech Leończuk, and Michał Muzalewski. Abelian groups, fields and vector spaces. Formalized Mathematics, 1(2):335–342, 1990.

[13] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

[14] Andrzej Trybulec. Function domains and Frænkel operator. Formalized Mathematics, 1(3):495–500, 1990.

[15] Andrzej Trybulec. Semilattice operations on finite subsets. Formalized Mathematics, 1(2):369–376, 1990.

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

[17] Andrzej Trybulec. Tuples, projections and Cartesian products. Formalized Mathematics, 1(1):97–105, 1990.

On a Mathematical Model of Programs

Yatsuka Nakamura Shinshu University Nagano Andrzej Trybulec Warsaw University Białystok

Summary. We continue the work on mathematical modeling of hardware and software started in [17]. The main objective of this paper is the definition of a program. We start with the concept of partial product, i.e. the set of all partial functions f from I to ⋃_{i∈I} A_{i}, fulfilling the condition f.i ∈ A_{i} for i ∈ domf. The computation and the result of a computation are defined in usual way. A finite partial state is called autonomic if the result of a computation starting with it does not depend on the remaining memory and an AMI is called programmable if it has a non empty autonomic partial finite state. We prove the consistency of the following set of properties of an AMI: data-oriented, halting, steadyprogrammed, realistic and programmable. For this purpose we define a trivial AMI. It has only the instruction counter and one instruction location. The only instruction of it is the halt instruction. A preprogram is a finite partial state that halts. We conclude with the definition of a program of a partial function F mapping the set of the finite partial states into itself. It is a finite partial state s such that for every finite partial state s′ ∈ domF the result of any computation starting with s+s′ includes F.s′.

MML Identifier: AMI 2.

The papers [24], [22], [28], [6], [7], [23], [14], [1], [19], [26], [25], [10], [3], [5], [15], [29], [21], [2], [20], [8], [18], [4], [9], [12], [13], [27], [11], [16], and [17] provide the notation and terminology for this paper.

1. Preliminaries

For simplicity we follow the rules: A, B, C will denote sets, f, g, h will denote functions, x, y, z will be arbitrary, and i, j, k will denote natural numbers. The scheme UniqSet concerns a set A, a set B, and a unary predicate P, and states that:

A = B provided the following requirements are met:

• for every x holds x ∈ A if and only if P[x],

• for every x holds x ∈ B if and only if P[x].

The following propositions are true:

(1) A misses B \ C if and only if B misses A \ C.

(2) For every function f holds π_{1}(dom f × rng f)^{∘} f = dom f.

(3) If f ≈ g and ⟨⟨x, y⟩⟩ ∈ f and ⟨⟨x, z⟩⟩ ∈ g, then y = z.

(4) If for every x such that x ∈ A holds x is a function and for all functions f, g such that f ∈ A and g ∈ A holds f ≈ g, then ⋃ A is a function.

(5) If dom f ⊆ A ∪ B, then f A +· f B = f.

(6) dom f ⊆ dom(f +· g) and dom g ⊆ dom(f +· g).

(7) For arbitrary x_{1}, x_{2}, y_{1}, y_{2} holds [x_{1} ⟼ y_{1}, x_{2} ⟼ y_{2}] = (x_{1}⟼ . y_{1}) +· (x_{2}⟼ . y_{2}).

(8) For all x, y holds x⟼ . y = {⟨⟨x, y⟩⟩}.

(9) For arbitrary a, b, c holds [a ⟼ b, a ⟼ c] = a⟼ . c.

(10) For every function f holds dom f is finite if and only if f is finite.

(11) If x ∈ ∏ f, then x is a function.

2. Partial products

Let f be a function. The functor ∏^{·} f yields a non-empty set of functions and is defined by: (Def.1) x ∈ ∏^{·} f if and only if there exists g such that x = g and dom g ⊆ dom f

and for every x such that x ∈ dom g holds g(x) ∈ f(x). Next we state a number of propositions:

(12) x ∈ ∏^{·} f if and only if there exists g such that x = g and dom g ⊆ dom f and for every x such that x ∈ dom g holds g(x) ∈ f(x).

(13) If dom g ⊆ dom f and for every x such that x ∈ dom g holds g(x) ∈ f(x), then g ∈ ∏^{·} f.

(14) If g ∈ ∏^{·} f, then dom g ⊆ dom f and for every x such that x ∈ dom g holds g(x) ∈ f(x).

(15) ∈ ∏^{·} f.

(16) ∏ f ⊆ ∏^{·} f.

(17) If x ∈ ∏^{·} f, then x is a partial function from dom f to ⋃ rng f.

(18) If g ∈ ∏ f and h ∈ ∏^{·} f, then g +· h ∈ ∏ f.

(19) If ∏ f ≠ ∅, then g ∈ ∏^{·} f if and only if there exists h such that h ∈ ∏ f and g ≤ h.

(20) ∏^{·} f ⊆ dom f ˙→ ⋃ rng f.

(21) If f ⊆ g, then ∏^{·} f ⊆ ∏^{·} g.

(22) ∏^{·} = { }.

(23) A ˙→B = ∏^{·}(A ⟼ B).

(24) For all non-empty sets A, B and for every function f from A into B holds ∏^{·} f = ∏^{·}(f {x : f(x) ≠ ∅}), where x ranges over elements of A.

(25) If x ∈ dom f and y ∈ f(x), then x⟼ . y ∈ ∏^{·} f.

(26) ∏^{·} f = { } if and only if for every x such that x ∈ dom f holds f(x) = ∅.

(27) If A ⊆ ∏^{·} f and for all functions h_{1}, h_{2} such that h_{1} ∈ A and h_{2} ∈ A holds h_{1} ≈ h_{2}, then ⋃ A ∈ ∏^{·} f.

(28) If g ≈ h and g ∈ ∏^{·} f and h ∈ ∏^{·} f, then g ∪ h ∈ ∏^{·} f.

(29) If g ⊆ h and h ∈ ∏^{·} f, then g ∈ ∏^{·} f.

(30) If g ∈ ∏^{·} f, then g A ∈ ∏^{·} f.

(31) If g ∈ ∏^{·} f, then g A ∈ ∏^{·}(f A).

(32) If h ∈ ∏^{·}(f +· g), then there exist functions f′, g′ such that f′ ∈ ∏^{·} f and g′ ∈ ∏^{·} g and h = f′ +· g′.

(33) For all functions f′, g′ such that dom g misses dom f′ \ dom g′ and f′ ∈ ∏^{·} f and g′ ∈ ∏^{·} g holds f′ +· g′ ∈ ∏^{·}(f +· g).

(34) For all functions f′, g′ such that dom f′ misses dom g \ dom g′ and f′ ∈ ∏^{·} f and g′ ∈ ∏^{·} g holds f′ +· g′ ∈ ∏^{·}(f +· g).

(35) If g ∈ ∏^{·} f and h ∈ ∏^{·} f, then g +· h ∈ ∏^{·} f.

(36) For arbitrary x_{1}, x_{2}, y_{1}, y_{2} such that x_{1} ∈ dom f and y_{1} ∈ f(x_{1}) and x_{2} ∈ dom f and y_{2} ∈ f(x_{2}) holds [x_{1} ⟼ y_{1}, x_{2} ⟼ y_{2}] ∈ ∏^{·} f.

3. Computations

In the sequel N is a non-empty set with non-empty elements.

We now define five new constructions. Let us consider N, and let S be a von Neumann definite AMI over N, and let s be a state of S. The functor CurInstr(s) yields an instruction of S and is defined as follows: (Def.2) CurInstr(s) = s(IC_{s}). Let us consider N, and let S be a von Neumann definite AMI over N, and let s be a state of S. The functor Following(s) yielding a state of S is defined by: (Def.3) Following(s) = Exec(CurInstr(s), s). Let us consider N, and let S be a von Neumann definite AMI over N, and let s be a state of S. The functor Computation(s) yielding a function from into ∏ (the object kind of S) qua a non-empty set is defined by:

(Def.4) (Computation(s))(0) = s qua an element of ∏ (the object kind of S) qua a non-empty set and for every i and for every element x of ∏ (the object kind of S) qua a non-empty set such that x = (Computation(s))(i) holds (Computation(s))(i + 1) = Following(x).

Let us consider N, and let S be a von Neumann definite AMI over N. A state of S is halting if:

(Def.5) there exists k such that CurInstr((Computation(it))(k)) = halt_{S}. Let us consider N, and let S be an AMI over N, and let f be a function from into ∏ (the object kind of S) qua a non-empty set, and let us consider k. Then f(k) is a state of S. Let us consider N. An AMI over N is realistic if:

(Def.6) the instructions of it ≠ the instruction locations of it.

One can prove the following proposition

(37) For every S being a von Neumann definite AMI over N such that S is

realistic holds for no instruction-location l of S holds IC_{S} = l. In the sequel S denotes a von Neumann definite AMI over N and s denotes

a state of S. One can prove the following propositions:

(38) (Computation(s))(0) = s.

(39) (Computation(s))(k + 1) = Following((Computation(s))(k)).

(40) For every k holds (Computation(s))(i + k) = (Computation((Computation(s))(i)))(k).

(41) If i ≤ j, then for every N and for every S being a halting von Neumann definite AMI over N and for every state s of S such that CurInstr((Computation(s))(i)) = halt_{S} holds (Computation(s))(j) = (Computation(s))(i).

Let us consider N, and let S be a halting von Neumann definite AMI over N, and let s be a state of S satisfying the condition: s is halting. The functor Result(s) yields a state of S and is defined as follows:

(Def.7) there exists k such that Result(s) = (Computation(s))(k) and CurInstr(Result(s)) = halt_{S}.

Next we state the proposition

(42) For every N and for every S being a steady-programmed von Neumann definite AMI over N and for every state s of S and for every instructionlocation i of S holds s(i) = (Following(s))(i).

Let us consider N, and let S be a definite AMI over N, and let s be a state of S, and let l be an instruction-location of S. Then s(l) is an instruction of S.

Next we state several propositions:

(43) For every N and for every S being a steady-programmed von Neumann definite AMI over N and for every state s of S and for every instructionlocation i of S and for every k holds s(i) = (Computation(s))(k)(i).

(44) For every N and for every S being a steady-programmed von Neumann definite AMI over N and for every state s of S holds (Computation(s))(k+ 1) = Exec(s(IC_{(Computation(s))(k)}), (Computation(s))(k)).

(45) For every N and for every S being a steady-programmed von Neumann halting definite AMI over N and for every state s of S and for every k such that s(IC_{(Computation(s))(k)}) = halt_{S} holds Result(s) = (Computation(s))(k).

(46) For every N and for every S being a steady-programmed von Neumann halting definite AMI over N and for every state s of S such that there exists k such that s(IC_{(Computation(s))(k)}) = halt_{S} and for every i holds Result(s) = Result((Computation(s))(i)).

(47) For every S being an AMI over N and for every object o of S holds ObjectKind(o) is non-empty.

4. Finite partial states

We now define five new constructions. Let us consider N, and let S be an AMI over N. The functor FinPartSt(S) yielding a subset of ∏^{·} (the object kind of S) is defined by: (Def.8) FinPartSt(S) = {p : p is finite}, where p ranges over elements of ∏^{·} (the

object kind of S). Let us consider N, and let S be an AMI over N. An element of ∏^{·} (the object kind of S) is called a finite partial state of S if: (Def.9) it is finite. Let us consider N, and let S be a von Neumann definite AMI over N. A finite partial state of S is autonomic if:

(Def.10) for all states s_{1}, s_{2} of S such that it ⊆ s_{1} and it ⊆ s_{2} and for every i

holds (Computation(s_{1}))(i) dom it = (Computation(s_{2}))(i) dom it. A finite partial state of S is halting if:

(Def.11) for every state s of S such that it ⊆ s holds s is halting.

Let us consider N. A von Neumann definite AMI over N is programmable if: (Def.12) there exists a finite partial state of it which is non-empty and autonomic.

We now state two propositions:

(48) For every S being a von Neumann definite AMI over N and for all nonempty sets A, B and for all objects l_{1}, l_{2} of S such that ObjectKind(l_{1}) = A and ObjectKind(l_{2}) = B and for every element a of A and for every element b of B holds [l_{1} ⟼ a, l_{2} ⟼ b] is a finite partial state of S.

(49) For every S being a von Neumann definite AMI over N and for every non-empty set A and for every object l_{1} of S such that ObjectKind(l_{1}) = A and for every element a of A holds l_{1}⟼ . a is a finite partial state of S.

Let us consider N, and let S be a von Neumann definite AMI over N, and let l_{1} be an object of S, and let a be an element of ObjectKind(l_{1}). Then l_{1}⟼ . a is a finite partial state of S. Let us consider N, and let S be a von Neumann definite AMI over N, and let l_{1}, l_{2} be objects of S, and let a be an element of ObjectKind(l_{1}), and let b be an element of ObjectKind(l_{2}). Then [l_{1} ⟼ a, l_{2} ⟼ b] is a finite partial state of S.

5. Trivial AMI

Let us consider N. The functor AMI_{t} yields a strict AMI over N and is defined by the conditions (Def.13).

(Def.13) (i) The objects of AMI_{t} = {0, 1}, (ii) the instruction counter of AMI_{t} = 0, (iii) the instruction locations of AMI_{t} = {1}, (iv) the instruction codes of AMI_{t} = {0},

(v) the halt instruction of AMI_{t} = 0, (vi) the instructions of AMI_{t} = {⟨⟨0, ε⟩⟩}, (vii) the object kind of AMI_{t} = [0 ⟼ {1}, 1 ⟼ {⟨⟨0, ε⟩⟩}], (viii) the execution of AMI_{t} = {⟨⟨0, ε⟩⟩} ⟼ id_{∏[0⟼{1},1⟼{⟨⟨0, ε⟩⟩}]}.

Next we state several propositions:

(50) AMI_{t} is von Neumann.

(51) AMI_{t} is data-oriented.

(52) AMI_{t} is halting.

(53) For all states s_{1}, s_{2} of AMI_{t} holds s_{1} = s_{2}.

(54) AMI_{t} is steady-programmed.

(55) AMI_{t} is definite.

(56) AMI_{t} is realistic.

Let us consider N. Then AMI_{t} is a von Neumann definite strict AMI over N.

One can prove the following proposition

(57) AMI_{t} is programmable.

Let us consider N. Note that there exists a von Neumann definite strict AMI over N which is data-oriented halting steady-programmed realistic and programmable.

One can prove the following two propositions:

(58) For every S being an AMI over N and for every state s of S and for every finite partial state p of S holds s dom p is a finite partial state of S.

(59) For every S being an AMI over N holds ∅ is a finite partial state of S. Let us consider N, and let S be a von Neumann definite AMI over N. Observe

that there exists a non-empty autonomic finite partial state of S.

Let us consider N, and let S be an AMI over N, and let f, g be finite partial states of S. Then f +· g is a finite partial state of S.

6. Autonomic finite partial states

We now state four propositions:

(60) For every S being a realistic von Neumann definite AMI over N and for every instruction-location l_{3} of S and for every element l of ObjectKind(IC_{S}) such that l = l_{3} and for every element h of ObjectKind(l_{3}) such that h = halt_{S} and for every state s of S such that [IC_{S} ⟼ l, l_{3} ⟼ h] ⊆ s holds CurInstr(s) = halt_{S}.

(61) For every S being a realistic von Neumann definite AMI over N and for every instruction-location l_{3} of S and for every element l of ObjectKind(IC_{S}) such that l = l_{3} and for every element h of ObjectKind(l_{3}) such that h = halt_{S} holds [IC_{S} ⟼ l, l_{3} ⟼ h] is halting.

(62) Let S be a realistic halting von Neumann definite AMI over N. Then for every instruction-location l_{3} of S and for every element l of ObjectKind(IC_{S}) such that l = l_{3} and for every element h of ObjectKind(l_{3}) such that h = halt_{S} and for every state s of S such that [IC_{S} ⟼ l, l_{3} ⟼ h] ⊆ s and for every i holds (Computation(s))(i) = s.

(63) For every S being a realistic halting von Neumann definite AMI over N and for every instruction-location l_{3} of S and for every element l of ObjectKind(IC_{S}) such that l = l_{3} and for every element h of ObjectKind(l_{3}) such that h = halt_{S} holds [IC_{S} ⟼ l, l_{3} ⟼ h] is autonomic.

We now define two new constructions. Let us consider N, and let S be a realistic halting von Neumann definite AMI over N. One can check that there exists a finite partial state of S which is autonomic and halting.

Let us consider N, and let S be a realistic halting von Neumann definite AMI over N. A pre-program of S is an autonomic halting finite partial state of S.

Let us consider N, and let S be a realistic halting von Neumann definite AMI over N, and let s be a finite partial state of S. Let us assume that s is a pre-program of S. The functor Result(s) yields a finite partial state of S and is defined as follows:

(Def.14) for every state s′ of S such that s ⊆ s′ holds Result(s) = Result(s′) dom s.

7. Pre-programs and programs

Let us consider N, and let S be a realistic halting von Neumann definite AMI over N, and let p be a finite partial state of S, and let F be a function. We say that p computes F if and only if:

(Def.15) for an arbitrary x such that x ∈ dom F there exists a finite partial state s of S such that x = s and p +· s is a pre-program of S and F (s) ⊆ Result(p +· s).

The following three propositions are true:

(64) For every S being a realistic halting von Neumann definite AMI over N and for every finite partial state p of S holds p computes .

(65) For every S being a realistic halting von Neumann definite AMI over N and for every finite partial state p of S holds p is a pre-program of S if and only if p computes ∅⟼ . Result(p).

(66) For every S being a realistic halting von Neumann definite AMI over N and for every finite partial state p of S holds p is a pre-program of S if and only if p computes ∅⟼ . ∅.

Let us consider N, and let S be a realistic halting von Neumann definite AMI over N. A partial function from FinPartSt(S) to FinPartSt(S) is computable if:

(Def.16) there exists a finite partial state p of S such that p computes it.

Next we state three propositions:

(67) For every N and for every S being a realistic halting von Neumann definite AMI over N and for every partial function F from FinPartSt(S) to FinPartSt(S) such that F = holds F is computable.

(68) For every N and for every S being a realistic halting von Neumann definite AMI over N and for every partial function F from FinPartSt(S) to FinPartSt(S) such that F = ∅⟼ . ∅ holds F is computable.

(69) For every N and for every S being a realistic halting von Neumann definite AMI over N and for every pre-program p of S and for every partial function F from FinPartSt(S) to FinPartSt(S) such that F = ∅⟼ . Result(p) holds F is computable.

Let us consider N, and let S be a realistic halting von Neumann definite AMI over N, and let F be a partial function from FinPartSt(S) to FinPartSt(S) satisfying the condition: F is computable. A finite partial state of S is called a program of F if:

(Def.17) it computes F.

The following propositions are true:

(70) For every N and for every S being a realistic halting von Neumann definite AMI over N and for every partial function F from FinPartSt(S) to FinPartSt(S) such that F = every finite partial state of S is a program of F.

(71) For every N and for every S being a realistic halting von Neumann definite AMI over N and for every partial function F from FinPartSt(S) to FinPartSt(S) such that F = ∅⟼ . ∅ every pre-program of S is a program of F.

(72) For every N and for every S being a realistic halting von Neumann definite AMI over N and for every pre-program p of S and for every partial function F from FinPartSt(S) to FinPartSt(S) such that F = ∅⟼ . Result(p) holds p is a program of F. on a mathematical model of programs 249

References

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

[2] Grzegorz Bancerek. König’s theorem. Formalized Mathematics, 1(3):589–593, 1990.

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

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

[5] Czesław Byliński. A classical first order language. Formalized Mathematics, 1(4):669– 676, 1990.

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

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

[8] Czesław Byliński. Graphs of functions. Formalized Mathematics, 1(1):169–173, 1990.

[9] Czesław Byliński. The modification of a function by a function and the iteration of the composition of a function. Formalized Mathematics, 1(3):521–527, 1990.

[10] Czesław Byliński. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

[11] Czesław Byliński. Products and coproducts in categories. Formalized Mathematics, 2(5):701–709, 1991.

[12] Czesław Byliński. Subcategories and products of categories. Formalized Mathematics, 1(4):725–732, 1990.

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

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

[15] Rafał Kwiatek and Grzegorz Zwara. The divisibility of integers and integer relative primes. Formalized Mathematics, 1(5):829–832, 1990.

[16] Michał Muzalewski. Rings and modules - part II. Formalized Mathematics, 2(4):579– 585, 1991.

[17] Yatsuka Nakamura and Andrzej Trybulec. A mathematical model of CPU. Formalized Mathematics, 3(2):151–160, 1992.

[18] Henryk Oryszczyszyn and Krzysztof Prażmowski. Real functions spaces. Formalized Mathematics, 1(3):555–561, 1990.

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

[20] Dariusz Surowik. Cyclic groups and some of their properties - part I. Formalized Mathematics, 2(5):623–627, 1991.

[21] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

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

[23] Andrzej Trybulec. Function domains and Frænkel operator. Formalized Mathematics, 1(3):495–500, 1990.

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

[25] Andrzej Trybulec. Tuples, projections and Cartesian products. Formalized Mathematics, 1(1):97–105, 1990.

[26] Michał J. Trybulec. Integers. Formalized Mathematics, 1(3):501–505, 1990.

[27] Wojciech A. Trybulec. Pigeon hole principle. Formalized Mathematics, 1(3):575–579, 1990.

[28] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

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

250

Basic Notation of Universal Algebra

Jarosław Kotowicz Warsaw University Białystok

Beata Madras Warsaw University Białystok

Małgorzata Korolkiewicz Warsaw University Białystok

MML Identifier: UNIALG 1.

The papers [6], [3], [1], [5], [4], and [2] provide the terminology and notation for this paper. For simplicity we adopt the following convention: A denotes a nonempty set, a denotes an element of A, x, y denote finite sequences of elements of A, h denotes a partial function from A^{∗} to A, and n denotes a natural number. We now define two new attributes. Let us consider A. A partial function from A^{∗} to A is homogeneous if: (Def.1) for all x, y such that x ∈ dom it and y ∈ dom it holds len x = len y. Let us consider A. A partial function from A^{∗} to A is quasi total if: (Def.2) for all x, y such that len x = len y and x ∈ dom it holds y ∈ dom it. Let us consider A. Note that there exists a homogeneous quasi total non-empty partial function from A^{∗} to A.

We now state three propositions:

(1) h is a non-empty partial function from A^{∗} to A if and only if dom h ≠ ∅.

(2) {ε_{A}} ⟼ a is a homogeneous quasi total non-empty partial function from A^{∗} to A.

(3) {ε_{A}} ⟼ a is an element of A^{∗} ˙→A.

We now define four new constructions. We consider universal algebra structures which are extension of a 1-sorted structure and are systems

⟨a carrier, a characteristic⟩, where the carrier is a non-empty set and the characteristic is a finite sequence of elements of (the carrier)^{∗} ˙→the carrier. Let us consider A. A finite sequence of elements of A^{∗} ˙→A is homogeneous if:

(Def.3) for all n, h such that n ∈ dom it and h = it(n) holds h is homogeneous.

Let us consider A. A finite sequence of elements of A^{∗} ˙→A is quasi total if:

(Def.4) for all n, h such that n ∈ dom it and h = it(n) holds h is quasi total.

Let us consider A. A finite sequence of elements of A^{∗} ˙→A is non-empty if:

(Def.5) for all n, h such that n ∈ dom it and h = it(n) holds h is non-empty.

In the sequel U will be a universal algebra structure. We now define four new constructions. Let us consider U. The functor Opers U yielding a finite sequence of elements of (the carrier of U)^{∗} ˙→the carrier of U is defined as follows:

(Def.6) Opers U = the characteristic of U.

A universal algebra structure is partial if:

(Def.7) Opers it is homogeneous.

A universal algebra structure is quasi total if:

(Def.8) Opers it is quasi total.

A universal algebra structure is non-empty if:

(Def.9) Opers it ≠ ε and Opers it is non-empty.

We now state the proposition

(4) For every element x of A^{∗} ˙→A such that x = {ε_{A}} ⟼ a holds ⟨x⟩ is homogeneous, quasi total and non-empty.

Let us note that there exists a quasi total partial non-empty strict universal algebra structure.

A universal algebra is a quasi total partial non-empty universal algebra structure.

In the sequel U will be a universal algebra. Let us consider A, and let f be a homogeneous quasi total non-empty partial function from A^{∗} to A. The functor arity f yielding a natural number is defined as follows:

(Def.10) if x ∈ dom f, then arity f = len x.

The following proposition is true

(5) For every U and for every n such that n ∈ dom Opers U holds (Opers U) (n) is a homogeneous quasi total non-empty partial function from (the carrier of U)^{∗} to the carrier of U.

Let U be a universal algebra. The functor signature U yields a finite sequence of elements of and is defined as follows:

(Def.11) len signature U = len Opers U and for every n such that n ∈ dom signature U and for every homogeneous quasi total non-empty partial function h from (the carrier of U)^{∗} to the carrier of U such that h = (Opers U)(n) holds (signature U)(n) = arity h. basic notation of universal algebra 253

References

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

[2] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 1990.

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

[4] Czesław Byliński. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

[5] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

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

254

Coherent Space

Jarosław Kotowicz Warsaw University Białystok Konrad Raczkowski Warsaw University Białystok

Summary. Coherent Space web of coherent space and two categories: category of coherent spaces and category of tolerances on same fixed set.

MML Identifier: COH SP.

The articles [8], [10], [11], [1], [5], [9], [6], [2], [7], [4], and [3] provide the notation and terminology for this paper. We follow a convention: x, y will be arbitrary and a, b, X, A will be sets. Let F be a non-empty set of functions. We see that the element of F is a function.

1. Coherent Space and Web of Coherent Space

We now define three new constructions. A set is down-closed if: (Def.1) for all a, b such that a ∈ it and b ⊆ a holds b ∈ it. A set is binary complete if: (Def.2) for every A such that A ⊆ it and for all a, b such that a ∈ A and b ∈ A

holds a ∪ b ∈ it holds ⋃ A ∈ it. Let us observe that there exists a down-closed binary complete non-empty set.

A coherent space is a down-closed binary complete non-empty set.

In the sequel C, D are coherent spaces. Next we state four propositions:

(1) ∅ ∈ C.

(2) 2^{X} is a coherent space.

(3) {∅} is a coherent space.

(4) If x ∈ ⋃ C, then {x} ∈ C.

Let C be a coherent space. The functor Web(C) yields a tolerance of ⋃ C and is defined by:

(Def.3) for all x, y holds ⟨⟨x, y⟩⟩ ∈ Web(C) if and only if there exists X such

that X ∈ C and x ∈ X and y ∈ X. In the sequel T is a tolerance of ⋃ C. One can prove the following proposi-

tions:

(5) T = Web(C) if and only if for all x, y holds ⟨⟨x, y⟩⟩ ∈ T if and only if {x, y} ∈ C.

(6) a ∈ C if and only if for all x, y such that x ∈ a and y ∈ a holds {x, y} ∈ C.

(7) a ∈ C if and only if for all x, y such that x ∈ a and y ∈ a holds ⟨⟨x, y⟩⟩ ∈ Web(C).

(8) If for all x, y such that x ∈ a and y ∈ a holds {x, y} ∈ C, then a ⊆ ⋃ C.

(9) If Web(C) = Web(D), then C = D.

(10) If ⋃ C ∈ C, then C = 2^{⋃ C}.

(11) If C = 2^{⋃ C}, then Web(C) = ∇_{⋃ C}.

Let X be a set, and let E be a tolerance of X. The functor CohSp(E) yielding a coherent space is defined by: (Def.4) for every a holds a ∈ CohSp(E) if and only if for all x, y such that

x ∈ a and y ∈ a holds ⟨⟨x, y⟩⟩ ∈ E. In the sequel E denotes a tolerance of X. Next we state four propositions:

(12) Web(CohSp(E)) = E.

(13) CohSp(Web(C)) = C.

(14) a ∈ CohSp(E) if and only if a is a set of mutually elements w.r.t. E.

(15) CohSp(E) = TolSets E.

2. Category of Coherent Spaces

Let us consider X. The functor CSp(X) yielding a non-empty set is defined as follows: (Def.5) CSp(X) = {x : x is a coherent space}, where x ranges over subsets of

2^{X}. In the sequel C, C_{1}, C_{2} denote elements of CSp(X). Let us consider X, C.

The functor ^{@}C yielding a coherent space is defined as follows: (Def.6) ^{@}C = C.

The following proposition is true

(16) If {x, y} ∈ C, then x ∈ ⋃ C and y ∈ ⋃ C.

Let us consider X. The functor Funcs_{C}X yielding a non-empty set of functions is defined by: (Def.7) Funcs_{C}X = ⋃{(⋃ y)^{⋃ x}}, where x ranges over elements of CSp(X), and

y ranges over elements of CSp(X).

In the sequel g is an element of Funcs_{C}X. The following proposition is true (17) x ∈ Funcs_{C}X if and only if there exist C_{1}, C_{2} such that if ⋃ C_{2} = ∅,

then ⋃ C_{1} = ∅ and also x is a function from ⋃ C_{1} into ⋃ C_{2}. Let us consider X. The functor Maps_{C}X yielding a non-empty set is defined

by: (Def.8) Maps_{C}X = {⟨⟨⟨⟨C, C_{3}⟩⟩, f⟩⟩ : (⋃ C_{3} = ∅ ⇒ ⋃ C = ∅)∧f is a function from

⋃ C into ⋃ C_{3} ∧ ⋀_{x,y}[{x, y} ∈ C ⇒ {f(x), f(y)} ∈ C_{3}]}, where C ranges over elements of CSp(X), and C_{3} ranges over elements of CSp(X), and f ranges over elements of Funcs_{C}X.

In the sequel l, l_{1}, l_{2}, l_{3} will be elements of Maps_{C}X. The following two propositions are true:

(18) There exist g, C_{1}, C_{2} such that l = ⟨⟨⟨⟨C_{1}, C_{2}⟩⟩, g⟩⟩ and also if ⋃ C_{2} = ∅, then ⋃ C_{1} = ∅ and g is a function from ⋃ C_{1} into ⋃ C_{2} and for all x, y such that {x, y} ∈ C_{1} holds {g(x), g(y)} ∈ C_{2}.

(19) For every function f from ⋃ C_{1} into ⋃ C_{2} such that if ⋃ C_{2} = ∅, then ⋃ C_{1} = ∅ and also for all x, y such that {x, y} ∈ C_{1} holds {f(x), f(y)} ∈ C_{2} holds ⟨⟨⟨⟨C_{1}, C_{2}⟩⟩, f⟩⟩ ∈ Maps_{C}X.

We now define three new functors. Let us consider X, l. The functor graph(l) yields a function and is defined by: (Def.9) graph(l) = l_{2}. The functor dom l yielding an element of CSp(X) is defined by:

(Def.10) dom l = (l_{1})_{1}.

The functor cod l yielding an element of CSp(X) is defined by: (Def.11) cod l = (l_{1})_{2}.

Next we state the proposition

(20) l = ⟨⟨⟨⟨ dom l, cod l⟩⟩, graph(l)⟩⟩.

Let us consider X, C. The functor id(C) yields an element of Maps_{C}X and is defined by:

(Def.12) id(C) = ⟨⟨⟨⟨C, C⟩⟩, id_{⋃ C} ⟩⟩.

One can prove the following proposition

(21) ⋃ cod l ≠ ∅ or ⋃ dom l = ∅ and also graph(l) is a function from ⋃ dom l into ⋃ cod l and for all x, y such that {x, y} ∈ dom l holds {(graph(l))(x), (graph(l))(y)} ∈ cod l.

Let us consider X, l_{1}, l_{2}. Let us assume that cod l_{1} = dom l_{2}. The functor l_{2} · l_{1} yielding an element of Maps_{C}X is defined as follows:

(Def.13) l_{2} · l_{1} = ⟨⟨⟨⟨ dom l_{1}, cod l_{2}⟩⟩, graph(l_{2}) · graph(l_{1})⟩⟩.

We now state four propositions:

(22) If dom l_{2} = cod l_{1}, then graph((l_{2} · l_{1})) = graph(l_{2}) · graph(l_{1}) and dom(l_{2} · l_{1}) = dom l_{1} and cod(l_{2} · l_{1}) = cod l_{2}.

(23) If dom l_{2} = cod l_{1} and dom l_{3} = cod l_{2}, then l_{3} · (l_{2} · l_{1}) = (l_{3} · l_{2}) · l_{1}.

(24) graph(id(C)) = id_{⋃ C} and dom id(C) = C and cod id(C) = C.

(25) l · id(dom l) = l and id(cod l) · l = l.

We now define four new functors. Let us consider X. The functor Dom_{CSp} X yields a function from Maps_{C}X into CSp(X) and is defined as follows:

(Def.14) for every l holds (Dom_{CSp} X)(l) = dom l.

The functor Cod_{CSp} X yielding a function from Maps_{C}X into CSp(X) is defined by:

(Def.15) for every l holds (Cod_{CSp} X)(l) = cod l.

The functor ·_{CSp} X yielding a partial function from [: Maps_{C}X, Maps_{C}X:] to Maps_{C}X is defined by:

(Def.16) for all l_{2}, l_{1} holds ⟨⟨l_{2}, l_{1}⟩⟩ ∈ dom ·_{CSp} X if and only if dom l_{2} = cod l_{1}

and for all l_{2}, l_{1} such that dom l_{2} = cod l_{1} holds (·_{CSp} X)(⟨⟨l_{2}, l_{1}⟩⟩) = l_{2} · l_{1}. The functor Id_{CSp} X yielding a function from CSp(X) into Maps_{C}X is defined by:

(Def.17) for every C holds (Id_{CSp} X)(C) = id(C).

Next we state the proposition

(26) ⟨CSp(X), Maps_{C}X, Dom_{CSp} X, Cod_{CSp} X, ·_{CSp} X, Id_{CSp} X⟩ is a category. Let us consider X. The X-coherent space category yields a category and is

defined by: (Def.18) the X-coherent space category

= ⟨CSp(X), Maps_{C}X, Dom_{CSp} X, Cod_{CSp} X, ·_{CSp} X, Id_{CSp} X⟩.

3. Category of Tolerances

We now define two new functors. Let X be a set. The tolerances on X constitute a non-empty set defined by:

(Def.19) the tolerances on X is the set of all tolerances of X.

Let X be a set. The tolerances on subsets of X constitute a non-empty set defined as follows:

(Def.20) the tolerances on subsets of X = ⋃{the tolerances on Y }, where Y

ranges over subsets of X. In the sequel t denotes an element of the tolerances on subsets of X. The

following propositions are true:

(27) x ∈ the tolerances on subsets of X if and only if there exists A such that A ⊆ X and x is a tolerance of A.

(28) ∇_{a} ∈ the tolerances on a.

(29) △_{a} ∈ the tolerances on a.

(30) ∈ the tolerances on subsets of X.

(31) If a ⊆ X, then ∇_{a} ∈ the tolerances on subsets of X.

(32) If a ⊆ X, then △_{a} ∈ the tolerances on subsets of X.

(33) ∇_{X} ∈ the tolerances on subsets of X.

(34) △_{X} ∈ the tolerances on subsets of X.

Let us consider X. The functor TOL(X) yields a non-empty set and is defined by:

(Def.21) TOL(X) = {⟨⟨t, Y ⟩⟩ : t is a tolerance of Y }, where t ranges over elements of the tolerances on subsets of X, and Y ranges over elements of 2^{X}.

In the sequel T, T_{1}, T_{2} will denote elements of TOL(X). Next we state several propositions:

(35) ⟨⟨ , ∅⟩⟩ ∈ TOL(X).

(36) If a ⊆ X, then ⟨⟨△_{a}, a⟩⟩ ∈ TOL(X).

(37) If a ⊆ X, then ⟨⟨∇_{a}, a⟩⟩ ∈ TOL(X).

(38) ⟨⟨△_{X}, X⟩⟩ ∈ TOL(X).

(39) ⟨⟨∇_{X}, X⟩⟩ ∈ TOL(X).

Let us consider X, T. Then T_{2} is an element of 2^{X}. Then T_{1} is a tolerance of T_{2}. Let us consider X. The functor Funcs_{T}X yielding a non-empty set of functions is defined as follows:

(Def.22) Funcs_{T}X = ⋃{(T_{3}_{2})^{T2}}, where T ranges over elements of TOL(X), and T_{3} ranges over elements of TOL(X).

In the sequel f denotes an element of Funcs_{T}X. We now state the proposition (40) x ∈ Funcs_{T}X if and only if there exist T_{1}, T_{2} such that if T_{2}_{2} = ∅, then

T_{1}_{2} = ∅ and also x is a function from T_{1}_{2} into T_{2}_{2}. Let us consider X. The functor Maps_{T}X yielding a non-empty set is defined

by: (Def.23) Maps_{T}X = {⟨⟨⟨⟨T, T_{3}⟩⟩, f⟩⟩ : (T_{3}_{2} = ∅ ⇒ T_{2} = ∅)∧f is a function from T_{2}

into T_{3}_{2} ∧ ⋀_{x,y}[⟨⟨x, y⟩⟩ ∈ T_{1} ⇒ ⟨⟨f(x), f(y)⟩⟩ ∈ T_{3}_{1}]}, where T ranges over elements of TOL(X), and T_{3} ranges over elements of TOL(X), and f ranges over elements of Funcs_{T}X.

In the sequel m, m_{1}, m_{2}, m_{3} denote elements of Maps_{T}X. One can prove the following two propositions:

(41) There exist f, T_{1}, T_{2} such that m = ⟨⟨⟨⟨T_{1}, T_{2}⟩⟩, f⟩⟩ and also if T_{2}_{2} = ∅, then T_{1}_{2} = ∅ and f is a function from T_{1}_{2} into T_{2}_{2} and for all x, y such that ⟨⟨x, y⟩⟩ ∈ T_{1}_{1} holds ⟨⟨f(x), f(y)⟩⟩ ∈ T_{2}_{1}.

(42) For every function f from T_{1}_{2} into T_{2}_{2} such that if T_{2}_{2} = ∅, then T_{1}_{2} = ∅ and also for all x, y such that ⟨⟨x, y⟩⟩ ∈ T_{1}_{1} holds ⟨⟨f(x), f(y)⟩⟩ ∈ T_{2}_{1} holds ⟨⟨⟨⟨T_{1}, T_{2}⟩⟩, f⟩⟩ ∈ Maps_{T}X.

We now define three new functors. Let us consider X, m. The functor graph(m) yielding a function is defined by:

(Def.24) graph(m) = m_{2}.

The functor dom m yields an element of TOL(X) and is defined by:

(Def.25) dom m = (m_{1})_{1}.

The functor cod m yields an element of TOL(X) and is defined by: (Def.26) cod m = (m_{1})_{2}.

One can prove the following proposition

(43) m = ⟨⟨⟨⟨ dom m, cod m⟩⟩, graph(m)⟩⟩.

Let us consider X, T. The functor id(T) yields an element of Maps_{T}X and is defined by:

(Def.27) id(T) = ⟨⟨⟨⟨T, T ⟩⟩, id_{(T2)}⟩⟩.

One can prove the following proposition

(44) (cod m)_{2} ≠ ∅ or (dom m)_{2} = ∅ and also graph(m) is a function from (dom m)_{2} into (cod m)_{2} and for all x, y such that ⟨⟨x, y⟩⟩ ∈ (dom m)_{1} holds ⟨⟨(graph(m))(x), (graph(m))(y)⟩⟩ ∈ (cod m)_{1}.

Let us consider X, m_{1}, m_{2}. Let us assume that cod m_{1} = dom m_{2}. The functor m_{2} · m_{1} yielding an element of Maps_{T}X is defined by:

(Def.28) m_{2} · m_{1} = ⟨⟨⟨⟨ dom m_{1}, cod m_{2}⟩⟩, graph(m_{2}) · graph(m_{1})⟩⟩.

The following propositions are true:

(45) If dom m_{2} = cod m_{1}, then graph((m_{2} · m_{1})) = graph(m_{2}) · graph(m_{1}) and dom(m_{2} · m_{1}) = dom m_{1} and cod(m_{2} · m_{1}) = cod m_{2}.

(46) If dom m_{2} = cod m_{1} and dom m_{3} = cod m_{2}, then m_{3} · (m_{2} · m_{1}) = (m_{3} · m_{2}) · m_{1}.

(47) graph(id(T)) = id_{(T2)} and dom id(T) = T and cod id(T) = T.

(48) m · id(dom m) = m and id(cod m) · m = m.

We now define four new functors. Let us consider X. The functor Dom_{X} yields a function from Maps_{T}X into TOL(X) and is defined by:

(Def.29) for every m holds Dom_{X}(m) = dom m.

The functor Cod_{X} yields a function from Maps_{T}X into TOL(X) and is defined as follows:

(Def.30) for every m holds Cod_{X}(m) = cod m.

The functor ·_{X} yields a partial function from [: Maps_{T}X, Maps_{T}X:] to Maps_{T}X and is defined as follows:

(Def.31) for all m_{2}, m_{1} holds ⟨⟨m_{2}, m_{1}⟩⟩ ∈ dom(·_{X}) if and only if dom m_{2} = cod m_{1} and for all m_{2}, m_{1} such that dom m_{2} = cod m_{1} holds ·_{X}(⟨⟨m_{2},

m_{1}⟩⟩) = m_{2} · m_{1}.

The functor Id_{X} yields a function from TOL(X) into Maps_{T}X and is defined by:

(Def.32) for every T holds Id_{X}(T) = id(T).

Next we state the proposition

(49) ⟨TOL(X), Maps_{T}X, Dom_{X}, Cod_{X}, ·_{X}, Id_{X}⟩ is a category.

Let us consider X. The X-tolerance category is a category defined by: (Def.33) the X-tolerance category = ⟨TOL(X), Maps_{T}X, Dom_{X}, Cod_{X}, ·_{X}, Id_{X}⟩. coherent space 261

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. Introduction to categories and functors. Formalized Mathematics, 1(2):409–420, 1990.

[4] Czesław Byliński. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

[5] Krzysztof Hryniewiecki. Relations of tolerance. Formalized Mathematics, 2(1):105–109, 1991.

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

[7] Andrzej Trybulec. Function domains and Frænkel operator. Formalized Mathematics, 1(3):495–500, 1990.

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

[9] Andrzej Trybulec. Tuples, projections and Cartesian products. Formalized Mathematics, 1(1):97–105, 1990.

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

[11] Edmund Woronowicz. Relations defined on sets. Formalized Mathematics, 1(1):181–186, 1990.

262

Properties of the Intervals of Real Numbers

Białas Józef Łódź University

Summary. The paper contains definitions and basic properties of the intervals of real numbers.

The article includes the text being a continuation of the paper [5]. Some theorems concerning basic properties of intervals are proved.

MML Identifier: MEASURE5.

The notation and terminology used here are introduced in the following papers: [16], [15], [11], [12], [9], [10], [1], [14], [2], [13], [4], [6], [8], [7], [3], [5], and [17]. The following propositions are true:

(1) For all Real numbers x, y such that x ≠ −∞ and x ≠ +∞ and x ≤ y holds 0\overline{}≤ y − x.

(2) For all Real numbers x, y such that it is not true that: x = −∞ and y = −∞ and it is not true that: x = +∞ and y = +∞ and x ≤ y holds 0\overline{}≤ y − x.

(3) For all Real numbers x, y holds x ≤ y or y ≤ x.

(4) For all Real numbers x, y such that x ≠ y holds x < y or y < x.

(5) For all Real numbers x, y holds x < y or y ≤ x.

(6) For all Real numbers x, y holds x < y if and only if y x.

(7) For all Real numbers x, y, z such that x < y and y < z holds x < z.

(8) For all Real numbers a, b, c such that b ≠ −∞ and b ≠ +∞ and it is not true that: a = −∞ and c = −∞ and it is not true that: a = +∞ and c = +∞ holds (c − b) + (b − a) = c − a.

(9) For all Real numbers a_{1}, a_{2} holds inf{a_{1}, a_{2}} ≤ a_{1} and inf{a_{1}, a_{2}} ≤ a_{2} and a_{1} ≤ sup{a_{1}, a_{2}} and a_{2} ≤ sup{a_{1}, a_{2}}.

(10) For all Real numbers a, b, c such that a ≤ b and b < c or a < b and b ≤ c holds a < c.

We now define several new constructions. Let a, b be Real numbers. The functor [a, b] yielding a subset of is defined as follows: (Def.1) for every Real number x holds x ∈ [a, b] if and only if a ≤ x and x ≤ b

and x ∈ . Let a, b be Real numbers. The functor ]a, b[ yields a subset of and is defined as follows: (Def.2) for every Real number x holds x ∈ ]a, b[ if and only if a < x and x < b

and x ∈ . Let a, b be Real numbers. The functor ]a, b] yielding a subset of is defined by: (Def.3) for every Real number x holds x ∈ ]a, b] if and only if a < x and x ≤ b

and x ∈ . Let a, b be Real numbers. The functor [a, b[ yields a subset of and is defined by: (Def.4) for every Real number x holds x ∈ [a, b[ if and only if a ≤ x and x < b

and x ∈ . A subset of is called an open interval if: (Def.5) there exist Real numbers a, b such that a ≤ b and it = ]a, b[. A subset of is said to be a closed interval if: (Def.6) there exist Real numbers a, b such that a ≤ b and it = [a, b]. A subset of is said to be a right-open interval if: (Def.7) there exist Real numbers a, b such that a ≤ b and it = [a, b[. A subset of is called a left-open interval if: (Def.8) there exist Real numbers a, b such that a ≤ b and it = ]a, b]. A subset of is said to be an interval if: (Def.9) it is an open interval or it is a closed interval or it is a right-open interval

or it is a left-open interval. We see that the open interval is an interval. We see that the closed interval is an interval. We see that the right-open interval is an interval. We see that the left-open interval is an interval.

We now state a number of propositions:

(11) For an arbitrary x and for all Real numbers a, b such that x ∈ ]a, b[ or x ∈ [a, b] or x ∈ [a, b[ or x ∈ ]a, b] holds x is a Real number.

(12) For all Real numbers a, b such that b < a holds ]a, b[ = ∅ and [a, b] = ∅ and [a, b[ = ∅ and ]a, b] = ∅.

(13) For every Real number a holds ]a, a[ = ∅ and [a, a[ = ∅ and ]a, a] = ∅.

(14) For every Real number a holds if a = −∞ or a = +∞, then [a, a] = ∅ and also if a ≠ −∞ and a ≠ +∞, then [a, a] = {a}.

(15) For all Real numbers a, b such that b ≤ a holds ]a, b[ = ∅ and [a, b[ = ∅ and ]a, b] = ∅ and [a, b] ⊆ {a} and [a, b] ⊆ {b}.

(16) For all Real numbers a, b, c such that a < b and b < c holds b ∈ .

(17) For all Real numbers a, b such that a < b there exists a Real number x such that a < x and x < b and x ∈ .

(18) For all Real numbers a, b, c such that a < b and a < c there exists a Real number x such that a < x and x < b and x < c and x ∈ .

(19) For all Real numbers a, b, c such that a < c and b < c there exists a Real number x such that a < x and b < x and x < c and x ∈ .

(20) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}[ and x ∉ ]a_{2}, b_{2}[ or x ∉ ]a_{1}, b_{1}[ and x ∈ ]a_{2}, b_{2}[.

(21) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}[ and x ∉ ]a_{2}, b_{2}[ or x ∉ ]a_{1}, b_{1}[ and x ∈ ]a_{2}, b_{2}[.

(22) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}] and x ∉ ]a_{2}, b_{2}[ or x ∉ [a_{1}, b_{1}] and x ∈ ]a_{2}, b_{2}[.

(23) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}] and x ∉ ]a_{2}, b_{2}[ or x ∉ [a_{1}, b_{1}] and x ∈ ]a_{2}, b_{2}[.

(24) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}[ and x ∉ [a_{2}, b_{2}] or x ∉ ]a_{1}, b_{1}[ and x ∈ [a_{2}, b_{2}].

(25) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}[ and x ∉ [a_{2}, b_{2}] or x ∉ ]a_{1}, b_{1}[ and x ∈ [a_{2}, b_{2}].

(26) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}[ and x ∉ [a_{2}, b_{2}[ or x ∉ ]a_{1}, b_{1}[ and x ∈ [a_{2}, b_{2}[.

(27) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}[ and x ∉ [a_{2}, b_{2}[ or x ∉ ]a_{1}, b_{1}[ and x ∈ [a_{2}, b_{2}[.

(28) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}[ and x ∉ ]a_{2}, b_{2}[ or x ∉ [a_{1}, b_{1}[ and x ∈ ]a_{2}, b_{2}[.

(29) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}[ and x ∉ ]a_{2}, b_{2}[ or x ∉ [a_{1}, b_{1}[ and x ∈ ]a_{2}, b_{2}[.

(30) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}[ and x ∉ ]a_{2}, b_{2}] or x ∉ ]a_{1}, b_{1}[ and x ∈ ]a_{2}, b_{2}].

(31) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}[ and x ∉ ]a_{2}, b_{2}] or x ∉ ]a_{1}, b_{1}[ and x ∈ ]a_{2}, b_{2}].

(32) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}] and x ∉ ]a_{2}, b_{2}[ or x ∉ ]a_{1}, b_{1}] and x ∈ ]a_{2}, b_{2}[.

(33) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}] and x ∉ ]a_{2}, b_{2}[ or x ∉ ]a_{1}, b_{1}] and x ∈ ]a_{2}, b_{2}[.

(34) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}] and x ∉ [a_{2}, b_{2}] or x ∉ [a_{1}, b_{1}] and x ∈ [a_{2}, b_{2}].

(35) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}] and x ∉ [a_{2}, b_{2}] or x ∉ [a_{1}, b_{1}] and x ∈ [a_{2}, b_{2}].

(36) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}] and x ∉ [a_{2}, b_{2}[ or x ∉ [a_{1}, b_{1}] and x ∈ [a_{2}, b_{2}[.

(37) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}] and x ∉ [a_{2}, b_{2}[ or x ∉ [a_{1}, b_{1}] and x ∈ [a_{2}, b_{2}[.

(38) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}[ and x ∉ [a_{2}, b_{2}] or x ∉ [a_{1}, b_{1}[ and x ∈ [a_{2}, b_{2}].

(39) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}[ and x ∉ [a_{2}, b_{2}] or x ∉ [a_{1}, b_{1}[ and x ∈ [a_{2}, b_{2}].

(40) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}] and x ∉ ]a_{2}, b_{2}] or x ∉ [a_{1}, b_{1}] and x ∈ ]a_{2}, b_{2}].

(41) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}] and x ∉ ]a_{2}, b_{2}] or x ∉ [a_{1}, b_{1}] and x ∈ ]a_{2}, b_{2}].

Next we state a number of propositions:

(42) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}] and x ∉ [a_{2}, b_{2}] or x ∉ ]a_{1}, b_{1}] and x ∈ [a_{2}, b_{2}].

(43) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}] and x ∉ [a_{2}, b_{2}] or x ∉ ]a_{1}, b_{1}] and x ∈ [a_{2}, b_{2}].

(44) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}[ and x ∉ [a_{2}, b_{2}[ or x ∉ [a_{1}, b_{1}[ and x ∈ [a_{2}, b_{2}[.

(45) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}[ and x ∉ [a_{2}, b_{2}[ or x ∉ [a_{1}, b_{1}[ and x ∈ [a_{2}, b_{2}[.

(46) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}[ and x ∉ ]a_{2}, b_{2}] or x ∉ [a_{1}, b_{1}[ and x ∈ ]a_{2}, b_{2}].

(47) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ [a_{1}, b_{1}[ and x ∉ ]a_{2}, b_{2}] or x ∉ [a_{1}, b_{1}[ and x ∈ ]a_{2}, b_{2}].

(48) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}] and x ∉ [a_{2}, b_{2}[ or x ∉ ]a_{1}, b_{1}] and x ∈ [a_{2}, b_{2}[.

(49) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}] and x ∉ [a_{2}, b_{2}[ or x ∉ ]a_{1}, b_{1}] and x ∈ [a_{2}, b_{2}[.

(50) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that a_{1} < a_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}] and x ∉ ]a_{2}, b_{2}] or x ∉ ]a_{1}, b_{1}] and x ∈ ]a_{2}, b_{2}].

(51) For all Real numbers a_{1}, a_{2}, b_{1}, b_{2} such that b_{1} < b_{2} and also a_{1} < b_{1} or a_{2} < b_{2} there exists a Real number x such that x ∈ ]a_{1}, b_{1}] and x ∉ ]a_{2}, b_{2}] or x ∉ ]a_{1}, b_{1}] and x ∈ ]a_{2}, b_{2}].

(52) Let A be an interval. Let a_{1}, a_{2}, b_{1}, b_{2} be Real numbers. Suppose that (i) a_{1} < b_{1} or a_{2} < b_{2}, (ii) A = ]a_{1}, b_{1}[ or A = [a_{1}, b_{1}] or A = [a_{1}, b_{1}[ or A = ]a_{1}, b_{1}] and also

A = ]a_{2}, b_{2}[ or A = [a_{2}, b_{2}] or A = [a_{2}, b_{2}[ or A = ]a_{2}, b_{2}]. Then a_{1} = a_{2} and b_{1} = b_{2}.

Let A be an interval. The functor vol(A) yielding a Real number is defined as follows:

(Def.10) there exist Real numbers a, b such that A = ]a, b[ or A = [a, b] or A = [a, b[ or A = ]a, b] and also if a < b, then vol(A) = b − a and also if b ≤ a, then vol(A) = 0\overline{}.

One can prove the following propositions:

(53) For every open interval A and for all Real numbers a, b such that A = ]a, b[ holds if a < b, then vol(A) = b−a and also if b ≤ a, then vol(A) = 0\overline{}.

(54) For every closed interval A and for all Real numbers a, b such that A = [a, b] holds if a < b, then vol(A) = b − a and also if b ≤ a, then vol(A) = 0\overline{}.

(55) For every right-open interval A and for all Real numbers a, b such that A = [a, b[ holds if a < b, then vol(A) = b − a and also if b ≤ a, then vol(A) = 0\overline{}.

(56) For every left-open interval A and for all Real numbers a, b such that A = ]a, b] holds if a < b, then vol(A) = b − a and also if b ≤ a, then vol(A) = 0\overline{}.

(57) Let A be an interval. Let a, b, c be Real numbers. Suppose that (i) a = −∞, 268 białas józef

(ii) b ∈ , (iii) c = +∞, (iv) A = ]a, b[ or A = ]b, c[ or A = [a, b] or A = [b, c] or A = [a, b[ or

A = [b, c[ or A = ]a, b] or A = ]b, c]. Then vol(A) = +∞.

(58) For every interval A and for all Real numbers a, b such that a = −∞ and b = +∞ and also A = ]a, b[ or A = [a, b] or A = [a, b[ or A = ]a, b] holds vol(A) = +∞.

(59) For every interval A and for every Real number a such that A = ]a, a[ or A = [a, a] or A = [a, a[ or A = ]a, a] holds vol(A) = 0\overline{}.

Let us note that there exists an empty interval. Let us note that it makes sense to consider the following constant. Then ∅

is an empty interval.

Next we state four propositions:

(60) vol(∅) = 0\overline{}.

(61) For all intervals A, B and for all Real numbers a, b such that A ⊆ B and B = [a, b] and b ≤ a holds vol(A) = 0\overline{}and vol(B) = 0\overline{}.

(62) For all intervals A, B such that A ⊆ B holds vol(A) ≤ vol(B).

(63) For every interval A holds 0\overline{}≤ vol(A).

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] Józef Biał as. Completeness of the σ-additive measure. measure theory. Formalized Mathematics, 2(5):689–693, 1991.

[4] Józef Białas. Infimum and supremum of the set of real numbers. Measure theory. Formalized Mathematics, 2(1):163–171, 1991.

[5] Józef Białas. Properties of Caratheodor’s measure. Formalized Mathematics, 3(1):67–70, 1992.

[6] Józef Białas. Series of positive real numbers. Measure theory. Formalized Mathematics, 2(1):173–183, 1991.

[7] Józef Białas. Several properties of the σ-additive measure. Formalized Mathematics, 2(4):493–497, 1991.

[8] Józef Białas. The σ-additive measure theory. Formalized Mathematics, 2(2):263–270, 1991.

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

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

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

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

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

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

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

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

properties of the intervals of real numbers 269

[17] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

Received January 12, 1993 270

Subspaces of Real Linear Space Generated by One, Two, or Three Vectors and Their Cosets

Wojciech A. Trybulec Warsaw University

MML Identifier: RLVECT 4.

The articles [7], [2], [1], [3], [4], [11], [10], [5], [6], [9], and [8] provide the notation and terminology for this paper. For simplicity we adopt the following rules: x is arbitrary, a, b, c denote real numbers, V denotes a real linear space, u, v, v_{1}, v_{2}, v_{3}, w, w_{1}, w_{2}, w_{3} denote vectors of V, and W, W_{1}, W_{2} denote subspaces of V. In this article we present several logical schemes. The scheme LambdaSep3 deals with a non-empty set A, a non-empty set B, an element C of A, an element D of A, an element E of A, an element F of B, an element G of B, an element H of B, and a unary functor F yielding an element of B and states that:

there exists a function f from A into B such that f(C) = F and f(D) = G and f(E) = H and for every element C of A such that C ≠ C and C ≠ D and C ≠ E holds f(C) = F(C) provided the parameters have the following properties:

• C ≠ D,

• C ≠ E,

• D ≠ E.

The scheme LinCEx1 deals with a real linear space A, a vector B of A, and a real number C and states that:

there exists a linear combination l of {B} such that l(B) = C for all values of the parameters.

The scheme LinCEx2 deals with a real linear space A, a vector B of A, a vector C of A, a real number D, and a real number E and states that:

there exists a linear combination l of {B, C} such that l(B) = D and l(C) = E provided the following condition is satisfied:

• B ≠ C.

The scheme LinCEx3 deals with a real linear space A, a vector B of A, a vector C of A, a vector D of A, a real number E, a real number F, and a real number G and states that:

there exists a linear combination l of {B, C, D} such that l(B) = E and l(C) = F and l(D) = G provided the parameters meet the following conditions:

• B ≠ C,

• B ≠ D,

• C ≠ D.

We now state a number of propositions:

(1) (v + w) − v = w and (w + v) − v = w and (v − v) + w = w and (w−v)+v = w and v+(w−v) = w and w+(v−v) = w and v−(v−w) = w.

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

(3) If v_{1} + w = v_{2} + w, then v_{1} = v_{2}.

(4) If v_{1} − w = v_{2} − w, then v_{1} = v_{2}.

(5) v = v_{1} + v_{2} if and only if v_{2} = v − v_{1}.

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

(7) If W_{1} is a subspace of W_{2}, then v + W_{1} ⊆ v + W_{2}.

(8) If u ∈ v + W, then v + W = u + W.

(9) For every linear combination l of {u, v, w} such that u ≠ v and u ≠ w and v ≠ w holds ∑ l = l(u) · u + l(v) · v + l(w) · w.

(10) u ≠ v and u ≠ w and v ≠ w and {u, v, w} is linearly independent if and only if for all a, b, c such that a · u + b · v + c · w = 0_{V} holds a = 0 and b = 0 and c = 0.

(11) x ∈ Lin({v}) if and only if there exists a such that x = a · v.

(12) v ∈ Lin({v}).

(13) x ∈ v + Lin({w}) if and only if there exists a such that x = v + a · w.

(14) x ∈ Lin({w_{1}, w_{2}}) if and only if there exist a, b such that x = a·w_{1}+b·w_{2}.

(15) w_{1} ∈ Lin({w_{1}, w_{2}}) and w_{2} ∈ Lin({w_{1}, w_{2}}).

(16) x ∈ v + Lin({w_{1}, w_{2}}) if and only if there exist a, b such that x = v + a · w_{1} + b · w_{2}.

(17) x ∈ Lin({v_{1}, v_{2}, v_{3}}) if and only if there exist a, b, c such that x = a · v_{1} + b · v_{2} + c · v_{3}.

(18) w_{1} ∈ Lin({w_{1}, w_{2}, w_{3}}) and w_{2} ∈ Lin({w_{1}, w_{2}, w_{3}}) and w_{3} ∈ Lin({w_{1}, w_{2}, w_{3}}).

(19) x ∈ v + Lin({w_{1}, w_{2}, w_{3}}) if and only if there exist a, b, c such that x = v + a · w_{1} + b · w_{2} + c · w_{3}.

(20) If {u, v} is linearly independent and u ≠ v, then {u, v − u} is linearly independent.

(21) If {u, v} is linearly independent and u ≠ v, then {u, v + u} is linearly independent.

(22) If {u, v} is linearly independent and u ≠ v and a ≠ 0, then {u, a · v} is linearly independent.

(23) If {u, v} is linearly independent and u ≠ v, then {u, −v} is linearly independent.

(24) If a ≠ b, then {a · v, b · v} is linearly dependent.

(25) If a ≠ 1, then {v, a · v} is linearly dependent.

(26) If {u, w, v} is linearly independent and u ≠ v and u ≠ w and v ≠ w, then {u, w, v − u} is linearly independent.

(27) If {u, w, v} is linearly independent and u ≠ v and u ≠ w and v ≠ w, then {u, w − u, v − u} is linearly independent.

(28) If {u, w, v} is linearly independent and u ≠ v and u ≠ w and v ≠ w, then {u, w, v + u} is linearly independent.

(29) If {u, w, v} is linearly independent and u ≠ v and u ≠ w and v ≠ w, then {u, w + u, v + u} is linearly independent.

(30) If {u, w, v} is linearly independent and u ≠ v and u ≠ w and v ≠ w and a ≠ 0, then {u, w, a · v} is linearly independent.

(31) If {u, w, v} is linearly independent and u ≠ v and u ≠ w and v ≠ w and

a ≠ 0 and b ≠ 0, then {u, a · w, b · v} is linearly independent. The following propositions are true:

(32) If {u, w, v} is linearly independent and u ≠ v and u ≠ w and v ≠ w, then {u, w, −v} is linearly independent.

(33) If {u, w, v} is linearly independent and u ≠ v and u ≠ w and v ≠ w, then {u, −w, −v} is linearly independent.

(34) If a ≠ b, then {a · v, b · v, w} is linearly dependent.

(35) If a ≠ 1, then {v, a · v, w} is linearly dependent.

(36) If v ∈ Lin({w}) and v ≠ 0_{V}, then Lin({v}) = Lin({w}).

(37) If v_{1} ≠ v_{2} and {v_{1}, v_{2}} is linearly independent and v_{1} ∈ Lin({w_{1}, w_{2}}) and v_{2} ∈ Lin({w_{1}, w_{2}}), then Lin({w_{1}, w_{2}}) = Lin({v_{1}, v_{2}}) and {w_{1}, w_{2}} is linearly independent and w_{1} ≠ w_{2}.

(38) If w ≠ 0_{V} and {v, w} is linearly dependent, then there exists a such that v = a · w.

(39) If v ≠ w and {v, w} is linearly independent and {u, v, w} is linearly dependent, then there exist a, b such that u = a · v + b · w.

References

[1] Grzegorz Bancerek and Krzysztof Hryniewiecki. Segments of natural numbers and finite sequences. Formalized Mathematics, 1(1):107–114, 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] Krzysztof Hryniewiecki. Basic properties of real numbers. Formalized Mathematics, 1(1):35–40, 1990.

274 wojciech a. trybulec

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

[6] Andrzej Trybulec. Function domains and Frænkel operator. Formalized Mathematics, 1(3):495–500, 1990.

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

[8] Wojciech A. Trybulec. Basis of real linear space. Formalized Mathematics, 1(5):847–850, 1990.

[9] Wojciech A. Trybulec. Linear combinations in real linear space. Formalized Mathematics, 1(3):581–588, 1990.

[10] Wojciech A. Trybulec. Subspaces and cosets of subspaces in real linear space. Formalized Mathematics, 1(2):297–301, 1990.

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

Received February 24, 1993

Functions and Finite Sequences of Real Numbers

Jarosław Kotowicz Warsaw University Białystok

Summary. We define notions of fiberwise equipotent functions, non-increasing finite sequences of real numbers and new operations on finite sequences. Equivalent conditions for fiberwise equivalent functions and basic facts about new constructions are shown.

MML Identifier: RFINSEQ.

The articles [11], [4], [5], [3], [1], [8], [10], [2], [12], [6], [7], and [9] provide the notation and terminology for this paper. In the sequel n will be a natural number. Let F, G be functions. We say that F and G are fiwerwise equipotent if and only if:

(Def.1) for an arbitrary x holds \overline{\overline{F ^{−1} \{x\}}} = \overline{\overline{G^{−1} \{x\}}}. Let us observe that the predicate defined above is reflexive and symmetric.

One can prove the following propositions:

(1) For all functions F, G such that F and G are fiwerwise equipotent holds rng F = rng G.

(2) For all functions F, G, H such that F and G are fiwerwise equipotent and F and H are fiwerwise equipotent holds G and H are fiwerwise equipotent.

(3) For all functions F, G holds F and G are fiwerwise equipotent if and only if there exists a function H such that dom H = dom F and rng H = dom G and H is one-to-one and F = G · H.

(4) For all functions F, G holds F and G are fiwerwise equipotent if and only if for every set X holds \overline{\overline{F ^{−1} X}} = \overline{\overline{G^{−1} X}}.

(5) For every non-empty set D and for all functions F, G such that rng F ⊆ D and rng G ⊆ D holds F and G are fiwerwise equipotent if and only if for every element d of D holds \overline{\overline{F ^{−1} \{d\}}} = \overline{\overline{G^{−1} \{d\}}}.

(6) For all functions F, G such that dom F = dom G holds F and G are fiwerwise equipotent if and only if there exists a permutation P of dom F such that F = G · P.

(7) For all functions F, G such that F and G are fiwerwise equipotent holds \overline{\overline{dom F}} = \overline{\overline{dom G}}.

(8) For all functions F, G such that dom F is finite and dom G is finite holds F and G are fiwerwise equipotent if and only if for an arbitrary x holds card(F ^{−1} {x}) = card(G^{−1} {x}).

(9) For all functions F, G such that dom F is finite and dom G is finite holds F and G are fiwerwise equipotent if and only if for every set X holds card(F ^{−1} X) = card(G^{−1} X).

(10) For all functions F, G such that dom F is finite and dom G is finite and F and G are fiwerwise equipotent holds card dom F = card dom G.

(11) For every non-empty set D and for all functions F, G such that rng F ⊆ D and rng G ⊆ D and dom F is finite and dom G is finite holds F and G are fiwerwise equipotent if and only if for every element d of D holds card(F ^{−1} {d}) = card(G^{−1} {d}).

(12) For all finite sequences f, g holds f and g are fiwerwise equipotent if and only if for an arbitrary x holds card(f ^{−1} {x}) = card(g^{−1} {x}).

(13) For all finite sequences f, g holds f and g are fiwerwise equipotent if and only if for every set X holds card(f ^{−1} X) = card(g^{−1} X).

(14) For all finite sequences f, g, h holds f and g are fiwerwise equipotent if and only if f ^{}h and g^{}h are fiwerwise equipotent.

(15) For all finite sequences f, g holds f^{}g and g^{}f are fiwerwise equipotent.

(16) For all finite sequences f, g such that f and g are fiwerwise equipotent holds len f = len g and dom f = dom g.

(17) For all finite sequences f, g holds f and g are fiwerwise equipotent if and only if there exists a permutation P of dom g such that f = g · P.

(18) For every function F and for every finite set X there exists a finite

sequence f such that F X and f are fiwerwise equipotent. Let D be a non-empty set, and let f be a finite sequence of elements of

D, and let n be a natural number. The functor f_{n} yields a finite sequence of elements of D and is defined as follows: (Def.2) (i) len(f_{n}) = len f − n and for every natural number m such that

m ∈ dom(f_{n}) holds f_{n}(m) = f(m + n) if n ≤ len f, (ii) f_{n} = ε_{D}, otherwise.

The following propositions are true:

(19) For every non-empty set D and for every finite sequence f of elements of D and for all natural numbers n, m such that n ∈ dom f and m ∈ Seg n holds (f n)(m) = f(m) and m ∈ dom f.

(20) For every non-empty set D and for every finite sequence f of elements of D and for every natural number n and for an arbitrary x such that

len f = n + 1 and x = f(n + 1) holds f = (f n)^{}⟨x⟩.

(21) For every non-empty set D and for every finite sequence f of elements of D and for every natural number n holds (f n)^{}(f_{n}) = f.

(22) For all finite sequences R_{1}, R_{2} of elements of such that R_{1} and R_{2}

are fiwerwise equipotent holds ∑ R_{1} = ∑ R_{2}. Let R be a finite sequence of elements of . The functor MIM(R) yielding a

finite sequence of elements of is defined by the conditions (Def.3). (Def.3) (i) len MIM(R) = len R,

(ii) (MIM(R))(len MIM(R)) = R(len R), (iii) for every natural number n such that 1 ≤ n and n ≤ len MIM(R) − 1

and for all real numbers r, s such that R(n) = r and R(n + 1) = s holds (MIM(R))(n) = r − s.

Next we state several propositions:

(23) For every finite sequence R of elements of and for every real number r and for every natural number n such that len R = n + 2 and R(n + 1) = r holds MIM(R (n + 1)) = (MIM(R) n)^{}⟨r⟩.

(24) For every finite sequence R of elements of and for all real numbers r, s and for every natural number n such that len R = n + 2 and R(n + 1) = r and R(n + 2) = s holds MIM(R) = (MIM(R) n)^{}⟨r − s, s⟩.

(25) MIM(ε_{}) = ε_{}.

(26) For every real number r holds MIM(⟨r⟩) = ⟨r⟩.

(27) For all real numbers r, s holds MIM(⟨r, s⟩) = ⟨r − s, s⟩.

(28) For every finite sequence R of elements of and for every natural number n holds (MIM(R))_{n} = MIM(R_{n}).

(29) For every finite sequence R of elements of such that len R ≠ 0 holds ∑ MIM(R) = R(1).

(30) For every finite sequence R of elements of and for every natural num-

ber n such that 1 ≤ n and n < len R holds ∑ MIM(R_{n}) = R(n + 1). A finite sequence of elements of is non-increasing if:

(Def.4) for every natural number n such that n ∈ dom it and n + 1 ∈ dom it and for all real numbers r, s such that r = it(n) and s = it(n + 1) holds r ≥ s.

One can check that there exists a non-increasing finite sequence of elements of .

We now state several propositions:

(31) For every finite sequence R of elements of such that len R = 0 or len R = 1 holds R is non-increasing.

(32) For every finite sequence R of elements of holds R is non-increasing if and only if for all natural numbers n, m such that n ∈ dom R and m ∈ dom R and n < m and for all real numbers r, s such that R(n) = r and R(m) = s holds r ≥ s.

278 jarosław kotowicz

(33) For every non-increasing finite sequence R of elements of and for every natural number n holds R n is a non-increasing finite sequence of elements of .

(34) For every non-increasing finite sequence R of elements of and for every natural number n holds R_{n} is a non-increasing finite sequence of elements of .

(35) For every finite sequence R of elements of there exists a non-increasing finite sequence R_{1} of elements of such that R and R_{1} are fiwerwise equipotent.

(36) For all non-increasing finite sequences R_{1}, R_{2} of elements of such that R_{1} and R_{2} are fiwerwise equipotent holds R_{1} = R_{2}.

(37) For every finite sequence R of elements of and for all real numbers r, s such that r ≠ 0 holds R^{−1} \{\frac{s}{r}\} = (r · R)^{−1} \{s\}.

(38) For every finite sequence R of elements of holds (0·R)^{−1}{0} = dom R.

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 and Krzysztof Hryniewiecki. Segments of natural numbers and finite sequences. Formalized Mathematics, 1(1):107–114, 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] Czesław Byliński. Semigroup operations on finite subsets. Formalized Mathematics, 1(4):651–656, 1990.

[7] Czesław Byliński. The sum and product of finite sequences of real numbers. Formalized Mathematics, 1(4):661–668, 1990.

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

[9] Agata Darmochwał and Yatsuka Nakamura. The topological space E_{T}^{2}. Arcs, line segments and special polygonal arcs. Formalized Mathematics, 2(5):617–621, 1991.

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

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

[12] Andrzej Trybulec and Czesław Byliński. Some properties of real numbers. Formalized Mathematics, 1(3):445–449, 1990.

Properties of Partial Functions from a Domain to the Set of Real Numbers

Jarosław Kotowicz Warsaw University Białystok

Yuji Sakai Shinshu University Nagano

Summary. The article consists of two parties. In the first one we consider notion of nonnegative and nonpositive part of a real numbers. In the second we consider partial function from a domain to the set of real numbers (or more general to a domain). We define a few new operations for these functions and show connections between finite sequences of real numbers and functions which domain is finite. We introduce integrations for finite domain real valued functions.

MML Identifier: RFUNCT 3.

The articles [23], [25], [7], [21], [3], [4], [1], [11], [13], [2], [18], [20], [22], [6], [24], [8], [5], [9], [10], [19], [16], [17], [15], [12], and [14] provide the notation and terminology for this paper.

1. Nonnegative and Nonpositive Part of a Real Number

In the sequel n is a natural number and r is a real number. We now define two new functors. Let n, m be natural numbers. Then min(n, m) is a natural number. Let r be a real number. The functor max_{+}(r) yielding a real number is defined as follows: (Def.1) max_{+}(r) = max(r, 0). The functor max_{−}(r) yielding a real number is defined as follows: (Def.2) max_{−}(r) = max(−r, 0).

We now state several propositions:

(1) For every real number r holds r = max_{+}(r) − max_{−}(r).

(2) For every real number r holds |r| = max_{+}(r) + max_{−}(r).

(3) For every real number r holds 2 · max_{+}(r) = r + |r|.

(4) For all real numbers r, s such that 0 ≤ r holds max_{+}(r·s) = r·max_{+}(s).

(5) For all real numbers r, s holds max_{+}(r + s) ≤ max_{+}(r) + max_{+}(s).

(6) For every real number r holds 0 ≤ max_{+}(r) and 0 ≤ max_{−}(r).

(7) For all real numbers r_{1}, r_{2}, s_{1}, s_{2} such that r_{1} ≤ s_{1} and r_{2} ≤ s_{2} holds max(r_{1}, r_{2}) ≤ max(s_{1}, s_{2}).

2. Properties of Real Function

One can prove the following propositions:

(8) For every non-empty set D and for every partial function F from D to and for all real numbers r, s such that r ≠ 0 holds F^{−1} \{\frac{s}{r}\} = (r F)^{−1} \{s\}.

(9) For every non-empty set D and for every partial function F from D to holds (0 F)^{−1} {0} = dom F.

(10) For every non-empty set D and for every partial function F from D to and for every real number r such that 0 < r holds |F |^{−1}{r} = F^{−1}{−r, r}.

(11) For every non-empty set D and for every partial function F from D to holds |F |^{−1} {0} = F ^{−1} {0}.

(12) For every non-empty set D and for every partial function F from D to and for every real number r such that r < 0 holds |F |^{−1} {r} = ∅.

(13) For all non-empty sets D, C and for every partial function F from D to and for every partial function G from C to and for every real number r such that r ≠ 0 holds F and G are fiwerwise equipotent if and only if r F and r G are fiwerwise equipotent.

(14) For all non-empty sets D, C and for every partial function F from D to and for every partial function G from C to holds F and G are fiwerwise equipotent if and only if −F and −G are fiwerwise equipotent.

(15) For all non-empty sets D, C and for every partial function F from D to and for every partial function G from C to such that F and G are fiwerwise equipotent holds |F | and |G| are fiwerwise equipotent.

We now define two new constructions. Let X, Y be sets. A non-empty set of functions is said to be a non empty set of partial functions from X to Y if: (Def.3) every element of it is a partial function from X to Y. Let X, Y be sets. Then X ˙→Y is a non empty set of partial functions from X to Y. Let P be a non empty set of partial functions from X to Y. We see that the element of P is a partial function from X to Y. Let D, C be non-empty sets, and let X be a subset of D, and let c be an element of C. Then X ⟼ c is an element of D ˙→C. Let D be a non-empty set, and let F_{1}, F_{2} be elements of D ˙→ . Then F_{1} + F_{2} is an element of D ˙→ . Then F_{1} − F_{2} is an element of D ˙→ . Then F_{1} F_{2} is an element of D ˙→ . Then \frac{F_{1}}{F_{2}} is an element of D ˙→ . Let D be a non-empty set, and let F be an element of D ˙→ . Then |F | is an element of D ˙→ . Then −F is an element of D ˙→ . Then \frac{1}{F} is an element of D ˙→ . Let D be a non-empty set, and let F be an element of D ˙→ , and let r be a real number. Then r F is an element of D ˙→ . Let D be a non-empty set. The functor +_{D ˙→} yielding a binary operation on D ˙→ is defined as follows: (Def.4) for all elements F_{1}, F_{2} of D ˙→ holds +_{D ˙→} (F_{1}, F_{2}) = F_{1} + F_{2}.

The following propositions are true:

(16) For every non-empty set D holds +_{D ˙→} is commutative.

(17) For every non-empty set D holds +_{D ˙→} is associative.

(18) For every non-empty set D holds Ω_{D} ⟼ 0 qua a real number is a unity w.r.t. +_{D ˙→} .

(19) For every non-empty set D holds 1_{+_{D ˙→}} = Ω_{D} ⟼ 0 qua a real number.

(20) For every non-empty set D holds +_{D ˙→} has a unity.

Let D be a non-empty set, and let f be a finite sequence of elements of D ˙→ . The functor ∑ f yielding an element of D ˙→ is defined as follows: (Def.5) ∑ f = +_{D ˙→} f.

Next we state several propositions:

(21) For every non-empty set D holds ∑(ε_{(D ˙→ )} ) = Ω_{D} ⟼ 0 qua a real number.

(22) For every non-empty set D and for every element G of D ˙→ holds ∑⟨G⟩ = G.

(23) For every non-empty set D and for every finite sequence f of elements of D ˙→ and for every element G of D ˙→ holds ∑(f ^{}⟨G⟩) = ∑ f + G.

(24) For every non-empty set D and for all finite sequences f_{1}, f_{2} of elements of D ˙→ holds ∑(f_{1} ^{}f_{2}) = ∑ f_{1} + ∑ f_{2}.

(25) For every non-empty set D and for every finite sequence f of elements of D ˙→ and for every element G of D ˙→ holds ∑(⟨G⟩^{}f) = G + ∑ f.

(26) For every non-empty set D and for all elements G_{1}, G_{2} of D ˙→ holds ∑⟨G_{1}, G_{2}⟩ = G_{1} + G_{2}.

(27) For every non-empty set D and for all elements G_{1}, G_{2}, G_{3} of D ˙→ holds ∑⟨G_{1}, G_{2}, G_{3}⟩ = G_{1} + G_{2} + G_{3}.

(28) For every non-empty set D and for all finite sequences f, g of elements

of D ˙→ such that f and g are fiwerwise equipotent holds ∑ f = ∑ g. We now define four new constructions. Let D be a non-empty set, and let

f be a finite sequence. The functor CHI(f, D) yielding a finite sequence of elements of D ˙→ is defined by: (Def.6) len CHI(f, D) = len f and for every n such that n ∈ dom CHI(f, D)

holds (CHI(f, D))(n) = χ_{f(n),D}. Let D be a non-empty set, and let f be a finite sequence of elements of D ˙→ , and let R be a finite sequence of elements of . The functor R f yields a finite sequence of elements of D ˙→ and is defined as follows:

(Def.7) len(R f) = min(len R, len f) and for every n such that n ∈ dom(R f) and for every partial function F from D to and for every r such that r = R(n) and F = f(n) holds (R f)(n) = r F.

Let D, C be non-empty sets, and let f be a finite sequence of elements of D ˙→C, and let d be an element of D. The functor f#d yields a finite sequence of elements of C and is defined as follows: (Def.8) len(f#d) = len f and for every natural number n and for every element

G of D ˙→C such that n ∈ dom(f#d) and f(n) = G holds (f#d)(n) = G(d).

Let D, C be non-empty sets, and let f be a finite sequence of elements of D ˙→C, and let d be an element of D. We say that d is common for dom f if and only if: (Def.9) for every element G of D ˙→C and for every natural number n such that

n ∈ dom f and f(n) = G holds d ∈ dom G.

One can prove the following propositions:

(29) For all non-empty sets D, C and for every finite sequence f of elements of D ˙→C and for every element d of D and for every natural number n such that d is common for dom f and n ≠ 0 holds d is common for dom f n.

(30) For all non-empty sets D, C and for every finite sequence f of elements of D ˙→C and for every element d of D and for every natural number n such that d is common for dom f holds d is common for dom f_{n}.

(31) For every non-empty set D and for every element d of D and for every finite sequence f of elements of D ˙→ such that len f ≠ 0 holds d is common for dom f if and only if d ∈ dom ∑ f.

(32) For all non-empty sets D, C and for every finite sequence f of elements of D ˙→C and for every element d of D and for every natural number n holds (f n)#d = (f#d) n.

(33) For every non-empty set D and for every finite sequence f and for every element d of D holds d is common for dom CHI(f, D).

(34) For every non-empty set D and for every element d of D and for every finite sequence f of elements of D ˙→ and for every finite sequence R of elements of such that d is common for dom f holds d is common for dom R f.

(35) For every non-empty set D and for every finite sequence f and for every finite sequence R of elements of and for every element d of D holds d is common for dom R CHI(f, D).

(36) For every non-empty set D and for every element d of D and for every finite sequence f of elements of D ˙→ such that d is common for dom f holds (∑ f)(d) = ∑(f#d).

We now define two new functors. Let D be a non-empty set, and let F be a partial function from D to . The functor max_{+}(F) yielding a partial function

from D to is defined as follows: (Def.10) dom max_{+}(F) = dom F and for every element d of D such that d ∈

dom max_{+}(F) holds (max_{+}(F))(d) = max_{+}(F (d)). The functor max_{−}(F) yielding a partial function from D to is defined as follows:

(Def.11) dom max_{−}(F) = dom F and for every element d of D such that d ∈ dom max_{−}(F) holds (max_{−}(F))(d) = max_{−}(F (d)).

The following propositions are true:

(37) For every non-empty set D and for every partial function F from D to holds F = max_{+}(F) − max_{−}(F) and |F | = max_{+}(F) + max_{−}(F) and 2 max_{+}(F) = F + |F |.

(38) For every non-empty set D and for every partial function F from D to and for every real number r such that 0 < r holds F ^{−1} {r} = (max_{+}(F))^{−1} {r}.

(39) For every non-empty set D and for every partial function F from D to holds F ^{−1} ]−∞, 0] = (max_{+}(F))^{−1} {0}.

(40) For every non-empty set D and for every partial function F from D to and for every element d of D such that d ∈ dom F holds 0 ≤ (max_{+}(F))(d).

(41) For every non-empty set D and for every partial function F from D to and for every real number r such that 0 < r holds F ^{−1} {−r} = (max_{−}(F))^{−1} {r}.

(42) For every non-empty set D and for every partial function F from D to holds F ^{−1} [0, +∞[ = (max_{−}(F))^{−1} {0}.

(43) For every non-empty set D and for every partial function F from D to and for every element d of D such that d ∈ dom F holds 0 ≤ (max_{−}(F))(d).

(44) For all non-empty sets D, C and for every partial function F from D to and for every partial function G from C to such that F and G are fiwerwise equipotent holds max_{+}(F) and max_{+}(G) are fiwerwise equipotent.

(45) For all non-empty sets D, C and for every partial function F from D to and for every partial function G from C to such that F and G are fiwerwise equipotent holds max_{−}(F) and max_{−}(G) are fiwerwise equipotent.

(46) For all non-empty sets D, C and for every partial function F from D to and for every partial function G from C to such that dom F is finite and dom G is finite and max_{+}(F) and max_{+}(G) are fiwerwise equipotent and max_{−}(F) and max_{−}(G) are fiwerwise equipotent holds F and G are fiwerwise equipotent.

(47) For every non-empty set D and for every partial function F from D to and for every set X holds max_{+}(F) X = max_{+}(F X).

(48) For every non-empty set D and for every partial function F from D to and for every set X holds max_{−}(F) X = max_{−}(F X).

(49) For every non-empty set D and for every partial function F from D to if for every element d of D such that d ∈ dom F holds F (d) ≥ 0, then max_{+}(F) = F.

(50) For every non-empty set D and for every partial function F from D to if for every element d of D such that d ∈ dom F holds F (d) ≤ 0, then max_{−}(F) = −F.

Let D be a non-empty set, and let F be a partial function from D to , and let r be a real number. The functor F − r yields a partial function from D to and is defined as follows:

(Def.12) dom(F − r) = dom F and for every element d of D such that d ∈ dom(F − r) holds (F − r)(d) = F (d) − r.

We now state four propositions:

(51) For every non-empty set D and for every partial function F from D to holds F − 0 = F.

(52) For every non-empty set D and for every partial function F from D to and for every real number r and for every set X holds F X − r = (F − r) X.

(53) For every non-empty set D and for every partial function F from D to and for all real numbers r, s holds F ^{−1} {s + r} = (F − r)^{−1} {s}.

(54) For all non-empty sets D, C and for every partial function F from D to and for every partial function G from C to and for every real number r holds F and G are fiwerwise equipotent if and only if F − r and G − r are fiwerwise equipotent.

Let F be a partial function from to , and let X be a set. We say that F is convex on X if and only if the conditions (Def.13) is satisfied.

(Def.13) (i) X ⊆ dom F,

(ii) for every real number p such that 0 ≤ p and p ≤ 1 and for all real numbers r, s such that r ∈ X and s ∈ X and p · r + (1 − p) · s ∈ X holds F (p · r + (1 − p) · s) ≤ p · F (r) + (1 − p) · F (s).

The following propositions are true:

(55) Let a, b be real numbers. Let F be a partial function from to . Then

F is convex on [a, b] if and only if the following conditions are satisfied:

(i) [a, b] ⊆ dom F, (ii) for every real number p such that 0 ≤ p and p ≤ 1 and for all real

numbers r, s such that r ∈ [a, b] and s ∈ [a, b] holds F (p · r + (1 − p) · s) ≤ p · F (r) + (1 − p) · F (s).

(56) Let a, b be real numbers. Let F be a partial function from to . Then

F is convex on [a, b] if and only if the following conditions are satisfied:

(i) [a, b] ⊆ dom F, (ii) for all real numbers x_{1}, x_{2}, x_{3} such that x_{1} ∈ [a, b] and x_{2} ∈ [a, b] and

x_{3} ∈ [a, b] and x_{1} < x_{2} and x_{2} < x_{3} holds \frac{F (x_{1})−F (x_{2})}{x_{1}−x_{2}} ≤ \frac{F (x_{2})−F (x_{3})}{x_{2}−x_{3}}.

(57) For every partial function F from to and for all sets X, Y such that F is convex on X and Y ⊆ X holds F is convex on Y.

(58) For every partial function F from to and for every set X and for every real number r holds F is convex on X if and only if F − r is convex on X.

(59) For every partial function F from to and for every set X and for every real number r such that 0 < r holds F is convex on X if and only if r F is convex on X.

(60) For every partial function F from to and for every set X such that X ⊆ dom F holds 0 F is convex on X.

(61) For all partial functions F, G from to and for every set X such that F is convex on X and G is convex on X holds F + G is convex on X.

(62) For every partial function F from to and for every set X and for every real number r such that F is convex on X holds max_{+}(F − r) is convex on X.

(63) For every partial function F from to and for every set X such that F is convex on X holds max_{+}(F) is convex on X.

(64) id_{(Ω_{})} is convex on .

(65) For every real number r holds max_{+}(id_{(Ω_{})} − r) is convex on . Let D be a non-empty set, and let F be a partial function from D to , and

let X be a set. Let us assume that dom(F X) is finite. The functor FinS(F, X) yields a non-increasing finite sequence of elements of and is defined by:

(Def.14) F X and FinS(F, X) are fiwerwise equipotent.

Next we state a number of propositions:

(66) For every non-empty set D and for every partial function F from D to and for every set X such that dom(F X) is finite holds FinS(F, dom(F X)) = FinS(F, X).

(67) For every non-empty set D and for every partial function F from D to and for every set X such that dom(F X) is finite holds FinS(F X, X) = FinS(F, X).

(68) For every non-empty set D and for every element d of D and for every set X and for every partial function F from D to such that X is finite and d ∈ dom(F X) holds (FinS(F, X \ {d})) ^{}⟨F (d)⟩ and F X are fiwerwise equipotent.

(69) For every non-empty set D and for every element d of D and for every set X and for every partial function F from D to such that dom(F X) is finite and d ∈ dom(F X) holds (FinS(F, X \ {d}))^{}⟨F (d)⟩ and F X are fiwerwise equipotent.

(70) For every non-empty set D and for every partial function F from D to and for every set X such that dom(F X) is finite holds len FinS(F, X) =

card dom(F X).

(71) For every non-empty set D and for every partial function F from D to holds FinS(F, ∅) = ε_{}.

(72) For every non-empty set D and for every partial function F from D to and for every element d of D such that d ∈ dom F holds FinS(F, {d}) = ⟨F (d)⟩.

(73) Let D be a non-empty set. Let F be a partial function from D to . Then for every set X and for every element d of D such that dom(F X) is finite and d ∈ dom(F X) and (FinS(F, X))(len FinS(F, X)) = F (d) holds FinS(F, X) = (FinS(F, X \ {d}))^{}⟨F (d)⟩.

(74) Let D be a non-empty set. Let F be a partial function from D to . Let X, Y be sets. Suppose dom(F X) is finite and Y ⊆ X and for all elements d_{1}, d_{2} of D such that d_{1} ∈ dom(F Y) and d_{2} ∈ dom(F (X \Y)) holds F (d_{1}) ≥ F (d_{2}). Then FinS(F, X) = (FinS(F, Y))^{}FinS(F, X \ Y).

(75) Let D be a non-empty set. Let F be a partial function from D to . Let r be a real number. Let X be a set. Then for every element d of D such that dom(F X) is finite and d ∈ dom(F X) holds (FinS(F − r, X))(len FinS(F − r, X)) = (F − r)(d) if and only if (FinS(F, X))(len FinS(F, X)) = F (d).

(76) For every non-empty set D and for every partial function F from D to and for every real number r and for every set X such that dom(F X) is finite holds FinS(F − r, X) = FinS(F, X) − (card dom(F X) ⟼ r).

(77) For every non-empty set D and for every partial function F from D to and for every set X such that dom(F X) is finite and for every element d of D such that d ∈ dom(F X) holds F (d) ≥ 0 holds FinS(max_{+}(F), X) = FinS(F, X).

(78) For every non-empty set D and for every partial function F from D to and for every set X and for every real number r such that dom(F X) is finite and rng(F X) = {r} holds FinS(F, X) = card dom(F X) ⟼ r.

(79) For every non-empty set D and for every partial function F from D to and for all sets X, Y such that dom(F (X ∪ Y)) is finite and X ∩ Y = ∅ holds FinS(F, X ∪ Y) and (FinS(F, X))^{}FinS(F, Y) are fiwerwise equipotent.

Let D be a non-empty set, and let F be a partial function from D to , and let X be a set. The functor ∑_{κ=0}^{X} F (κ) yields a real number and is defined as follows:

(Def.15) ∑_{κ=0}^{X} F (κ) = ∑ FinS(F, X).

One can prove the following propositions:

(80) For every non-empty set D and for every partial function F from D to and for every set X and for every real number r such that dom(F X) is finite holds ∑_{κ=0}^{X}(r F)(κ) = r · ∑_{κ=0}^{X} F (κ).

(81) For every non-empty set D and for all partial functions F, G from D to

properties of partial functions from a … 287

and for every set X such that dom(F X) is finite and dom(F X) = dom(G X) holds ∑_{κ=0}^{X}(F + G)(κ) = ∑_{κ=0}^{X} F (κ) + ∑_{κ=0}^{X} G(κ).

(82) For every non-empty set D and for all partial functions F, G from D to and for every set X such that dom(F X) is finite and dom(F X) = dom(G X) holds ∑_{κ=0}^{X}(F − G)(κ) = ∑_{κ=0}^{X} F (κ) − ∑_{κ=0}^{X} G(κ).

(83) For every non-empty set D and for every partial function F from D to and for every set X and for every real number r such that dom(F X) is finite holds ∑_{κ=0}^{X}(F − r)(κ) = ∑_{κ=0}^{X} F (κ) − r · card dom(F X).

(84) For every non-empty set D and for every partial function F from D to holds ∑_{κ=0}^{∅} F (κ) = 0.

(85) For every non-empty set D and for every partial function F from D to and for every element d of D such that d ∈ dom F holds ∑_{κ=0}^{{d}} F (κ) = F (d).

(86) For every non-empty set D and for every partial function F from D to and for all sets X, Y such that dom(F (X ∪Y)) is finite and X ∩Y = ∅ holds ∑_{κ=0}^{X∪Y} F (κ) = ∑_{κ=0}^{X} F (κ) + ∑_{κ=0}^{Y} F (κ).

(87) For every non-empty set D and for every partial function F from D to and for all sets X, Y such that dom(F (X ∪ Y)) is finite and dom(F X)∩dom(F Y) = ∅ holds ∑_{κ=0}^{X∪Y} F (κ) = ∑_{κ=0}^{X} F (κ)+∑_{κ=0}^{Y} F (κ).

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 and Krzysztof Hryniewiecki. Segments of natural numbers and finite sequences. Formalized Mathematics, 1(1):107–114, 1990.

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

[5] Czesław Byliński. Binary operations applied to finite sequences. Formalized Mathematics, 1(4):643–649, 1990.

[6] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 1990.

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

[8] Czesław Byliński. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

[9] Czesław Byliński. Semigroup operations on finite subsets. Formalized Mathematics, 1(4):651–656, 1990.

[10] Czesław Byliński. The sum and product of finite sequences of real numbers. Formalized Mathematics, 1(4):661–668, 1990.

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

[12] Agata Darmochwał and Yatsuka Nakamura. The topological space E_{T}^{2}. Arcs, line segments and special polygonal arcs. Formalized Mathematics, 2(5):617–621, 1991.

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

[14] Jarosław Kotowicz. Functions and finite sequences of real numbers. Formalized Mathematics, 3(2):275–278, 1992.

[15] Jarosław Kotowicz. The limit of a real function at infinity. Formalized Mathematics, 2(1):17–28, 1991.

[16] Jarosław Kotowicz. Partial functions from a domain to a domain. Formalized Mathematics, 1(4):697–702, 1990.

288 jarosław kotowicz and yuji sakai

[17] Jarosław Kotowicz. Partial functions from a domain to the set of real numbers. Formalized Mathematics, 1(4):703–709, 1990.

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

[19] Konrad Raczkowski and Paweł Sadowski. Topological properties of subsets in real numbers. Formalized Mathematics, 1(4):777–780, 1990.

[20] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

[21] Andrzej Trybulec. Function domains and Frænkel operator. Formalized Mathematics, 1(3):495–500, 1990.

[22] Andrzej Trybulec. Semilattice operations on finite subsets. Formalized Mathematics, 1(2):369–376, 1990.

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

[24] Andrzej Trybulec and Czesław Byliński. Some properties of real numbers. Formalized Mathematics, 1(3):445–449, 1990.

[25] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

Domains of Submodules, Join and Meet of Finite Sequences of Submodules and Quotient Modules

Michał Muzalewski Warsaw University Białystok

Summary. Notions of domains of submodules, join and meet of finite sequences of submodules and quotient modules. A few basic theorems and schemes related to these notions are proved.

MML Identifier: LMOD 7.

The papers [17], [28], [3], [4], [2], [1], [16], [5], [29], [15], [24], [20], [25], [27], [21], [18], [7], [6], [8], [26], [23], [22], [19], [14], [13], [11], [12], [9], and [10] provide the terminology and notation for this paper.

1. Auxiliary theorems on free-modules

For simplicity we follow a convention: x is arbitrary, K is an associative ring, r is a scalar of K, V, M, N are left modules over K, a, b, a_{1}, a_{2} are vectors of V, A, A_{1}, A_{2} are subsets of V, l is a linear combination of A, W is a submodule of V, and L_{1} is a finite sequence of elements of Sub(V). One can prove the following propositions:

(1) If K is non-trivial and A is linearly independent, then 0_{V} ∉ A.

(2) If a ∉ A, then l(a) = 0_{K}.

(3) If K is trivial, then for every l holds support l = ∅ and Lin(A) is trivial.

(4) If V is non-trivial, then for every A such that A is base holds A ≠ ∅.

(5) If A_{1} ∪ A_{2} is linearly independent and A_{1} ∩ A_{2} = ∅, then Lin(A_{1}) ∩ Lin(A_{2}) = 0_{V}.

(6) If A is base and A = A_{1} ∪ A_{2} and A_{1} ∩ A_{2} = ∅, then V is the direct sum of Lin(A_{1}) and Lin(A_{2}).

2. Domains of submodules

Let us consider K, V. A non-empty set is called a non empty set of submodules of V if: (Def.1) if x ∈ it, then x is a strict submodule of V. Let us consider K, V. Then Sub(V) is a non empty set of submodules of V. Let us consider K, V, and let D be a non empty set of submodules of V. We see that the element of D is a strict submodule of V. Let us consider K, V, and let D be a non empty set of submodules of V. One can verify that there exists a strict element of D.

We now state two propositions:

(7) If x is an element of Sub(V) qua a non-empty set, then x is an element of Sub(V).

(8) If x ∈ Sub(V), then x is an element of Sub(V).

We now define two new modes. Let us consider K, V. Let us assume that V is non-trivial. A strict submodule of V is called a line of V if: (Def.2) there exists a such that a ≠ 0_{V} and it = ∏^{∗} a. Let us consider K, V. A non-empty set is said to be a non empty set of lines of V if: (Def.3) if x ∈ it, then x is a line of V.

We now state two propositions:

(9) If W is strict and the group structure of W is strict, then W is an element of Sub(V) qua a non-empty set.

(10) If V is non-trivial, then every line of V is an element of Sub(V). We now define three new constructions. Let us consider K, V. Let us assume

that V is non-trivial. The functor lines(V) yields a non empty set of lines of V and is defined as follows: (Def.4) lines(V) is the set of all lines of V. Let us consider K, V, and let D be a non empty set of lines of V. We see that the element of D is a line of V. Let us consider K, V. Let us assume that V is non-trivial and V is free. A strict submodule of V is said to be a hiperplane of V if: (Def.5) the group structure of it is strict and there exists a such that a ≠ 0_{V}

and V is the direct sum of ∏^{∗} a and it. Let us consider K, V. A non-empty set is called a non empty set of hiperplanes of V if: (Def.6) if x ∈ it, then x is a hiperplane of V.

One can prove the following proposition

(11) If V is non-trivial and V is free, then every hiperplane of V is an element of Sub(V).

Let us consider K, V. Let us assume that V is non-trivial and V is free. The functor hiperplanes(V) yielding a non empty set of hiperplanes of V is defined by: (Def.7) hiperplanes(V) is the set of all hiperplanes of V. Let us consider K, V, and let D be a non empty set of hiperplanes of V. We see that the element of D is a hiperplane of V.

3. Join and meet of finite sequences of submodules

We now define two new functors. Let us consider K, V, L_{1}. The functor ∑ L_{1} yielding an element of Sub(V) is defined as follows: (Def.8) ∑ L_{1} = SubJoin V L_{1}. The functor ⋂ L_{1} yields an element of Sub(V) and is defined as follows: (Def.9) ⋂ L_{1} = SubMeet V L_{1}.

The following propositions are true:

(12) For every lattice G holds the join operation of G is commutative and the join operation of G is associative and the meet operation of G is commutative and the meet operation of G is associative.

(13) For every element a of Sub(V) holds the group structure of a is strict.

(14) SubJoin V is commutative and SubJoin V is associative and SubJoin V has a unity and 0_{V} = 1_{SubJoin V}.

(15) If the group structure of V is strict, then SubMeet V is commutative and SubMeet V is associative and SubMeet V has a unity and Ω_{V} = 1_{SubMeet V}.

4. Sum of subsets of module

Let us consider K, V, A_{1}, A_{2}. The functor A_{1} + A_{2} yields a subset of V and is defined by:

(Def.10) x ∈ A_{1} + A_{2} if and only if there exist a_{1}, a_{2} such that a_{1} ∈ A_{1} and a_{2} ∈ A_{2} and x = a_{1} + a_{2}.

5. Vector of subset

Let us consider K, V, A. Let us assume that A ≠ ∅. A vector of V is said to be a vector of A if:

(Def.11) it is an element of A.

One can prove the following propositions:

(16) If A_{1} ≠ ∅ and A_{1} ⊆ A_{2}, then for every x such that x is a vector of A_{1} holds x is a vector of A_{2}.

(17) a_{2} ∈ a_{1} + W if and only if a_{1} − a_{2} ∈ W.

(18) a_{1} + W = a_{2} + W if and only if a_{1} − a_{2} ∈ W.

We now define two new functors. Let us consider K, V, W. The functor V W yields a non-empty set and is defined by:

(Def.12) x ∈ V W if and only if there exists a such that x = a + W. Let us consider K, V, W, a. The functor a W yields an element of V W and is defined as follows:

(Def.13) a W = a + W.

We now state two propositions:

(19) For every element x of V W there exists a such that x = a W.

(20) a_{1} W = a_{2} W if and only if a_{1} − a_{2} ∈ W.

In the sequel S_{1}, S_{2} will denote elements of V W. We now define five new functors. Let us consider K, V, W, S_{1}. The functor −S_{1} yields an element of V W and is defined by:

(Def.14) if S_{1} = a W, then −S_{1} = (−a) W.

Let us consider S_{2}. The functor S_{1} + S_{2} yields an element of V W and is defined by:

(Def.15) if S_{1} = a_{1} W and S_{2} = a_{2} W, then S_{1} + S_{2} = (a_{1} + a_{2}) W. Let us consider K, V, W. The functor COMPL(W) yields a unary operation on V W and is defined as follows:

(Def.16) (COMPL(W))(S_{1}) = −S_{1}.

The functor ADD(W) yields a binary operation on V W and is defined by: (Def.17) (ADD(W))(S_{1}, S_{2}) = S_{1} + S_{2}.

Let us consider K, V, W. The functor V (W) yields a strict group structure and is defined by:

(Def.18) V (W) = ⟨V W, ADD(W), COMPL(W), 0_{V} W ⟩.

One can prove the following proposition

(21) a W is an element of V (W).

Let us consider K, V, W, a. The functor a(W) yielding an element of V (W) is defined by:

(Def.19) a(W) = a W.

We now state four propositions:

(22) For every element x of V (W) there exists a such that x = a(W).

(23) a_{1}(W) = a_{2}(W) if and only if a_{1} − a_{2} ∈ W.

(24) a(W) + b(W) = (a + b)(W) and −a(W) = (−a)(W) and 0_{V (W)} = 0_{V} (W).

(25) V (W) is a strict Abelian group.

Let us consider K, V, W. Then V (W) is a strict Abelian group.

In the sequel S is an element of V (W). We now define three new functors. Let us consider K, V, W, r, S. The functor r · S yielding an element of V (W) is defined by:

(Def.20) if S = a(W), then r · S = (r · a)(W).

Let us consider K, V, W. The functor LMULT(W) yielding a function from [: the carrier of K, the carrier of V (W) :] into the carrier of V (W) is defined by:

(Def.21) (LMULT(W))(r, S) = r · S.

Let us consider K, V, W. The functor \frac{V}{W} yielding a strict vector space structure over K is defined as follows:

(Def.22) \frac{V}{W} = ⟨the carrier of V (W), the addition of V (W), the reverse-map of V (W), the zero of V (W), LMULT(W)⟩.

We now state two propositions:

(26) a(W) is a vector of \frac{V}{W}.

(27) Every vector of \frac{V}{W} is an element of V (W).

Let us consider K, V, W, a. The functor \frac{a}{W} yields a vector of \frac{V}{W} and is defined as follows:

(Def.23) \frac{a}{W} = a(W).

One can prove the following four propositions:

(28) For every vector x of \frac{V}{W} there exists a such that x = \frac{a}{W}.

(29) \frac{a_{1}}{W} = \frac{a_{2}}{W} if and only if a_{1} − a_{2} ∈ W.

(30) \frac{a}{W} + \frac{b}{W} = \frac{a+b}{W} and r · \frac{a}{W} = \frac{r·a}{W}.

(31) \frac{V}{W} is a strict left module over K.

Let us consider K, V, W. Then \frac{V}{W} is a strict left module over K.

6. Quotient modules

In this article we present several logical schemes. The scheme SetEq deals with a unary predicate P, and states that:

for all sets X_{1}, X_{2} such that for an arbitrary x holds x ∈ X_{1} if and only if P[x] and for an arbitrary x holds x ∈ X_{2} if and only if P[x] holds X_{1} = X_{2} for all values of the parameter.

The scheme DomainEq deals with a unary predicate P, and states that: for all non-empty sets X_{1}, X_{2} such that for an arbitrary x holds x ∈ X_{1} if

and only if P[x] and for an arbitrary x holds x ∈ X_{2} if and only if P[x] holds X_{1} = X_{2} for all values of the parameter.

The scheme ElementEq concerns a set A, and a unary predicate P, and states that:

for all elements X_{1}, X_{2} of A such that for an arbitrary x holds x ∈ X_{1} if and only if P[x] and for an arbitrary x holds x ∈ X_{2} if and only if P[x] holds X_{1} = X_{2} for all values of the parameters.

The scheme TypeEq deals with a set A, a set B, and a unary predicate P, and states that:

A = B provided the parameters meet the following conditions:

• for an arbitrary x holds x ∈ A if and only if P[x],

• for an arbitrary x holds x ∈ B if and only if P[x].

The scheme FuncEq concerns a non-empty set A, a non-empty set B, and a unary functor F and states that:

for all functions f_{1}, f_{2} from A into B such that for every element x of A holds f_{1}(x) = F(x) and for every element x of A holds f_{2}(x) = F(x) holds f_{1} = f_{2} for all values of the parameters.

The scheme UnOpEq deals with a non-empty set A and a unary functor F and states that:

for all unary operations f_{1}, f_{2} on A such that for every element a of A holds f_{1}(a) = F(a) and for every element a of A holds f_{2}(a) = F(a) holds f_{1} = f_{2} for all values of the parameters.

The scheme BinOpEq concerns a non-empty set A and a binary functor F and states that:

for all binary operations f_{1}, f_{2} on A such that for all elements a, b of A holds f_{1}(a, b) = F(a, b) and for all elements a, b of A holds f_{2}(a, b) = F(a, b) holds f_{1} = f_{2} for all values of the parameters.

The scheme TriOpEq deals with a non-empty set A and a ternary functor F and states that:

for all ternary operations f_{1}, f_{2} on A such that for all elements a, b, c of A holds f_{1}(a, b, c) = F(a, b, c) and for all elements a, b, c of A holds f_{2}(a, b,

c) = F(a, b, c) holds f_{1} = f_{2} for all values of the parameters.

The scheme QuaOpEq deals with a non-empty set A and a 4-ary functor F and states that:

for all quadrary operations f_{1}, f_{2} on A such that for all elements a, b, c, d of A holds f_{1}(a, b, c, d) = F(a, b, c, d) and for all elements a, b, c, d of A holds f_{2}(a, b, c, d) = F(a, b, c, d) holds f_{1} = f_{2} for all values of the parameters.

The scheme Fraenkel1 Ex concerns a non-empty set A, a non-empty set B, a unary functor F yielding an element of B, and a unary predicate P, and states that:

there exists a subset S of B such that S = {F(x) : P[x]}, where x ranges over elements of A for all values of the parameters.

The scheme Fr 0 concerns a non-empty set A, an element B of A, and a unary predicate P, and states that:

P[B] provided the parameters meet the following requirement:

• B ∈ {a : P[a]}, where a ranges over elements of A.

The scheme Fr 1 deals with a set A, a non-empty set B, an element C of B, and a unary predicate P, and states that:

C ∈ A if and only if P[C] provided the following condition is satisfied:

• A = {a : P[a]}, where a ranges over elements of B.

The scheme Fr 2 concerns a set A, a non-empty set B, an element C of B, and a unary predicate P, and states that:

P[C] provided the following conditions are met:

• C ∈ A,

• A = {a : P[a]}, where a ranges over elements of B.

The scheme Fr 3 concerns a constant A, a set B, a non-empty set C, and a unary predicate P, and states that:

A ∈ B if and only if there exists an element a of C such that A = a and P[a] provided the parameters meet the following condition:

• B = {a : P[a]}, where a ranges over elements of C.

The scheme Fr 4 concerns a non-empty set A, a non-empty set B, a set C, an element D of A, a unary functor F, and two binary predicates P and Q, and states that:

D ∈ F(C) if and only if for every element b of B such that b ∈ C holds P[D, b] provided the parameters meet the following conditions:

• F(C) = {a : Q[a, C]}, where a ranges over elements of A,

• Q[D, C] if and only if for every element b of B such that b ∈ C holds P[D, b].

References

[1] Grzegorz Bancerek and Krzysztof Hryniewiecki. Segments of natural numbers and finite sequences. Formalized Mathematics, 1(1):107–114, 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. Semigroup operations on finite subsets. Formalized Mathematics, 1(4):651–656, 1990.

[6] Eugeniusz Kusak, Wojciech Leończuk, and Michał Muzalewski. Abelian groups, fields and vector spaces. Formalized Mathematics, 1(2):335–342, 1990.

[7] Wojciech Leończuk and Krzysztof Prażmowski. A construction of analytical projective space. Formalized Mathematics, 1(4):761–766, 1990.

[8] Michał Muzalewski. Construction of rings and left-, right-, and bi-modules over a ring. Formalized Mathematics, 2(1):3–11, 1991.

[9] Michał Muzalewski. Free modules. Formalized Mathematics, 2(4):587–589, 1991.

296 michał muzalewski

[10] Michał Muzalewski. Submodules. Formalized Mathematics, 3(1):47–51, 1992.

[11] Michał Muzalewski and Wojciech Skaba. Linear combinations in left module over associative ring. Formalized Mathematics, 2(2):295–300, 1991.

[12] Michał Muzalewski and Wojciech Skaba. Linear independence in left module over domain. Formalized Mathematics, 2(2):301–303, 1991.

[13] Michał Muzalewski and Wojciech Skaba. Operations on submodules in left module over associative ring. Formalized Mathematics, 2(2):289–293, 1991.

[14] Michał Muzalewski and Wojciech Skaba. Submodules and cosets of submodules in left module over associative ring. Formalized Mathematics, 2(2):283–287, 1991.

[15] Michał Muzalewski and Wojciech Skaba. Three-argument operations and four-argument operations. Formalized Mathematics, 2(2):221–224, 1991.

[16] Andrzej Trybulec. Semilattice operations on finite subsets. Formalized Mathematics, 1(2):369–376, 1990.

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

[18] Wojciech A. Trybulec. Basis of real linear space. Formalized Mathematics, 1(5):847–850, 1990.

[19] Wojciech A. Trybulec. Basis of vector space. Formalized Mathematics, 1(5):883–885, 1990.

[20] Wojciech A. Trybulec. Groups. Formalized Mathematics, 1(5):821–827, 1990.

[21] Wojciech A. Trybulec. Linear combinations in real linear space. Formalized Mathematics, 1(3):581–588, 1990.

[22] Wojciech A. Trybulec. Linear combinations in vector space. Formalized Mathematics, 1(5):877–882, 1990.

[23] Wojciech A. Trybulec. Operations on subspaces in vector space. Formalized Mathematics, 1(5):871–876, 1990.

[24] Wojciech A. Trybulec. Partially ordered sets. Formalized Mathematics, 1(2):313–319, 1990.

[25] Wojciech A. Trybulec. Subgroup and cosets of subgroups. Formalized Mathematics, 1(5):855–864, 1990.

[26] Wojciech A. Trybulec. Subspaces and cosets of subspaces in vector space. Formalized Mathematics, 1(5):865–870, 1990.

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

[28] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

[29] Stanisław Żukowski. Introduction to lattice theory. Formalized Mathematics, 1(1):215– 222, 1990.

Remarks on Special Subsets of Topological Spaces

Zbigniew Karno Warsaw University Białystok

Summary. Let X be a topological space and let A be a subset of X. Recall that A is nowhere dense in X if its closure is a boundary subset of X, i.e., if Int \overline{A} = ∅ (see [2]). We introduce here the concept of everywhere dense subsets in X, which is dual to the above one. Namely, A is said to be everywhere dense in X if its interior is a dense subset of X, i.e., if \overline{Int A} = the carrier of X.

Our purpose is to list a number of properties of such sets (comp. [7]). As a sample we formulate their two dual characterizations. The first one characterizes thin sets in X : A is nowhere dense iff for every open nonempty subset G of X there is an open nonempty subset of X contained in G and disjoint from A. The corresponding second one characterizes thick sets in X : A is everywhere dense iff for every closed subset F of X distinct from the carrier of X there is a closed subset of X distinct from the carrier of X, which contains F and together with A covers the carrier of X. We also give some connections between both these concepts. Of course, A is everywhere (nowhere) dense in X iff its complement is nowhere (everywhere) dense. Moreover, A is nowhere dense iff there are two subsets of X, C boundary closed and B everywhere dense, such that A = C ∩ B and C ∪ B covers the carrier of X. Dually, A is everywhere dense iff there are two disjoint subsets of X, C open dense and B nowhere dense, such that A = C ∪ B.

Note that some relationships between everywhere (nowhere) dense sets in X and everywhere (nowhere) dense sets in subspaces of X are also indicated.

MML Identifier: TOPS 3.

The notation and terminology used here are introduced in the following papers: [5], [6], [3], [7], [4], and [1].

1. Selected Properties of Subsets of a Topological Space

In the sequel X will denote a topological space and A, B will denote subsets of X. We now state several propositions:

(1) A = ∅_{X} if and only if A^{c} = Ω_{X} and also A = ∅ if and only if A^{c} = the carrier of X.

(2) A = Ω_{X} if and only if A^{c} = ∅_{X} and also A = the carrier of X if and only if A^{c} = ∅.

(3) Int A ∩ \overline{B} ⊆ \overline{A ∩ B}.

(4) Int(A ∪ B) ⊆ \overline{A} ∪ Int B.

(5) If A is closed, then Int(A ∪ B) ⊆ A ∪ Int B.

(6) If A is closed, then Int(A ∪ B) = Int(A ∪ Int B).

(7) If A ∩ Int \overline{A} = ∅, then Int \overline{A} = ∅.

(8) If A ∪ \overline{Int A} = the carrier of X, then \overline{Int A} = the carrier of X.

2. Special Subsets of a Topological Space

Let X be a topological space. Let us observe that a subset of X is boundary if: (Def.1) Int it = ∅.

We now state several propositions:

(9) ∅_{X} is boundary.

(10) If A is boundary, then A ≠ the carrier of X.

(11) If B is boundary and A ⊆ B, then A is boundary.

(12) A is boundary if and only if for every subset C of X such that A^{c} ⊆ C and C is closed holds C = the carrier of X.

(13) A is boundary if and only if for every subset G of X such that G ≠ ∅ and G is open holds A^{c} ∩ G ≠ ∅.

(14) A is boundary if and only if for every subset F of X such that F is closed holds Int F = Int(F ∪ A).

(15) If A is boundary or B is boundary, then A ∩ B is boundary.

Let X be a topological space. Let us observe that a subset of X is dense if: (Def.2) \overline{it} = the carrier of X.

Next we state several propositions:

(16) Ω_{X} is dense.

(17) If A is dense, then A ≠ ∅.

(18) A is dense if and only if A^{c} is boundary.

(19) A is dense if and only if for every subset C of X such that A ⊆ C and C is closed holds C = the carrier of X.

(20) A is dense if and only if for every subset G of X such that G is open holds \overline{G} = \overline{G ∩ A}.

(21) If A is dense or B is dense, then A ∪ B is dense.

Let X be a topological space. Let us observe that a subset of X is nowhere dense if: (Def.3) Int \overline{it} = ∅.

The following propositions are true:

(22) ∅_{X} is nowhere dense.

(23) If A is nowhere dense, then A ≠ the carrier of X.

(24) If A is nowhere dense, then \overline{A} is nowhere dense.

(25) If A is nowhere dense, then A is not dense.

(26) If B is nowhere dense and A ⊆ B, then A is nowhere dense.

(27) A is nowhere dense if and only if there exists a subset C of X such that A ⊆ C and C is closed and C is boundary.

(28) A is nowhere dense if and only if for every subset G of X such that G ≠ ∅ and G is open there exists a subset H of X such that H ⊆ G and H ≠ ∅ and H is open and A ∩ H = ∅.

(29) If A is nowhere dense or B is nowhere dense, then A ∩ B is nowhere dense.

(30) If A is nowhere dense and B is boundary, then A ∪ B is boundary.

Let X be a topological space. A subset of X is everywhere dense if: (Def.4) \overline{Int it} = Ω_{X}. Let X be a topological space. Let us observe that a subset of X is everywhere dense if: (Def.5) \overline{Int it} = the carrier of X.

One can prove the following propositions:

(31) Ω_{X} is everywhere dense.

(32) If A is everywhere dense, then Int A is everywhere dense.

(33) If A is everywhere dense, then A is dense.

(34) If A is everywhere dense, then A ≠ ∅.

(35) A is everywhere dense if and only if Int A is dense.

(36) If A is open and A is dense, then A is everywhere dense.

(37) If A is everywhere dense, then A is not boundary.

(38) If A is everywhere dense and A ⊆ B, then B is everywhere dense.

(39) A is everywhere dense if and only if A^{c} is nowhere dense.

(40) A is nowhere dense if and only if A^{c} is everywhere dense.

(41) A is everywhere dense if and only if there exists a subset C of X such that C ⊆ A and C is open and C is dense.

(42) A is everywhere dense if and only if for every subset F of X such that F ≠ the carrier of X and F is closed there exists a subset H of X such that F ⊆ H and H ≠ the carrier of X and H is closed and A ∪ H = the carrier of X.

(43) If A is everywhere dense or B is everywhere dense, then A ∪ B is everywhere dense.

(44) If A is everywhere dense and B is everywhere dense, then A ∩ B is everywhere dense.

(45) If A is everywhere dense and B is dense, then A ∩ B is dense.

(46) If A is dense and B is nowhere dense, then A \ B is dense.

(47) If A is everywhere dense and B is boundary, then A \ B is dense.

(48) If A is everywhere dense and B is nowhere dense, then A \ B is every-

where dense. In the sequel D denotes a subset of X. We now state four propositions:

(49) If D is everywhere dense, then there exist subsets C, B of X such that C is open and C is dense and B is nowhere dense and C ∪ B = D and C ∩ B = ∅.

(50) If D is everywhere dense, then there exist subsets C, B of X such that C is open and C is dense and B is closed and B is boundary and C ∪ D ∩ B = D and C ∩ B = ∅ and C ∪ B = the carrier of X.

(51) If D is nowhere dense, then there exist subsets C, B of X such that C is closed and C is boundary and B is everywhere dense and C ∩ B = D and C ∪ B = the carrier of X.

(52) If D is nowhere dense, then there exist subsets C, B of X such that C is closed and C is boundary and B is open and B is dense and C ∩(D∪B) = D and C ∩ B = ∅ and C ∪ B = the carrier of X.

3. Properties of Subsets in Subspaces

In the sequel Y_{0} will denote a subspace of X. One can prove the following propositions:

(53) For every subset A of X and for every subset B of Y_{0} such that B ⊆ A holds \overline{B} ⊆ \overline{A}.

(54) For all subsets C, A of X and for every subset B of Y_{0} such that C is closed and C ⊆ the carrier of Y_{0} and A ⊆ C and A = B holds \overline{A} = \overline{B}.

(55) For every closed subspace Y_{0} of X and for every subset A of X and for every subset B of Y_{0} such that A = B holds \overline{A} = \overline{B}.

(56) For every subset A of X and for every subset B of Y_{0} such that A ⊆ B holds Int A ⊆ Int B.

(57) For all subsets C, A of X and for every subset B of Y_{0} such that C is open and C ⊆ the carrier of Y_{0} and A ⊆ C and A = B holds Int A = Int B.

(58) For every open subspace Y_{0} of X and for every subset A of X and for

every subset B of Y_{0} such that A = B holds Int A = Int B. In the sequel X_{0} denotes a subspace of X. The following propositions are

true:

(59) For every subset A of X and for every subset B of X_{0} such that A ⊆ B holds if A is dense, then B is dense.

(60) For all subsets C, A of X and for every subset B of X_{0} such that C ⊆ the carrier of X_{0} and A ⊆ C and A = B holds C is dense and B is dense if and only if A is dense.

(61) For every subset A of X and for every subset B of X_{0} such that A ⊆ B holds if A is everywhere dense, then B is everywhere dense.

(62) For all subsets C, A of X and for every subset B of X_{0} such that C is open and C ⊆ the carrier of X_{0} and A ⊆ C and A = B holds C is dense and B is everywhere dense if and only if A is everywhere dense.

(63) For every open subspace X_{0} of X and for all subsets A, C of X and for every subset B of X_{0} such that C = the carrier of X_{0} and A = B holds C is dense and B is everywhere dense if and only if A is everywhere dense.

(64) For all subsets C, A of X and for every subset B of X_{0} such that C ⊆ the carrier of X_{0} and A ⊆ C and A = B holds C is everywhere dense and B is everywhere dense if and only if A is everywhere dense.

(65) For every subset A of X and for every subset B of X_{0} such that A ⊆ B holds if B is boundary, then A is boundary.

(66) For all subsets C, A of X and for every subset B of X_{0} such that C is open and C ⊆ the carrier of X_{0} and A ⊆ C and A = B holds if A is boundary, then B is boundary.

(67) For every open subspace X_{0} of X and for every subset A of X and for every subset B of X_{0} such that A = B holds A is boundary if and only if B is boundary.

(68) For every subset A of X and for every subset B of X_{0} such that A ⊆ B holds if B is nowhere dense, then A is nowhere dense.

(69) For all subsets C, A of X and for every subset B of X_{0} such that C is open and C ⊆ the carrier of X_{0} and A ⊆ C and A = B holds if A is nowhere dense, then B is nowhere dense.

(70) For every open subspace X_{0} of X and for every subset A of X and for every subset B of X_{0} such that A = B holds A is nowhere dense if and only if B is nowhere dense.

4. Subsets in Topological Spaces with the same Topological Structures

In the sequel X_{1}, X_{2} will be topological spaces. Next we state several propositions:

(71) If the carrier of X_{1} = the carrier of X_{2}, then for every subset C_{1} of X_{1} and for every subset C_{2} of X_{2} holds C_{1} = C_{2} if and only if C_{1}^{c} = C_{2}^{c}.

(72) If the carrier of X_{1} = the carrier of X_{2} and for every subset C_{1} of X_{1} and for every subset C_{2} of X_{2} such that C_{1} = C_{2} holds C_{1} is open if and only if C_{2} is open, then the topological structure of X_{1} = the topological structure of X_{2}.

(73) If the carrier of X_{1} = the carrier of X_{2} and for every subset C_{1} of X_{1} and for every subset C_{2} of X_{2} such that C_{1} = C_{2} holds C_{1} is closed if and only if C_{2} is closed, then the topological structure of X_{1} = the topological structure of X_{2}.

(74) If the carrier of X_{1} = the carrier of X_{2} and for every subset C_{1} of X_{1} and for every subset C_{2} of X_{2} such that C_{1} = C_{2} holds Int C_{1} = Int C_{2}, then the topological structure of X_{1} = the topological structure of X_{2}.

(75) If the carrier of X_{1} = the carrier of X_{2} and for every subset C_{1} of X_{1} and for every subset C_{2} of X_{2} such that C_{1} = C_{2} holds \overline{C_{1}} = \overline{C_{2}}, then the topological structure of X_{1} = the topological structure of X_{2}.

In the sequel D_{1} is a subset of X_{1} and D_{2} is a subset of X_{2}. One can prove the following propositions:

(76) If D_{1} = D_{2} and the topological structure of X_{1} = the topological structure of X_{2}, then if D_{1} is open, then D_{2} is open.

(77) If D_{1} = D_{2} and the topological structure of X_{1} = the topological structure of X_{2}, then Int D_{1} = Int D_{2}.

(78) If D_{1} ⊆ D_{2} and the topological structure of X_{1} = the topological structure of X_{2}, then Int D_{1} ⊆ Int D_{2}.

(79) If D_{1} = D_{2} and the topological structure of X_{1} = the topological structure of X_{2}, then if D_{1} is closed, then D_{2} is closed.

(80) If D_{1} = D_{2} and the topological structure of X_{1} = the topological structure of X_{2}, then \overline{D_{1}} = \overline{D_{2}}.

(81) If D_{1} ⊆ D_{2} and the topological structure of X_{1} = the topological structure of X_{2}, then \overline{D_{1}} ⊆ \overline{D_{2}}.

(82) If D_{2} ⊆ D_{1} and the topological structure of X_{1} = the topological structure of X_{2}, then if D_{1} is boundary, then D_{2} is boundary.

(83) If D_{1} ⊆ D_{2} and the topological structure of X_{1} = the topological structure of X_{2}, then if D_{1} is dense, then D_{2} is dense.

(84) If D_{2} ⊆ D_{1} and the topological structure of X_{1} = the topological structure of X_{2}, then if D_{1} is nowhere dense, then D_{2} is nowhere dense.

(85) If D_{1} ⊆ D_{2} and the topological structure of X_{1} = the topological structure of X_{2}, then if D_{1} is everywhere dense, then D_{2} is everywhere dense.

References

[1] Zbigniew Karno. Separated and weakly separated subspaces of topological spaces. Formalized Mathematics, 2(5):665–674, 1991.

remarks on special subsets … 303

[2] Kazimierz Kuratowski. Topology. Volume I, PWN - Polish Scientific Publishers, Academic Press, Warsaw, New York and London, 1966.

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

[4] Andrzej Trybulec. A Borsuk theorem on homotopy types. Formalized Mathematics, 2(4):535–545, 1991.

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

[6] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

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

Received April 6, 1993 304

On Discrete and Almost Discrete Topological Spaces

Zbigniew Karno Warsaw University Białystok

Summary. A topological space X is called almost discrete if every open subset of X is closed; equivalently, if every closed subset of X is open (comp. [6],[5]). Almost discrete spaces were investigated in Mizar formalism in [2]. We present here a few properties of such spaces supplementary to those given in [2].

Most interesting is the following characterization : A topological space X is almost discrete iff every nonempty subset of X is not nowhere dense. Hence, X is non almost discrete iff there is an everywhere dense subset of X different from the carrier of X. We have an analogous characterization of discrete spaces : A topological space X is discrete iff every nonempty subset of X is not boundary. Hence, X is non discrete iff there is a dense subset of X different from the carrier of X. It is well known that the class of all almost discrete spaces contains both the class of discrete spaces and the class of anti-discrete spaces (see e.g., [2]). Observations presented here show that the class of all almost discrete non discrete spaces is not contained in the class of anti-discrete spaces and the class of all almost discrete non anti-discrete spaces is not contained in the class of discrete spaces. Moreover, the class of almost discrete non discrete non anti-discrete spaces is nonempty. To analyse these interdependencies we use various examples of topological spaces constructed here in Mizar formalism.

MML Identifier: TEX 1.

The papers [12], [14], [9], [11], [7], [13], [8], [15], [10], [4], [1], [2], and [3] provide the notation and terminology for this paper.

1. Properties of Subsets of a Topological Space with Modified Topology

In the sequel X will be a topological space and D will be a subset of X. One can prove the following propositions:

(1) For every subset B of X and for every subset C of the X modified w.r.t. D such that B = C holds if B is open, then C is open.

(2) For every subset B of X and for every subset C of the X modified w.r.t. D such that B = C holds if B is closed, then C is closed.

(3) For every subset C of the X modified w.r.t. D^{c} such that C = D holds C is closed.

(4) For every subset C of the X modified w.r.t. D such that C = D holds if D is dense, then C is dense and C is open.

(5) For every subset C of the X modified w.r.t. D such that D ⊆ C holds if D is dense, then C is everywhere dense.

(6) For every subset C of the X modified w.r.t. D^{c} such that C = D holds if D is boundary, then C is boundary and C is closed.

(7) For every subset C of the X modified w.r.t. D^{c} such that C ⊆ D holds if D is boundary, then C is nowhere dense.

2. Trivial Topological Spaces

Let us observe that a 1-sorted structure is trivial if: (Def.1) there exists an element d of the carrier of it such that the carrier of

it = {d}. One can verify the following observations:

∗ there exists a 1-sorted structure which is trivial and strict,

∗ there exists a 1-sorted structure which is non trivial and strict,

∗ there exists a topological structure which is trivial and strict, and

∗ there exists a non trivial strict topological structure. One can prove the following proposition

(8) For every Y being a trivial topological structure such that the topology of Y is non-empty holds if Y is almost discrete, then Y is topological space-like.

One can verify the following observations:

∗ there exists a trivial strict topological space,

∗ every topological space which is trivial is also anti-discrete and discrete,

∗ every discrete anti-discrete topological space is trivial,

∗ there exists a topological space which is non trivial and strict,

∗ every non discrete topological space is non trivial, and

∗ every non anti-discrete topological space is non trivial.

3. Examples of Discrete and Anti-discrete Topological Spaces

We now define two new functors. Let D be a set. The functor 2_{∗}^{D} yielding a non-empty family of subsets of D is defined by: (Def.2) 2_{∗}^{D} = {∅, D}. Let D be a non-empty set. The functor ADTS(D) yields an anti-discrete strict topological space and is defined as follows: (Def.3) ADTS(D) = ⟨D, 2_{∗}^{D}⟩.

We now state several propositions:

(9) For every anti-discrete topological space X holds the topological structure of X = ADTS(the carrier of X).

(10) For every topological space X such that the topological structure of X = the topological structure of ADTS(the carrier of X) holds X is anti-discrete.

(11) For every anti-discrete topological space X and for every subset A of X holds if A is empty, then \overline{A} = ∅ and also if A is non-empty, then \overline{A} = the carrier of X.

(12) For every anti-discrete topological space X and for every subset A of X holds if A ≠ the carrier of X, then Int A = ∅ and also if A = the carrier of X, then Int A = the carrier of X.

(13) For every topological space X if for every subset A of X such that A is non-empty holds \overline{A} = the carrier of X, then X is anti-discrete.

(14) For every topological space X if for every subset A of X such that A ≠ the carrier of X holds Int A = ∅, then X is anti-discrete.

(15) For every anti-discrete topological space X and for every subset A of X holds if A ≠ ∅, then A is dense and also if A ≠ the carrier of X, then A is boundary.

(16) For every topological space X if for every subset A of X such that A ≠ ∅ holds A is dense, then X is anti-discrete.

(17) For every topological space X if for every subset A of X such that

A ≠ the carrier of X holds A is boundary, then X is anti-discrete. Let D be a set. Then 2^{D} is a non-empty family of subsets of D. Let D be a

non-empty set. The functor DTS(D) yielding a discrete strict topological space is defined by: (Def.4) DTS(D) = ⟨D, 2^{D}⟩.

One can prove the following propositions:

(18) For every discrete topological space X holds the topological structure of X = DTS(the carrier of X).

(19) For every topological space X such that the topological structure of X = the topological structure of DTS(the carrier of X) holds X is discrete.

(20) For every discrete topological space X and for every subset A of X holds \overline{A} = A and Int A = A.

(21) For every topological space X if for every subset A of X holds \overline{A} = A, then X is discrete.

(22) For every topological space X if for every subset A of X holds Int A = A, then X is discrete.

(23) For every non-empty set D holds ADTS(D) = DTS(D) if and only if

there exists an element d_{0} of D such that D = {d_{0}}. Let us note that there exists a discrete non anti-discrete strict topological

space and there exists an anti-discrete non discrete strict topological space.

4. An Example of a Topological Space

Let D be a set, and let F be a family of subsets of D, and let S be a set. Then F \ S is a family of subsets of D. Let D be a non-empty set, and let d_{0} be an element of D. The functor STS(D, d_{0}) yields a strict topological space and is defined as follows: (Def.5) STS(D, d_{0}) = ⟨D, 2^{D} \ {A : d_{0} ∈ A ∧ A ≠ D}⟩, where A ranges over

subsets of D. In the sequel D denotes a non-empty set and d_{0} denotes an element of D.

One can prove the following propositions:

(24) For every subset A of STS(D, d_{0}) holds if {d_{0}} ⊆ A, then A is closed and also if A is non-empty and A is closed, then {d_{0}} ⊆ A.

(25) If D \ {d_{0}} is non-empty, then for every subset A of STS(D, d_{0}) holds if A = {d_{0}}, then A is closed and A is boundary and also if A is non-empty and A is closed and A is boundary, then A = {d_{0}}.

(26) For every subset A of STS(D, d_{0}) holds if A ⊆ D \ {d_{0}}, then A is open and also if A ≠ D and A is open, then A ⊆ D \ {d_{0}}.

(27) If D \ {d_{0}} is non-empty, then for every subset A of STS(D, d_{0}) holds if A = D \ {d_{0}}, then A is open and A is dense and also if A ≠ D and A is open and A is dense, then A = D \ {d_{0}}.

Let us observe that there exists a non anti-discrete non discrete strict topological space.

The following propositions are true:

(28) For every topological space Y holds the topological structure of Y = the topological structure of STS(D, d_{0}) if and only if the carrier of Y = D and for every subset A of Y holds if {d_{0}} ⊆ A, then A is closed and also if A is non-empty and A is closed, then {d_{0}} ⊆ A.

(29) For every topological space Y holds the topological structure of Y = the topological structure of STS(D, d_{0}) if and only if the carrier of Y = D and for every subset A of Y holds if A ⊆ D \ {d_{0}}, then A is open and also if A ≠ D and A is open, then A ⊆ D \ {d_{0}}.

(30) For every topological space Y holds the topological structure of Y = the topological structure of STS(D, d_{0}) if and only if the carrier of Y = D and for every non-empty subset A of Y holds \overline{A} = A ∪ \{d_{0}\}.

(31) For every topological space Y holds the topological structure of Y = the topological structure of STS(D, d_{0}) if and only if the carrier of Y = D and for every subset A of Y such that A ≠ D holds Int A = A \ {d_{0}}.

(32) STS(D, d_{0}) = ADTS(D) if and only if D = {d_{0}}.

(33) STS(D, d_{0}) = DTS(D) if and only if D = {d_{0}}.

(34) For every non-empty set D and for every element d_{0} of D and for every subset A of STS(D, d_{0}) such that A = {d_{0}} holds DTS(D) = the STS(D, d_{0}) modified w.r.t. A.

5. Discrete and Almost Discrete Spaces

Let us observe that a topological space is discrete if: (Def.6) for every non-empty subset A of it holds A is not boundary.

We now state the proposition

(35) X is discrete if and only if for every subset A of X such that A ≠ the

carrier of X holds A is not dense. One can verify that every non almost discrete topological space is non discrete

and non anti-discrete.

Let us observe that a topological space is almost discrete if: (Def.7) for every non-empty subset A of it holds A is not nowhere dense.

Next we state three propositions:

(36) X is almost discrete if and only if for every subset A of X such that A ≠ the carrier of X holds A is everywhere dense.

(37) X is non almost discrete if and only if there exists a non-empty subset A of X such that A is boundary and A is closed.

(38) X is non almost discrete if and only if there exists a subset A of X such

that A ≠ the carrier of X and A is dense and A is open. One can verify that there exists an almost discrete non discrete non anti-

discrete strict topological space.

Next we state the proposition

(39) For every non-empty set C and for every element c_{0} of C holds C \ {c_{0}}

is non-empty if and only if STS(C, c_{0}) is non almost discrete. Let us observe that there exists a non almost discrete strict topological space. We now state two propositions:

(40) For every non-empty subset A of X such that A is boundary holds the X modified w.r.t. A^{c} is non almost discrete.

310 zbigniew karno

(41) For every subset A of X such that A ≠ the carrier of X and A is dense holds the X modified w.r.t. A is non almost discrete.

Acknowledgments

The author wishes to thank to Professor A. Trybulec for many helpful conversations during the preparation of this paper.

References

[1] Zbigniew Karno. Continuity of mappings over the union of subspaces. Formalized Mathematics, 3(1):1–16, 1992.

[2] Zbigniew Karno. The lattice of domains of an extremally disconnected space. Formalized Mathematics, 3(2):143–149, 1992.

[3] Zbigniew Karno. Remarks on special subsets of topological spaces. Formalized Mathematics, 3(2):297–303, 1992.

[4] Zbigniew Karno. Separated and weakly separated subspaces of topological spaces. Formalized Mathematics, 2(5):665–674, 1991.

[5] Kazimierz Kuratowski. Topology. Volume II, PWN - Polish Scientific Publishers, Academic Press, Warsaw, New York and London, 1968.

[6] Kazimierz Kuratowski. Topology. Volume I, PWN - Polish Scientific Publishers, Academic Press, Warsaw, New York and London, 1966.

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

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

[9] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 1990.

[10] Andrzej Trybulec. A Borsuk theorem on homotopy types. Formalized Mathematics, 2(4):535–545, 1991.

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

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

[13] Wojciech A. Trybulec and Michał J. Trybulec. Homomorphisms and isomorphisms of groups. Quotient group. Formalized Mathematics, 2(4):573–578, 1991.

[14] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

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

Received April 6, 1993

on discrete and almost discrete … 311

alalalalalal alalalalalalal

Index of MML Identifiers

AMI 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151 AMI 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241 CAT 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161 COH SP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255 FIN TOPO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 FVSUM 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 JORDAN1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 LMOD 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289 MEASURE5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 MONOID 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 MONOID 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 PETRI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 PRVECT 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 RFINSEQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 RFUNCT 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 RLVECT 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 TDLAT 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 TEX 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305 TOPS 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .297 TREES 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 TSEP 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177 UNIALG 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 VFUNCT 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

Contents Form. Math. 3 (2)

The Jordan’s Property for Certain Subsets of the Plane

By Yatsuka Nakamura and Jarosław Kotowicz . . . . . . . . 137

The Lattice of Domains of an Extremally Disconnected Space

By Zbigniew Karno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

A Mathematical Model of CPU

By Yatsuka Nakamura and Andrzej Trybulec . . . . . . . . . . 151

Cartesian Categories

By Czesław Byliński . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

Algebra of Vector Functions

By Hiroshi Yamazaki and Yasunari Shidama . . . . . . . . . . . . . 171

On a Duality Between Weakly Separated Subspaces of Topological Spaces

By Zbigniew Karno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

Basic Petri Net Concepts

By Pauline N. Kawamoto et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

Finite Topological Spaces

By Hiroshi Imura and Masayoshi Eguchi . . . . . . . . . . . . . . . . . 189

Sets and Functions of Trees and Joining Operations of Trees

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

Sum and Product of Finite Sequences of Elements of a Field

By Katarzyna Zawadzka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

Monoids

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

Monoid of Multisets and Subsets

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

Continued on inside back cover

Product of Families of Groups and Vector Spaces

By Anna Lango and Grzegorz Bancerek . . . . . . . . . . . . . . . . 235

On a Mathematical Model of Programs

By Yatsuka Nakamura and Andrzej Trybulec . . . . . . . . . . 241

Basic Notation of Universal Algebra

By Jarosław Kotowicz et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

Coherent Space

By Jarosław Kotowicz and Konrad Raczkowski . . . . . . . 255

Properties of the Intervals of Real Numbers

By Białas Józef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

Subspaces of Real Linear Space Generated by One, Two, or Three Vectors and Their Cosets

By Wojciech A. Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

Functions and Finite Sequences of Real Numbers

By Jarosław Kotowicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

Properties of Partial Functions from a Domain to the Set of Real Numbers

By Jarosław Kotowicz and Yuji Sakai . . . . . . . . . . . . . . . . . . 279

Domains of Submodules, Join and Meet of Finite Sequences of Submodules and Quotient Modules

By Michał Muzalewski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

Remarks on Special Subsets of Topological Spaces

By Zbigniew Karno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

On Discrete and Almost Discrete Topological Spaces

By Zbigniew Karno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

Index of MML Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312