FORMALIZED MATHEMATICS Volume 13, Number 2, Pages 199–219 University of Białystok, 2005

The Fashoda Meet Theorem for Rectangles

Yatsuka Nakamura Shinshu University Nagano, Japan

Andrzej Trybulec Institute of Computer Science University of Białystok Sosnowa 64, 15-887 Białystok Poland

Summary. Here, the so called Fashoda Meet Theorem is proven in the case of rectangles. All cases of proper location of arcs are listed up, and it is shown that the theorem is valid in each case. Such a list of cases will be useful when one wants to apply the theorem.

MML identifier: JGRAPH 7, version: 7.5.01 4.39.921

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

One can prove the following propositions:

(1) For all real numbers a, b, d and for every point p of E_{T}^{2} such that a < b and p_{2} = d and a ≤ p_{1} and p_{1} ≤ b holds p ∈ L([a, d], [b, d]).

(2) Let n be a natural number, P be a subset of E_{T}^{n}, and p_{1}, p_{2} be points of E_{T}^{n}. Suppose P is an arc from p_{1} to p_{2}. Then there exists a map f from 𝕀 into E_{T}^{n} such that f is continuous and one-to-one and rng f = P and f(0) = p_{1} and f(1) = p_{2}.

(3) Let p_{1}, p_{2} be points of E_{T}^{2} and b, c, d be real numbers. If (p_{1})_{1} < b and (p_{1})_{1} = (p_{2})_{1} and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d, then p_{1} ≤_{Rectangle((p_{1})_{1},b,c,d)} p_{2}.

(4) Let p_{1}, p_{2} be points of E_{T}^{2} and b, c be real numbers. Suppose (p_{1})_{1} < b and c < (p_{2})_{2} and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ (p_{2})_{2} and (p_{1})_{1} ≤ (p_{2})_{1} and (p_{2})_{1} ≤ b. Then p_{1} ≤_{Rectangle((p_{1})_{1},b,c,(p_{2})_{2})} p_{2}.

(5) Let p_{1}, p_{2} be points of E_{T}^{2} and c, d be real numbers. Suppose (p_{1})_{1} < (p_{2})_{1} and c < d and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and c ≤ (p_{2})_{2} and (p_{2})_{2} ≤ d. Then p_{1} ≤_{Rectangle((p_{1})_{1},(p_{2})_{1},c,d)} p_{2}.

200 yatsuka nakamura and andrzej trybulec

(6) Let p_{1}, p_{2} be points of E_{T}^{2} and b, d be real numbers. If (p_{2})_{2} < d and (p_{2})_{2} ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b, then p_{1} ≤_{Rectangle((p_{1})_{1},b,(p_{2})_{2},d)} p_{2}.

(7) Let p_{1}, p_{2} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b. Then p_{1} ≤_{Rectangle(a,b,c,d)} p_{2}.

(8) Let p_{1}, p_{2} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{1} = b and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and c ≤ (p_{2})_{2} and (p_{2})_{2} ≤ d. Then p_{1} ≤_{Rectangle(a,b,c,d)} p_{2}.

(9) Let p_{1}, p_{2} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and a < (p_{2})_{1} and (p_{2})_{1} ≤ b. Then p_{1} ≤_{Rectangle(a,b,c,d)} p_{2}.

(10) Let p_{1}, p_{2} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = b and (p_{2})_{1} = b and c ≤ (p_{2})_{2} and (p_{2})_{2} < (p_{1})_{2} and (p_{1})_{2} ≤ d. Then p_{1} ≤_{Rectangle(a,b,c,d)} p_{2}.

(11) Let p_{1}, p_{2} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = b and (p_{2})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a < (p_{2})_{1} and (p_{2})_{1} ≤ b. Then p_{1} ≤_{Rectangle(a,b,c,d)} p_{2}.

(12) Let p_{1}, p_{2} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = c and (p_{2})_{2} = c and a < (p_{2})_{1} and (p_{2})_{1} < (p_{1})_{1} and (p_{1})_{1} ≤ b. Then p_{1} ≤_{Rectangle(a,b,c,d)} p_{2}.

(13) Let p_{1}, p_{2} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{1} = b and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and c ≤ (p_{2})_{2} and (p_{2})_{2} ≤ d. Then p_{1} ≤_{Rectangle(a,b,c,d)} p_{2}.

(14) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = a and (p_{4})_{1} = a and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} < (p_{3})_{2} and (p_{3})_{2} < (p_{4})_{2} and (p_{4})_{2} ≤ d. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(15) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = a and (p_{4})_{2} = d and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and a ≤ (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(16) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = a and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and c ≤ (p_{4})_{2} and (p_{4})_{2} ≤ d. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(17) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = a and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(18) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{2} = d and (p_{4})_{2} = d and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a ≤ (p_{3})_{1} and (p_{3})_{1} < (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(19) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{2} = d and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a ≤ (p_{3})_{1} and (p_{3})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} ≤ d. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(20) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{2} = d and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a ≤ (p_{3})_{1} and (p_{3})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(21) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = b and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and c ≤ (p_{4})_{2} and (p_{4})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(22) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = b and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and c ≤ (p_{3})_{2} and (p_{3})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(23) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(24) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{2} = d and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} < (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(25) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} ≤ d. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(26) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(27) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{1} = b and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(28) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}. Suppose (p_{1})_{1} ≠ (p_{3})_{1} and (p_{4})_{2} ≠ (p_{2})_{2} and (p_{4})_{2} ≤ (p_{1})_{2} and (p_{1})_{2} ≤ (p_{2})_{2} and (p_{1})_{1} ≤ (p_{2})_{1} and (p_{2})_{1} ≤ (p_{3})_{1} and (p_{4})_{2} ≤ (p_{3})_{2} and (p_{3})_{2} ≤ (p_{2})_{2} and (p_{1})_{1} < (p_{4})_{1} and (p_{4})_{1} ≤ (p_{3})_{1}. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle((p_{1})_{1}, (p_{3})_{1}, (p_{4})_{2}, (p_{2})_{2}).

(29) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(30) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and d ≥ (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} > (p_{4})_{2} and (p_{4})_{2} ≥ c. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(31) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and d ≥ (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} ≥ c and a < (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(32) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = b and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and c ≤ (p_{2})_{2} and (p_{2})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(33) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = c and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on

Rectangle(a, b, c, d).

(34) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{2} = d and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} < (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(35) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{1} = b and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} ≤ d. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(36) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(37) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{1} = b and (p_{4})_{1} = b and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(38) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{1} = b and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and c ≤ (p_{3})_{2} and (p_{3})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(39) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{2} = c and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(40) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{1} = b and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and d ≥ (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} > (p_{4})_{2} and (p_{4})_{2} ≥ c. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(41) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and d ≥ (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} ≥ c and a < (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(42) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{1} = b and (p_{3})_{2} = c and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and c ≤ (p_{2})_{2} and (p_{2})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(43) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = c and (p_{3})_{2} = c and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(44) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = b and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{1} = b and d ≥ (p_{1})_{2} and (p_{1})_{2} > (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} > (p_{4})_{2} and (p_{4})_{2} ≥ c. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(45) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = b and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{2} = c and d ≥ (p_{1})_{2} and (p_{1})_{2} > (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} ≥ c and a < (p_{4})_{1} and (p_{4})_{1} ≤ b. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(46) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = b and (p_{2})_{1} = b and (p_{3})_{2} = c and (p_{4})_{2} = c and d ≥ (p_{1})_{2} and (p_{1})_{2} > (p_{2})_{2} and (p_{2})_{2} ≥ c and b ≥ (p_{3})_{1} and (p_{3})_{1} > (p_{4})_{1} and (p_{4})_{1} > a. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(47) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{1} = b and (p_{2})_{2} = c and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and b ≥ (p_{2})_{1} and (p_{2})_{1} > (p_{3})_{1} and (p_{3})_{1} > (p_{4})_{1} and (p_{4})_{1} > a. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(48) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2} and a, b, c, d be real numbers. Suppose a < b and c < d and (p_{1})_{2} = c and (p_{2})_{2} = c and (p_{3})_{2} = c and (p_{4})_{2} = c and b ≥ (p_{1})_{1} and (p_{1})_{1} > (p_{2})_{1} and (p_{2})_{1} > (p_{3})_{1} and (p_{3})_{1} > (p_{4})_{1} and (p_{4})_{1} > a. Then p_{1}, p_{2}, p_{3}, p_{4} are in this order on Rectangle(a, b, c, d).

(49) Let A, B, C, D be real numbers and h, g be maps from E_{T}^{2} into E_{T}^{2}. Suppose A > 0 and C > 0 and h = AffineMap(A, B, C, D) and g = AffineMap(\frac{1}{A}, −\frac{B}{A}, \frac{1}{C} , −\frac{D}{C}). Then g = h^{−1} and h = g^{−1}.

(50) Let A, B, C, D be real numbers and h be a map from E_{T}^{2} into E_{T}^{2}. Suppose A > 0 and C > 0 and h = AffineMap(A, B, C, D). Then h is a homeomorphism and for all points p_{1}, p_{2} of E_{T}^{2} such that (p_{1})_{1} < (p_{2})_{1} holds h(p_{1})_{1} < h(p_{2})_{1}.

(51) Let A, B, C, D be real numbers and h be a map from E_{T}^{2} into E_{T}^{2}. Suppose A > 0 and C > 0 and h = AffineMap(A, B, C, D). Then h is a homeomorphism and for all points p_{1}, p_{2} of E_{T}^{2} such that (p_{1})_{2} < (p_{2})_{2} holds h(p_{1})_{2} < h(p_{2})_{2}.

(52) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, and f be a map from 𝕀 into E_{T}^{2}. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng(h · f) ⊆ ClosedInsideOfRectangle(−1, 1, −1, 1).

(53) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, and f be a map from 𝕀 into E_{T}^{2}. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and f is continuous and one-to-one. Then h · f is continuous and one-to-one.

(54) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and O be a point of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and f(O)_{1} = a. Then (h · f)(O)_{1} = −1.

(55) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and I be a point of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and f(I)_{2} = d. Then (h · f)(I)_{2} = 1.

(56) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and I be a point of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and f(I)_{1} = b. Then (h · f)(I)_{1} = 1.

(57) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and I be a point of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and f(I)_{2} = c. Then (h · f)(I)_{2} = −1.

(58) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and O, I be points of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and c ≤ f(O)_{2} and f(O)_{2} < f(I)_{2} and f(I)_{2} ≤ d. Then −1 ≤ (h · f)(O)_{2} and (h · f)(O)_{2} < (h · f)(I)_{2} and (h · f)(I)_{2} ≤ 1.

(59) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and O, I be points of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and c ≤ f(O)_{2} and f(O)_{2} ≤ d and a ≤ f(I)_{1} and f(I)_{1} ≤ b. Then −1 ≤ (h · f)(O)_{2} and (h · f)(O)_{2} ≤ 1 and −1 ≤ (h · f)(I)_{1} and (h · f)(I)_{1} ≤ 1.

(60) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and O, I be points of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and c ≤ f(O)_{2} and f(O)_{2} ≤ d and c ≤ f(I)_{2} and f(I)_{2} ≤ d. Then −1 ≤ (h · f)(O)_{2} and (h · f)(O)_{2} ≤ 1 and −1 ≤ (h · f)(I)_{2} and (h · f)(I)_{2} ≤ 1.

(61) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and O, I be points of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and c ≤ f(O)_{2} and f(O)_{2} ≤ d and a < f(I)_{1} and f(I)_{1} ≤ b. Then −1 ≤ (h · f)(O)_{2} and (h · f)(O)_{2} ≤ 1 and −1 < (h · f)(I)_{1} and (h · f)(I)_{1} ≤ 1.

(62) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and O, I be points of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and a ≤ f(O)_{1} and f(O)_{1} < f(I)_{1} and f(I)_{1} ≤ b. Then −1 ≤ (h · f)(O)_{1} and (h · f)(O)_{1} < (h · f)(I)_{1} and (h · f)(I)_{1} ≤ 1.

(63) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and O, I be points of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and a ≤ f(O)_{1} and f(O)_{1} ≤ b and c ≤ f(I)_{2} and f(I)_{2} ≤ d. Then −1 ≤ (h · f)(O)_{1} and (h · f)(O)_{1} ≤ 1 and −1 ≤ (h · f)(I)_{2} and (h · f)(I)_{2} ≤ 1.

(64) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and O, I be points of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and a ≤ f(O)_{1} and f(O)_{1} ≤ b and a < f(I)_{1} and f(I)_{1} ≤ b. Then −1 ≤ (h · f)(O)_{1} and (h · f)(O)_{1} ≤ 1 and −1 < (h · f)(I)_{1} and (h · f)(I)_{1} ≤ 1.

(65) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and O, I be points of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and d ≥ f(O)_{2} and f(O)_{2} > f(I)_{2} and f(I)_{2} ≥ c. Then 1 ≥ (h · f)(O)_{2} and (h · f)(O)_{2} > (h · f)(I)_{2} and (h · f)(I)_{2} ≥ −1.

(66) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and O, I be points of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and c ≤ f(O)_{2} and f(O)_{2} ≤ d and a < f(I)_{1} and f(I)_{1} ≤ b. Then −1 ≤ (h · f)(O)_{2} and (h · f)(O)_{2} ≤ 1 and −1 < (h · f)(I)_{1} and (h · f)(I)_{1} ≤ 1.

(67) Let a, b, c, d be real numbers, h be a map from E_{T}^{2} into E_{T}^{2}, f be a map from 𝕀 into E_{T}^{2}, and O, I be points of 𝕀. Suppose a < b and c < d and h = AffineMap(\frac{2}{b−a}, −\frac{b+a}{b−a}, \frac{2}{d−c}, −\frac{d+c}{d−c}) and a < f(I)_{1} and f(I)_{1} < f(O)_{1} and f(O)_{1} ≤ b. Then −1 < (h · f)(I)_{1} and (h · f)(I)_{1} < (h · f)(O)_{1} and (h · f)(O)_{1} ≤ 1.

One can prove the following propositions:

(68) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = a and (p_{4})_{1} = a and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} < (p_{3})_{2} and (p_{3})_{2} < (p_{4})_{2} and (p_{4})_{2} ≤ d and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(69) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = a and (p_{4})_{1} = a and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} < (p_{3})_{2} and (p_{3})_{2} < (p_{4})_{2} and (p_{4})_{2} ≤ d and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(70) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = a and (p_{4})_{2} = d and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and a ≤ (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(71) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = a and (p_{4})_{2} = d and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and a ≤ (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(72) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = a and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and c ≤ (p_{4})_{2} and (p_{4})_{2} ≤ d and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(73) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = a and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and c ≤ (p_{4})_{2} and (p_{4})_{2} ≤ d and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(74) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = a and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(75) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = a and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(76) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{2} = d and (p_{4})_{2} = d and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a ≤ (p_{3})_{1} and (p_{3})_{1} < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(77) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{2} = d and (p_{4})_{2} = d and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a ≤ (p_{3})_{1} and (p_{3})_{1} < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(78) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{2} = d and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a ≤ (p_{3})_{1} and (p_{3})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} ≤ d and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(79) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{2} = d and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a ≤ (p_{3})_{1} and (p_{3})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} ≤ d and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(80) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{2} = d and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a ≤ (p_{3})_{1} and (p_{3})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(81) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{2} = d and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a ≤ (p_{3})_{1} and (p_{3})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(82) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = b and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and c ≤ (p_{4})_{2} and (p_{4})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(83) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = b and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and c ≤ (p_{4})_{2} and (p_{4})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(84) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = b and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and c ≤ (p_{3})_{2} and (p_{3})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(85) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{1} = b and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and c ≤ (p_{3})_{2} and (p_{3})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(86) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(87) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = a and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(88) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{2} = d and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(89) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{2} = d and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(90) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} ≤ d and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(91) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} ≤ d and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(92) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(93) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(94) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{1} = b and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(95) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{1} = b and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(96) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{1} = b and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} ≤ b and c ≤ (p_{3})_{2} and (p_{3})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(97) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{1} = b and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} ≤ b and c ≤ (p_{3})_{2} and (p_{3})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(98) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(99) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = d and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a ≤ (p_{2})_{1} and (p_{2})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(100) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and c ≤ (p_{4})_{2} and (p_{4})_{2} < (p_{3})_{2} and (p_{3})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(101) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{1} = b and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and c ≤ (p_{4})_{2} and (p_{4})_{2} < (p_{3})_{2} and (p_{3})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(102) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and c ≤ (p_{3})_{2} and (p_{3})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(103) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and c ≤ (p_{3})_{2} and (p_{3})_{2} < (p_{2})_{2} and (p_{2})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(104) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = b and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and c ≤ (p_{2})_{2} and (p_{2})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(105) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{1} = b and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and c ≤ (p_{2})_{2} and (p_{2})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(106) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = c and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(107) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = a and (p_{2})_{2} = c and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d)

and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(108) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{2} = d and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(109) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{2} = d and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(110) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{1} = b and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} ≤ d and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(111) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{1} = b and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} ≤ d and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(112) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(113) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{2} = d and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(114) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{1} = b and (p_{4})_{1} = b and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(115) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{1} = b and (p_{4})_{1} = b and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and c ≤ (p_{4})_{2} and (p_{4})_{2} < (p_{3})_{2} and (p_{3})_{2} ≤ d and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(116) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{1} = b and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and c ≤ (p_{3})_{2} and (p_{3})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(117) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{1} = b and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and c ≤ (p_{3})_{2} and (p_{3})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(118) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{2} = c and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(119) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = d and (p_{3})_{2} = c and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(120) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{1} = b and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and d ≥ (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} > (p_{4})_{2} and (p_{4})_{2} ≥ c and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(121) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{1} = b and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and d ≥ (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} > (p_{4})_{2} and (p_{4})_{2} ≥ c and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(122) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and d ≥ (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} ≥ c and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(123) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and d ≥ (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} ≥ c and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(124) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{1} = b and (p_{3})_{2} = c and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and c ≤ (p_{2})_{2} and (p_{2})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(125) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{1} = b and (p_{3})_{2} = c and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and c ≤ (p_{2})_{2} and (p_{2})_{2} ≤ d and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(126) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = c and (p_{3})_{2} = c and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(127) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = d and (p_{2})_{2} = c and (p_{3})_{2} = c and (p_{4})_{2} = c and a ≤ (p_{1})_{1} and (p_{1})_{1} ≤ b and a < (p_{4})_{1} and (p_{4})_{1} < (p_{3})_{1} and (p_{3})_{1} < (p_{2})_{1} and (p_{2})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(128) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = b and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{1} = b and d ≥ (p_{1})_{2} and (p_{1})_{2} > (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} > (p_{4})_{2} and (p_{4})_{2} ≥ c and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(129) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = b and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{1} = b and d ≥ (p_{1})_{2} and (p_{1})_{2} > (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} > (p_{4})_{2} and (p_{4})_{2} ≥ c and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(130) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = b and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{2} = c and d ≥ (p_{1})_{2} and (p_{1})_{2} > (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} ≥ c and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(131) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = b and (p_{2})_{1} = b and (p_{3})_{1} = b and (p_{4})_{2} = c and d ≥ (p_{1})_{2} and (p_{1})_{2} > (p_{2})_{2} and (p_{2})_{2} > (p_{3})_{2} and (p_{3})_{2} ≥ c and a < (p_{4})_{1} and (p_{4})_{1} ≤ b and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(132) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = b and (p_{2})_{1} = b and (p_{3})_{2} = c and (p_{4})_{2} = c and d ≥ (p_{1})_{2} and (p_{1})_{2} > (p_{2})_{2} and (p_{2})_{2} ≥ c and b ≥ (p_{3})_{1} and (p_{3})_{1} > (p_{4})_{1} and (p_{4})_{1} > a and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(133) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = b and (p_{2})_{1} = b and (p_{3})_{2} = c and (p_{4})_{2} = c and d ≥ (p_{1})_{2} and (p_{1})_{2} > (p_{2})_{2} and (p_{2})_{2} ≥ c and b ≥ (p_{3})_{1} and (p_{3})_{1} > (p_{4})_{1} and (p_{4})_{1} > a and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(134) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = b and (p_{2})_{2} = c and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and b ≥ (p_{2})_{1} and (p_{2})_{1} > (p_{3})_{1} and (p_{3})_{1} > (p_{4})_{1} and (p_{4})_{1} > a and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(135) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{1} = b and (p_{2})_{2} = c and (p_{3})_{2} = c and (p_{4})_{2} = c and c ≤ (p_{1})_{2} and (p_{1})_{2} ≤ d and b ≥ (p_{2})_{1} and (p_{2})_{1} > (p_{3})_{1} and (p_{3})_{1} > (p_{4})_{1} and (p_{4})_{1} > a and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

(136) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and f, g be maps from 𝕀 into E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = c and (p_{2})_{2} = c and (p_{3})_{2} = c and (p_{4})_{2} = c and b ≥ (p_{1})_{1} and (p_{1})_{1} > (p_{2})_{1} and

the fashoda meet theorem for rectangles 219

(p_{2})_{1} > (p_{3})_{1} and (p_{3})_{1} > (p_{4})_{1} and (p_{4})_{1} > a and f(0) = p_{1} and f(1) = p_{3} and g(0) = p_{2} and g(1) = p_{4} and f is continuous and one-to-one and g is continuous and one-to-one and rng f ⊆ ClosedInsideOfRectangle(a, b, c, d) and rng g ⊆ ClosedInsideOfRectangle(a, b, c, d). Then rng f meets rng g.

(137) Let p_{1}, p_{2}, p_{3}, p_{4} be points of E_{T}^{2}, a, b, c, d be real numbers, and P, Q be subsets of E_{T}^{2}. Suppose that a < b and c < d and (p_{1})_{2} = c and (p_{2})_{2} = c and (p_{3})_{2} = c and (p_{4})_{2} = c and b ≥ (p_{1})_{1} and (p_{1})_{1} > (p_{2})_{1} and (p_{2})_{1} > (p_{3})_{1} and (p_{3})_{1} > (p_{4})_{1} and (p_{4})_{1} > a and P is an arc from p_{1} to p_{3} and Q is an arc from p_{2} to p_{4} and P ⊆ ClosedInsideOfRectangle(a, b, c, d) and Q ⊆ ClosedInsideOfRectangle(a, b, c, d). Then P meets Q.

References

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

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

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

[4] Czesław Byliński and Piotr Rudnicki. Bounding boxes for compact sets in E^{2}. Formalized Mathematics, 6(3):427–440, 1997.

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

[6] Agata Darmochwał. The Euclidean space. Formalized Mathematics, 2(4):599–603, 1991.

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

[8] 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.

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

[10] Artur Korniłowicz. The ordering of points on a curve. Part III. Formalized Mathematics, 10(3):169–171, 2002.

[11] Yatsuka Nakamura. On Outside Fashoda Meet Theorem. Formalized Mathematics, 9(4):697–704, 2001.

[12] Yatsuka Nakamura. General Fashoda meet theorem for unit circle and square. Formalized Mathematics, 11(3):213–224, 2003.

[13] Yatsuka Nakamura and Andrzej Trybulec. A decomposition of a simple closed curves and the order of their points. Formalized Mathematics, 6(4):563–572, 1997.

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

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

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

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

Received January 3, 2005 220 yatsuka nakamura and andrzej trybulec

Preliminaries to Mathematical Morphology and Its Properties

Yuzhong Ding QingDao Science and Technology University China

Xiquan Liang QingDao Science and Technology University China

Summary. The article is a translation of chapter 2 of the book Mathematical Morphological Method and Application by Changqing Tang, Hongbo Lu, Zheng Huang, Fang Zhang, Science Press, China, 1990. In this article, the basic mathematical morphological operators such as Erosion, Dilation, Adjunction Opening, Adjunction Closing and their properties are given. And these operators are usually used in processing and analysing the images.

      MML identifier: MATHMORP, version: 7.5.01 4.39.921

The terminology and notation used here are introduced in the following articles: [5], [1], [2], [6], [4], and [3].

1. The Definition of Erosion and Dilation and Their Algebraic Properties

In this paper n denotes a natural number and q, y, b denote points of E_{T}^{n}. Let us consider n, let p be a point of E_{T}^{n}, and let X be a subset of E_{T}^{n}. The

functor X + p yielding a subset of E_{T}^{n} is defined by: (Def. 1) X + p = {q + p : q ∈ X}.

Let us consider n and let X be a subset of E_{T}^{n}. The functor X! yielding a subset of E_{T}^{n} is defined as follows:

(Def. 2) X! = {−q : q ∈ X}.

Let us consider n and let X, B be subsets of E_{T}^{n}. The functor X ⊖ B yields a subset of E_{T}^{n} and is defined as follows:

(Def. 3) X ⊖ B = {y : B + y ⊆ X}.

Let us consider n and let X, B be subsets of E_{T}^{n}. The functor X ⊕ B yields a subset of E_{T}^{n} and is defined as follows:

(Def. 4) X ⊕ B = {y + b : y ∈ X ∧ b ∈ B}.

We follow the rules: n is a natural number, X, Y, Z, B, C, B_{1}, B_{2} are subsets of E_{T}^{n}, and x, y, p are points of E_{T}^{n}.

One can prove the following propositions:

(1) B!! = B.

(2) {0_{E_{T}^{n}}} + x = {x}.

(3) If B_{1} ⊆ B_{2}, then B_{1} + p ⊆ B_{2} + p.

(4) For every X such that X = ∅ holds X + x = ∅.

(5) X ⊖ {0_{E_{T}^{n}}} = X.

(6) X ⊕ {0_{E_{T}^{n}}} = X.

(7) X ⊕ {x} = X + x.

(8) For all X, Y such that Y = ∅ holds X ⊖ Y = R^{n}.

(9) If X ⊆ Y, then X ⊖ B ⊆ Y ⊖ B and X ⊕ B ⊆ Y ⊕ B.

(10) If B_{1} ⊆ B_{2}, then X ⊖ B_{2} ⊆ X ⊖ B_{1} and X ⊕ B_{1} ⊆ X ⊕ B_{2}.

(11) If 0_{E_{T}^{n}} ∈ B, then X ⊖ B ⊆ X and X ⊆ X ⊕ B.

(12) X ⊕ Y = Y ⊕ X.

(13) Y + y ⊆ X + x iff Y + (y − x) ⊆ X.

(14) (X + p) ⊖ Y = X ⊖ Y + p.

(15) (X + p) ⊕ Y = X ⊕ Y + p.

(16) (X + x) + y = X + (x + y).

(17) X ⊖ (Y + p) = X ⊖ Y + −p.

(18) X ⊕ (Y + p) = X ⊕ Y + p.

(19) If x ∈ X, then B + x ⊆ B ⊕ X.

(20) X ⊆ (X ⊕ B) ⊖ B.

(21) X + 0_{E_{T}^{n}} = X.

(22) X ⊖ {x} = X + −x.

(23) X ⊖ (Y ⊕ Z) = X ⊖ Y ⊖ Z.

(24) X ⊖ (Y ⊕ Z) = X ⊖ Z ⊖ Y.

(25) X ⊕ (Y ⊖ Z) ⊆ (X ⊕ Y) ⊖ Z.

(26) X ⊕ (Y ⊕ Z) = (X ⊕ Y) ⊕ Z.

(27) (B ∪ C) + y = (B + y) ∪ (C + y).

(28) B ∩ C + y = (B + y) ∩ (C + y).

(29) X ⊖ (B ∪ C) = (X ⊖ B) ∩ (X ⊖ C).

(30) X ⊕ (B ∪ C) = X ⊕ B ∪ X ⊕ C.

(31) X ⊖ B ∪ Y ⊖ B ⊆ (X ∪ Y) ⊖ B.

(32) (X ∪ Y) ⊕ B = X ⊕ B ∪ Y ⊕ B.

(33) X ∩ Y ⊖ B = (X ⊖ B) ∩ (Y ⊖ B).

(34) X ∩ Y ⊕ B ⊆ (X ⊕ B) ∩ (Y ⊕ B).

(35) B ⊕ X ∩ Y ⊆ (B ⊕ X) ∩ (B ⊕ Y).

(36) B ⊖ X ∪ B ⊖ Y ⊆ B ⊖ X ∩ Y.

(37) (X^{c} ⊖ B)^{c} = X ⊕ B!.

(38) (X ⊖ B)^{c} = X^{c} ⊕ B!.

2. The Definition of Adjunction Opening and Closing and Their Algebraic Properties

Let n be a natural number and let X, B be subsets of E_{T}^{n}. The functor X ◯ B yielding a subset of E_{T}^{n} is defined by:

(Def. 5) X ◯ B = (X ⊖ B) ⊕ B.

Let n be a natural number and let X, B be subsets of E_{T}^{n}. The functor X ⊚ B yielding a subset of E_{T}^{n} is defined as follows:

(Def. 6) X ⊚ B = (X ⊕ B) ⊖ B.

We now state a number of propositions:

(39) (X^{c} ◯ B!)^{c} = X ⊚ B.

(40) (X^{c} ⊚ B!)^{c} = X ◯ B.

(41) X ◯ B ⊆ X and X ⊆ X ⊚ B.

(42) X ◯ X = X.

(43) X ◯ B ⊖ B ⊆ X ⊖ B and X ◯ B ⊕ B ⊆ X ⊕ B.

(44) X ⊖ B ⊆ X ⊚ B ⊖ B and X ⊕ B ⊆ X ⊚ B ⊕ B.

(45) If X ⊆ Y, then X ◯ B ⊆ Y ◯ B and X ⊚ B ⊆ Y ⊚ B.

(46) (X + p) ◯ Y = X ◯ Y + p.

(47) (X + p) ⊚ Y = X ⊚ Y + p.

(48) If C ⊆ B, then X ◯ B ⊆ (X ⊖ C) ⊕ B.

(49) If B ⊆ C, then X ⊚ B ⊆ (X ⊕ C) ⊖ B.

(50) X ⊕ Y = X ⊚ Y ⊕ Y and X ⊖ Y = X ◯ Y ⊖ Y.

(51) X ⊕ Y = (X ⊕ Y) ◯ Y and X ⊖ Y = (X ⊖ Y) ⊚ Y.

(52) X ◯ B ◯ B = X ◯ B.

(53) X ⊚ B ⊚ B = X ⊚ B.

(54) X ◯ B ⊆ (X ∪ Y) ◯ B.

(55) If B = B ◯ B_{1}, then X ◯ B ⊆ X ◯ B_{1}.

3. The Definition of Scaling Transformation and Its Algebraic Properties

In the sequel a is a point of E_{T}^{n}.

Let t be a real number, let us consider n, and let A be a subset of E_{T}^{n}. The functor t ⊙ A yields a subset of E_{T}^{n} and is defined as follows:

(Def. 7) t ⊙ A = {t · a : a ∈ A}.

In the sequel t, s denote real numbers.

One can prove the following propositions:

(56) For every subset X of E_{T}^{n} such that X = ∅ holds 0 ⊙ X = ∅.

(57) For every non empty subset X of E_{T}^{n} holds 0 ⊙ X = {0_{E_{T}^{n}}}.

(58) 1 ⊙ X = X.

(59) 2 ⊙ X ⊆ X ⊕ X.

(60) (t · s) ⊙ X = t ⊙ (s ⊙ X).

(61) If X ⊆ Y, then t ⊙ X ⊆ t ⊙ Y.

(62) t ⊙ (X + x) = t ⊙ X + t · x.

(63) t ⊙ (X ⊕ Y) = t ⊙ X ⊕ t ⊙ Y.

(64) If t ≠ 0, then t ⊙ (X ⊖ Y) = t ⊙ X ⊖ t ⊙ Y.

(65) If t ≠ 0, then t ⊙ (X ◯ Y) = (t ⊙ X) ◯ (t ⊙ Y).

(66) If t ≠ 0, then t ⊙ (X ⊚ Y) = (t ⊙ X) ⊚ (t ⊙ Y).

4. The Definition of Thinning and Thickening and Their Algebraic Properties

Let n be a natural number and let X, B_{1}, B_{2} be subsets of E_{T}^{n}. The functor X ⊛ (B_{1}, B_{2}) yielding a subset of E_{T}^{n} is defined as follows:

(Def. 8) X ⊛ (B_{1}, B_{2}) = (X ⊖ B_{1}) ∩ (X^{c} ⊖ B_{2}).

Let n be a natural number and let X, B_{1}, B_{2} be subsets of E_{T}^{n}. The functor X ⊗ (B_{1}, B_{2}) yields a subset of E_{T}^{n} and is defined as follows:

(Def. 9) X ⊗ (B_{1}, B_{2}) = X ∪ (X ⊛ (B_{1}, B_{2})).

Let n be a natural number and let X, B_{1}, B_{2} be subsets of E_{T}^{n}. The functor X ⊛ (B_{1}, B_{2}) yielding a subset of E_{T}^{n} is defined by:

(Def. 10) X ⊛ (B_{1}, B_{2}) = X \ (X ⊛ (B_{1}, B_{2})).

The following propositions are true:

(67) If B_{1} = ∅, then X ⊛ (B_{1}, B_{2}) = X^{c} ⊖ B_{2}.

(68) If B_{2} = ∅, then X ⊛ (B_{1}, B_{2}) = X ⊖ B_{1}.

(69) If 0_{E_{T}^{n}} ∈ B_{1}, then X ⊛ (B_{1}, B_{2}) ⊆ X.

(70) If 0_{E_{T}^{n}} ∈ B_{2}, then (X ⊛ (B_{1}, B_{2})) ∩ X = ∅.

(71) If 0_{E_{T}^{n}} ∈ B_{1}, then X ⊗ (B_{1}, B_{2}) = X.

(72) If 0_{E_{T}^{n}} ∈ B_{2}, then X ⊛ (B_{1}, B_{2}) = X.

(73) X ⊗ (B_{2}, B_{1}) = (X^{c} ⊛ (B_{1}, B_{2}))^{c}.

(74) X ⊛ (B_{2}, B_{1}) = (X^{c} ⊗ (B_{1}, B_{2}))^{c}.

5. Properties of Erosion, Dilation, Adjunction Opening, Adjunction Closing on Convex Sets

One can prove the following proposition

(75) Let n be a natural number and B be a subset of E_{T}^{n}. Then B is convex if and only if for all points x, y of E_{T}^{n} and for every real number r such that 0 ≤ r and r ≤ 1 and x ∈ B and y ∈ B holds r · x + (1 − r) · y ∈ B.

Let n be a natural number and let B be a subset of E_{T}^{n}. Let us observe that B is convex if and only if:

(Def. 11) For all points x, y of E_{T}^{n} and for every real number r such that 0 ≤ r

and r ≤ 1 and x ∈ B and y ∈ B holds r · x + (1 − r) · y ∈ B. One can prove the following propositions:

(76) If X is convex, then X! is convex.

(77) If X is convex and B is convex, then X ⊕ B is convex and X ⊖ B is convex.

(78) If X is convex and B is convex, then X ◯ B is convex and X ⊚ B is convex.

(79) If B is convex and 0 < t and 0 < s, then (s + t) ⊙ B = s ⊙ B ⊕ t ⊙ B.

Acknowledgments

The authors would like to acknowledge Prof. Andrzej Trybulec and Prof. Yatsuka Nakamura for their help.

References

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

[2] Agata Darmochwał. The Euclidean space. Formalized Mathematics, 2(4):599–603, 1991.

[3] Yatsuka Nakamura and Jarosław Kotowicz. The Jordan’s property for certain subsets of the plane. Formalized Mathematics, 3(2):137–142, 1992.

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

[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.

226 yuzhong ding and xiquan liang

Subsequences of Almost, Weakly and Poorly One-to-one Finite Sequences^{1}

Robert Milewski Institute of Computer Science University of Białystok Akademicka 2, 15-267 Białystok, Poland

      MML identifier: JORDAN23, version: 7.5.01 4.39.921

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

In this paper n is a natural number.

The following three propositions are true:

(1) For every finite sequence f of elements of E_{T}^{2} and for every point p of E_{T}^{2} such that p ∈ L̃(f) holds len ⇃ p, f ≥ 1.

(2) For every non empty finite sequence f of elements of E_{T}^{2} and for every point p of E_{T}^{2} holds len ⇂ f, p ≥ 1.

(3) For every finite sequence f of elements of E_{T}^{2} and for all points p, q of E_{T}^{2} holds ⇃⇂ p, f, q ≠ ∅.

Let x be a set. One can check that ⟨x⟩ is one-to-one.

Let f be a finite sequence. We say that f is almost one-to-one if and only if:

(Def. 1) For all natural numbers i, j such that i ∈ dom f and j ∈ dom f and

i ≠ 1 or j ≠ len f and i ≠ len f or j ≠ 1 and f(i) = f(j) holds i = j. Let f be a finite sequence. We say that f is weakly one-to-one if and only

if: (Def. 2) For every natural number i such that 1 ≤ i and i < len f holds f(i) ≠

f(i + 1).

1This work has been partially supported by the KBN grant 4 T11C 039 24.

Let f be a finite sequence. We say that f is poorly one-to-one if and only if: (Def. 3)(i) For every natural number i such that 1 ≤ i and i < len f holds

f(i) ≠ f(i + 1) if len f ≠ 2, (ii) TRUE, otherwise. The following three propositions are true:

(4) Let D be a set and f be a finite sequence of elements of D. Then f is almost one-to-one if and only if for all natural numbers i, j such that i ∈ dom f and j ∈ dom f and i ≠ 1 or j ≠ len f and i ≠ len f or j ≠ 1 and f_{i} = f_{j} holds i = j.

(5) Let D be a set and f be a finite sequence of elements of D. Then f is weakly one-to-one if and only if for every natural number i such that 1 ≤ i and i < len f holds f_{i} ≠ f_{i+1}.

(6) Let D be a set and f be a finite sequence of elements of D. Then f is poorly one-to-one if and only if if len f ≠ 2, then for every natural number i such that 1 ≤ i and i < len f holds f_{i} ≠ f_{i+1}.

Let us note that every finite sequence which is one-to-one is also almost one-to-one.

One can check that every finite sequence which is almost one-to-one is also poorly one-to-one.

The following proposition is true

(7) For every finite sequence f such that len f ≠ 2 holds f is weakly one-to-one iff f is poorly one-to-one.

Let us note that ∅ is weakly one-to-one. Let x be a set. One can verify that ⟨x⟩ is weakly one-to-one. Let x, y be sets. Observe that ⟨x, y⟩ is poorly one-to-one. Let us mention that there exists a finite sequence which is weakly one-to-one

and non empty.

Let D be a non empty set. Observe that there exists a finite sequence of elements of D which is weakly one-to-one, circular, and non empty.

We now state three propositions:

(8) For every finite sequence f such that f is almost one-to-one holds Rev(f) is almost one-to-one.

(9) For every finite sequence f such that f is weakly one-to-one holds Rev(f) is weakly one-to-one.

(10) For every finite sequence f such that f is poorly one-to-one holds Rev(f)

is poorly one-to-one. Let us observe that there exists a finite sequence which is one-to-one and

non empty.

Let f be an almost one-to-one finite sequence. Observe that Rev(f) is almost one-to-one.

Let f be a weakly one-to-one finite sequence. Observe that Rev(f) is weakly one-to-one.

Let f be a poorly one-to-one finite sequence. Observe that Rev(f) is poorly one-to-one.

One can prove the following three propositions:

(11) Let D be a non empty set and f be a finite sequence of elements of D. Suppose f is almost one-to-one. Let p be an element of D. Then f ⟲ p is almost one-to-one.

(12) Let D be a non empty set and f be a finite sequence of elements of D. Suppose f is weakly one-to-one and circular. Let p be an element of D. Then f ⟲ p is weakly one-to-one.

(13) Let D be a non empty set and f be a finite sequence of elements of D. Suppose f is poorly one-to-one and circular. Let p be an element of D. Then f ⟲ p is poorly one-to-one.

Let D be a non empty set. One can check that there exists a finite sequence of elements of D which is one-to-one, circular, and non empty.

Let D be a non empty set, let f be an almost one-to-one finite sequence of elements of D, and let p be an element of D. Note that f ⟲ p is almost one-to-one.

Let D be a non empty set, let f be a circular weakly one-to-one finite sequence of elements of D, and let p be an element of D. Note that f ⟲ p is weakly one-to-one.

Let D be a non empty set, let f be a circular poorly one-to-one finite sequence of elements of D, and let p be an element of D. One can verify that f ⟲ p is poorly one-to-one.

The following proposition is true

(14) Let D be a non empty set and f be a finite sequence of elements of D. Then f is almost one-to-one if and only if f_{⇂1} is one-to-one and f↾(len f−′1) is one-to-one.

Let C be a compact non vertical non horizontal subset of E_{T}^{2} and let n be a natural number. Observe that Cage(C, n) is almost one-to-one.

Let C be a compact non vertical non horizontal subset of E_{T}^{2} and let n be a natural number. One can check that Cage(C, n) is weakly one-to-one.

The following propositions are true:

(15) Let f be a finite sequence of elements of E_{T}^{2} and p be a point of E_{T}^{2}. If p ∈ L̃(f) and f is weakly one-to-one, then ⇃⇂ p, f, p = ⟨p⟩.

(16) For every finite sequence f such that f is one-to-one holds f is weakly

one-to-one. One can check that every finite sequence which is one-to-one is also weakly

one-to-one.

The following propositions are true:

(17) Let f be a finite sequence of elements of E_{T}^{2}. Suppose f is weakly one-to-one. Let p, q be points of E_{T}^{2}. If p ∈ L̃(f) and q ∈ L̃(f), then ⇃⇂ p, f, q = Rev(⇃⇂ q, f, p).

(18) Let f be a finite sequence of elements of E_{T}^{2}, p be a point of E_{T}^{2}, and i_{1} be a natural number. Suppose f is poorly one-to-one, unfolded, and s.n.c. and 1 < i_{1} and i_{1} ≤ len f and p = f(i_{1}). Then Index(p, f) + 1 = i_{1}.

(19) Let f be a finite sequence of elements of E_{T}^{2}. Suppose f is weakly one-to-one. Let p, q be points of E_{T}^{2}. If p ∈ L̃(f) and q ∈ L̃(f), then (⇃⇂ p, f, q)_{1} = p.

(20) Let f be a finite sequence of elements of E_{T}^{2}. Suppose f is weakly one-to-one. Let p, q be points of E_{T}^{2}. If p ∈ L̃(f) and q ∈ L̃(f), then (⇃⇂ p, f, q)_{len ⇃⇂ p,f,q} = q.

(21) For every finite sequence f of elements of E_{T}^{2} and for every point p of E_{T}^{2} such that p ∈ L̃(f) holds L̃(⇃ p, f) ⊆ L̃(f).

(22) Let f be a finite sequence of elements of E_{T}^{2} and p, q be points of E_{T}^{2}. If p ∈ L̃(f) and q ∈ L̃(f) and f is weakly one-to-one, then L̃(⇃⇂ p, f, q) ⊆ L̃(f).

(23) For all finite sequences f, g holds dom f ⊆ dom(f ⌢⌢ g).

(24) For every non empty finite sequence f and for every finite sequence g holds dom g ⊆ dom(f ⌢⌢ g).

(25) For all finite sequences f, g such that f ⌢⌢ g is constant holds f is constant.

(26) For all finite sequences f, g such that f ⌢⌢ g is constant and f(len f) = g(1) and f ≠ ∅ holds g is constant.

(27) For every special finite sequence f of elements of E_{T}^{2} and for all natural numbers i, j holds mid(f, i, j) is special.

(28) For every unfolded finite sequence f of elements of E_{T}^{2} and for all natural numbers i, j holds mid(f, i, j) is unfolded.

(29) Let f be a finite sequence of elements of E_{T}^{2}. Suppose f is special. Let p be a point of E_{T}^{2}. If p ∈ L̃(f), then ⇃ p, f is special.

(30) Let f be a finite sequence of elements of E_{T}^{2}. Suppose f is special. Let p be a point of E_{T}^{2}. If p ∈ L̃(f), then ⇂ f, p is special.

(31) Let f be a finite sequence of elements of E_{T}^{2}. Suppose f is special and weakly one-to-one. Let p, q be points of E_{T}^{2}. If p ∈ L̃(f) and q ∈ L̃(f), then ⇃⇂ p, f, q is special.

(32) Let f be a finite sequence of elements of E_{T}^{2}. Suppose f is unfolded. Let p be a point of E_{T}^{2}. If p ∈ L̃(f), then ⇃ p, f is unfolded.

(33) Let f be a finite sequence of elements of E_{T}^{2}. Suppose f is unfolded. Let

p be a point of E_{T}^{2}. If p ∈ L̃(f), then ⇂ f, p is unfolded.

(34) Let f be a finite sequence of elements of E_{T}^{2}. Suppose f is unfolded and weakly one-to-one. Let p, q be points of E_{T}^{2}. If p ∈ L̃(f) and q ∈ L̃(f), then ⇃⇂ p, f, q is unfolded.

(35) Let f, g be finite sequences of elements of E_{T}^{2} and p be a point of E_{T}^{2}. Suppose f is almost one-to-one, special, unfolded, and s.n.c. and p ∈ L̃(f) and p ≠ f(1) and g = (mid(f, 1, Index(p, f))) ^{⌢} ⟨p⟩. Then g is a special sequence joining f_{1}, p.

(36) Let f be a finite sequence of elements of E_{T}^{2} and p be a point of E_{T}^{2}. Suppose f is poorly one-to-one, unfolded, and s.n.c. and p ∈ L̃(f) and p = f(Index(p, f)+1) and p ≠ f(len f). Then Index(p, Rev(f))+Index(p, f)+ 1 = len f.

(37) Let f be a non empty finite sequence of elements of E_{T}^{2} and p be a point of E_{T}^{2}. If f is weakly one-to-one and len f ≥ 2, then ⇃ f_{1}, f = f.

(38) Let f be a non empty finite sequence of elements of E_{T}^{2} and p be a point of E_{T}^{2}. Suppose f is poorly one-to-one, unfolded, and s.n.c. and p ∈ L̃(f) and p ≠ f(len f). Then ⇃ p, Rev(f) = Rev(⇂ f, p).

(39) Let f be a finite sequence of elements of E_{T}^{2} and p be a point of E_{T}^{2}. Suppose f is almost one-to-one, special, unfolded, and s.n.c. and p ∈ L̃(f) and p ≠ f(1). Then ⇂ f, p is a special sequence joining f_{1}, p.

(40) Let f be a non empty finite sequence of elements of E_{T}^{2} and p be a point of E_{T}^{2}. Suppose f is almost one-to-one, special, unfolded, and s.n.c. and p ∈ L̃(f) and p ≠ f(len f) and p ≠ f(1). Then ⇃ p, f is a special sequence joining p, f_{len f}.

(41) Let f be a finite sequence of elements of E_{T}^{2} and p be a point of E_{T}^{2}. Suppose f is almost one-to-one, special, unfolded, and s.n.c. and p ∈ L̃(f) and p ≠ f(1). Then ⇂ f, p is a special sequence.

(42) Let f be a non empty finite sequence of elements of E_{T}^{2} and p be a point of E_{T}^{2}. Suppose f is almost one-to-one, special, unfolded, and s.n.c. and p ∈ L̃(f) and p ≠ f(len f) and p ≠ f(1). Then ⇃ p, f is a special sequence.

(43) Let f be a non empty finite sequence of elements of E_{T}^{2} and p, q be points of E_{T}^{2}. Suppose that f is almost one-to-one, special, unfolded, and s.n.c. and len f ≠ 2 and p ∈ L̃(f) and q ∈ L̃(f) and p ≠ q and p ≠ f(1) and q ≠ f(1). Then ⇃⇂ p, f, q is a special sequence joining p, q.

(44) Let f be a non empty finite sequence of elements of E_{T}^{2} and p, q be points of E_{T}^{2}. Suppose that f is almost one-to-one, special, unfolded, and s.n.c. and len f ≠ 2 and p ∈ L̃(f) and q ∈ L̃(f) and p ≠ q and p ≠ f(1) and q ≠ f(1). Then ⇃⇂ p, f, q is a special sequence.

(45) Let C be a compact non vertical non horizontal subset of E_{T}^{2} and p, q be points of E_{T}^{2}. Suppose p ∈ BDD L̃(Cage(C, n)). Then there exists a 232 robert milewski

S-sequence B in ℝ^{2} such that

(i) B = ⇃⇂ South-Bound(p, L̃(Cage(C, n))), (Cage(C, n) ⟲ (Cage(C, n))_{Index(South-Bound(p,L̃(Cage(C,n))),Cage(C,n))})↾(len (Cage(C, n) ⟲ (Cage(C, n))_{Index(South-Bound(p,L̃(Cage(C,n))),Cage(C,n))}) −′ 1),

North-Bound(p, L̃(Cage(C, n))), and (ii) there exists a S-sequence P in ℝ^{2} such that P is a sequence which el-

ements belong to the Go-board of B ⌢⌢ ⟨North-Bound(p, L̃(Cage(C, n))), South-Bound(p, L̃(Cage(C, n)))⟩ and L̃(⟨North-Bound(p, L̃(Cage(C, n))), South-Bound(p, L̃(Cage(C, n)))⟩) = L̃(P) and P_{1} = North-Bound(p, L̃(Cage(C, n))) and P_{len P} = South-Bound(p, L̃(Cage(C, n))) and len P ≥ 2 and there exists a S-sequence B_{1} in ℝ^{2} such that B_{1} is a sequence which elements belong to the Go-board of B ⌢⌢ ⟨North-Bound(p, L̃(Cage(C, n))), South-Bound(p, L̃(Cage(C, n)))⟩ and L̃(B) = L̃(B_{1}) and B_{1} = (B_{1})_{1} and B_{len B} = (B_{1})_{len B_{1}} and len B ≤ len B_{1} and there exists a non constant standard special circular sequence g such that g = B_{1} ⌢⌢ P.

References

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

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

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

[4] Czesław Byliński. Some properties of restrictions of finite sequences. Formalized Mathematics, 5(2):241–245, 1996.

[5] Czesław Byliński and Mariusz Żynel. Cages – the external approximation of Jordan’s curve. Formalized Mathematics, 9(1):19–24, 2001.

[6] Agata Darmochwał. Compact spaces. Formalized Mathematics, 1(2):383–386, 1990.

[7] Agata Darmochwał. The Euclidean space. Formalized Mathematics, 2(4):599–603, 1991.

[8] 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.

[9] Katarzyna Jankowska. Matrices. Abelian group of matrices. Formalized Mathematics, 2(4):475–480, 1991.

[10] Artur Korniłowicz. The ordering of points on a curve. Part IV. Formalized Mathematics, 10(3):173–177, 2002.

[11] Jarosław Kotowicz. Functions and finite sequences of real numbers. Formalized Mathematics, 3(2):275–278, 1992.

[12] Jarosław Kotowicz and Yatsuka Nakamura. Introduction to Go-board – part I. Formalized Mathematics, 3(1):107–115, 1992.

[13] Jarosław Kotowicz and Yatsuka Nakamura. Introduction to Go-board – part II. Formalized Mathematics, 3(1):117–121, 1992.

[14] Yatsuka Nakamura and Czesław Byliński. Extremal properties of vertices on special polygons. Part I. Formalized Mathematics, 5(1):97–102, 1996.

[15] Yatsuka Nakamura and Roman Matuszewski. Reconstructions of special sequences. Formalized Mathematics, 6(2):255–263, 1997.

[16] Yatsuka Nakamura and Piotr Rudnicki. Vertex sequences induced by chains. Formalized Mathematics, 5(3):297–304, 1996.

[17] Yatsuka Nakamura and Andrzej Trybulec. Decomposing a Go-board into cells. Formalized Mathematics, 5(3):323–328, 1996.

subsequences of almost, weakly and poorly … 233

[18] Yatsuka Nakamura, Andrzej Trybulec, and Czesław Byliński. Bounded domains and unbounded domains. Formalized Mathematics, 8(1):1–13, 1999.

[19] Takaya Nishiyama and Yasuho Mizuhara. Binary arithmetics. Formalized Mathematics, 4(1):83–86, 1993.

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

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

[22] Andrzej Trybulec. On the decomposition of finite sequences. Formalized Mathematics, 5(3):317–322, 1996.

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

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

234 robert milewski

Alternative Graph Structures^{1}

Gilbert Lee^{2} University of Victoria Victoria, Canada

Piotr Rudnicki University of Alberta Edmonton, Canada

Summary. We define the notion of a graph anew without using the available Mizar structures. In our approach, we model graph structure as a finite function whose domain is a subset of natural numbers. The elements of the domain of the function play the role of selectors for accessing the components of the structure. As these selectors are first class objects, many future extensions of the new graph structure turned out to be easier to formalize in Mizar than with the traditional Mizar structures.

After introducing graph structure, we define its selectors and then conditions that the structure needs to satisfy to form a directed graph (in the spirit of [13]). For these graphs we define a collection of basic graph notions; the presentation of these notions is continued in articles [16, 15, 17].

We have tried to follow a number of graph theory books in choosing graph terminology but since the terminology is not commonly agreed upon, we had to make a number of compromises, see [14].

MML identifier: GLIB 000, version: 7.5.01 4.39.921

The papers [20], [19], [22], [21], [24], [2], [1], [25], [7], [5], [12], [3], [8], [6], [23], [9], [4], [10], [11], and [18] provide the terminology and notation for this paper.

1. Definitions

A finite function is called a graph structure if: (Def. 1) dom it ⊆ ℕ.

The natural number VertexSelector is defined as follows: (Def. 2) VertexSelector = 1.

1This work has been partially supported by NSERC, Alberta Ingenuity Fund and iCORE. 2Part of author’s MSc work.

The natural number EdgeSelector is defined as follows: (Def. 3) EdgeSelector = 2.

The natural number SourceSelector is defined by: (Def. 4) SourceSelector = 3.

The natural number TargetSelector is defined by: (Def. 5) TargetSelector = 4.

The non empty subset the graph selectors of ℕ is defined by: (Def. 6) The graph selectors =

{VertexSelector, EdgeSelector, SourceSelector, TargetSelector}. Let G be a graph structure. The vertices of G is defined by:

(Def. 7) The vertices of G = G(VertexSelector).

The edges of G is defined by: (Def. 8) The edges of G = G(EdgeSelector).

The source of G is defined by: (Def. 9) The source of G = G(SourceSelector).

The target of G is defined by: (Def. 10) The target of G = G(TargetSelector).

Let G be a graph structure. We say that G is graph-like if and only if the conditions (Def. 11) are satisfied.

(Def. 11) VertexSelector ∈ dom G and EdgeSelector ∈ dom G and SourceSelector ∈ dom G and TargetSelector ∈ dom G and the vertices of G is a non empty set and the source of G is a function from the edges of G into the vertices of G and the target of G is a function from the edges of G into the vertices of G.

Let us note that there exists a graph structure which is graph-like.

A graph is a graph-like graph structure.

Let G be a graph. Observe that the vertices of G is non empty.

Let G be a graph. Then the source of G is a function from the edges of G into the vertices of G. Then the target of G is a function from the edges of G into the vertices of G.

Let V be a non empty set, let E be a set, and let S, T be functions from E into V. The functor createGraph(V, E, S, T) yielding a graph is defined by:

(Def. 12) createGraph(V, E, S, T) = ⟨V, E, S, T ⟩.

Let x, y be sets. One can verify that x⟼ . y is finite.

Let G be a graph structure, let n be a natural number, and let x be a set. The functor G.set(n, x) yielding a graph structure is defined as follows:

(Def. 13) G.set(n, x) = G+·(n⟼ . x).

Let G be a graph structure and let X be a set. The functor G.strict(X) yielding a graph structure is defined by:

(Def. 14) G.strict(X) = G↾X.

Let G be a graph. Observe that G.strict(the graph selectors) is graph-like. Let G be a graph and let x, y, e be sets. We say that e joins x and y in G

if and only if the conditions (Def. 15) are satisfied. (Def. 15)(i) e ∈ the edges of G, and

(ii) (the source of G)(e) = x and (the target of G)(e) = y or (the source of

G)(e) = y and (the target of G)(e) = x. Let G be a graph and let x, y, e be sets. We say that e joins x to y in G if

and only if: (Def. 16) e ∈ the edges of G and (the source of G)(e) = x and (the target of

G)(e) = y. Let G be a graph and let X, Y, e be sets. We say that e joins a vertex from X and a vertex from Y in G if and only if the conditions (Def. 17) are satisfied.

(Def. 17)(i) e ∈ the edges of G, and

(ii) (the source of G)(e) ∈ X and (the target of G)(e) ∈ Y or (the source

of G)(e) ∈ Y and (the target of G)(e) ∈ X. We say that e joins a vertex from X to a vertex from Y in G if and only if:

(Def. 18) e ∈ the edges of G and (the source of G)(e) ∈ X and (the target of

G)(e) ∈ Y. Let G be a graph. We say that G is finite if and only if:

(Def. 19) The vertices of G is finite and the edges of G is finite.

We say that G is loopless if and only if: (Def. 20) It is not true that there exists a set e such that e ∈ the edges of G and

(the source of G)(e) = (the target of G)(e). We say that G is trivial if and only if:

(Def. 21) \overline{\overline{the vertices of G}} = 1.

We say that G is non-multi if and only if: (Def. 22) For all sets e_{1}, e_{2}, v_{1}, v_{2} such that e_{1} joins v_{1} and v_{2} in G and e_{2} joins

v_{1} and v_{2} in G holds e_{1} = e_{2}. We say that G is non-directed-multi if and only if:

(Def. 23) For all sets e_{1}, e_{2}, v_{1}, v_{2} such that e_{1} joins v_{1} to v_{2} in G and e_{2} joins v_{1}

to v_{2} in G holds e_{1} = e_{2}. Let G be a graph. We say that G is simple if and only if:

(Def. 24) G is loopless and non-multi.

We say that G is directed-simple if and only if: (Def. 25) G is loopless and non-directed-multi.

One can verify the following observations:

∗ every graph which is non-multi is also non-directed-multi, ∗ every graph which is simple is also loopless and non-multi,

∗ every graph which is loopless and non-multi is also simple,

∗ every graph which is loopless and non-directed-multi is also directedsimple,

∗ every graph which is directed-simple is also loopless and non-directed-multi,

∗ every graph which is trivial and loopless is also finite, and

∗ every graph which is trivial and non-directed-multi is also finite.

Let us note that there exists a graph which is trivial and simple and there exists a graph which is finite, non trivial, and simple.

Let G be a finite graph. Observe that the vertices of G is finite and the edges of G is finite.

Let G be a trivial graph. One can verify that the vertices of G is finite. Let V be a non empty finite set, let E be a finite set, and let S, T be

functions from E into V. One can check that createGraph(V, E, S, T) is finite.

Let V be a non empty set, let E be an empty set, and let S, T be functions from E into V. One can check that createGraph(V, E, S, T) is simple.

Let v be a set, let E be a set, and let S, T be functions from E into {v}. Observe that createGraph({v}, E, S, T) is trivial.

Let G be a graph. The functor G.order() yielding a cardinal number is defined as follows:

(Def. 26) G.order() = \overline{\overline{the vertices of G}}.

Let G be a finite graph. Then G.order() is a non empty natural number. Let G be a graph. The functor G.size() yields a cardinal number and is

defined by:

(Def. 27) G.size() = \overline{\overline{the edges of G}}.

Let G be a finite graph. Then G.size() is a natural number.

Let G be a graph and let X be a set. The functor G.edgesInto(X) yields a subset of the edges of G and is defined as follows:

(Def. 28) For every set e holds e ∈ G.edgesInto(X) iff e ∈ the edges of G and (the

target of G)(e) ∈ X. The functor G.edgesOutOf(X) yields a subset of the edges of G and is defined by:

(Def. 29) For every set e holds e ∈ G.edgesOutOf(X) iff e ∈ the edges of G and

(the source of G)(e) ∈ X. Let G be a graph and let X be a set. The functor G.edgesInOut(X) yields

a subset of the edges of G and is defined by: (Def. 30) G.edgesInOut(X) = G.edgesInto(X) ∪ G.edgesOutOf(X).

The functor G.edgesBetween(X) yielding a subset of the edges of G is defined as follows:

(Def. 31) G.edgesBetween(X) = G.edgesInto(X) ∩ G.edgesOutOf(X).

Let G be a graph and let X, Y be sets. The functor G.edgesBetween(X, Y) yielding a subset of the edges of G is defined by:

(Def. 32) For every set e holds e ∈ G.edgesBetween(X, Y) iff e joins a vertex from

X and a vertex from Y in G. The functor G.edgesDBetween(X, Y) yields a subset of the edges of G and is defined as follows:

(Def. 33) For every set e holds e ∈ G.edgesDBetween(X, Y) iff e joins a vertex

from X to a vertex from Y in G. In this article we present several logical schemes. The scheme FinGraphOrder-

Ind concerns a unary predicate P, and states that:

For every finite graph G holds P[G] provided the following conditions are met:

• For every finite graph G such that G.order() = 1 holds P[G], and

• Let k be a non empty natural number. Suppose that for every finite graph G_{1} such that G_{1}.order() = k holds P[G_{1}]. Let G_{2} be a finite graph. If G_{2}.order() = k + 1, then P[G_{2}].

The scheme FinGraphSizeInd concerns a unary predicate P, and states that:

For every finite graph G holds P[G] provided the following requirements are met:

• For every finite graph G such that G.size() = 0 holds P[G], and

• Let k be a natural number. Suppose that for every finite graph G_{1} such that G_{1}.size() = k holds P[G_{1}]. Let G_{2} be a finite graph. If G_{2}.size() = k + 1, then P[G_{2}].

Let G be a graph. A graph is called a subgraph of G if it satisfies the conditions (Def. 34).

(Def. 34)(i) The vertices of it ⊆ the vertices of G, (ii) the edges of it ⊆ the edges of G, and (iii) for every set e such that e ∈ the edges of it holds (the source of it)(e) =

(the source of G)(e) and (the target of it)(e) = (the target of G)(e). Let G_{3} be a graph and let G_{4} be a subgraph of G_{3}. Then the vertices of G_{4}

is a non empty subset of the vertices of G_{3}. Then the edges of G_{4} is a subset of the edges of G_{3}.

Let G be a graph. Note that there exists a subgraph of G which is trivial and simple.

Let G be a finite graph. Note that every subgraph of G is finite.

Let G be a loopless graph. Observe that every subgraph of G is loopless. Let G be a trivial graph. One can check that every subgraph of G is trivial. Let G be a non-multi graph. Observe that every subgraph of G is non-multi.

Let G_{3} be a graph and let G_{4} be a subgraph of G_{3}. We say that G_{4} is spanning if and only if:

(Def. 35) The vertices of G_{4} = the vertices of G_{3}.

Let G be a graph. One can verify that there exists a subgraph of G which is spanning.

Let G_{3}, G_{4} be graphs. The predicate G_{3} =_{G} G_{4} is defined by the conditions (Def. 36).

(Def. 36)(i) The vertices of G_{3} = the vertices of G_{4}, (ii) the edges of G_{3} = the edges of G_{4}, (iii) the source of G_{3} = the source of G_{4}, and (iv) the target of G_{3} = the target of G_{4}.

Let us notice that the predicate G_{3} =_{G} G_{4} is reflexive and symmetric. Let G_{3}, G_{4} be graphs. We introduce G_{3} ≠_{G} G_{4} as an antonym of G_{3} =_{G} G_{4}. Let G_{3}, G_{4} be graphs. The predicate G_{3} ⊆ G_{4} is defined as follows:

(Def. 37) G_{3} is a subgraph of G_{4}.

Let us note that the predicate G_{3} ⊆ G_{4} is reflexive.

Let G_{3}, G_{4} be graphs. The predicate G_{3} ⊂ G_{4} is defined as follows: (Def. 38) G_{3} ⊆ G_{4} and G_{3} ≠_{G} G_{4}.

Let us note that the predicate G_{3} ⊂ G_{4} is irreflexive.

Let G be a graph and let V, E be sets. A subgraph of G is called a subgraph of G induced by V and E if:

(Def. 39)(i) The vertices of it = V and the edges of it = E if V is a non empty

subset of the vertices of G and E ⊆ G.edgesBetween(V), (ii) it =_{G} G, otherwise. Let G be a graph and let V be a set. A subgraph of G induced by V is a

subgraph of G induced by V and G.edgesBetween(V).

Let G be a graph, let V be a finite non empty subset of the vertices of G, and let E be a finite subset of G.edgesBetween(V). Observe that every subgraph of G induced by V and E is finite.

Let G be a graph, let v be an element of the vertices of G, and let E be a subset of G.edgesBetween({v}). Note that every subgraph of G induced by {v} and E is trivial.

Let G be a graph and let v be an element of the vertices of G. Note that every subgraph of G induced by {v} and ∅ is finite and trivial.

Let G be a graph and let V be a non empty subset of the vertices of G. Note that every subgraph of G induced by V and ∅ is simple.

Let G be a graph and let E be a subset of the edges of G. Observe that every subgraph of G induced by the vertices of G and E is spanning.

Let G be a graph. One can check that every subgraph of G induced by the vertices of G and ∅ is spanning.

Let G be a graph and let v be a set. A subgraph of G with vertex v removed is a subgraph of G induced by (the vertices of G) \ {v}.

Let G be a graph and let V be a set. A subgraph of G with vertices V removed is a subgraph of G induced by (the vertices of G) \ V.

Let G be a graph and let e be a set. A subgraph of G with edge e removed is a subgraph of G induced by the vertices of G and (the edges of G) \ {e}.

Let G be a graph and let E be a set. A subgraph of G with edges E removed is a subgraph of G induced by the vertices of G and (the edges of G) \ E.

Let G be a graph and let e be a set. Observe that every subgraph of G with edge e removed is spanning.

Let G be a graph and let E be a set. Observe that every subgraph of G with edges E removed is spanning.

Let G be a graph. A vertex of G is an element of the vertices of G.

Let G be a graph and let v be a vertex of G. The functor v.edgesIn() yielding a subset of the edges of G is defined as follows:

(Def. 40) v.edgesIn() = G.edgesInto({v}).

The functor v.edgesOut() yields a subset of the edges of G and is defined as follows:

(Def. 41) v.edgesOut() = G.edgesOutOf({v}).

The functor v.edgesInOut() yields a subset of the edges of G and is defined by: (Def. 42) v.edgesInOut() = G.edgesInOut({v}).

Let G be a graph, let v be a vertex of G, and let e be a set. The functor v.adj(e) yields a vertex of G and is defined by:

(Def. 43) v.adj(e) = \{ \begin{matrix}(the source of G)(e), if e ∈ the edges of G and \\ (the target of G)(e) = v, \\ (the target of G)(e), if e ∈ the edges of G and \\ (the source of G)(e) = v and (the target of G)(e) ≠ v, \\ v, otherwise. \end{matrix}

Let G be a graph and let v be a vertex of G. The functor v.inDegree() yields a cardinal number and is defined as follows:

(Def. 44) v.inDegree() = \overline{\overline{v.edgesIn()}}.

The functor v.outDegree() yielding a cardinal number is defined as follows:

(Def. 45) v.outDegree() = \overline{\overline{v.edgesOut()}}.

Let G be a finite graph and let v be a vertex of G. Then v.inDegree() is a natural number. Then v.outDegree() is a natural number.

Let G be a graph and let v be a vertex of G. The functor v.degree() yielding a cardinal number is defined as follows:

(Def. 46) v.degree() = v.inDegree() + v.outDegree().

Let G be a finite graph and let v be a vertex of G. Then v.degree() is a natural number and it can be characterized by the condition:

(Def. 47) v.degree() = v.inDegree() + v.outDegree().

Let G be a graph and let v be a vertex of G. The functor v.inNeighbors() yields a subset of the vertices of G and is defined as follows:

(Def. 48) v.inNeighbors() = (the source of G)^{∘}v.edgesIn().

The functor v.outNeighbors() yielding a subset of the vertices of G is defined by:

(Def. 49) v.outNeighbors() = (the target of G)^{∘}v.edgesOut().

Let G be a graph and let v be a vertex of G. The functor v.allNeighbors() yields a subset of the vertices of G and is defined by:

(Def. 50) v.allNeighbors() = v.inNeighbors() ∪ v.outNeighbors().

Let G be a graph and let v be a vertex of G. We say that v is isolated if and only if:

(Def. 51) v.edgesInOut() = ∅.

Let G be a finite graph and let v be a vertex of G. Let us observe that v is isolated if and only if:

(Def. 52) v.degree() = 0.

Let G be a graph and let v be a vertex of G. We say that v is endvertex if and only if:

(Def. 53) There exists a set e such that v.edgesInOut() = {e} and e does not join

v and v in G. Let G be a finite graph and let v be a vertex of G. Let us observe that v is

endvertex if and only if: (Def. 54) v.degree() = 1.

Let F be a many sorted set indexed by ℕ. We say that F is graph-yielding if and only if:

(Def. 55) For every natural number n holds F (n) is a graph.

We say that F is halting if and only if: (Def. 56) There exists a natural number n such that F (n) = F (n + 1).

Let F be a many sorted set indexed by ℕ. The functor F .Lifespan() yielding a natural number is defined by:

(Def. 57)(i) F (F .Lifespan()) = F (F .Lifespan()+1) and for every natural number

n such that F (n) = F (n + 1) holds F .Lifespan() ≤ n if F is halting, (ii) F .Lifespan() = 0, otherwise. Let F be a many sorted set indexed by ℕ. The functor F .Result() yielding

a set is defined by: (Def. 58) F .Result() = F (F .Lifespan()).

Let us mention that there exists a many sorted set indexed by ℕ which is graph-yielding.

A graph sequence is a graph-yielding many sorted set indexed by ℕ.

Let G_{5} be a graph sequence and let x be a natural number. The functor G_{5}.→x yields a graph and is defined by:

(Def. 59) G_{5}.→x = G_{5}(x).

Let G_{5} be a graph sequence. We say that G_{5} is finite if and only if: (Def. 60) For every natural number x holds G_{5}.→x is finite.

We say that G_{5} is loopless if and only if: (Def. 61) For every natural number x holds G_{5}.→x is loopless.

We say that G_{5} is trivial if and only if: (Def. 62) For every natural number x holds G_{5}.→x is trivial.

We say that G_{5} is non-trivial if and only if: (Def. 63) For every natural number x holds G_{5}.→x is non trivial.

We say that G_{5} is non-multi if and only if: (Def. 64) For every natural number x holds G_{5}.→x is non-multi.

We say that G_{5} is non-directed-multi if and only if: (Def. 65) For every natural number x holds G_{5}.→x is non-directed-multi.

We say that G_{5} is simple if and only if: (Def. 66) For every natural number x holds G_{5}.→x is simple.

We say that G_{5} is directed-simple if and only if: (Def. 67) For every natural number x holds G_{5}.→x is directed-simple.

Let G_{5} be a graph sequence. Let us observe that G_{5} is halting if and only if:

(Def. 68) There exists a natural number n such that G_{5}.→n = G_{5}.→(n + 1).

One can verify that there exists a graph sequence which is halting, finite, loopless, trivial, non-multi, non-directed-multi, simple, and directed-simple and there exists a graph sequence which is halting, finite, loopless, non-trivial, nonmulti, non-directed-multi, simple, and directed-simple.

Let G_{5} be a finite graph sequence and let x be a natural number. One can check that G_{5}.→x is finite.

Let G_{5} be a loopless graph sequence and let x be a natural number. Note that G_{5}.→x is loopless.

Let G_{5} be a trivial graph sequence and let x be a natural number. Observe that G_{5}.→x is trivial.

Let G_{5} be a non-trivial graph sequence and let x be a natural number. Observe that G_{5}.→x is non trivial.

Let G_{5} be a non-multi graph sequence and let x be a natural number. Note that G_{5}.→x is non-multi.

Let G_{5} be a non-directed-multi graph sequence and let x be a natural number. Observe that G_{5}.→x is non-directed-multi.

Let G_{5} be a simple graph sequence and let x be a natural number. Note that G_{5}.→x is simple.

Let G_{5} be a directed-simple graph sequence and let x be a natural number. Note that G_{5}.→x is directed-simple.

One can check that every graph sequence which is non-multi is also nondirected-multi.

Let us observe that every graph sequence which is simple is also loopless and non-multi.

One can verify that every graph sequence which is loopless and non-multi is also simple.

Let us note that every graph sequence which is loopless and non-directed-multi is also directed-simple.

One can verify that every graph sequence which is directed-simple is also loopless and non-directed-multi.

Let us note that every graph sequence which is trivial and loopless is also finite.

Let us observe that every graph sequence which is trivial and non-directed-multi is also finite.

2. Theorems

For simplicity, we adopt the following convention: G_{6} denotes a graph structure, G, G_{3}, G_{4}, G_{7} denote graphs, e, x, x_{1}, x_{2}, y, y_{1}, y_{2}, E, V, X, Y denote sets, n, n_{1}, n_{2} denote natural numbers, and v, v_{1}, v_{2} denote vertices of G.

We now state a number of propositions:

(1) VertexSelector = 1 and EdgeSelector = 2 and SourceSelector = 3 and TargetSelector = 4.

(2) x ∈ the graph selectors iff x = VertexSelector or x = EdgeSelector or x = SourceSelector or x = TargetSelector .

(3) The graph selectors ⊆ dom G.

(4) The vertices of G_{6} = G_{6}(VertexSelector) and the edges of G_{6} = G_{6}(EdgeSelector) and the source of G_{6} = G_{6}(SourceSelector) and the target of G_{6} = G_{6}(TargetSelector).

(5)(i) dom (the source of G) = the edges of G,

(ii) dom (the target of G) = the edges of G, (iii) rng (the source of G) ⊆ the vertices of G, and (iv) rng (the target of G) ⊆ the vertices of G. (7)^{3} G_{6} is graph-like if and only if the following conditions are satisfied:

(i) the graph selectors ⊆ dom G_{6}, (ii) the vertices of G_{6} is non empty, (iii) the source of G_{6} is a function from the edges of G_{6} into the vertices of

3The proposition (6) has been removed.

G_{6}, and (iv) the target of G_{6} is a function from the edges of G_{6} into the vertices of

G_{6}.

(8) Let V be a non empty set, E be a set, and S, T be functions from E into V. Then

(i) the vertices of createGraph(V, E, S, T) = V, (ii) the edges of createGraph(V, E, S, T) = E, (iii) the source of createGraph(V, E, S, T) = S, and (iv) the target of createGraph(V, E, S, T) = T.

(9) dom(G_{6}.set(n, x)) = dom G_{6} ∪ {n}.

(10) dom G_{6} ⊆ dom(G_{6}.set(n, x)).

(11) (G_{6}.set(n, x))(n) = x.

(12) If n_{1} ≠ n_{2}, then G_{6}(n_{2}) = (G_{6}.set(n_{1}, x))(n_{2}).

(13) Suppose n ∉ the graph selectors. Then (i) the vertices of G = the vertices of G.set(n, x), (ii) the edges of G = the edges of G.set(n, x), (iii) the source of G = the source of G.set(n, x), (iv) the target of G = the target of G.set(n, x), and

(v) G.set(n, x) is a graph.

(14) The vertices of G_{6}.set(VertexSelector, x) = x and the edges of G_{6}.set(EdgeSelector, x) = x and the source of G_{6}.set(SourceSelector, x) = x and the target of G_{6}.set(TargetSelector, x) = x.

(15) If n_{1} ≠ n_{2}, then n_{1} ∈ dom(G_{6}.set(n_{1}, x).set(n_{2}, y)) and n_{2} ∈ dom(G_{6}.set(n_{1}, x).set(n_{2}, y)) and (G_{6}.set(n_{1}, x).set(n_{2}, y))(n_{1}) = x and (G_{6}.set(n_{1}, x).set(n_{2}, y))(n_{2}) = y.

(16) If e joins x and y in G, then x ∈ the vertices of G and y ∈ the vertices of G.

(17) If e joins x and y in G, then e joins y and x in G.

(18) If e joins x_{1} and y_{1} in G and e joins x_{2} and y_{2} in G, then x_{1} = x_{2} and y_{1} = y_{2} or x_{1} = y_{2} and y_{1} = x_{2}.

(19) e joins x and y in G iff e joins x to y in G or e joins y to x in G.

(20) Suppose e joins x and y in G but x ∈ X and y ∈ Y or x ∈ Y and y ∈ X. Then e joins a vertex from X and a vertex from Y in G.

(21) G is loopless iff for every set v it is not true that there exists a set e such that e joins v and v in G.

(22) For every finite loopless graph G and for every vertex v of G holds v.degree() = card(v.edgesInOut()).

(23) For every non trivial graph G and for every vertex v of G holds (the vertices of G) \ {v} is non empty.

(24) For every non trivial graph G there exist vertices v_{1}, v_{2} of G such that v_{1} ≠ v_{2}.

(25) For every trivial graph G there exists a vertex v of G such that the vertices of G = {v}.

(26) For every trivial loopless graph G holds the edges of G = ∅.

(27) If the edges of G = ∅, then G is simple.

(28) For every finite graph G holds G.order() ≥ 1.

(29) For every finite graph G holds G.order() = 1 iff G is trivial.

(30) For every finite graph G holds G.order() = 1 iff there exists a vertex v of G such that the vertices of G = {v}.

(31) e ∈ the edges of G but (the source of G)(e) ∈ X or (the target of G)(e) ∈ X iff e ∈ G.edgesInOut(X).

(32) G.edgesInto(X) ⊆ G.edgesInOut(X) and G.edgesOutOf(X) ⊆ G.edgesInOut(X).

(33) The edges of G = G.edgesInOut(the vertices of G).

(34) e ∈ the edges of G and (the source of G)(e) ∈ X and (the target of G)(e) ∈ X iff e ∈ G.edgesBetween(X).

(35) If x ∈ X and y ∈ X and e joins x and y in G, then e ∈ G.edgesBetween(X).

(36) G.edgesBetween(X) ⊆ G.edgesInOut(X).

(37) The edges of G = G.edgesBetween(the vertices of G).

(38) (The edges of G) \ G.edgesInOut(X) = G.edgesBetween((the vertices of G) \ X).

(39) If X ⊆ Y, then G.edgesBetween(X) ⊆ G.edgesBetween(Y).

(40) For every graph G and for all sets X_{1}, X_{2}, Y_{1}, Y_{2} such that X_{1} ⊆ X_{2} and Y_{1} ⊆ Y_{2} holds G.edgesBetween(X_{1}, Y_{1}) ⊆ G.edgesBetween(X_{2}, Y_{2}).

(41) For every graph G and for all sets X_{1}, X_{2}, Y_{1}, Y_{2} such that X_{1} ⊆ X_{2} and Y_{1} ⊆ Y_{2} holds G.edgesDBetween(X_{1}, Y_{1}) ⊆ G.edgesDBetween(X_{2}, Y_{2}).

(42) For every graph G and for every vertex v of G holds v.edgesIn() = G.edgesDBetween(the vertices of G, {v}) and v.edgesOut() = G.edgesDBetween({v}, the vertices of G).

(43) G is a subgraph of G.

(44) G_{3} is a subgraph of G_{4} and G_{4} is a subgraph of G_{3} if and only if the

following conditions are satisfied:

(i) the vertices of G_{3} = the vertices of G_{4}, (ii) the edges of G_{3} = the edges of G_{4}, (iii) the source of G_{3} = the source of G_{4}, and (iv) the target of G_{3} = the target of G_{4}.

(45) Let G_{3} be a graph, G_{4} be a subgraph of G_{3}, and x be a set. Then (i) if x ∈ the vertices of G_{4}, then x ∈ the vertices of G_{3}, and (ii) if x ∈ the edges of G_{4}, then x ∈ the edges of G_{3}.

(46) For every graph G_{3} and for every subgraph G_{4} of G_{3} holds every subgraph of G_{4} is a subgraph of G_{3}.

(47) Let G be a graph and G_{3}, G_{4} be subgraphs of G. Suppose the vertices of G_{3} ⊆ the vertices of G_{4} and the edges of G_{3} ⊆ the edges of G_{4}. Then G_{3} is a subgraph of G_{4}.

(48) Let G_{3} be a graph and G_{4} be a subgraph of G_{3}. Then (i) the source of G_{4} = (the source of G_{3})↾(the edges of G_{4}), and (ii) the target of G_{4} = (the target of G_{3})↾(the edges of G_{4}).

(49) Let G be a graph, V_{1}, V_{2}, E_{1}, E_{2} be sets, G_{3} be a subgraph of G induced by V_{1} and E_{1}, and G_{4} be a subgraph of G induced by V_{2} and E_{2}. Suppose V_{2} ⊆ V_{1} and E_{2} ⊆ E_{1} and V_{2} is a non empty subset of the vertices of G and E_{2} ⊆ G.edgesBetween(V_{2}). Then G_{4} is a subgraph of G_{3}.

(50) Let G_{3} be a non trivial graph, v be a vertex of G_{3}, and G_{4} be a subgraph of G_{3} with vertex v removed. Then the vertices of G_{4} = (the vertices of G_{3}) \ {v} and the edges of G_{4} = G_{3}.edgesBetween((the vertices of G_{3}) \ {v}).

(51) Let G_{3} be a finite non trivial graph, v be a vertex of G_{3}, and G_{4} be a subgraph of G_{3} with vertex v removed. Then G_{4}.order() + 1 = G_{3}.order() and G_{4}.size() + card(v.edgesInOut()) = G_{3}.size().

(52) Let G_{3} be a graph, V be a set, and G_{4} be a subgraph of G_{3} with vertices V removed. Suppose V ⊂ the vertices of G_{3}. Then the vertices of G_{4} = (the vertices of G_{3}) \ V and the edges of G_{4} = G_{3}.edgesBetween((the vertices of G_{3}) \ V).

(53) Let G_{3} be a finite graph, V be a subset of the vertices of G_{3}, and G_{4} be a subgraph of G_{3} with vertices V removed. If V ≠ the vertices of G_{3}, then G_{4}.order() + card V = G_{3}.order() and G_{4}.size() + card(G_{3}.edgesInOut(V)) = G_{3}.size().

(54) Let G_{3} be a graph, e be a set, and G_{4} be a subgraph of G_{3} with edge e removed. Then the vertices of G_{4} = the vertices of G_{3} and the edges of G_{4} = (the edges of G_{3}) \ {e}.

(55) Let G_{3} be a finite graph, e be a set, and G_{4} be a subgraph of G_{3} with edge e removed. Then G_{3}.order() = G_{4}.order() and if e ∈ the edges of G_{3}, then G_{4}.size() + 1 = G_{3}.size().

(56) Let G_{3} be a graph, E be a set, and G_{4} be a subgraph of G_{3} with edges E removed. Then the vertices of G_{4} = the vertices of G_{3} and the edges of G_{4} = (the edges of G_{3}) \ E.

(57) For every finite graph G_{3} and for every set E and for every subgraph G_{4} of G_{3} with edges E removed holds G_{3}.order() = G_{4}.order().

(58) Let G_{3} be a finite graph, E be a subset of the edges of G_{3}, and G_{4} be a subgraph of G_{3} with edges E removed. Then G_{4}.size() + card E = G_{3}.size().

(59) e ∈ v.edgesIn() iff e ∈ the edges of G and (the target of G)(e) = v.

(60) e ∈ v.edgesIn() iff there exists a set x such that e joins x to v in G.

(61) e ∈ v.edgesOut() iff e ∈ the edges of G and (the source of G)(e) = v.

(62) e ∈ v.edgesOut() iff there exists a set x such that e joins v to x in G.

(63) v.edgesInOut() = v.edgesIn() ∪ v.edgesOut().

(64) e ∈ v.edgesInOut() iff e ∈ the edges of G but (the source of G)(e) = v or (the target of G)(e) = v.

(65) If e joins v_{1} and x in G, then e ∈ v_{1}.edgesInOut().

(66) If e joins v_{1} and v_{2} in G, then e ∈ v_{1}.edgesIn() and e ∈ v_{2}.edgesOut() or e ∈ v_{2}.edgesIn() and e ∈ v_{1}.edgesOut().

(67) e ∈ v_{1}.edgesInOut() iff there exists a vertex v_{2} of G such that e joins v_{1} and v_{2} in G.

(68) If e ∈ v.edgesInOut() and e joins x and y in G, then v = x or v = y.

(69) If e joins v_{1} and v_{2} in G, then v_{1}.adj(e) = v_{2} and v_{2}.adj(e) = v_{1}.

(70) e ∈ v.edgesInOut() iff e joins v and v.adj(e) in G.

(71) Let G be a finite graph, e be a set, and v_{1}, v_{2} be vertices of G. If e joins v_{1} and v_{2} in G, then 1 ≤ v_{1}.degree() and 1 ≤ v_{2}.degree().

(72) x ∈ v.inNeighbors() iff there exists a set e such that e joins x to v in G.

(73) x ∈ v.outNeighbors() iff there exists a set e such that e joins v to x in G.

(74) x ∈ v.allNeighbors() iff there exists a set e such that e joins v and x in G.

(75) Let G_{3} be a graph, G_{4} be a subgraph of G_{3}, and x, y, e be sets. Then (i) if e joins x and y in G_{4}, then e joins x and y in G_{3}, (ii) if e joins x to y in G_{4}, then e joins x to y in G_{3}, (iii) if e joins a vertex from x and a vertex from y in G_{4}, then e joins a

vertex from x and a vertex from y in G_{3}, and (iv) if e joins a vertex from x to a vertex from y in G_{4}, then e joins a vertex

from x to a vertex from y in G_{3}.

(76) Let G_{3} be a graph, G_{4} be a subgraph of G_{3}, and x, y, e be sets such

that e ∈ the edges of G_{4}. Then

(i) if e joins x and y in G_{3}, then e joins x and y in G_{4}, (ii) if e joins x to y in G_{3}, then e joins x to y in G_{4}, (iii) if e joins a vertex from x and a vertex from y in G_{3}, then e joins a

vertex from x and a vertex from y in G_{4}, and (iv) if e joins a vertex from x to a vertex from y in G_{3}, then e joins a vertex

from x to a vertex from y in G_{4}.

(77) For every graph G_{3} and for every spanning subgraph G_{4} of G_{3} holds every spanning subgraph of G_{4} is a spanning subgraph of G_{3}.

(78) For every finite graph G_{3} and for every subgraph G_{4} of G_{3} holds G_{4}.order() ≤ G_{3}.order() and G_{4}.size() ≤ G_{3}.size().

(79) Let G_{3} be a graph, G_{4} be a subgraph of G_{3}, and X be a set. Then G_{4}.edgesInto(X) ⊆ G_{3}.edgesInto(X) and G_{4}.edgesOutOf(X) ⊆ G_{3}.edgesOutOf(X) and G_{4}.edgesInOut(X) ⊆ G_{3}.edgesInOut(X) and G_{4}.edgesBetween(X) ⊆ G_{3}.edgesBetween(X).

(80) For every graph G_{3} and for every subgraph G_{4} of G_{3} and for all sets X, Y holds G_{4}.edgesBetween(X, Y) ⊆ G_{3}.edgesBetween(X, Y) and G_{4}.edgesDBetween(X, Y) ⊆ G_{3}.edgesDBetween(X, Y).

(81) Let G_{3} be a graph, G_{4} be a subgraph of G_{3}, v_{1} be a vertex of G_{3}, and v_{2} be a vertex of G_{4}. If v_{1} = v_{2}, then v_{2}.edgesIn() ⊆ v_{1}.edgesIn() and v_{2}.edgesOut() ⊆ v_{1}.edgesOut() and v_{2}.edgesInOut() ⊆ v_{1}.edgesInOut().

(82) Let G_{3} be a graph, G_{4} be a subgraph of G_{3}, v_{1} be a vertex of G_{3}, and v_{2} be a vertex of G_{4}. Suppose v_{1} = v_{2}. Then v_{2}.edgesIn() = v_{1}.edgesIn()∩the edges of G_{4} and v_{2}.edgesOut() = v_{1}.edgesOut() ∩ the edges of G_{4} and v_{2}.edgesInOut() = v_{1}.edgesInOut() ∩ the edges of G_{4}.

(83) Let G_{3} be a graph, G_{4} be a subgraph of G_{3}, v_{1} be a vertex of G_{3}, v_{2} be a vertex of G_{4}, and e be a set. If v_{1} = v_{2} and e ∈ the edges of G_{4}, then v_{1}.adj(e) = v_{2}.adj(e).

(84) Let G_{3} be a finite graph, G_{4} be a subgraph of G_{3}, v_{1} be a vertex of G_{3}, and v_{2} be a vertex of G_{4}. If v_{1} = v_{2}, then v_{2}.inDegree() ≤ v_{1}.inDegree() and v_{2}.outDegree() ≤ v_{1}.outDegree() and v_{2}.degree() ≤ v_{1}.degree().

(85) Let G_{3} be a graph, G_{4} be a subgraph of G_{3}, v_{1} be a vertex of G_{3}, and v_{2} be a vertex of G_{4}. If v_{1} = v_{2}, then v_{2}.inNeighbors() ⊆ v_{1}.inNeighbors() and v_{2}.outNeighbors() ⊆ v_{1}.outNeighbors() and v_{2}.allNeighbors() ⊆ v_{1}.allNeighbors().

(86) Let G_{3} be a graph, G_{4} be a subgraph of G_{3}, v_{1} be a vertex of G_{3}, and v_{2} be a vertex of G_{4}. If v_{1} = v_{2} and v_{1} is isolated, then v_{2} is isolated.

(87) Let G_{3} be a graph, G_{4} be a subgraph of G_{3}, v_{1} be a vertex of G_{3}, and v_{2} be a vertex of G_{4}. If v_{1} = v_{2} and v_{1} is endvertex, then v_{2} is endvertex or isolated.

(88) If G_{3} =_{G} G_{4} and G_{4} =_{G} G_{7}, then G_{3} =_{G} G_{7}.

(89) Let G be a graph and G_{3}, G_{4} be subgraphs of G. Suppose the vertices of G_{3} = the vertices of G_{4} and the edges of G_{3} = the edges of G_{4}. Then

G_{3} =_{G} G_{4}.

(90) G_{3} =_{G} G_{4} iff G_{3} is a subgraph of G_{4} and G_{4} is a subgraph of G_{3}.

(91) Suppose G_{3} =_{G} G_{4}. Then (i) if e joins x and y in G_{3}, then e joins x and y in G_{4}, (ii) if e joins x to y in G_{3}, then e joins x to y in G_{4}, (iii) if e joins a vertex from X and a vertex from Y in G_{3}, then e joins a

vertex from X and a vertex from Y in G_{4}, and (iv) if e joins a vertex from X to a vertex from Y in G_{3}, then e joins a

vertex from X to a vertex from Y in G_{4}.

(92) Suppose G_{3} =_{G} G_{4}. Then (i) if G_{3} is finite, then G_{4} is finite, (ii) if G_{3} is loopless, then G_{4} is loopless, (iii) if G_{3} is trivial, then G_{4} is trivial, (iv) if G_{3} is non-multi, then G_{4} is non-multi,

(v) if G_{3} is non-directed-multi, then G_{4} is non-directed-multi, (vi) if G_{3} is simple, then G_{4} is simple, and (vii) if G_{3} is directed-simple, then G_{4} is directed-simple.

(93) If G_{3} =_{G} G_{4}, then G_{3}.order() = G_{4}.order() and G_{3}.size() = G_{4}.size() and G_{3}.edgesInto(X) = G_{4}.edgesInto(X) and G_{3}.edgesOutOf(X) = G_{4}.edgesOutOf(X) and G_{3}.edgesInOut(X) = G_{4}.edgesInOut(X) and G_{3}.edgesBetween(X) = G_{4}.edgesBetween(X) and G_{3}.edgesDBetween(X, Y) = G_{4}.edgesDBetween(X, Y).

(94) If G_{3} =_{G} G_{4} and G_{7} is a subgraph of G_{3}, then G_{7} is a subgraph of G_{4}.

(95) If G_{3} =_{G} G_{4} and G_{3} is a subgraph of G_{7}, then G_{4} is a subgraph of G_{7}.

(96) For all subgraphs G_{3}, G_{4} of G induced by V and E holds G_{3} =_{G} G_{4}.

(97) For every graph G_{3} and for every subgraph G_{4} of G_{3} induced by the vertices of G_{3} holds G_{3} =_{G} G_{4}.

(98) Let G_{3}, G_{4} be graphs, V, E be sets, and G_{7} be a subgraph of G_{3} induced by V and E. If G_{3} =_{G} G_{4}, then G_{7} is a subgraph of G_{4} induced by V and E.

(99) Let v_{1} be a vertex of G_{3} and v_{2} be a vertex of G_{4}. Suppose v_{1} = v_{2} and G_{3} =_{G} G_{4}. Then v_{1}.edgesIn() = v_{2}.edgesIn() and v_{1}.edgesOut() = v_{2}.edgesOut() and v_{1}.edgesInOut() = v_{2}.edgesInOut() and v_{1}.adj(e) = v_{2}.adj(e) and v_{1}.inDegree() = v_{2}.inDegree() and v_{1}.outDegree() = v_{2}.outDegree() and v_{1}.degree() = v_{2}.degree() and v_{1}.inNeighbors() = v_{2}.inNeighbors() and v_{1}.outNeighbors() = v_{2}.outNeighbors() and v_{1}.allNeighbors() = v_{2}.allNeighbors().

(100) Let v_{1} be a vertex of G_{3} and v_{2} be a vertex of G_{4} such that v_{1} = v_{2} and

G_{3} =_{G} G_{4}. Then

(i) if v_{1} is isolated, then v_{2} is isolated, and

alternative graph structures 251

(ii) if v_{1} is endvertex, then v_{2} is endvertex.

(101) Let G be a graph and G_{3}, G_{4} be subgraphs of G. Suppose G_{3} ⊂ G_{4}. Then the vertices of G_{3} ⊂ the vertices of G_{4} or the edges of G_{3} ⊂ the edges of G_{4}.

(102) Let G be a graph and G_{3}, G_{4} be subgraphs of G. Suppose G_{3} ⊂ G_{4}. Then

(i) there exists a set v such that v ∈ the vertices of G_{4} and v ∉ the vertices of G_{3}, or

(ii) there exists a set e such that e ∈ the edges of G_{4} and e ∉ the edges of G_{3}.

References

[1] Grzegorz Bancerek. Cardinal arithmetics. Formalized Mathematics, 1(3):543–547, 1990.

[2] Grzegorz Bancerek. Cardinal numbers. Formalized Mathematics, 1(2):377–382, 1990.

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

[4] Grzegorz Bancerek. Sequences of ordinal numbers. Formalized Mathematics, 1(2):281– 290, 1990.

[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. A classical first order language. Formalized Mathematics, 1(4):669–676, 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. 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 and Piotr Rudnicki. Bounding boxes for compact sets in E^{2}. Formalized Mathematics, 6(3):427–440, 1997.

[11] Jing-Chao Chen. A small computer model with push-down stack. Formalized Mathematics, 8(1):175–182, 1999.

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

[13] Krzysztof Hryniewiecki. Graphs. Formalized Mathematics, 2(3):365–370, 1991.

[14] Gilbert Lee. Verification of graph algorithms in Mizar. Dept. of Comp. Sci., University of Alberta, Edmonton, Canada, 2004. M Sc thesis, http://www.cs.ualberta.ca/-

~piotr/Mizar/Doc/GL-thesis.ps.

[15] Gilbert Lee. Trees and Graph Components. Formalized Mathematics, 13(2):271–277, 2005.

[16] Gilbert Lee. Walks in Graphs. Formalized Mathematics, 13(2):253–269, 2005.

[17] Gilbert Lee. Weighted and Labeled Graphs. Formalized Mathematics, 13(2):279–293, 2005.

[18] Andrzej Trybulec. Subsets of complex numbers. To appear in Formalized Mathematics.

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

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

[21] Andrzej Trybulec. Many-sorted sets. Formalized Mathematics, 4(1):15–22, 1993.

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

[23] Josef Urban. Basic facts about inaccessible and measurable cardinals. Formalized Mathematics, 9(2):323–329, 2001.

252 gilbert lee and piotr rudnicki

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

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

Walks in Graphs^{1}

Gilbert Lee^{2} University of Victoria, Victoria, Canada

Summary. We define walks for graphs introduced in [9], introduce walk attributes and functors for walk creation and modification of walks. Subwalks of a walk are also defined. In our rendition, walks are alternating finite sequences of vertices and edges.

MML identifier: GLIB 001, version: 7.5.01 4.39.921

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

1. Preliminaries

The following propositions are true:

(1) For all odd natural numbers x, y holds x < y iff x + 2 ≤ y.

(2) Let X be a set and k be a natural number. Suppose X ⊆ Seg k. Let m, n be natural numbers. If m ∈ dom Sgm X and n = (Sgm X)(m), then m ≤ n.

(3) For every set X and for every finite sequence f_{2} of elements of X and for every FinSubsequence f_{1} of f_{2} holds len Seq f_{1} ≤ len f_{2}.

(4) Let X be a set, f_{2} be a finite sequence of elements of X, f_{1} be a Fin-Subsequence of f_{2}, and m be a natural number. Suppose m ∈ dom Seq f_{1}. Then there exists a natural number n such that n ∈ dom f_{2} and m ≤ n and (Seq f_{1})(m) = f_{2}(n).

1This work has been partially supported by NSERC, Alberta Ingenuity Fund and iCORE.

2Part of author’s MSc work.

(5) For every set X and for every finite sequence f_{2} of elements of X and for every FinSubsequence f_{1} of f_{2} holds len Seq f_{1} = card f_{1}.

(6) Let X be a set, f_{2} be a finite sequence of elements of X, and f_{1} be a FinSubsequence of f_{2}. Then dom Seq f_{1} = dom Sgm dom f_{1}.

2. Walk Definitions

Let G be a graph. A finite sequence of elements of the vertices of G is said to be a vertex sequence of G if:

(Def. 1) For every natural number n such that 1 ≤ n and n < len it there exists

a set e such that e joins it(n) and it(n + 1) in G. Let G be a graph. A finite sequence of elements of the edges of G is said to

be a edge sequence of G if it satisfies the condition (Def. 2). (Def. 2) There exists a finite sequence v_{1} of elements of the vertices of G such

that len v_{1} = len it + 1 and for every natural number n such that 1 ≤ n and n ≤ len it holds it(n) joins v_{1}(n) and v_{1}(n + 1) in G.

Let G be a graph. A finite sequence of elements of (the vertices of G) ∪ (the edges of G) is said to be a walk of G if it satisfies the conditions (Def. 3).

(Def. 3)(i) len it is odd, (ii) it(1) ∈ the vertices of G, and (iii) for every odd natural number n such that n < len it holds it(n + 1)

joins it(n) and it(n + 2) in G. Let G be a graph and let W be a walk of G. One can verify that len W is

odd and non empty.

Let G be a graph and let v be a vertex of G. The functor G.walkOf(v) yielding a walk of G is defined as follows:

(Def. 4) G.walkOf(v) = ⟨v⟩.

Let G be a graph and let x, y, e be sets. The functor G.walkOf(x, e, y) yielding a walk of G is defined as follows:

(Def. 5) G.walkOf(x, e, y) = \{ \begin{matrix}⟨x, e, y⟩, if e joins x and y in G, \\ G.walkOf(choose(the vertices of G)), otherwise. \end{matrix}

Let G be a graph and let W be a walk of G. The functor W .first() yields a vertex of G and is defined as follows:

(Def. 6) W .first() = W (1).

The functor W .last() yields a vertex of G and is defined by: (Def. 7) W .last() = W (len W).

Let G be a graph, let W be a walk of G, and let n be a natural number. The functor W .vertexAt(n) yielding a vertex of G is defined as follows:

(Def. 8) W .vertexAt(n) = \{ \begin{matrix}W (n), if n is odd and n ≤ len W, \\ W .first(), otherwise. \end{matrix}

Let G be a graph and let W be a walk of G. The functor W .reverse() yielding a walk of G is defined as follows:

(Def. 9) W .reverse() = Rev(W).

Let G be a graph and let W_{1}, W_{2} be walks of G. The functor W_{1}.append(W_{2}) yields a walk of G and is defined by:

(Def. 10) W_{1}.append(W_{2}) = \{ \begin{matrix}W_{1} ⌢⌢ W_{2}, if W_{1}.last() = W_{2}.first(), \\ W_{1}, otherwise. \end{matrix}

Let G be a graph, let W be a walk of G, and let m, n be natural numbers. The functor W .cut(m, n) yields a walk of G and is defined by:

(Def. 11) W .cut(m, n) = \{ \begin{matrix}⟨W (m), …, W (n)⟩, if m is odd and n is odd and \\ m ≤ n and n ≤ len W, \\ W, otherwise. \end{matrix}

Let G be a graph, let W be a walk of G, and let m, n be natural numbers. The functor W .remove(m, n) yielding a walk of G is defined by:

(Def. 12) W .remove(m, n) = \{ \begin{matrix}(W .cut(1, m)).append((W .cut(n, len W))), \\ if m is odd and n is odd and m ≤ n and \\ n ≤ len W and W (m) = W (n), \\ W, otherwise. \end{matrix}

Let G be a graph, let W be a walk of G, and let e be a set. The functor W .addEdge(e) yields a walk of G and is defined as follows:

(Def. 13) W .addEdge(e) = W .append((G.walkOf(W .last(), e, W .last().adj(e)))).

Let G be a graph and let W be a walk of G. The functor W .vertexSeq() yielding a vertex sequence of G is defined by:

(Def. 14) len W + 1 = 2 · len(W .vertexSeq()) and for every natural number n such that 1 ≤ n and n ≤ len(W .vertexSeq()) holds W .vertexSeq()(n) = W (2 · n − 1).

Let G be a graph and let W be a walk of G. The functor W .edgeSeq() yields a edge sequence of G and is defined by:

(Def. 15) len W = 2 · len(W .edgeSeq()) + 1 and for every natural number n such

that 1 ≤ n and n ≤ len(W .edgeSeq()) holds W .edgeSeq()(n) = W (2 · n). Let G be a graph and let W be a walk of G. The functor W .vertices() yields

a finite subset of the vertices of G and is defined as follows: (Def. 16) W .vertices() = rng(W .vertexSeq()).

Let G be a graph and let W be a walk of G. The functor W .edges() yields a finite subset of the edges of G and is defined by:

(Def. 17) W .edges() = rng(W .edgeSeq()).

Let G be a graph and let W be a walk of G. The functor W .length() yielding a natural number is defined by:

(Def. 18) W .length() = len(W .edgeSeq()).

Let G be a graph, let W be a walk of G, and let v be a set. The functor W .find(v) yields an odd natural number and is defined by:

(Def. 19)(i) W .find(v) ≤ len W and W (W .find(v)) = v and for every odd natural number n such that n ≤ len W and W (n) = v holds W .find(v) ≤ n if v ∈ W .vertices(),

(ii) W .find(v) = len W, otherwise.

Let G be a graph, let W be a walk of G, and let n be a natural number. The functor W .find(n) yielding an odd natural number is defined by:

(Def. 20)(i) W .find(n) ≤ len W and W (W .find(n)) = W (n) and for every odd natural number k such that k ≤ len W and W (k) = W (n) holds W .find(n) ≤ k if n is odd and n ≤ len W,

(ii) W .find(n) = len W, otherwise.

Let G be a graph, let W be a walk of G, and let v be a set. The functor W .rfind(v) yields an odd natural number and is defined as follows:

(Def. 21)(i) W .rfind(v) ≤ len W and W (W .rfind(v)) = v and for every odd natural number n such that n ≤ len W and W (n) = v holds n ≤ W .rfind(v) if v ∈ W .vertices(),

(ii) W .rfind(v) = len W, otherwise.

Let G be a graph, let W be a walk of G, and let n be a natural number. The functor W .rfind(n) yields an odd natural number and is defined by:

(Def. 22)(i) W .rfind(n) ≤ len W and W (W .rfind(n)) = W (n) and for every odd natural number k such that k ≤ len W and W (k) = W (n) holds k ≤ W .rfind(n) if n is odd and n ≤ len W,

(ii) W .rfind(n) = len W, otherwise.

Let G be a graph, let u, v be sets, and let W be a walk of G. We say that W is walk from u to v if and only if:

(Def. 23) W .first() = u and W .last() = v.

Let G be a graph and let W be a walk of G. We say that W is closed if and only if:

(Def. 24) W .first() = W .last().

We say that W is directed if and only if: (Def. 25) For every odd natural number n such that n < len W holds (the source

of G)(W (n + 1)) = W (n). We say that W is trivial if and only if:

(Def. 26) W .length() = 0.

We say that W is trail-like if and only if: (Def. 27) W .edgeSeq() is one-to-one.

Let G be a graph and let W be a walk of G. We introduce W is open as an antonym of W is closed.

Let G be a graph and let W be a walk of G. We say that W is path-like if and only if the conditions (Def. 28) are satisfied.

(Def. 28)(i) W is trail-like, and

(ii) for all odd natural numbers m, n such that m < n and n ≤ len W holds

if W (m) = W (n), then m = 1 and n = len W. Let G be a graph and let W be a walk of G. We say that W is vertex-distinct

if and only if: (Def. 29) For all odd natural numbers m, n such that m ≤ len W and n ≤ len W

and W (m) = W (n) holds m = n. Let G be a graph and let W be a walk of G. We say that W is circuit-like

if and only if: (Def. 30) W is closed, trail-like, and non trivial.

We say that W is cycle-like if and only if: (Def. 31) W is closed, path-like, and non trivial.

Let G be a graph. One can verify the following observations:

∗ every walk of G which is path-like is also trail-like,

∗ every walk of G which is trivial is also path-like,

∗ every walk of G which is trivial is also vertex-distinct,

∗ every walk of G which is vertex-distinct is also path-like,

∗ every walk of G which is circuit-like is also closed, trail-like, and non trivial, and

∗ every walk of G which is cycle-like is also closed, path-like, and non trivial.

Let G be a graph. Observe that there exists a walk of G which is closed, directed, and trivial.

Let G be a graph. Observe that there exists a walk of G which is vertexdistinct.

Let G be a graph. A trail of G is a trail-like walk of G. A path of G is a path-like walk of G.

Let G be a graph. A dwalk of G is a directed walk of G. A dtrail of G is a directed trail of G. A dpath of G is a directed path of G.

Let G be a graph and let v be a vertex of G. Note that G.walkOf(v) is closed, directed, and trivial.

Let G be a graph and let x, e, y be sets. One can check that G.walkOf(x, e, y) is path-like.

Let G be a graph and let x, e be sets. Note that G.walkOf(x, e, x) is closed. Let G be a graph and let W be a closed walk of G. One can check that

W .reverse() is closed.

Let G be a graph and let W be a trivial walk of G. One can verify that W .reverse() is trivial.

Let G be a graph and let W be a trail of G. Note that W .reverse() is trail-like.

Let G be a graph and let W be a path of G. Observe that W .reverse() is path-like.

Let G be a graph and let W_{1}, W_{2} be closed walks of G. Note that W_{1}.append(W_{2}) is closed.

Let G be a graph and let W_{1}, W_{2} be dwalks of G. One can verify that W_{1}.append(W_{2}) is directed.

Let G be a graph and let W_{1}, W_{2} be trivial walks of G. Observe that W_{1}.append(W_{2}) is trivial.

Let G be a graph, let W be a dwalk of G, and let m, n be natural numbers. Note that W .cut(m, n) is directed.

Let G be a graph, let W be a trivial walk of G, and let m, n be natural numbers. Observe that W .cut(m, n) is trivial.

Let G be a graph, let W be a trail of G, and let m, n be natural numbers. Note that W .cut(m, n) is trail-like.

Let G be a graph, let W be a path of G, and let m, n be natural numbers. Note that W .cut(m, n) is path-like.

Let G be a graph, let W be a vertex-distinct walk of G, and let m, n be natural numbers. One can verify that W .cut(m, n) is vertex-distinct.

Let G be a graph, let W be a closed walk of G, and let m, n be natural numbers. One can verify that W .remove(m, n) is closed.

Let G be a graph, let W be a dwalk of G, and let m, n be natural numbers. Note that W .remove(m, n) is directed.

Let G be a graph, let W be a trivial walk of G, and let m, n be natural numbers. One can check that W .remove(m, n) is trivial.

Let G be a graph, let W be a trail of G, and let m, n be natural numbers. Observe that W .remove(m, n) is trail-like.

Let G be a graph, let W be a path of G, and let m, n be natural numbers. Observe that W .remove(m, n) is path-like.

Let G be a graph and let W be a walk of G. A walk of G is called a subwalk of W if:

(Def. 32) It is walk from W .first() to W .last() and there exists a FinSubsequence

e_{1} of W .edgeSeq() such that it.edgeSeq() = Seq e_{1}. Let G be a graph, let W be a walk of G, and let m, n be natural numbers.

Then W .remove(m, n) is a subwalk of W.

Let G be a graph and let W be a walk of G. Note that there exists a subwalk of W which is trail-like and path-like.

Let G be a graph and let W be a walk of G. A trail of W is a trail-like subwalk of W. A path of W is a path-like subwalk of W.

Let G be a graph and let W be a dwalk of G. One can verify that there exists a path of W which is directed.

Let G be a graph and let W be a dwalk of G. A dwalk of W is a directed subwalk of W. A dtrail of W is a directed trail of W. A dpath of W is a directed path of W.

Let G be a graph. The functor G.allWalks() yields a non empty subset of ((the vertices of G) ∪ (the edges of G))^{∗} and is defined by:

(Def. 33) G.allWalks() = {W : W ranges over walks of G}.

Let G be a graph. The functor G.allTrails() yielding a non empty subset of G.allWalks() is defined by:

(Def. 34) G.allTrails() = {W : W ranges over trails of G}.

Let G be a graph. The functor G.allPaths() yields a non empty subset of G.allTrails() and is defined as follows:

(Def. 35) G.allPaths() = {W : W ranges over paths of G}.

Let G be a graph. The functor G.allDWalks() yields a non empty subset of G.allWalks() and is defined by:

(Def. 36) G.allDWalks() = {W : W ranges over dwalks of G}.

Let G be a graph. The functor G.allDTrails() yields a non empty subset of G.allTrails() and is defined as follows:

(Def. 37) G.allDTrails() = {W : W ranges over dtrails of G}.

Let G be a graph. The functor G.allDPaths() yields a non empty subset of G.allDTrails() and is defined by:

(Def. 38) G.allDPaths() = {W : W ranges over directed paths of G}. Let G be a finite graph. One can check that G.allTrails() is finite. Let G be a graph and let X be a non empty subset of G.allWalks(). We see

that the element of X is a walk of G.

Let G be a graph and let X be a non empty subset of G.allTrails(). We see that the element of X is a trail of G.

Let G be a graph and let X be a non empty subset of G.allPaths(). We see that the element of X is a path of G.

Let G be a graph and let X be a non empty subset of G.allDWalks(). We see that the element of X is a dwalk of G.

Let G be a graph and let X be a non empty subset of G.allDTrails(). We see that the element of X is a dtrail of G.

Let G be a graph and let X be a non empty subset of G.allDPaths(). We see that the element of X is a dpath of G.

3. Walk Theorems

For simplicity, we adopt the following rules: G, G_{1}, G_{2} are graphs, W, W_{1}, W_{2} are walks of G, e, x, y, z are sets, v is a vertex of G, and n, m are natural numbers.

We now state a number of propositions: (8)^{3} For every odd natural number n such that n ≤ len W holds W (n) ∈ the

vertices of G.

(9) For every even natural number n such that n ∈ dom W holds W (n) ∈ the edges of G.

(10) Let n be an even natural number. Suppose n ∈ dom W. Then there exists an odd natural number n_{1} such that n_{1} = n − 1 and n − 1 ∈ dom W and n + 1 ∈ dom W and W (n) joins W (n_{1}) and W (n + 1) in G.

(11) For every odd natural number n such that n < len W holds W (n + 1) ∈ (W .vertexAt(n)).edgesInOut().

(12) For every odd natural number n such that 1 < n and n ≤ len W holds W (n − 1) ∈ (W .vertexAt(n)).edgesInOut().

(13) For every odd natural number n such that n < len W holds n ∈ dom W and n + 1 ∈ dom W and n + 2 ∈ dom W.

(14) len(G.walkOf(v)) = 1 and (G.walkOf(v))(1) = v and (G.walkOf(v)).first() = v and (G.walkOf(v)).last() = v and G.walkOf(v) is walk from v to v.

(15) If e joins x and y in G, then len(G.walkOf(x, e, y)) = 3.

(16) If e joins x and y in G, then (G.walkOf(x, e, y)).first() = x and (G.walkOf(x, e, y)).last() = y and G.walkOf(x, e, y) is walk from x to y.

(17) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} such that W_{1} = W_{2} holds W_{1}.first() = W_{2}.first() and W_{1}.last() = W_{2}.last().

(18) W is walk from x to y iff W (1) = x and W (len W) = y.

(19) If W is walk from x to y, then x is a vertex of G and y is a vertex of G.

(20) Let W_{1} be a walk of G_{1} and W_{2} be a walk of G_{2}. If W_{1} = W_{2}, then W_{1} is walk from x to y iff W_{2} is walk from x to y.

(21) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} such that W_{1} = W_{2} and for every natural number n holds W_{1}.vertexAt(n) = W_{2}.vertexAt(n).

(22) len W = len(W .reverse()) and dom W = dom(W .reverse()) and rng W = rng(W .reverse()).

(23) W .first() = W .reverse().last() and W .last() = W .reverse().first().

(24) W is walk from x to y iff W .reverse() is walk from y to x.

3The proposition (7) has been removed.

(25) If n ∈ dom W, then W (n) = W .reverse()((len W − n) + 1) and (len W − n) + 1 ∈ dom(W .reverse()).

(26) If n ∈ dom(W .reverse()), then W .reverse()(n) = W ((len W −n)+1) and (len W − n) + 1 ∈ dom W.

(27) W .reverse().reverse() = W.

(28) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} such that W_{1} = W_{2} holds W_{1}.reverse() = W_{2}.reverse().

(29) If W_{1}.last() = W_{2}.first(), then len(W_{1}.append(W_{2})) + 1 = len W_{1} + len W_{2}.

(30) If W_{1}.last() = W_{2}.first(), then len W_{1} ≤ len(W_{1}.append(W_{2})) and len W_{2} ≤ len(W_{1}.append(W_{2})).

(31) If W_{1}.last() = W_{2}.first(), then (W_{1}.append(W_{2})).first() = W_{1}.first() and (W_{1}.append(W_{2})).last() = W_{2}.last() and W_{1}.append(W_{2}) is walk from W_{1}.first() to W_{2}.last().

(32) If W_{1} is walk from x to y and W_{2} is walk from y to z, then W_{1}.append(W_{2}) is walk from x to z.

(33) If n ∈ dom W_{1}, then (W_{1}.append(W_{2}))(n) = W_{1}(n) and n ∈ dom(W_{1}.append(W_{2})).

(34) If W_{1}.last() = W_{2}.first(), then for every natural number n such that n < len W_{2} holds (W_{1}.append(W_{2}))(len W_{1} + n) = W_{2}(n + 1) and len W_{1} + n ∈ dom(W_{1}.append(W_{2})).

(35) If n ∈ dom(W_{1}.append(W_{2})), then n ∈ dom W_{1} or there exists a natural number k such that k < len W_{2} and n = len W_{1} + k.

(36) For all walks W_{3}, W_{4} of G_{1} and for all walks W_{5}, W_{6} of G_{2} such that W_{3} = W_{5} and W_{4} = W_{6} holds W_{3}.append(W_{4}) = W_{5}.append(W_{6}).

(37) Let m, n be odd natural numbers. Suppose m ≤ n and n ≤ len W. Then len(W .cut(m, n)) + m = n + 1 and for every natural number i such that i < len(W .cut(m, n)) holds (W .cut(m, n))(i + 1) = W (m + i) and m + i ∈ dom W.

(38) Let m, n be odd natural numbers. Suppose m ≤ n and n ≤ len W. Then (W .cut(m, n)).first() = W (m) and (W .cut(m, n)).last() = W (n) and W .cut(m, n) is walk from W (m) to W (n).

(39) For all odd natural numbers m, n, o such that m ≤ n and n ≤ o and o ≤ len W holds (W .cut(m, n)).append((W .cut(n, o))) = W .cut(m, o).

(40) W .cut(1, len W) = W.

(41) For every odd natural number n such that n < len W holds G.walkOf(W (n), W (n + 1), W (n + 2)) = W .cut(n, n + 2).

(42) For all odd natural numbers m, n such that m ≤ n and n < len W holds (W .cut(m, n)).addEdge(W (n + 1)) = W .cut(m, n + 2).

(43) For every odd natural number n such that n ≤ len W holds W .cut(n, n) = ⟨W .vertexAt(n)⟩.

(44) If m is odd and m ≤ n, then W .cut(1, n).cut(1, m) = W .cut(1, m).

(45) For all odd natural numbers m, n such that m ≤ n and n ≤ len W_{1} and W_{1}.last() = W_{2}.first() holds (W_{1}.append(W_{2})).cut(m, n) = W_{1}.cut(m, n).

(46) For every odd natural number m such that m ≤ len W holds len(W .cut(1, m)) = m.

(47) For every odd natural number m and for every natural number x such that x ∈ dom(W .cut(1, m)) and m ≤ len W holds (W .cut(1, m))(x) = W (x).

(48) Let m, n be odd natural numbers and i be a natural number. If m ≤ n and n ≤ len W and i ∈ dom(W .cut(m, n)), then (W .cut(m, n))(i) = W ((m + i) − 1) and (m + i) − 1 ∈ dom W.

(49) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} and for all natural numbers m, n such that W_{1} = W_{2} holds W_{1}.cut(m, n) = W_{2}.cut(m, n).

(50) For all odd natural numbers m, n such that m ≤ n and n ≤ len W and W (m) = W (n) holds len(W .remove(m, n)) + n = len W + m.

(51) If W is walk from x to y, then W .remove(m, n) is walk from x to y.

(52) len(W .remove(m, n)) ≤ len W.

(53) W .remove(m, m) = W.

(54) For all odd natural numbers m, n such that m ≤ n and n ≤ len W and W (m) = W (n) holds (W .cut(1, m)).last() = (W .cut(n, len W)).first().

(55) Let m, n be odd natural numbers. Suppose m ≤ n and n ≤ len W and W (m) = W (n). Let x be a natural number. If x ∈ Seg m, then (W .remove(m, n))(x) = W (x).

(56) Let m, n be odd natural numbers. Suppose m ≤ n and n ≤ len W and W (m) = W (n). Let x be a natural number. Suppose m ≤ x and x ≤ len(W .remove(m, n)). Then (W .remove(m, n))(x) = W ((x − m) + n) and (x − m) + n is a natural number and (x − m) + n ≤ len W.

(57) For all odd natural numbers m, n such that m ≤ n and n ≤ len W and W (m) = W (n) holds len(W .remove(m, n)) = (len W + m) − n.

(58) For every natural number m such that W (m) = W .last() holds W .remove(m, len W) = W .cut(1, m).

(59) For every natural number m such that W .first() = W (m) holds W .remove(1, m) = W .cut(m, len W).

(60) (W .remove(m, n)).first() = W .first() and (W .remove(m, n)).last() = W .last().

(61) Let m, n be odd natural numbers and x be a natural number. Suppose m ≤ n and n ≤ len W and W (m) = W (n) and x ∈ dom(W .remove(m, n)).

Then x ∈ Seg m or m ≤ x and x ≤ len(W .remove(m, n)).

(62) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} and for all natural numbers m, n such that W_{1} = W_{2} holds W_{1}.remove(m, n) = W_{2}.remove(m, n).

(63) If e joins W .last() and x in G, then W .addEdge(e) = W ^{⌢} ⟨e, x⟩.

(64) If e joins W .last() and x in G, then (W .addEdge(e)).first() = W .first() and (W .addEdge(e)).last() = x and W .addEdge(e) is walk from W .first() to x.

(65) If e joins W .last() and x in G, then len(W .addEdge(e)) = len W + 2.

(66) Suppose e joins W .last() and x in G. Then (W .addEdge(e))(len W +1) = e and (W .addEdge(e))(len W + 2) = x and for every natural number n such that n ∈ dom W holds (W .addEdge(e))(n) = W (n).

(67) If W is walk from x to y and e joins y and z in G, then W .addEdge(e) is walk from x to z.

(68) 1 ≤ len(W .vertexSeq()).

(69) For every odd natural number n such that n ≤ len W holds 2 · ((n + 1) ÷ 2) − 1 = n and 1 ≤ (n + 1) ÷ 2 and (n + 1) ÷ 2 ≤ len(W .vertexSeq()).

(70) (G.walkOf(v)).vertexSeq() = ⟨v⟩.

(71) If e joins x and y in G, then (G.walkOf(x, e, y)).vertexSeq() = ⟨x, y⟩.

(72) W .first() = W .vertexSeq()(1) and W .last() = W .vertexSeq()(len(W .vertexSeq())).

(73) For every odd natural number n such that n ≤ len W holds W .vertexAt(n) = W .vertexSeq()((n + 1) ÷ 2).

(74) n ∈ dom(W .vertexSeq()) iff 2 · n − 1 ∈ dom W.

(75) (W .cut(1, n)).vertexSeq() ⊆ W .vertexSeq().

(76) If e joins W .last() and x in G, then (W .addEdge(e)).vertexSeq() = W .vertexSeq()^{⌢} ⟨x⟩.

(77) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} such that W_{1} = W_{2} holds W_{1}.vertexSeq() = W_{2}.vertexSeq().

(78) For every even natural number n such that 1 ≤ n and n ≤ len W holds n ÷ 2 ∈ dom(W .edgeSeq()) and W (n) = W .edgeSeq()(n ÷ 2).

(79) n ∈ dom(W .edgeSeq()) iff 2 · n ∈ dom W.

(80) For every natural number n such that n ∈ dom(W .edgeSeq()) holds W .edgeSeq()(n) ∈ the edges of G.

(81) There exists an even natural number l_{1} such that l_{1} = len W − 1 and len(W .edgeSeq()) = l_{1} ÷ 2.

(82) (W .cut(1, n)).edgeSeq() ⊆ W .edgeSeq().

(83) If e joins W .last() and x in G, then (W .addEdge(e)).edgeSeq() = W .edgeSeq()^{⌢} ⟨e⟩.

(84) e joins x and y in G iff (G.walkOf(x, e, y)).edgeSeq() = ⟨e⟩.

(85) W .reverse().edgeSeq() = Rev(W .edgeSeq()).

(86) If W_{1}.last() = W_{2}.first(), then (W_{1}.append(W_{2})).edgeSeq() = W_{1}.edgeSeq()^{⌢} W_{2}.edgeSeq().

(87) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} such that W_{1} = W_{2} holds W_{1}.edgeSeq() = W_{2}.edgeSeq().

(88) x ∈ W .vertices() iff there exists an odd natural number n such that n ≤ len W and W (n) = x.

(89) W .first() ∈ W .vertices() and W .last() ∈ W .vertices().

(90) For every odd natural number n such that n ≤ len W holds W .vertexAt(n) ∈ W .vertices().

(91) (G.walkOf(v)).vertices() = {v}.

(92) If e joins x and y in G, then (G.walkOf(x, e, y)).vertices() = {x, y}.

(93) W .vertices() = W .reverse().vertices().

(94) If W_{1}.last() = W_{2}.first(), then (W_{1}.append(W_{2})).vertices() = W_{1}.vertices() ∪ W_{2}.vertices().

(95) For all odd natural numbers m, n such that m ≤ n and n ≤ len W holds (W .cut(m, n)).vertices() ⊆ W .vertices().

(96) If e joins W .last() and x in G, then (W .addEdge(e)).vertices() = W .vertices() ∪ {x}.

(97) Let G be a finite graph, W be a walk of G, and e, x be sets. If e joins W .last() and x in G and x ∉ W .vertices(), then card((W .addEdge(e)).vertices()) = card(W .vertices()) + 1.

(98) If x ∈ W .vertices() and y ∈ W .vertices(), then there exists a walk of G which is walk from x to y.

(99) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} such that W_{1} = W_{2} holds W_{1}.vertices() = W_{2}.vertices().

(100) e ∈ W .edges() iff there exists an even natural number n such that 1 ≤ n and n ≤ len W and W (n) = e.

(101) e ∈ W .edges() iff there exists an odd natural number n such that n < len W and W (n + 1) = e.

(102) rng W = W .vertices() ∪ W .edges().

(103) If W_{1}.last() = W_{2}.first(), then (W_{1}.append(W_{2})).edges() = W_{1}.edges()∪ W_{2}.edges().

(104) Suppose e ∈ W .edges(). Then there exist vertices v_{2}, v_{3} of G and there exists an odd natural number n such that n + 2 ≤ len W and v_{2} = W (n) and e = W (n + 1) and v_{3} = W (n + 2) and e joins v_{2} and v_{3} in G.

(105) e ∈ W .edges() iff there exists a natural number n such that n ∈ dom(W .edgeSeq()) and W .edgeSeq()(n) = e.

(106) If e ∈ W .edges() and e joins x and y in G, then x ∈ W .vertices() and y ∈ W .vertices().

(107) (W .cut(m, n)).edges() ⊆ W .edges().

(108) W .edges() = W .reverse().edges().

(109) e joins x and y in G iff (G.walkOf(x, e, y)).edges() = {e}.

(110) W .edges() ⊆ G.edgesBetween(W .vertices()).

(111) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} such that W_{1} = W_{2} holds W_{1}.edges() = W_{2}.edges().

(112) If e joins W .last() and x in G, then (W .addEdge(e)).edges() = W .edges() ∪ {e}.

(113) len W = 2 · W .length() + 1.

(114) len W_{1} = len W_{2} iff W_{1}.length() = W_{2}.length().

(115) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} such that W_{1} = W_{2} holds W_{1}.length() = W_{2}.length().

(116) For every odd natural number n such that n ≤ len W holds W .find(W (n)) ≤ n and W .rfind(W (n)) ≥ n.

(117) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} and for every set v such that W_{1} = W_{2} holds W_{1}.find(v) = W_{2}.find(v) and W_{1}.rfind(v) = W_{2}.rfind(v).

(118) For every odd natural number n such that n ≤ len W holds W .find(n) ≤ n and W .rfind(n) ≥ n.

(119) W is closed iff W (1) = W (len W).

(120) W is closed iff there exists a set x such that W is walk from x to x.

(121) W is closed iff W .reverse() is closed.

(122) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} such that W_{1} = W_{2} and W_{1} is closed holds W_{2} is closed.

(123) W is directed if and only if for every odd natural number n such that n < len W holds W (n + 1) joins W (n) to W (n + 2) in G.

(124) Suppose W is directed and walk from x to y and e joins y to z in G. Then W .addEdge(e) is directed and W .addEdge(e) is walk from x to z.

(125) For every dwalk W of G and for all natural numbers m, n holds W .cut(m, n) is directed.

(126) W is non trivial iff 3 ≤ len W.

(127) W is non trivial iff len W ≠ 1.

(128) If W .first() ≠ W .last(), then W is non trivial.

(129) W is trivial iff there exists a vertex v of G such that W = G.walkOf(v).

(130) W is trivial iff W .reverse() is trivial.

(131) If W_{2} is trivial, then W_{1}.append(W_{2}) = W_{1}.

(132) For all odd natural numbers m, n such that m ≤ n and n ≤ len W holds W .cut(m, n) is trivial iff m = n.

(133) If e joins W .last() and x in G, then W .addEdge(e) is non trivial.

(134) If W is non trivial, then there exists an odd natural number l_{2} such that l_{2} = len W − 2 and (W .cut(1, l_{2})).addEdge(W (l_{2} + 1)) = W.

(135) If W_{2} is non trivial and W_{2}.edges() ⊆ W_{1}.edges(), then W_{2}.vertices() ⊆ W_{1}.vertices().

(136) If W is non trivial, then for every vertex v of G such that v ∈ W .vertices() holds v is not isolated.

(137) W is trivial iff W .edges() = ∅.

(138) For every walk W_{1} of G_{1} and for every walk W_{2} of G_{2} such that W_{1} = W_{2} and W_{1} is trivial holds W_{2} is trivial.

(139) W is trail-like iff for all even natural numbers m, n such that 1 ≤ m and m < n and n ≤ len W holds W (m) ≠ W (n).

(140) If len W ≤ 3, then W is trail-like.

(141) W is trail-like iff W .reverse() is trail-like.

(142) For every trail W of G and for all natural numbers m, n holds W .cut(m, n) is trail-like.

(143) For every trail W of G and for every set e such that e ∈ W .last().edgesInOut() and e ∉ W .edges() holds W .addEdge(e) is traillike.

(144) For every trail W of G and for every vertex v of G such that v ∈ W .vertices() and v is endvertex holds v = W .first() or v = W .last().

(145) For every finite graph G and for every trail W of G holds len(W .edgeSeq()) ≤ G.size().

(146) If len W ≤ 3, then W is path-like.

(147) If for all odd natural numbers m, n such that m ≤ len W and n ≤ len W and W (m) = W (n) holds m = n, then W is path-like.

(148) Let W be a path of G. Suppose W is open. Let m, n be odd natural numbers. If m < n and n ≤ len W, then W (m) ≠ W (n).

(149) W is path-like iff W .reverse() is path-like.

(150) For every path W of G and for all natural numbers m, n holds W .cut(m, n) is path-like.

(151) Let W be a path of G and e, v be sets. Suppose that (i) e joins W .last() and v in G, (ii) e ∉ W .edges(), (iii) W is trivial or open, and (iv) for every odd natural number n such that 1 < n and n ≤ len W holds

W (n) ≠ v.

Then W .addEdge(e) is path-like.

(152) Let W be a path of G and e, v be sets. Suppose e joins W .last() and v in G and v ∉ W .vertices() and W is trivial or open. Then W .addEdge(e) is path-like.

(153) If for every odd natural number n such that n ≤ len W holds W .find(W (n)) = W .rfind(W (n)), then W is path-like.

(154) If for every odd natural number n such that n ≤ len W holds W .rfind(n) = n, then W is path-like.

(155) For every finite graph G and for every path W of G holds len(W .vertexSeq()) ≤ G.order() + 1.

(156) Let G be a graph, W be a vertex-distinct walk of G, and e, v be sets. If e joins W .last() and v in G and v ∉ W .vertices(), then W .addEdge(e) is vertex-distinct.

(157) If e joins x and x in G, then G.walkOf(x, e, x) is cycle-like.

(158) Suppose e joins x and y in G and e ∈ W_{1}.edges() and W_{1} is cycle-like. Then there exists a walk W_{2} of G such that W_{2} is walk from x to y and e ∉ W_{2}.edges().

(159) W is a subwalk of W.

(160) For every walk W_{1} of G and for every subwalk W_{2} of W_{1} holds every subwalk of W_{2} is a subwalk of W_{1}.

(161) If W_{1} is a subwalk of W_{2}, then W_{1} is walk from x to y iff W_{2} is walk from x to y.

(162) If W_{1} is a subwalk of W_{2}, then W_{1}.first() = W_{2}.first() and W_{1}.last() = W_{2}.last().

(163) If W_{1} is a subwalk of W_{2}, then len W_{1} ≤ len W_{2}.

(164) If W_{1} is a subwalk of W_{2}, then W_{1}.edges() ⊆ W_{2}.edges() and W_{1}.vertices() ⊆ W_{2}.vertices().

(165) Suppose W_{1} is a subwalk of W_{2}. Let m be an odd natural number. Suppose m ≤ len W_{1}. Then there exists an odd natural number n such that m ≤ n and n ≤ len W_{2} and W_{1}(m) = W_{2}(n).

(166) Suppose W_{1} is a subwalk of W_{2}. Let m be an even natural number. Suppose 1 ≤ m and m ≤ len W_{1}. Then there exists an even natural number n such that m ≤ n and n ≤ len W_{2} and W_{1}(m) = W_{2}(n).

(167) For every trail W_{1} of G such that W_{1} is non trivial holds there exists a path of W_{1} which is non trivial.

(168) For every graph G_{1} and for every subgraph G_{2} of G_{1} holds every walk of G_{2} is a walk of G_{1}.

(169) Let G_{1} be a graph, G_{2} be a subgraph of G_{1}, and W be a walk of G_{1}. If W is trivial and W .first() ∈ the vertices of G_{2}, then W is a walk of G_{2}.

(170) Let G_{1} be a graph, G_{2} be a subgraph of G_{1}, and W be a walk of G_{1}. If W is non trivial and W .edges() ⊆ the edges of G_{2}, then W is a walk of G_{2}.

(171) Let G_{1} be a graph, G_{2} be a subgraph of G_{1}, and W be a walk of G_{1}. Suppose W .vertices() ⊆ the vertices of G_{2} and W .edges() ⊆ the edges of G_{2}. Then W is a walk of G_{2}.

(172) Let G_{1} be a non trivial graph, W be a walk of G_{1}, v be a vertex of G_{1}, and G_{2} be a subgraph of G_{1} with vertex v removed. If v ∉ W .vertices(), then W is a walk of G_{2}.

(173) Let G_{1} be a graph, W be a walk of G_{1}, e be a set, and G_{2} be a subgraph of G_{1} with edge e removed. If e ∉ W .edges(), then W is a walk of G_{2}.

(174) Let G_{1} be a graph, G_{2} be a subgraph of G_{1}, and x, y, e be sets. If e joins x and y in G_{2}, then G_{1}.walkOf(x, e, y) = G_{2}.walkOf(x, e, y).

(175) Let G_{1} be a graph, G_{2} be a subgraph of G_{1}, W_{1} be a walk of G_{1}, W_{2} be a walk of G_{2}, and e be a set. If W_{1} = W_{2} and e ∈ W_{2}.last().edgesInOut(), then W_{1}.addEdge(e) = W_{2}.addEdge(e).

(176) Let G_{1} be a graph, G_{2} be a subgraph of G_{1}, and W be a walk of G_{2}.

Then

(i) if W is closed, then W is a closed walk of G_{1}, (ii) if W is directed, then W is a directed walk of G_{1}, (iii) if W is trivial, then W is a trivial walk of G_{1}, (iv) if W is trail-like, then W is a trail-like walk of G_{1},

(v) if W is path-like, then W is a path-like walk of G_{1}, and (vi) if W is vertex-distinct, then W is a vertex-distinct walk of G_{1}.

(177) Let G_{1} be a graph, G_{2} be a subgraph of G_{1}, W_{1} be a walk of G_{1}, and

W_{2} be a walk of G_{2} such that W_{1} = W_{2}. Then

(i) W_{1} is closed iff W_{2} is closed, (ii) W_{1} is directed iff W_{2} is directed, (iii) W_{1} is trivial iff W_{2} is trivial, (iv) W_{1} is trail-like iff W_{2} is trail-like,

(v) W_{1} is path-like iff W_{2} is path-like, and (vi) W_{1} is vertex-distinct iff W_{2} is vertex-distinct.

(178) If G_{1} =_{G} G_{2} and x is a vertex sequence of G_{1}, then x is a vertex sequence of G_{2}.

(179) If G_{1} =_{G} G_{2} and x is a edge sequence of G_{1}, then x is a edge sequence of G_{2}.

(180) If G_{1} =_{G} G_{2} and x is a walk of G_{1}, then x is a walk of G_{2}.

(181) If G_{1} =_{G} G_{2}, then G_{1}.walkOf(x, e, y) = G_{2}.walkOf(x, e, y).

(182) Let W_{1} be a walk of G_{1} and W_{2} be a walk of G_{2} such that G_{1} =_{G} G_{2} and W_{1} = W_{2}. Then

walks in graphs 269

(i) W_{1} is closed iff W_{2} is closed, (ii) W_{1} is directed iff W_{2} is directed, (iii) W_{1} is trivial iff W_{2} is trivial, (iv) W_{1} is trail-like iff W_{2} is trail-like,

(v) W_{1} is path-like iff W_{2} is path-like, and (vi) W_{1} is vertex-distinct iff W_{2} is vertex-distinct.

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. The ordinal numbers. Formalized Mathematics, 1(1):91–96, 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. 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. Some properties of restrictions of finite sequences. Formalized Mathematics, 5(2):241–245, 1996.

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

[9] Gilbert Lee and Piotr Rudnicki. Alternative graph structures. Formalized Mathematics, 13(2):235–252, 2005.

[10] Yatsuka Nakamura and Piotr Rudnicki. Vertex sequences induced by chains. Formalized Mathematics, 5(3):297–304, 1996.

[11] Piotr Rudnicki and Andrzej Trybulec. Abian’s fixed point theorem. Formalized Mathematics, 6(3):335–338, 1997.

[12] Andrzej Trybulec. Subsets of complex numbers. To appear in Formalized Mathematics.

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

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

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

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

[17] Josef Urban. Basic facts about inaccessible and measurable cardinals. Formalized Mathematics, 9(2):323–329, 2001.

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

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

270 gilbert lee

Trees and Graph Components^{1}

Gilbert Lee^{2} University of Victoria, Victoria, Canada

Summary. In the graph framework of [11] we define connected and acyclic graphs, components of a graph, and define the notion of cut-vertex (articulation point).

MML identifier: GLIB 002, version: 7.5.01 4.39.921

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

1. Preliminaries

Let X be a finite set. Observe that 2^{X} is finite. The following proposition is true

(1) For every finite set X such that 1 < card X there exist sets x_{1}, x_{2} such that x_{1} ∈ X and x_{2} ∈ X and x_{1} ≠ x_{2}.

2. Definitions

Let G be a graph. We say that G is connected if and only if: (Def. 1) For all vertices u, v of G holds there exists a walk of G which is walk

from u to v. Let G be a graph. We say that G is acyclic if and only if:

(Def. 2) There exists no walk of G which is cycle-like.

Let G be a graph. We say that G is tree-like if and only if:

1This work has been partially supported by NSERC, Alberta Ingenuity Fund and iCORE.

2Part of author’s MSc work.

(Def. 3) G is acyclic and connected.

One can verify that every graph which is trivial is also connected. Let us note that every graph which is trivial and loopless is also tree-like. Let us note that every graph which is acyclic is also simple. Let us observe that every graph which is tree-like is also acyclic and con-

nected.

Let us observe that every graph which is acyclic and connected is also treelike.

Let G be a graph and let v be a vertex of G. Observe that every subgraph of G induced by {v} and ∅ is tree-like.

Let G be a graph and let v be a set. We say that G is dtree rooted at v if and only if:

(Def. 4) G is tree-like and for every vertex x of G holds there exists a dwalk of

G which is walk from v to x. Let us observe that there exists a graph which is trivial, finite, and tree-like

and there exists a graph which is non trivial, finite, and tree-like.

Let G be a graph. Note that there exists a subgraph of G which is trivial, finite, and tree-like.

Let G be an acyclic graph. Observe that every subgraph of G is acyclic. Let G be a graph and let v be a vertex of G. The functor G.reachableFrom(v)

yields a non empty subset of the vertices of G and is defined as follows: (Def. 5) For every set x holds x ∈ G.reachableFrom(v) iff there exists a walk of

G which is walk from v to x. Let G be a graph and let v be a vertex of G. The functor G.reachableDFrom(v)

yielding a non empty subset of the vertices of G is defined by: (Def. 6) For every set x holds x ∈ G.reachableDFrom(v) iff there exists a dwalk

of G which is walk from v to x. Let G_{1} be a graph and let G_{2} be a subgraph of G_{1}. We say that G_{2} is

component-like if and only if: (Def. 7) G_{2} is connected and it is not true that there exists a connected subgraph

G_{3} of G_{1} such that G_{2} ⊂ G_{3}. Let G be a graph. Note that every subgraph of G which is component-like

is also connected.

Let G be a graph and let v be a vertex of G. Note that every subgraph of G induced by G.reachableFrom(v) is component-like.

Let G be a graph. Observe that there exists a subgraph of G which is component-like.

Let G be a graph. A component of G is a component-like subgraph of G. Let G be a graph. The functor G.componentSet() yielding a non empty

family of subsets of the vertices of G is defined as follows:

(Def. 8) For every set x holds x ∈ G.componentSet() iff there exists a vertex v of

G such that x = G.reachableFrom(v). Let G be a graph and let X be an element of G.componentSet(). Observe

that every subgraph of G induced by X is component-like.

Let G be a graph. The functor G.numComponents() yielding a cardinal number is defined by:

(Def. 9) G.numComponents() = \overline{\overline{G.componentSet()}}.

Let G be a finite graph. Then G.numComponents() is a non empty natural number.

Let G be a graph and let v be a vertex of G. We say that v is cut-vertex if and only if:

(Def. 10) For every subgraph G_{2} of G with vertex v removed holds

G.numComponents() < G_{2}.numComponents(). Let G be a finite graph and let v be a vertex of G. Let us observe that v is

cut-vertex if and only if: (Def. 11) For every subgraph G_{2} of G with vertex v removed holds

G.numComponents() < G_{2}.numComponents(). Let G be a non trivial finite connected graph. Observe that there exists a

vertex of G which is non cut-vertex.

Let G be a non trivial finite tree-like graph. One can check that there exists a vertex of G which is endvertex.

Let G be a non trivial finite tree-like graph and let v be an endvertex vertex of G. Observe that every subgraph of G with vertex v removed is tree-like.

Let G_{4} be a graph sequence. We say that G_{4} is connected if and only if: (Def. 12) For every natural number n holds G_{4}.→n is connected.

We say that G_{4} is acyclic if and only if: (Def. 13) For every natural number n holds G_{4}.→n is acyclic.

We say that G_{4} is tree-like if and only if: (Def. 14) For every natural number n holds G_{4}.→n is tree-like.

One can check the following observations:

∗ every graph sequence which is trivial is also connected,

∗ every graph sequence which is trivial and loopless is also tree-like,

∗ every graph sequence which is acyclic is also simple,

∗ every graph sequence which is tree-like is also acyclic and connected, and ∗ every graph sequence which is acyclic and connected is also tree-like. Let us note that there exists a graph sequence which is halting, finite, and

tree-like.

Let G_{4} be a connected graph sequence and let n be a natural number. Note that G_{4}.→n is connected.

Let G_{4} be an acyclic graph sequence and let n be a natural number. Observe that G_{4}.→n is acyclic.

Let G_{4} be a tree-like graph sequence and let n be a natural number. Note that G_{4}.→n is tree-like.

3. Theorems

For simplicity, we use the following convention: G, G_{1}, G_{2} are graphs, e, x, y are sets, v, v_{1}, v_{2} are vertices of G, and W is a walk of G.

We now state a number of propositions:

(2) For every non trivial connected graph G and for every vertex v of G holds v is not isolated.

(3) Let G_{1} be a non trivial graph, v be a vertex of G_{1}, and G_{2} be a subgraph of G_{1} with vertex v removed. Suppose G_{2} is connected and there exists a set e such that e ∈ v.edgesInOut() and e does not join v and v in G_{1}. Then G_{1} is connected.

(4) Let G_{1} be a non trivial connected graph, v be a vertex of G_{1}, and G_{2} be a subgraph of G_{1} with vertex v removed. If v is endvertex, then G_{2} is connected.

(5) Let G_{1} be a connected graph, W be a walk of G_{1}, e be a set, and G_{2} be a subgraph of G_{1} with edge e removed. If W is cycle-like and e ∈ W .edges(), then G_{2} is connected.

(6) If there exists a vertex v_{1} of G such that for every vertex v_{2} of G holds there exists a walk of G which is walk from v_{1} to v_{2}, then G is connected.

(7) Every trivial graph is connected.

(8) If G_{1} =_{G} G_{2} and G_{1} is connected, then G_{2} is connected.

(9) v ∈ G.reachableFrom(v).

(10) If x ∈ G.reachableFrom(v_{1}) and e joins x and y in G, then y ∈ G.reachableFrom(v_{1}).

(11) G.edgesBetween(G.reachableFrom(v)) = G.edgesInOut(G.reachableFrom(v)).

(12) If v_{1} ∈ G.reachableFrom(v_{2}), then G.reachableFrom(v_{1}) = G.reachableFrom(v_{2}).

(13) If v ∈ W .vertices(), then W .vertices() ⊆ G.reachableFrom(v).

(14) Let G_{1} be a graph, G_{2} be a subgraph of G_{1}, v_{1} be a vertex of G_{1}, and v_{2} be a vertex of G_{2}. If v_{1} = v_{2}, then G_{2}.reachableFrom(v_{2}) ⊆ G_{1}.reachableFrom(v_{1}).

(15) If there exists a vertex v of G such that G.reachableFrom(v) = the vertices of G, then G is connected.

(16) If G is connected, then for every vertex v of G holds G.reachableFrom(v) = the vertices of G.

(17) For every vertex v_{1} of G_{1} and for every vertex v_{2} of G_{2} such that G_{1} =_{G} G_{2} and v_{1} = v_{2} holds G_{1}.reachableFrom(v_{1}) = G_{2}.reachableFrom(v_{2}).

(18) v ∈ G.reachableDFrom(v).

(19) If x ∈ G.reachableDFrom(v_{1}) and e joins x to y in G, then y ∈ G.reachableDFrom(v_{1}).

(20) G.reachableDFrom(v) ⊆ G.reachableFrom(v).

(21) Let G_{1} be a graph, G_{2} be a subgraph of G_{1}, v_{1} be a vertex of G_{1}, and v_{2} be a vertex of G_{2}. If v_{1} = v_{2}, then G_{2}.reachableDFrom(v_{2}) ⊆ G_{1}.reachableDFrom(v_{1}).

(22) For every vertex v_{1} of G_{1} and for every vertex v_{2} of G_{2} such that G_{1} =_{G} G_{2} and v_{1} = v_{2} holds G_{1}.reachableDFrom(v_{1}) = G_{2}.reachableDFrom(v_{2}).

(23) For every graph G_{1} and for every connected subgraph G_{2} of G_{1} such that G_{2} is spanning holds G_{1} is connected.

(24) ⋃(G.componentSet()) = the vertices of G.

(25) G is connected iff G.componentSet() = {the vertices of G}.

(26) If G_{1} =_{G} G_{2}, then G_{1}.componentSet() = G_{2}.componentSet().

(27) If x ∈ G.componentSet(), then x is a non empty subset of the vertices of G.

(28) G is connected iff G.numComponents() = 1.

(29) If G_{1} =_{G} G_{2}, then G_{1}.numComponents() = G_{2}.numComponents().

(30) G is a component of G iff G is connected.

(31) For every component C of G holds the edges of C = G.edgesBetween(the vertices of C).

(32) For all components C_{1}, C_{2} of G holds the vertices of C_{1} = the vertices of C_{2} iff C_{1} =_{G} C_{2}.

(33) Let C be a component of G and v be a vertex of G. Then v ∈ the vertices of C if and only if the vertices of C = G.reachableFrom(v).

(34) Let C_{1}, C_{2} be components of G and v be a set. If v ∈ the vertices of C_{1} and v ∈ the vertices of C_{2}, then C_{1} =_{G} C_{2}.

(35) Let G be a connected graph and v be a vertex of G. Then v is non cutvertex if and only if for every subgraph G_{2} of G with vertex v removed holds G_{2}.numComponents() ≤ G.numComponents().

(36) Let G be a connected graph, v be a vertex of G, and G_{2} be a subgraph of G with vertex v removed. If v is not cut-vertex, then G_{2} is connected.

(37) Let G be a non trivial finite connected graph. Then there exist vertices v_{1}, v_{2} of G such that v_{1} ≠ v_{2} and v_{1} is not cut-vertex and v_{2} is not cut-vertex.

276 gilbert lee

(38) If v is cut-vertex, then G is non trivial.

(39) Let v_{1} be a vertex of G_{1} and v_{2} be a vertex of G_{2}. If G_{1} =_{G} G_{2} and v_{1} = v_{2}, then if v_{1} is cut-vertex, then v_{2} is cut-vertex.

(40) For every finite connected graph G holds G.order() ≤ G.size() + 1.

(41) Every acyclic graph is simple.

(42) Let G be an acyclic graph, W be a path of G, and e be a set. If e ∉ W .edges() and e ∈ W .last().edgesInOut(), then W .addEdge(e) is path-like.

(43) Let G be a non trivial finite acyclic graph. Suppose the edges of G ≠ ∅. Then there exist vertices v_{1}, v_{2} of G such that v_{1} ≠ v_{2} and v_{1} is endvertex and v_{2} is endvertex and v_{2} ∈ G.reachableFrom(v_{1}).

(44) If G_{1} =_{G} G_{2} and G_{1} is acyclic, then G_{2} is acyclic.

(45) Let G be a non trivial finite tree-like graph. Then there exist vertices v_{1}, v_{2} of G such that v_{1} ≠ v_{2} and v_{1} is endvertex and v_{2} is endvertex.

(46) For every finite graph G holds G is tree-like iff G is acyclic and G.order() = G.size() + 1.

(47) For every finite graph G holds G is tree-like iff G is connected and G.order() = G.size() + 1.

(48) If G_{1} =_{G} G_{2} and G_{1} is tree-like, then G_{2} is tree-like.

(49) If G is dtree rooted at x, then x is a vertex of G.

(50) If G_{1} =_{G} G_{2} and G_{1} is dtree rooted at x, then G_{2} is dtree rooted at x.

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. The ordinal numbers. Formalized Mathematics, 1(1):91–96, 1990.

[4] Grzegorz Bancerek. Sequences of ordinal numbers. Formalized Mathematics, 1(2):281– 290, 1990.

[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. 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. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

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

[10] Gilbert Lee. Walks in Graphs. Formalized Mathematics, 13(2):253–269, 2005.

[11] Gilbert Lee and Piotr Rudnicki. Alternative graph structures. Formalized Mathematics, 13(2):235–252, 2005.

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

[13] Piotr Rudnicki and Andrzej Trybulec. Abian’s fixed point theorem. Formalized Mathematics, 6(3):335–338, 1997.

[14] Andrzej Trybulec. Subsets of complex numbers. To appear in Formalized Mathematics.

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

trees and graph components 277

[16] Andrzej Trybulec. Many-sorted sets. Formalized Mathematics, 4(1):15–22, 1993.

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

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

278 gilbert lee

Weighted and Labeled Graphs^{1}

Gilbert Lee^{2} University of Victoria, Victoria, Canada

Summary. In the graph framework of [17] we introduce new selectors: weights for edges and labels for both edges and vertices. We introduce also a number of tools for accessing and modifying these new fields.

MML identifier: GLIB 003, version: 7.5.01 4.39.921

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

1. Preliminaries

Let D be a set, let f_{1} be a finite sequence of elements of D, and let f_{2} be a FinSubsequence of f_{1}. Then Seq f_{2} is a finite sequence of elements of D.

Let F be a real-yielding binary relation and let X be a set. One can check that F ↾X is real-yielding.

Next we state two propositions:

(1) Let x_{1}, x_{2}, x_{3}, x_{4}, x_{5}, x_{6}, x_{7}, x_{8}, x_{9}, x_{10} be sets and p be a finite sequence. Suppose p = ⟨x_{1}⟩^{⌢}⟨x_{2}⟩^{⌢}⟨x_{3}⟩^{⌢}⟨x_{4}⟩^{⌢}⟨x_{5}⟩^{⌢}⟨x_{6}⟩^{⌢}⟨x_{7}⟩^{⌢}⟨x_{8}⟩^{⌢}⟨x_{9}⟩^{⌢}⟨x_{10}⟩. Then len p = 10 and p(1) = x_{1} and p(2) = x_{2} and p(3) = x_{3} and p(4) = x_{4} and p(5) = x_{5} and p(6) = x_{6} and p(7) = x_{7} and p(8) = x_{8} and p(9) = x_{9} and p(10) = x_{10}.

(2) Let f_{1} be a finite sequence of elements of ℝ and f_{2} be a FinSubsequence of f_{1}. If for every natural number i such that i ∈ dom f_{1} holds 0 ≤ f_{1}(i), then ∑ Seq f_{2} ≤ ∑ f_{1}.

1This work has been partially supported by NSERC, Alberta Ingenuity Fund and iCORE.

2Part of author’s MSc work.

2. Definitions

The natural number WeightSelector is defined by: (Def. 1) WeightSelector = 5.

The natural number ELabelSelector is defined as follows: (Def. 2) ELabelSelector = 6.

The natural number VLabelSelector is defined as follows: (Def. 3) VLabelSelector = 7.

Let G be a graph structure. We say that G is weighted if and only if: (Def. 4) WeightSelector ∈ dom G and G(WeightSelector) is a many sorted set

indexed by the edges of G. We say that G is elabeled if and only if:

(Def. 5) ELabelSelector ∈ dom G and there exists a function f such that

G(ELabelSelector) = f and dom f ⊆ the edges of G. We say that G is vlabeled if and only if:

(Def. 6) VLabelSelector ∈ dom G and there exists a function f such that

G(VLabelSelector) = f and dom f ⊆ the vertices of G. Let us mention that there exists a graph structure which is graph-like,

weighted, elabeled, and vlabeled.

A w-graph is a weighted graph. A e-graph is a elabeled graph. A v-graph is a vlabeled graph. A we-graph is a weighted elabeled graph. A wv-graph is a weighted vlabeled graph. A ev-graph is a elabeled vlabeled graph. A wev-graph is a weighted elabeled vlabeled graph.

Let G be a w-graph. The weight of G yielding a many sorted set indexed by the edges of G is defined by:

(Def. 7) The weight of G = G(WeightSelector).

Let G be a e-graph. The elabel of G yields a function and is defined by: (Def. 8) The elabel of G = G(ELabelSelector).

Let G be a v-graph. The vlabel of G yielding a function is defined by: (Def. 9) The vlabel of G = G(VLabelSelector).

Let G be a graph and let X be a set. One can check the following observations:

∗ G.set(WeightSelector, X) is graph-like,

∗ G.set(ELabelSelector, X) is graph-like, and

∗ G.set(VLabelSelector, X) is graph-like.

Let G be a finite graph and let X be a set. One can check the following observations:

∗ G.set(WeightSelector, X) is finite, ∗ G.set(ELabelSelector, X) is finite, and

∗ G.set(VLabelSelector, X) is finite. Let G be a loopless graph and let X be a set. One can check the following

observations:

∗ G.set(WeightSelector, X) is loopless,

∗ G.set(ELabelSelector, X) is loopless, and

∗ G.set(VLabelSelector, X) is loopless. Let G be a trivial graph and let X be a set. One can check the following

observations:

∗ G.set(WeightSelector, X) is trivial,

∗ G.set(ELabelSelector, X) is trivial, and

∗ G.set(VLabelSelector, X) is trivial. Let G be a non trivial graph and let X be a set. One can verify the following

observations:

∗ G.set(WeightSelector, X) is non trivial,

∗ G.set(ELabelSelector, X) is non trivial, and

∗ G.set(VLabelSelector, X) is non trivial. Let G be a non-multi graph and let X be a set. One can check the following

observations:

∗ G.set(WeightSelector, X) is non-multi,

∗ G.set(ELabelSelector, X) is non-multi, and

∗ G.set(VLabelSelector, X) is non-multi. Let G be a non-directed-multi graph and let X be a set. One can verify the

following observations: ∗ G.set(WeightSelector, X) is non-directed-multi,

∗ G.set(ELabelSelector, X) is non-directed-multi, and

∗ G.set(VLabelSelector, X) is non-directed-multi. Let G be a connected graph and let X be a set. One can check the following

observations:

∗ G.set(WeightSelector, X) is connected,

∗ G.set(ELabelSelector, X) is connected, and

∗ G.set(VLabelSelector, X) is connected. Let G be an acyclic graph and let X be a set. One can verify the following

observations:

∗ G.set(WeightSelector, X) is acyclic,

∗ G.set(ELabelSelector, X) is acyclic, and

∗ G.set(VLabelSelector, X) is acyclic.

Let G be a w-graph and let X be a set. Observe that G.set(ELabelSelector, X) is weighted and G.set(VLabelSelector, X) is weighted.

Let G be a graph and let X be a many sorted set indexed by the edges of G. Note that G.set(WeightSelector, X) is weighted.

Let G be a graph, let W_{1} be a non empty set, and let W be a function from the edges of G into W_{1}. Note that G.set(WeightSelector, W) is weighted.

Let G be a e-graph and let X be a set. Note that G.set(WeightSelector, X) is elabeled and G.set(VLabelSelector, X) is elabeled.

Let G be a graph, let Y be a set, and let X be a partial function from the edges of G to Y. One can check that G.set(ELabelSelector, X) is elabeled.

Let G be a graph and let X be a many sorted set indexed by the edges of G. One can verify that G.set(ELabelSelector, X) is elabeled.

Let G be a v-graph and let X be a set. Note that G.set(WeightSelector, X) is vlabeled and G.set(ELabelSelector, X) is vlabeled.

Let G be a graph, let Y be a set, and let X be a partial function from the vertices of G to Y. Note that G.set(VLabelSelector, X) is vlabeled.

Let G be a graph and let X be a many sorted set indexed by the vertices of G. One can verify that G.set(VLabelSelector, X) is vlabeled.

Let G be a graph. Note that G.set(ELabelSelector, ∅) is elabeled and G.set(VLabelSelector, ∅) is vlabeled. Let G be a graph. Note that there exists a subgraph of G which is weighted,

elabeled, and vlabeled.

Let G be a w-graph and let G_{2} be a weighted subgraph of G. We say that G_{2} inherits weight if and only if:

(Def. 10) The weight of G_{2} = (the weight of G)↾(the edges of G_{2}).

Let G be a e-graph and let G_{2} be a elabeled subgraph of G. We say that G_{2} inherits elabel if and only if:

(Def. 11) The elabel of G_{2} = (the elabel of G)↾(the edges of G_{2}).

Let G be a v-graph and let G_{2} be a vlabeled subgraph of G. We say that G_{2} inherits vlabel if and only if:

(Def. 12) The vlabel of G_{2} = (the vlabel of G)↾(the vertices of G_{2}).

Let G be a w-graph. Observe that there exists a weighted subgraph of G which inherits weight.

Let G be a e-graph. One can check that there exists a elabeled subgraph of G which inherits elabel.

Let G be a v-graph. One can verify that there exists a vlabeled subgraph of G which inherits vlabel.

Let G be a we-graph. Note that there exists a weighted elabeled subgraph of G which inherits weight and elabel.

Let G be a wv-graph. Observe that there exists a weighted vlabeled subgraph of G which inherits weight and vlabel.

Let G be a ev-graph. Observe that there exists a elabeled vlabeled subgraph of G which inherits elabel and vlabel.

Let G be a wev-graph. One can verify that there exists a weighted elabeled vlabeled subgraph of G which inherits weight, elabel, and vlabel.

Let G be a w-graph. A w-subgraph of G is a weighted subgraph of G inheriting weight.

Let G be a e-graph. A e-subgraph of G is a elabeled subgraph of G inheriting elabel.

Let G be a v-graph. A v-subgraph of G is a vlabeled subgraph of G inheriting vlabel.

Let G be a we-graph. A we-subgraph of G is a weighted elabeled subgraph of G inheriting weight and elabel.

Let G be a wv-graph. A wv-subgraph of G is a weighted vlabeled subgraph of G inheriting weight and vlabel.

Let G be a ev-graph. A ev-subgraph of G is a elabeled vlabeled subgraph of G inheriting elabel and vlabel.

Let G be a wev-graph. A wev-subgraph of G is a weighted elabeled vlabeled subgraph of G inheriting weight, elabel, and vlabel.

Let G be a graph and let V, E be sets. One can verify that there exists a subgraph of G induced by V and E which is weighted, elabeled, and vlabeled.

Let G be a w-graph and let V, E be sets. One can verify that there exists a weighted subgraph of G induced by V and E which inherits weight.

Let G be a e-graph and let V, E be sets. One can verify that there exists a elabeled subgraph of G induced by V and E which inherits elabel.

Let G be a v-graph and let V, E be sets. One can verify that there exists a vlabeled subgraph of G induced by V and E which inherits vlabel.

Let G be a we-graph and let V, E be sets. Note that there exists a weighted elabeled subgraph of G induced by V and E which inherits weight and elabel.

Let G be a wv-graph and let V, E be sets. Observe that there exists a weighted vlabeled subgraph of G induced by V and E which inherits weight and vlabel.

Let G be a ev-graph and let V, E be sets. Note that there exists a elabeled vlabeled subgraph of G induced by V and E which inherits elabel and vlabel.

Let G be a wev-graph and let V, E be sets. Observe that there exists a weighted elabeled vlabeled subgraph of G induced by V and E which inherits weight, elabel, and vlabel.

Let G be a w-graph and let V, E be sets. A induced w-subgraph of G, V, E is a weighted subgraph of G induced by V and E inheriting weight.

Let G be a e-graph and let V, E be sets. A induced e-subgraph of G, V, E is a elabeled subgraph of G induced by V and E inheriting elabel.

Let G be a v-graph and let V, E be sets. A induced v-subgraph of G, V, E is a vlabeled subgraph of G induced by V and E inheriting vlabel.

Let G be a we-graph and let V, E be sets. A induced we-subgraph of G, V, E is a weighted elabeled subgraph of G induced by V and E inheriting weight and elabel.

Let G be a wv-graph and let V, E be sets. A induced wv-subgraph of G, V, E is a weighted vlabeled subgraph of G induced by V and E inheriting weight and vlabel.

Let G be a ev-graph and let V, E be sets. A induced ev-subgraph of G, V, E is a elabeled vlabeled subgraph of G induced by V and E inheriting elabel and vlabel.

Let G be a wev-graph and let V, E be sets. A induced wev-subgraph of G, V, E is a weighted elabeled vlabeled subgraph of G induced by V and E inheriting weight, elabel, and vlabel.

Let G be a w-graph and let V be a set. A induced w-subgraph of G, V is a induced w-subgraph of G, V, G.edgesBetween(V).

Let G be a e-graph and let V be a set. A induced e-subgraph of G, V is a induced e-subgraph of G, V, G.edgesBetween(V).

Let G be a v-graph and let V be a set. A induced v-subgraph of G, V is a induced v-subgraph of G, V, G.edgesBetween(V).

Let G be a we-graph and let V be a set. A induced we-subgraph of G, V is a induced we-subgraph of G, V, G.edgesBetween(V).

Let G be a wv-graph and let V be a set. A induced wv-subgraph of G, V is a induced wv-subgraph of G, V, G.edgesBetween(V).

Let G be a ev-graph and let V be a set. A induced ev-subgraph of G, V is a induced ev-subgraph of G, V, G.edgesBetween(V).

Let G be a wev-graph and let V be a set. A induced wev-subgraph of G, V is a induced wev-subgraph of G, V, G.edgesBetween(V).

Let G be a w-graph. We say that G is real-weighted if and only if: (Def. 13) The weight of G is real-yielding.

Let G be a w-graph. We say that G is nonnegative-weighted if and only if: (Def. 14) rng (the weight of G) ⊆ ℝ_{≥0}.

Let us note that every w-graph which is nonnegative-weighted is also realweighted.

Let G be a e-graph. We say that G is real-elabeled if and only if: (Def. 15) The elabel of G is real-yielding.

Let G be a v-graph. We say that G is real-vlabeled if and only if: (Def. 16) The vlabel of G is real-yielding.

Let G be a wev-graph. We say that G is real-wev if and only if: (Def. 17) G is real-weighted, real-elabeled, and real-vlabeled.

Let us note that every wev-graph which is real-wev is also real-weighted, real-elabeled, and real-vlabeled and every wev-graph which is real-weighted, real-elabeled, and real-vlabeled is also real-wev.

Let G be a graph and let X be a function from the edges of G into ℝ. Note that G.set(WeightSelector, X) is real-weighted.

Let G be a graph and let X be a partial function from the edges of G to ℝ. One can verify that G.set(ELabelSelector, X) is real-elabeled.

Let G be a graph and let X be a real-yielding many sorted set indexed by the edges of G. One can verify that G.set(ELabelSelector, X) is real-elabeled.

Let G be a graph and let X be a partial function from the vertices of G to ℝ. Observe that G.set(VLabelSelector, X) is real-vlabeled.

Let G be a graph and let X be a real-yielding many sorted set indexed by the vertices of G. One can verify that G.set(VLabelSelector, X) is real-vlabeled.

Let G be a graph. Observe that G.set(ELabelSelector, ∅) is real-elabeled and G.set(VLabelSelector, ∅) is real-vlabeled.

Let G be a graph, let v be a vertex of G, and let v_{1} be a real number. Note that G.set(VLabelSelector, v⟼ . v_{1}) is vlabeled.

Let G be a graph, let v be a vertex of G, and let v_{1} be a real number. One can verify that G.set(VLabelSelector, v⟼ . v_{1}) is real-vlabeled.

One can check that there exists a wev-graph which is finite, trivial, tree-like, nonnegative-weighted, and real-wev and there exists a wev-graph which is finite, non trivial, tree-like, nonnegative-weighted, and real-wev.

Let G be a finite w-graph. Note that the weight of G is finite.

Let G be a finite e-graph. Note that the elabel of G is finite.

Let G be a finite v-graph. Note that the vlabel of G is finite.

Let G be a real-weighted w-graph. Observe that the weight of G is realyielding.

Let G be a real-elabeled e-graph. One can verify that the elabel of G is real-yielding.

Let G be a real-vlabeled v-graph. Observe that the vlabel of G is realyielding.

Let G be a real-weighted w-graph and let X be a set. Observe that G.set(ELabelSelector, X) is real-weighted and G.set(VLabelSelector, X) is realweighted.

Let G be a nonnegative-weighted w-graph and let X be a set. One can check that G.set(ELabelSelector, X) is nonnegative-weighted and G.set(VLabelSelector, X) is nonnegative-weighted.

Let G be a real-elabeled e-graph and let X be a set. One can verify that G.set(WeightSelector, X) is real-elabeled and G.set(VLabelSelector, X) is realelabeled.

Let G be a real-vlabeled v-graph and let X be a set. Observe that G.set(WeightSelector, X) is real-vlabeled and G.set(ELabelSelector, X) is realvlabeled.

Let G be a w-graph and let W be a walk of G. The functor W .weightSeq() yielding a finite sequence is defined as follows:

(Def. 18) len(W .weightSeq()) = len(W .edgeSeq()) and for every natural number n such that 1 ≤ n and n ≤ len(W .weightSeq()) holds W .weightSeq()(n) = (the weight of G)(W .edgeSeq()(n)).

Let G be a real-weighted w-graph and let W be a walk of G. Then W .weightSeq() is a finite sequence of elements of ℝ.

Let G be a real-weighted w-graph and let W be a walk of G. The functor W .cost() yielding a real number is defined as follows:

(Def. 19) W .cost() = ∑(W .weightSeq()).

Let G be a e-graph. The functor G.labeledE() yields a subset of the edges of G and is defined as follows:

(Def. 20) G.labeledE() = dom (the elabel of G).

Let G be a e-graph and let e, x be sets. The functor G.labelEdge(e, x) yielding a e-graph is defined as follows:

(Def. 21) G.labelEdge(e, x) = \{ \begin{matrix}G.set(ELabelSelector, (the elabel of G)+·(e⟼ . x)), \\ if e ∈ the edges of G, \\ G, otherwise. \end{matrix}

Let G be a finite e-graph and let e, x be sets. Note that G.labelEdge(e, x) is finite.

Let G be a loopless e-graph and let e, x be sets. Observe that G.labelEdge(e, x) is loopless.

Let G be a trivial e-graph and let e, x be sets. One can check that G.labelEdge(e, x) is trivial.

Let G be a non trivial e-graph and let e, x be sets. One can verify that G.labelEdge(e, x) is non trivial.

Let G be a non-multi e-graph and let e, x be sets. Observe that G.labelEdge(e, x) is non-multi.

Let G be a non-directed-multi e-graph and let e, x be sets. One can check that G.labelEdge(e, x) is non-directed-multi.

Let G be a connected e-graph and let e, x be sets. Observe that G.labelEdge(e, x) is connected.

Let G be an acyclic e-graph and let e, x be sets. Observe that G.labelEdge(e, x) is acyclic.

Let G be a we-graph and let e, x be sets. Observe that G.labelEdge(e, x) is weighted.

Let G be a ev-graph and let e, x be sets. Note that G.labelEdge(e, x) is vlabeled.

Let G be a real-weighted we-graph and let e, x be sets. Observe that G.labelEdge(e, x) is real-weighted.

Let G be a nonnegative-weighted we-graph and let e, x be sets. Observe that G.labelEdge(e, x) is nonnegative-weighted.

Let G be a real-elabeled e-graph, let e be a set, and let x be a real number. Observe that G.labelEdge(e, x) is real-elabeled.

Let G be a real-vlabeled ev-graph and let e, x be sets. Note that G.labelEdge(e, x) is real-vlabeled.

Let G be a v-graph and let v, x be sets. The functor G.labelVertex(v, x) yielding a v-graph is defined as follows:

(Def. 22) G.labelVertex(v, x) = \{ \begin{matrix}G.set(VLabelSelector, \\ (the vlabel of G)+·(v⟼ . x)), \\ if v ∈ the vertices of G, \\ G, otherwise. \end{matrix}

Let G be a v-graph. The functor G.labeledV() yielding a subset of the vertices of G is defined as follows:

(Def. 23) G.labeledV() = dom (the vlabel of G).

Let G be a finite v-graph and let v, x be sets. One can check that G.labelVertex(v, x) is finite.

Let G be a loopless v-graph and let v, x be sets. One can check that G.labelVertex(v, x) is loopless.

Let G be a trivial v-graph and let v, x be sets. One can check that G.labelVertex(v, x) is trivial.

Let G be a non trivial v-graph and let v, x be sets. Observe that G.labelVertex(v, x) is non trivial.

Let G be a non-multi v-graph and let v, x be sets. Note that G.labelVertex(v, x) is non-multi.

Let G be a non-directed-multi v-graph and let v, x be sets. One can verify that G.labelVertex(v, x) is non-directed-multi.

Let G be a connected v-graph and let v, x be sets. Observe that G.labelVertex(v, x) is connected.

Let G be an acyclic v-graph and let v, x be sets. Note that G.labelVertex(v, x) is acyclic.

Let G be a wv-graph and let v, x be sets. One can check that G.labelVertex(v, x) is weighted.

Let G be a ev-graph and let v, x be sets. Observe that G.labelVertex(v, x) is elabeled.

Let G be a real-weighted wv-graph and let v, x be sets. Observe that G.labelVertex(v, x) is real-weighted.

Let G be a nonnegative-weighted wv-graph and let v, x be sets. Note that G.labelVertex(v, x) is nonnegative-weighted.

Let G be a real-elabeled ev-graph and let v, x be sets. Observe that G.labelVertex(v, x) is real-elabeled.

Let G be a real-vlabeled v-graph, let v be a set, and let x be a real number. Note that G.labelVertex(v, x) is real-vlabeled.

Let G be a real-weighted w-graph. Observe that every w-subgraph of G is real-weighted.

Let G be a nonnegative-weighted w-graph. Observe that every w-subgraph of G is nonnegative-weighted.

Let G be a real-elabeled e-graph. Observe that every e-subgraph of G is real-elabeled.

Let G be a real-vlabeled v-graph. Observe that every v-subgraph of G is real-vlabeled.

Let G_{1} be a graph sequence. We say that G_{1} is weighted if and only if: (Def. 24) For every natural number x holds G_{1}.→x is weighted.

We say that G_{1} is elabeled if and only if: (Def. 25) For every natural number x holds G_{1}.→x is elabeled.

We say that G_{1} is vlabeled if and only if: (Def. 26) For every natural number x holds G_{1}.→x is vlabeled.

Let us mention that there exists a graph sequence which is weighted, elabeled, and vlabeled.

A w-graph sequence is a weighted graph sequence. A e-graph sequence is a elabeled graph sequence. A v-graph sequence is a vlabeled graph sequence. A we-graph sequence is a weighted elabeled graph sequence. A wv-graph sequence is a weighted vlabeled graph sequence. A ev-graph sequence is a elabeled vlabeled graph sequence. A wev-graph sequence is a weighted elabeled vlabeled graph sequence.

Let G_{1} be a w-graph sequence and let x be a natural number. One can check that G_{1}.→x is weighted.

Let G_{1} be a e-graph sequence and let x be a natural number. One can check that G_{1}.→x is elabeled.

Let G_{1} be a v-graph sequence and let x be a natural number. Observe that G_{1}.→x is vlabeled.

Let G_{1} be a w-graph sequence. We say that G_{1} is real-weighted if and only if:

(Def. 27) For every natural number x holds G_{1}.→x is real-weighted.

We say that G_{1} is nonnegative-weighted if and only if: (Def. 28) For every natural number x holds G_{1}.→x is nonnegative-weighted.

Let G_{1} be a e-graph sequence. We say that G_{1} is real-elabeled if and only if:

(Def. 29) For every natural number x holds G_{1}.→x is real-elabeled.

Let G_{1} be a v-graph sequence. We say that G_{1} is real-vlabeled if and only if:

(Def. 30) For every natural number x holds G_{1}.→x is real-vlabeled.

Let G_{1} be a wev-graph sequence. We say that G_{1} is real-wev if and only if: (Def. 31) For every natural number x holds G_{1}.→x is real-wev.

Let us note that every wev-graph sequence which is real-wev is also realweighted, real-elabeled, and real-vlabeled and every wev-graph sequence which is real-weighted, real-elabeled, and real-vlabeled is also real-wev.

Let us observe that there exists a wev-graph sequence which is halting, finite, loopless, trivial, non-multi, simple, real-wev, nonnegative-weighted, and tree-like.

Let G_{1} be a real-weighted w-graph sequence and let x be a natural number. One can check that G_{1}.→x is real-weighted.

Let G_{1} be a nonnegative-weighted w-graph sequence and let x be a natural number. Observe that G_{1}.→x is nonnegative-weighted.

Let G_{1} be a real-elabeled e-graph sequence and let x be a natural number. Note that G_{1}.→x is real-elabeled.

Let G_{1} be a real-vlabeled v-graph sequence and let x be a natural number. One can verify that G_{1}.→x is real-vlabeled.

3. Theorems

The following propositions are true:

(3) WeightSelector = 5 and ELabelSelector = 6 and VLabelSelector = 7. (4)(i) For every w-graph G holds the weight of G = G(WeightSelector), (ii) for every e-graph G holds the elabel of G = G(ELabelSelector), and (iii) for every v-graph G holds the vlabel of G = G(VLabelSelector). (6)^{3} For every e-graph G holds dom (the elabel of G) ⊆ the edges of G.

(7) For every v-graph G holds dom (the vlabel of G) ⊆ the vertices of G.

(8) For every graph G and for every set X holds G =_{G} G.set(WeightSelector, X) and G =_{G} G.set(ELabelSelector, X) and G =_{G} G.set(VLabelSelector, X).

(9) For every e-graph G and for every set X holds the elabel of G = the elabel of G.set(WeightSelector, X).

(10) For every v-graph G and for every set X holds the vlabel of G = the vlabel of G.set(WeightSelector, X).

(11) For every w-graph G and for every set X holds the weight of G = the weight of G.set(ELabelSelector, X).

(12) For every v-graph G and for every set X holds the vlabel of G = the vlabel of G.set(ELabelSelector, X).

3The proposition (5) has been removed.

(13) For every w-graph G and for every set X holds the weight of G = the weight of G.set(VLabelSelector, X).

(14) For every e-graph G and for every set X holds the elabel of G = the elabel of G.set(VLabelSelector, X).

(15) Let G_{3}, G_{2} be w-graphs and G_{4} be a w-graph. Suppose G_{3} =_{G} G_{2} and the weight of G_{3} = the weight of G_{2} and G_{3} is a w-subgraph of G_{4}. Then G_{2} is a w-subgraph of G_{4}.

(16) For every w-graph G_{3} and for every w-subgraph G_{2} of G_{3} holds every w-subgraph of G_{2} is a w-subgraph of G_{3}.

(17) Let G_{3}, G_{2} be w-graphs and G_{4} be a w-subgraph of G_{3}. Suppose G_{3} =_{G} G_{2} and the weight of G_{3} = the weight of G_{2}. Then G_{4} is a w-subgraph of G_{2}.

(18) Let G_{3} be a w-graph, G_{2} be a w-subgraph of G_{3}, and x be a set. If x ∈ the edges of G_{2}, then (the weight of G_{2})(x) = (the weight of G_{3})(x).

(19) For every w-graph G and for every walk W of G such that W is trivial holds W .weightSeq() = ∅.

(20) For every w-graph G and for every walk W of G holds len(W .weightSeq()) = W .length().

(21) For every w-graph G and for all sets x, y, e such that e joins x and y in G holds (G.walkOf(x, e, y)).weightSeq() = ⟨(the weight of G)(e)⟩.

(22) For every w-graph G and for every walk W of G holds W .reverse().weightSeq() = Rev(W .weightSeq()).

(23) For every w-graph G and for all walks W_{2}, W_{3} of G such that W_{2}.last() = W_{3}.first() holds (W_{2}.append(W_{3})).weightSeq() = W_{2}.weightSeq() ^{⌢} W_{3}.weightSeq().

(24) Let G be a w-graph, W be a walk of G, and e be a set. If e ∈ W .last().edgesInOut(), then (W .addEdge(e)).weightSeq() = W .weightSeq()^{⌢} ⟨(the weight of G)(e)⟩.

(25) Let G be a real-weighted w-graph, W_{2} be a walk of G, and W_{3} be a subwalk of W_{2}. Then there exists a FinSubsequence w_{1} of W_{2}.weightSeq() such that W_{3}.weightSeq() = Seq w_{1}.

(26) Let G_{3}, G_{2} be w-graphs, W_{2} be a walk of G_{3}, and W_{3} be a walk of G_{2}. If W_{2} = W_{3} and the weight of G_{3} = the weight of G_{2}, then W_{2}.weightSeq() = W_{3}.weightSeq().

(27) Let G_{3} be a w-graph, G_{2} be a w-subgraph of G_{3}, W_{2} be a walk of G_{3}, and W_{3} be a walk of G_{2}. If W_{2} = W_{3}, then W_{2}.weightSeq() = W_{3}.weightSeq().

(28) For every real-weighted w-graph G and for every walk W of G such that W is trivial holds W .cost() = 0.

(29) Let G be a real-weighted w-graph, v_{2}, v_{3} be vertices of G, and e be a set.

If e joins v_{2} and v_{3} in G, then (G.walkOf(v_{2}, e, v_{3})).cost() = (the weight of G)(e).

(30) For every real-weighted w-graph G and for every walk W of G holds W .cost() = W .reverse().cost().

(31) For every real-weighted w-graph G and for all walks W_{2}, W_{3} of G such that W_{2}.last() = W_{3}.first() holds (W_{2}.append(W_{3})).cost() = W_{2}.cost() + W_{3}.cost().

(32) Let G be a real-weighted w-graph, W be a walk of G, and e be a set. If e ∈ W .last().edgesInOut(), then (W .addEdge(e)).cost() = W .cost()+(the weight of G)(e).

(33) Let G_{3}, G_{2} be real-weighted w-graphs, W_{2} be a walk of G_{3}, and W_{3} be a walk of G_{2}. If W_{2} = W_{3} and the weight of G_{3} = the weight of G_{2}, then W_{2}.cost() = W_{3}.cost().

(34) Let G_{3} be a real-weighted w-graph, G_{2} be a w-subgraph of G_{3}, W_{2} be a walk of G_{3}, and W_{3} be a walk of G_{2}. If W_{2} = W_{3}, then W_{2}.cost() = W_{3}.cost().

(35) Let G be a nonnegative-weighted w-graph, W be a walk of G, and n be a natural number. If n ∈ dom(W .weightSeq()), then 0 ≤ W .weightSeq()(n).

(36) For every nonnegative-weighted w-graph G and for every walk W of G holds 0 ≤ W .cost().

(37) For every nonnegative-weighted w-graph G and for every walk W_{2} of G and for every subwalk W_{3} of W_{2} holds W_{3}.cost() ≤ W_{2}.cost().

(38) Let G be a nonnegative-weighted w-graph and e be a set. If e ∈ the edges of G, then 0 ≤ (the weight of G)(e).

(39) Let G be a e-graph and e, x be sets. Suppose e ∈ the edges of G. Then the elabel of G.labelEdge(e, x) = (the elabel of G)+·(e⟼ . x).

(40) For every e-graph G and for all sets e, x such that e ∈ the edges of G holds (the elabel of G.labelEdge(e, x))(e) = x.

(41) For every e-graph G and for all sets e, x holds G =_{G} G.labelEdge(e, x).

(42) For every we-graph G and for all sets e, x holds the weight of G = the weight of G.labelEdge(e, x).

(43) For every ev-graph G and for all sets e, x holds the vlabel of G = the vlabel of G.labelEdge(e, x).

(44) For every e-graph G and for all sets e_{1}, e_{2}, x such that e_{1} ≠ e_{2} holds (the elabel of G.labelEdge(e_{1}, x))(e_{2}) = (the elabel of G)(e_{2}).

(45) Let G be a v-graph and v, x be sets. Suppose v ∈ the vertices of G. Then the vlabel of G.labelVertex(v, x) = (the vlabel of G)+·(v⟼ . x).

(46) For every v-graph G and for all sets v, x such that v ∈ the vertices of G holds (the vlabel of G.labelVertex(v, x))(v) = x.

(47) For every v-graph G and for all sets v, x holds G =_{G} G.labelVertex(v, x).

(48) For every wv-graph G and for all sets v, x holds the weight of G = the weight of G.labelVertex(v, x).

(49) For every ev-graph G and for all sets v, x holds the elabel of G = the elabel of G.labelVertex(v, x).

(50) For every v-graph G and for all sets v_{2}, v_{3}, x such that v_{2} ≠ v_{3} holds (the vlabel of G.labelVertex(v_{2}, x))(v_{3}) = (the vlabel of G)(v_{3}).

(51) For all e-graphs G_{3}, G_{2} such that the elabel of G_{3} = the elabel of G_{2} holds G_{3}.labeledE() = G_{2}.labeledE().

(52) For every e-graph G and for all sets e, x such that e ∈ the edges of G holds (G.labelEdge(e, x)).labeledE() = G.labeledE() ∪ {e}.

(53) For every e-graph G and for all sets e, x such that e ∈ the edges of G holds G.labeledE() ⊆ (G.labelEdge(e, x)).labeledE().

(54) For every finite e-graph G and for all sets e, x such that e ∈ the edges of G and e ∉ G.labeledE() holds card((G.labelEdge(e, x)).labeledE()) = card(G.labeledE()) + 1.

(55) For every e-graph G and for all sets e_{1}, e_{2}, x such that e_{2} ∉ G.labeledE() and e_{2} ∈ (G.labelEdge(e_{1}, x)).labeledE() holds e_{1} = e_{2} and e_{1} ∈ the edges of G.

(56) For every ev-graph G and for all sets v, x holds G.labeledE() = (G.labelVertex(v, x)).labeledE().

(57) For every e-graph G and for all sets e, x such that e ∈ the edges of G holds e ∈ (G.labelEdge(e, x)).labeledE().

(58) For all v-graphs G_{3}, G_{2} such that the vlabel of G_{3} = the vlabel of G_{2} holds G_{3}.labeledV() = G_{2}.labeledV().

(59) For every v-graph G and for all sets v, x such that v ∈ the vertices of G holds (G.labelVertex(v, x)).labeledV() = G.labeledV() ∪ {v}.

(60) For every v-graph G and for all sets v, x such that v ∈ the vertices of G holds G.labeledV() ⊆ (G.labelVertex(v, x)).labeledV().

(61) For every finite v-graph G and for all sets v, x such that v ∈ the vertices of G and v ∉ G.labeledV() holds card((G.labelVertex(v, x)).labeledV()) = card(G.labeledV()) + 1.

(62) For every v-graph G and for all sets v_{2}, v_{3}, x such that v_{3} ∉ G.labeledV() and v_{3} ∈ (G.labelVertex(v_{2}, x)).labeledV() holds v_{2} = v_{3} and v_{2} ∈ the vertices of G.

(63) For every ev-graph G and for all sets e, x holds G.labeledV() = (G.labelEdge(e, x)).labeledV().

(64) For every v-graph G and for every vertex v of G and for every set x holds v ∈ (G.labelVertex(v, x)).labeledV(). weighted and labeled graphs 293

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. The ordinal numbers. Formalized Mathematics, 1(1):91–96, 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. 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. 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] Czesław Byliński. The sum and product of finite sequences of real numbers. Formalized Mathematics, 1(4):661–668, 1990.

[11] Czesław Byliński. Some properties of restrictions of finite sequences. Formalized Mathematics, 5(2):241–245, 1996.

[12] Jing-Chao Chen and Yatsuka Nakamura. The underlying principle of Dijkstra’s shortest path algorithm. Formalized Mathematics, 11(2):143–152, 2003.

[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] Jarosław Kotowicz. Real sequences and basic operations on them. Formalized Mathematics, 1(2):269–272, 1990.

[16] Gilbert Lee. Walks in Graphs. Formalized Mathematics, 13(2):253–269, 2005.

[17] Gilbert Lee and Piotr Rudnicki. Alternative graph structures. Formalized Mathematics, 13(2):235–252, 2005.

[18] Yatsuka Nakamura and Piotr Rudnicki. Vertex sequences induced by chains. Formalized Mathematics, 5(3):297–304, 1996.

[19] Andrzej Trybulec. Subsets of complex numbers. To appear in Formalized Mathematics.

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

[21] Andrzej Trybulec. Many-sorted sets. Formalized Mathematics, 4(1):15–22, 1993.

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

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

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

294 gilbert lee

Correctness of Dijkstra’s Shortest Path and Prim’s Minimum Spanning Tree Algorithms^{1}

Gilbert Lee^{2} University of Victoria Victoria, Canada

Piotr Rudnicki University of Alberta Edmonton, Canada

Summary. We prove correctness for Dijkstra’s shortest path algorithm and Prim’s minimum weight spanning tree algorithm at the level of graph manipulations.

MML identifier: GLIB 004, version: 7.5.01 4.39.921

The notation and terminology used in this paper are introduced in the following articles: [25], [11], [24], [22], [28], [23], [13], [30], [10], [7], [4], [6], [14], [1], [26], [29], [8], [3], [27], [21], [19], [12], [2], [5], [9], [18], [16], [15], [20], and [17].

1. Preliminaries

One can prove the following propositions:

(1) For all functions f, g holds support(f+·g) ⊆ support f ∪ support g.

(2) For every function f and for all sets x, y holds support(f+·(x⟼ . y)) ⊆ support f ∪ {x}.

(3) Let A, B be sets, b be a real bag over A, b_{1} be a real bag over B, and b_{2} be a real bag over A \ B. If b = b_{1}+·b_{2}, then ∑ b = ∑ b_{1} + ∑ b_{2}.

(4) For all sets X, x and for every real bag b over X such that dom b = {x} holds ∑ b = b(x).

1This work has been partially supported by NSERC, Alberta Ingenuity Fund and iCORE.

2Part of author’s MSc work.

(5) For every set A and for all real bags b_{1}, b_{2} over A such that for every set x such that x ∈ A holds b_{1}(x) ≤ b_{2}(x) holds ∑ b_{1} ≤ ∑ b_{2}.

(6) For every set A and for all real bags b_{1}, b_{2} over A such that for every set x such that x ∈ A holds b_{1}(x) = b_{2}(x) holds ∑ b_{1} = ∑ b_{2}.

(7) For all sets A_{1}, A_{2} and for every real bag b_{1} over A_{1} and for every real bag b_{2} over A_{2} such that b_{1} = b_{2} holds ∑ b_{1} = ∑ b_{2}.

(8) For all sets X, x and for every real bag b over X and for every real number y such that b = EmptyBag X+·(x⟼ . y) holds ∑ b = y.

(9) Let X, x be sets, b_{1}, b_{2} be real bags over X, and y be a real number. If b_{2} = b_{1}+·(x⟼ . y), then ∑ b_{2} = (∑ b_{1} + y) − b_{1}(x).

2. Dijkstra’s Shortest Path Algorithm: definitions

Let G_{1} be a real-weighted w-graph, let G_{2} be a w-subgraph of G_{1}, and let v be a set. We say that G_{2} is mincost d-tree rooted at v if and only if the conditions (Def. 1) are satisfied.

(Def. 1)(i) G_{2} is tree-like, and

(ii) for every vertex x of G_{2} there exists a dpath W_{2} of G_{2} such that W_{2} is walk from v to x and for every dpath W_{1} of G_{1} such that W_{1} is walk from v to x holds W_{2}.cost() ≤ W_{1}.cost().

Let G be a real-weighted w-graph, let W be a dpath of G, and let x, y be sets. We say that W is mincost d-path from x to y if and only if:

(Def. 2) W is walk from x to y and for every dpath W_{2} of G such that W_{2} is walk

from x to y holds W .cost() ≤ W_{2}.cost(). Let G be a finite real-weighted w-graph and let x, y be sets. The G .mincost-

d-path( x, y ) yielding a real number is defined as follows: (Def. 3)(i) There exists a dpath W of G such that W is mincost d-path from x

to y and the G.mincost-d-path( x, y) = W .cost() if there exists a dwalk of G which is walk from x to y,

(ii) the G.mincost-d-path( x, y) = 0, otherwise. Let G be a real-wev wev-graph. The functor DIJK : NextBestEdges(G)

yielding a subset of the edges of G is defined by the condition (Def. 4). (Def. 4) Let e_{1} be a set. Then e_{1} ∈ DIJK : NextBestEdges(G) if and only if the

following conditions are satisfied:

(i) e_{1} joins a vertex from G.labeledV() to a vertex from (the vertices of G) \ G.labeledV() in G, and

(ii) for every set e_{2} such that e_{2} joins a vertex from G.labeledV() to a vertex from (the vertices of G) \ G.labeledV() in G holds (the vlabel of G)((the source of G)(e_{1})) + (the weight of G)(e_{1}) ≤ (the vlabel of G)((the source of G)(e_{2})) + (the weight of G)(e_{2}).

Let G be a real-wev wev-graph. The functor DIJK : Step(G) yields a realwev wev-graph and is defined by:

(Def. 5) DIJK : Step(G) = \{ \begin{matrix}G, if DIJK : NextBestEdges(G) = ∅, \\ (G.labelEdge(e, 1)).labelVertex((the target of G)(e), \\ (the vlabel of G)((the source of G)(e))+ \\ (the weight of G)(e)), otherwise. \end{matrix}

Let G be a finite real-wev wev-graph. One can verify that DIJK : Step(G) is finite.

Let G be a nonnegative-weighted real-wev wev-graph. Observe that DIJK : Step(G) is nonnegative-weighted.

Let G be a real-weighted w-graph and let s_{1} be a vertex of G. The functor DIJK : Init(G, s_{1}) yielding a real-wev wev-graph is defined by:

(Def. 6) DIJK : Init(G, s_{1}) = G.set(ELabelSelector, ∅).set(VLabelSelector, s_{1}⟼ . 0).

Let G be a real-weighted w-graph and let s_{1} be a vertex of G. The functor DIJK : CompSeq(G, s_{1}) yielding a real-wev wev-graph sequence is defined as follows:

(Def. 7) DIJK : CompSeq(G, s_{1}).→0 = DIJK : Init(G, s_{1}) and for every natural number n holds DIJK : CompSeq(G, s_{1}).→(n + 1) = DIJK : Step((DIJK : CompSeq(G, s_{1}).→n)).

Let G be a finite real-weighted w-graph and let s_{1} be a vertex of G. Observe that DIJK : CompSeq(G, s_{1}) is finite.

Let G be a nonnegative-weighted w-graph and let s_{1} be a vertex of G. One can verify that DIJK : CompSeq(G, s_{1}) is nonnegative-weighted.

Let G be a real-weighted w-graph and let s_{1} be a vertex of G. The functor DIJK : SSSP(G, s_{1}) yields a real-wev wev-graph and is defined by:

(Def. 8) DIJK : SSSP(G, s_{1}) = (DIJK : CompSeq(G, s_{1})).Result().

Let G be a finite real-weighted w-graph and let s_{1} be a vertex of G. One can check that DIJK : SSSP(G, s_{1}) is finite.

3. Dijkstra’s Shortest Path Algorithm: theorems

The following propositions are true:

(10) Let G be a finite nonnegative-weighted w-graph, W be a dpath of G, x, y be sets, and m, n be natural numbers. Suppose W is mincost d-path from x to y. Then W .cut(m, n) is mincost d-path from (W .cut(m, n)).first() to (W .cut(m, n)).last().

(11) Let G be a finite real-weighted w-graph, W_{1}, W_{2} be dpaths of G, and x, y be sets. Suppose W_{1} is mincost d-path from x to y and W_{2} is mincost d-path from x to y. Then W_{1}.cost() = W_{2}.cost().

(12) Let G be a finite real-weighted w-graph, W be a dpath of G, and x, y be sets. Suppose W is mincost d-path from x to y. Then the G.mincostd-path( x, y) = W .cost().

(13) Let G be a finite real-wev wev-graph. Then

(i) card((DIJK : Step(G)).labeledV()) = card(G.labeledV()) iff DIJK : NextBestEdges(G) = ∅, and

(ii) card((DIJK : Step(G)).labeledV()) = card(G.labeledV()) + 1 iff

DIJK : NextBestEdges(G) ≠ ∅.

(14) For every real-wev wev-graph G holds G =_{G} DIJK : Step(G) and the weight of G = the weight of DIJK : Step(G) and G.labeledE() ⊆ (DIJK : Step(G)).labeledE() and G.labeledV() ⊆ (DIJK : Step(G)).labeledV().

(15) For every real-weighted w-graph G and for every vertex s_{1} of G holds (DIJK : Init(G, s_{1})).labeledV() = {s_{1}}.

(16) Let G be a real-weighted w-graph, s_{1} be a vertex of G, and i, j be natural numbers. If i ≤ j, then (DIJK : CompSeq(G, s_{1}).→i).labeledV() ⊆ (DIJK : CompSeq(G, s_{1}).→j).labeledV() and (DIJK : CompSeq(G, s_{1}).→i) .labeledE() ⊆ (DIJK : CompSeq(G, s_{1}).→j).labeledE().

(17) Let G be a real-weighted w-graph, s_{1} be a vertex of G, and n be a natural number. Then G =_{G} DIJK : CompSeq(G, s_{1}).→n and the weight of G = the weight of DIJK : CompSeq(G, s_{1}).→n.

(18) Let G be a finite real-weighted w-graph, s_{1} be a vertex of G, and n be a natural number. Then (DIJK : CompSeq(G, s_{1}).→n).labeledV() ⊆ G.reachableDFrom(s_{1}).

(19) Let G be a finite real-weighted w-graph, s_{1} be a vertex of G, and n be a natural number. Then DIJK : NextBestEdges((DIJK : CompSeq(G, s_{1}).→n)) = ∅ if and only if (DIJK : CompSeq(G, s_{1}).→n).labeledV() = G.reachableDFrom(s_{1}).

(20) Let G be a finite real-weighted w-graph, s_{1} be a vertex of G, and n be a natural number. Then \overline{\overline{(DIJK : CompSeq(G, s_{1}).→n).labeledV()}} = min(n + 1, card(G.reachableDFrom(s_{1}))).

(21) Let G be a finite real-weighted w-graph, s_{1} be a vertex of G, and n be a natural number. Then (DIJK : CompSeq(G, s_{1}).→n).labeledE() ⊆ (DIJK : CompSeq(G, s_{1}).→n).edgesBetween((DIJK : CompSeq(G, s_{1}).→n) .labeledV()).

(22) Let G be a finite nonnegative-weighted w-graph, s_{1} be a vertex of G, n be a natural number, and G_{2} be a induced w-subgraph of G, (DIJK : CompSeq(G, s_{1}).→n).labeledV(), (DIJK : CompSeq(G, s_{1}).→n) .labeledE(). Then

(i) G_{2} is mincost d-tree rooted at s_{1}, and (ii) for every vertex v of G such that v ∈ (DIJK : CompSeq(G, s_{1}).→n)

.labeledV() holds the G.mincost-d-path( s_{1}, v) = (the vlabel of DIJK : CompSeq(G, s_{1}).→n)(v).

(23) For every finite real-weighted w-graph G and for every vertex s_{1} of G

holds DIJK : CompSeq(G, s_{1}) is halting. Let G be a finite real-weighted w-graph and let s_{1} be a vertex of G. Observe

that DIJK : CompSeq(G, s_{1}) is halting.

One can prove the following three propositions:

(24) For every finite real-weighted w-graph G and for every vertex s_{1} of G holds (DIJK : CompSeq(G, s_{1})).Lifespan() + 1 = card(G.reachableDFrom(s_{1})).

(25) For every finite real-weighted w-graph G and for every vertex s_{1} of G holds (DIJK : SSSP(G, s_{1})).labeledV() = G.reachableDFrom(s_{1}).

(26) Let G be a finite nonnegative-weighted w-graph, s_{1} be a vertex of G, and G_{2} be a induced w-subgraph of G, (DIJK : SSSP(G, s_{1})).labeledV(), (DIJK : SSSP(G, s_{1})).labeledE(). Then

(i) G_{2} is mincost d-tree rooted at s_{1}, and (ii) for every vertex v of G such that v ∈ G.reachableDFrom(s_{1}) holds

v ∈ the vertices of G_{2} and the G.mincost-d-path( s_{1}, v) = (the vlabel of DIJK : SSSP(G, s_{1}))(v).

4. Prim’s Algorithm: preliminaries

The non empty finite subset WGraphSelectors of ℕ is defined as follows: (Def. 9) WGraphSelectors =

{VertexSelector, EdgeSelector, SourceSelector, TargetSelector, WeightSelector}.

Let G be a w-graph. One can check that G.strict(WGraphSelectors) is graph-like and weighted.

Let G be a w-graph. The functor G.allWSubgraphs() yields a non empty set and is defined as follows:

(Def. 10) For every set x holds x ∈ G.allWSubgraphs() iff there exists a w-

subgraph G_{2} of G such that x = G_{2} and dom G_{2} = WGraphSelectors. Let G be a finite w-graph. One can check that G.allWSubgraphs() is finite. Let G be a w-graph and let X be a non empty subset of G.allWSubgraphs().

We see that the element of X is a w-subgraph of G.

Let G be a finite real-weighted w-graph. The functor G.cost() yields a real number and is defined by:

(Def. 11) G.cost() = ∑ (the weight of G).

The following propositions are true:

(27) For every set x holds x ∈ WGraphSelectors iff x = VertexSelector or x = EdgeSelector or x = SourceSelector or x = TargetSelector or x = WeightSelector.

(28) For every w-graph G holds WGraphSelectors ⊆ dom G.

(29) For every w-graph G holds G =_{G} G.strict(WGraphSelectors) and the weight of G = the weight of G.strict(WGraphSelectors).

(30) For every w-graph G holds dom(G.strict(WGraphSelectors)) = WGraphSelectors.

(31) For every finite real-weighted w-graph G such that the edges of G = ∅ holds G.cost() = 0.

(32) Let G_{1}, G_{2} be finite real-weighted w-graphs. Suppose the edges of G_{1} = the edges of G_{2} and the weight of G_{1} = the weight of G_{2}. Then G_{1}.cost() = G_{2}.cost().

(33) Let G_{1} be a finite real-weighted w-graph, e be a set, and G_{2} be a weighted subgraph of G_{1} with edge e removed inheriting weight. If e ∈ the edges of G_{1}, then G_{1}.cost() = G_{2}.cost() + (the weight of G_{1})(e).

(34) Let G be a finite real-weighted w-graph, V_{1} be a non empty subset of the vertices of G, E_{1} be a subset of G.edgesBetween(V_{1}), G_{1} be a induced w-subgraph of G, V_{1}, E_{1}, e be a set, and G_{2} be a induced w-subgraph of G, V_{1}, E_{1} ∪ {e}. If e ∉ E_{1} and e ∈ G.edgesBetween(V_{1}), then G_{1}.cost() + (the weight of G)(e) = G_{2}.cost().

5. Prim’s Minimum Weight Spanning Tree Algorithm: definitions

Let G be a real-weighted wv-graph. The functor PRIM : NextBestEdges(G) yields a subset of the edges of G and is defined by the condition (Def. 12).

(Def. 12) Let e_{1} be a set. Then e_{1} ∈ PRIM : NextBestEdges(G) if and only if the

following conditions are satisfied:

(i) e_{1} joins a vertex from G.labeledV() and a vertex from (the vertices of G) \ G.labeledV() in G, and

(ii) for every set e_{2} such that e_{2} joins a vertex from G.labeledV() and a vertex from (the vertices of G) \ G.labeledV() in G holds (the weight of G)(e_{1}) ≤ (the weight of G)(e_{2}).

Let G be a real-weighted w-graph. The functor PRIM : Init(G) yields a real-wev wev-graph and is defined by:

(Def. 13) PRIM : Init(G) = G.set(VLabelSelector, choose(the vertices of G)

⟼ . 1).set(ELabelSelector, ∅). Let G be a real-wev wev-graph. The functor PRIM : Step(G) yielding a

real-wev wev-graph is defined by:

(Def. 14) PRIM : Step(G) = \{ \begin{matrix}G, if PRIM : NextBestEdges(G) = ∅, \\ (G.labelEdge(e, 1)).labelVertex((the target of G) \\ (e), 1), if PRIM : NextBestEdges(G) ≠ ∅ and \\ (the source of G)(e) ∈ G.labeledV(), \\ (G.labelEdge(e, 1)).labelVertex((the source of G) \\ (e), 1), otherwise. \end{matrix}

Let G be a real-weighted w-graph. The functor PRIM : CompSeq(G) yields a real-wev wev-graph sequence and is defined by:

(Def. 15) PRIM : CompSeq(G).→0 = PRIM : Init(G) and for every natural number n holds PRIM : CompSeq(G).→(n + 1) = PRIM : Step((PRIM : CompSeq(G).→n)).

Let G be a finite real-weighted w-graph. One can check that PRIM : CompSeq(G) is finite.

Let G be a real-weighted w-graph. The functor PRIM : MST(G) yielding a real-wev wev-graph is defined as follows:

(Def. 16) PRIM : MST(G) = (PRIM : CompSeq(G)).Result().

Let G be a finite real-weighted w-graph. Observe that PRIM : MST(G) is finite.

Let G_{1} be a finite real-weighted w-graph and let n be a natural number. Observe that every subgraph of G_{1} induced by (PRIM : CompSeq(G_{1}).→n).labeledV() is connected.

Let G_{1} be a finite real-weighted w-graph and let n be a natural number. Note that every subgraph of G_{1} induced by (PRIM : CompSeq(G_{1}).→n).labeledV() and (PRIM : CompSeq(G_{1}).→n).labeledE() is connected.

Let G be a finite connected real-weighted w-graph. Observe that there exists a w-subgraph of G which is spanning and tree-like.

Let G_{1} be a finite connected real-weighted w-graph and let G_{2} be a spanning tree-like w-subgraph of G_{1}. We say that G_{2} is min-cost if and only if:

(Def. 17) For every spanning tree-like w-subgraph G_{3} of G_{1} holds G_{2}.cost() ≤

G_{3}.cost(). Let G_{1} be a finite connected real-weighted w-graph. One can check that

there exists a spanning tree-like w-subgraph of G_{1} which is min-cost.

Let G be a finite connected real-weighted w-graph. A minimum spanning tree of G is a min-cost spanning tree-like w-subgraph of G.

6. Prim’s Minimum Weight Spanning Tree Algorithm: theorems

One can prove the following propositions:

(35) Let G_{1}, G_{2} be finite connected real-weighted w-graphs and G_{3} be a w-subgraph of G_{1}. Suppose G_{3} is a minimum spanning tree of G_{1} and G_{1} =_{G} G_{2} and the weight of G_{1} = the weight of G_{2}. Then G_{3} is a minimum spanning tree of G_{2}.

(36) Let G be a finite connected real-weighted w-graph, G_{1} be a minimum spanning tree of G, and G_{2} be a w-graph. Suppose G_{1} =_{G} G_{2} and the weight of G_{1} = the weight of G_{2}. Then G_{2} is a minimum spanning tree of G.

(37) Let G be a real-weighted w-graph. Then (i) G =_{G} PRIM : Init(G), (ii) the weight of G = the weight of PRIM : Init(G), (iii) the elabel of PRIM : Init(G) = ∅, and (iv) the vlabel of PRIM : Init(G) = choose(the vertices of G)⟼ . 1.

(38) For every real-weighted w-graph G holds (PRIM : Init(G)).labeledV() = {choose(the vertices of G)} and (PRIM : Init(G)).labeledE() = ∅.

(39) For every real-wev wev-graph G such that PRIM : NextBestEdges(G) ≠ ∅ there exists a vertex v of G such that v ∉ G.labeledV() and PRIM : Step(G) = (G.labelEdge(choose(PRIM : NextBestEdges(G)), 1)).labelVertex(v, 1).

(40) For every real-wev wev-graph G holds G =_{G} PRIM : Step(G) and the weight of G = the weight of PRIM : Step(G) and G.labeledE() ⊆ (PRIM : Step(G)).labeledE() and G.labeledV() ⊆ (PRIM : Step(G)).labeledV().

(41) Let G be a finite real-weighted w-graph and n be a natural number. Then G =_{G} PRIM : CompSeq(G).→n and the weight of PRIM : CompSeq(G).→n = the weight of G.

(42) Let G be a finite real-weighted w-graph and n be a natural number. Then (PRIM : CompSeq(G).→n).labeledV() is a non empty subset of the vertices of G and (PRIM : CompSeq(G).→n).labeledE() ⊆ G.edgesBetween((PRIM : CompSeq(G).→n).labeledV()).

(43) For every finite real-weighted w-graph G_{1} and for every natural number n holds every subgraph of G_{1} induced by PRIM : CompSeq(G_{1}).→n.labeledV() and PRIM : CompSeq(G_{1}).→n.labeledE() is connected.

(44) For every finite real-weighted w-graph G_{1} and for every natural number n holds every subgraph of G_{1} induced by PRIM : CompSeq(G_{1}).→n.labeledV() is connected.

(45) For every finite real-weighted w-graph G and for every natural number n holds (PRIM : CompSeq(G).→n).labeledV() ⊆ G.reachableFrom(choose(the vertices of G)).

(46) Let G be a finite real-weighted w-graph and i, j be natural numbers. If i ≤ j, then (PRIM : CompSeq(G).→i).labeledV() ⊆ (PRIM : CompSeq(G).→j).labeledV() and (PRIM : CompSeq(G).→i)

correctness of dijkstra’s shortest path … 303

.labeledE() ⊆ (PRIM : CompSeq(G).→j).labeledE().

(47) Let G be a finite real-weighted w-graph and n be a natural number. Then PRIM : NextBestEdges((PRIM : CompSeq(G).→n)) = ∅ if and only if (PRIM : CompSeq(G).→n).labeledV() = G.reachableFrom(choose(the vertices of G)).

(48) Let G be a finite real-weighted w-graph and n be a natural number. Then card((PRIM : CompSeq(G).→n).labeledV()) = min(n + 1, card(G.reachableFrom(choose(the vertices of G)))).

(49) For every finite real-weighted w-graph G holds PRIM : CompSeq(G) is halting and (PRIM : CompSeq(G)).Lifespan() + 1 = card(G.reachableFrom(choose(the vertices of G))).

(50) For every finite real-weighted w-graph G_{1} and for every natural number n holds every subgraph of G_{1} induced by PRIM : CompSeq(G_{1}).→n.labeledV() and PRIM : CompSeq(G_{1}).→n.labeledE() is tree-like.

(51) For every finite connected real-weighted w-graph G holds (PRIM : MST(G)).labeledV() = the vertices of G.

(52) For every finite connected real-weighted w-graph G and for every natural number n holds (PRIM : CompSeq(G).→n).labeledE() ⊆ (PRIM : MST(G)).labeledE().

(53) For every finite connected real-weighted w-graph G_{1} holds every induced w-subgraph of G_{1}, PRIM : MST(G_{1}).labeledV(), PRIM : MST(G_{1}).labeledE() is a minimum spanning tree of G_{1}.

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. The ordinal numbers. Formalized Mathematics, 1(1):91–96, 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. A classical first order language. Formalized Mathematics, 1(4):669–676, 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. 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. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

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

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

[14] Jarosław Kotowicz. Real sequences and basic operations on them. Formalized Mathematics, 1(2):269–272, 1990.

304 gilbert lee and piotr rudnicki

[15] Gilbert Lee. Trees and Graph Components. Formalized Mathematics, 13(2):271–277, 2005.

[16] Gilbert Lee. Walks in Graphs. Formalized Mathematics, 13(2):253–269, 2005.

[17] Gilbert Lee. Weighted and Labeled Graphs. Formalized Mathematics, 13(2):279–293, 2005.

[18] Gilbert Lee and Piotr Rudnicki. Alternative graph structures. Formalized Mathematics, 13(2):235–252, 2005.

[19] Piotr Rudnicki. Little Bezout theorem (factor theorem). Formalized Mathematics, 12(1):49–58, 2004.

[20] Piotr Rudnicki and Andrzej Trybulec. Abian’s fixed point theorem. Formalized Mathematics, 6(3):335–338, 1997.

[21] Piotr Rudnicki and Andrzej Trybulec. Multivariate polynomials with arbitrary number of variables. Formalized Mathematics, 9(1):95–110, 2001.

[22] Andrzej Trybulec. Subsets of complex numbers. To appear in Formalized Mathematics.

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

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

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

[26] Andrzej Trybulec. Many-sorted sets. Formalized Mathematics, 4(1):15–22, 1993.

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

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

[29] Josef Urban. Basic facts about inaccessible and measurable cardinals. Formalized Mathematics, 9(2):323–329, 2001.

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

Correctnesss of Ford-Fulkerson’s Maximum Flow Algorithm^{1}

Gilbert Lee^{2} University of Victoria, Victoria, Canada

Summary. We define and prove correctness of Ford-Fulkerson’s maximum network flow algorithm at the level of graph manipulations.

MML identifier: GLIB 005, version: 7.5.01 4.39.921

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

1. Preliminary Theorems

Let x be a set and let y be a real number. One can verify that x⟼ . y is real-yielding.

Let x be a set and let y be a natural number. One can verify that x ⟼ y is natural-yielding.

Let f, g be real-yielding functions. Observe that f+·g is real-yielding.

2. Preliminary Defintions for Ford-Fulkerson Flow Algorithm

Let G be a e-graph. We say that G is complete-elabeled if and only if: (Def. 1) dom (the elabel of G) = the edges of G.

1This work has been partially supported by NSERC, Alberta Ingenuity Fund and iCORE.

2Part of author’s MSc work.

Let G be a graph and let X be a many sorted set indexed by the edges of G. Observe that G.set(ELabelSelector, X) is complete-elabeled.

Let G be a graph, let Y be a non empty set, and let X be a function from the edges of G into Y. One can check that G.set(ELabelSelector, X) is complete-elabeled.

Let G_{1} be a e-graph sequence. We say that G_{1} is complete-elabeled if and only if:

(Def. 2) For every natural number x holds G_{1}.→x is complete-elabeled.

Let G be a w-graph. We say that G is natural-weighted if and only if: (Def. 3) The weight of G is natural-yielding.

Let G be a e-graph. We say that G is natural-elabeled if and only if: (Def. 4) The elabel of G is natural-yielding.

Let G_{1} be a w-graph sequence. We say that G_{1} is natural-weighted if and only if:

(Def. 5) For every natural number x holds G_{1}.→x is natural-weighted.

Let G_{1} be a e-graph sequence. We say that G_{1} is natural-elabeled if and only if:

(Def. 6) For every natural number x holds G_{1}.→x is natural-elabeled.

One can verify that every w-graph which is natural-weighted is also nonnegative-weighted.

Let us observe that every e-graph which is natural-elabeled is also realelabeled.

One can verify that there exists a wev-graph which is finite, trivial, tree-like, natural-weighted, natural-elabeled, complete-elabeled, and real-vlabeled.

One can verify that there exists a wev-graph sequence which is finite, naturalweighted, real-wev, natural-elabeled, and complete-elabeled.

Let G_{1} be a complete-elabeled e-graph sequence and let x be a natural number. Note that G_{1}.→x is complete-elabeled.

Let G_{1} be a natural-elabeled e-graph sequence and let x be a natural number. One can verify that G_{1}.→x is natural-elabeled.

Let G_{1} be a natural-weighted w-graph sequence and let x be a natural number. One can verify that G_{1}.→x is natural-weighted.

Let G be a natural-weighted w-graph. One can check that the weight of G is natural-yielding.

Let G be a natural-elabeled e-graph. Note that the elabel of G is naturalyielding.

Let G be a complete-elabeled e-graph. Then the elabel of G is a many sorted set indexed by the edges of G.

Let G be a natural-weighted w-graph and let X be a set. Note that G.set(ELabelSelector, X) is natural-weighted and G.set(VLabelSelector, X) is natural-weighted.

Let G be a graph and let X be a natural-yielding many sorted set indexed by the edges of G. Observe that G.set(ELabelSelector, X) is natural-elabeled.

Let G be a finite real-weighted real-elabeled complete-elabeled we-graph and let s_{1}, s_{2} be sets. We say that G has valid flow from s_{1} to s_{2} if and only if the conditions (Def. 7) are satisfied.

(Def. 7)(i) s_{1} is a vertex of G, (ii) s_{2} is a vertex of G, (iii) for every set e such that e ∈ the edges of G holds 0 ≤ (the elabel of

G)(e) and (the elabel of G)(e) ≤ (the weight of G)(e), and (iv) for every vertex v of G such that v ≠ s_{1} and v ≠ s_{2} holds ∑((the elabel

of G)↾v.edgesIn()) = ∑((the elabel of G)↾v.edgesOut()). Let G be a finite real-weighted real-elabeled complete-elabeled we-graph and

let s_{1}, s_{2} be sets. Let us assume that G has valid flow from s_{1} to s_{2}. The functor G.flow(s_{1}, s_{2}) yields a real number and is defined as follows:

(Def. 8) G.flow(s_{1}, s_{2}) = ∑((the elabel of G)↾G.edgesInto({s_{2}}))−∑((the elabel

of G)↾G.edgesOutOf({s_{2}})). Let G be a finite real-weighted real-elabeled complete-elabeled we-graph and

let s_{1}, s_{2} be sets. We say that G has maximum flow from s_{1} to s_{2} if and only if the conditions (Def. 9) are satisfied.

(Def. 9)(i) G has valid flow from s_{1} to s_{2}, and

(ii) for every finite real-weighted real-elabeled complete-elabeled we-graph G_{2} such that G_{2} =_{G} G and the weight of G = the weight of G_{2} and G_{2} has valid flow from s_{1} to s_{2} holds G_{2}.flow(s_{1}, s_{2}) ≤ G.flow(s_{1}, s_{2}).

Let G be a real-weighted real-elabeled wev-graph and let e be a set. We say that e is forward labeling in G if and only if the conditions (Def. 10) are satisfied.

(Def. 10)(i) e ∈ the edges of G, (ii) (the source of G)(e) ∈ G.labeledV(), (iii) (the target of G)(e) ∉ G.labeledV(), and (iv) (the elabel of G)(e) < (the weight of G)(e). Let G be a real-elabeled ev-graph and let e be a set. We say that e is

backward labeling in G if and only if: (Def. 11) e ∈ the edges of G and (the target of G)(e) ∈ G.labeledV() and (the

source of G)(e) ∉ G.labeledV() and 0 < (the elabel of G)(e). Let G be a real-weighted real-elabeled we-graph and let W be a walk of G.

We say that W is augmenting if and only if the condition (Def. 12) is satisfied. (Def. 12) Let n be an odd natural number such that n < len W. Then

(i) if W (n+1) joins W (n) to W (n+2) in G, then (the elabel of G)(W (n+ 1)) < (the weight of G)(W (n + 1)), and (ii) if W (n + 1) does not join W (n) to W (n + 2) in G, then 0 < (the elabel

of G)(W (n + 1)). Let G be a real-weighted real-elabeled we-graph. One can check that every

walk of G which is trivial is also augmenting.

Let G be a real-weighted real-elabeled we-graph. Note that there exists a path of G which is vertex-distinct and augmenting.

Let G be a real-weighted real-elabeled we-graph, let W be an augmenting walk of G, and let m, n be natural numbers. Note that W .cut(m, n) is augmenting.

Next we state two propositions:

(1) Let G_{3}, G_{2} be real-weighted real-elabeled we-graphs, W_{1} be a walk of G_{3}, and W_{2} be a walk of G_{2}. Suppose that

(i) W_{1} is augmenting, (ii) G_{3} =_{G} G_{2}, (iii) the weight of G_{3} = the weight of G_{2}, (iv) the elabel of G_{3} = the elabel of G_{2}, and

(v) W_{1} = W_{2}. Then W_{2} is augmenting.

(2) Let G be a real-weighted real-elabeled we-graph, W be an augmenting walk of G, and e, v be sets. Suppose that

(i) v ∉ W .vertices(), and (ii) e joins W .last() to v in G and (the elabel of G)(e) < (the weight of

G)(e) or e joins v to W .last() in G and 0 < (the elabel of G)(e).

Then W .addEdge(e) is augmenting.

3. Algorithm for Finding Augmenting Path in a Graph

Let G be a real-weighted real-elabeled wev-graph. The functor AP : NextBestEdges(G) yielding a subset of the edges of G is defined as follows:

(Def. 13) For every set e holds e ∈ AP : NextBestEdges(G) iff e is forward labeling

in G or backward labeling in G. Let G be a real-weighted real-elabeled wev-graph. The functor AP : Step(G)

yields a real-weighted real-elabeled wev-graph and is defined by:

(Def. 14) AP : Step(G) = \{ \begin{matrix}G, if AP : NextBestEdges(G) = ∅, \\ G.labelVertex((the source of G)(e), e), \\ if AP : NextBestEdges(G) ≠ ∅ and (the source of G) \\ (e) ∉ G.labeledV(), \\ G.labelVertex((the target of G)(e), e), otherwise. \end{matrix}

Let G be a finite real-weighted real-elabeled wev-graph. One can check that AP : Step(G) is finite.

Let G be a real-weighted real-elabeled we-graph and let s_{1} be a vertex of G. The functor AP : CompSeq(G, s_{1}) yielding a real-weighted real-elabeled wevgraph sequence is defined as follows:

(Def. 15) AP : CompSeq(G, s_{1}).→0 = G.set(VLabelSelector, s_{1}⟼ . 1) and for every natural number n holds AP : CompSeq(G, s_{1}).→(n + 1) = AP : Step((AP : CompSeq(G, s_{1}).→n)).

Let G be a finite real-weighted real-elabeled we-graph and let s_{1} be a vertex of G. One can check that AP : CompSeq(G, s_{1}) is finite.

The following three propositions are true:

(3) Let G be a real-weighted real-elabeled we-graph and s_{1} be a vertex of G. Then

(i) G =_{G} AP : CompSeq(G, s_{1}).→0, (ii) the weight of G = the weight of AP : CompSeq(G, s_{1}).→0, (iii) the elabel of G = the elabel of AP : CompSeq(G, s_{1}).→0, and (iv) (AP : CompSeq(G, s_{1}).→0).labeledV() = {s_{1}}.

(4) Let G be a real-weighted real-elabeled we-graph, s_{1} be a vertex of G, and i, j be natural numbers. If i ≤ j, then (AP : CompSeq(G, s_{1}).→i).labeledV() ⊆ (AP : CompSeq(G, s_{1}).→j).labeledV().

(5) Let G be a real-weighted real-elabeled we-graph, s_{1} be a vertex of G, and n be a natural number. Then G =_{G} AP : CompSeq(G, s_{1}).→n and the weight of G = the weight of AP : CompSeq(G, s_{1}).→n and the elabel of G = the elabel of AP : CompSeq(G, s_{1}).→n.

Let G be a real-weighted real-elabeled we-graph and let s_{1} be a vertex of G. The functor AP : FindAugPath(G, s_{1}) yielding a real-weighted real-elabeled wev-graph is defined as follows:

(Def. 16) AP : FindAugPath(G, s_{1}) = (AP : CompSeq(G, s_{1})).Result(). We now state two propositions:

(6) For every finite real-weighted real-elabeled we-graph G and for every vertex s_{1} of G holds AP : CompSeq(G, s_{1}) is halting.

(7) Let G be a finite real-weighted real-elabeled we-graph, s_{1} be a vertex of G, n be a natural number, and v be a set. If v ∈ (AP : CompSeq(G, s_{1}).→n).labeledV(), then (the vlabel of AP : CompSeq(G, s_{1}).→n)(v) = (the vlabel of AP : FindAugPath(G, s_{1}))(v).

Let G be a finite real-weighted real-elabeled we-graph and let s_{1}, s_{2} be vertices of G. The functor AP : GetAugPath(G, s_{1}, s_{2}) yielding a vertex-distinct augmenting path of G is defined by:

(Def. 17)(i) AP : GetAugPath(G, s_{1}, s_{2}) is walk from s_{1} to s_{2} and for every even natural number n such that n ∈ dom AP : GetAugPath(G, s_{1}, s_{2}) holds (AP : GetAugPath(G, s_{1}, s_{2}))(n) = (the vlabel of AP : FindAugPath(G, s_{1}))

((AP : GetAugPath(G, s_{1}, s_{2}))(n + 1)) if s_{2} ∈ (AP : FindAugPath(G, s_{1})) .labeledV(),

(ii) AP : GetAugPath(G, s_{1}, s_{2}) = G.walkOf(s_{1}), otherwise. Next we state three propositions:

(8) Let G be a real-weighted real-elabeled we-graph, s_{1} be a vertex of G, n be a natural number, and v be a set. Suppose v ∈ (AP : CompSeq(G, s_{1}).→n).labeledV(). Then there exists a path P of G such that P is augmenting and walk from s_{1} to v and P .vertices() ⊆ (AP : CompSeq(G, s_{1}).→n).labeledV().

(9) Let G be a finite real-weighted real-elabeled we-graph, s_{1} be a vertex of G, and v be a set. Then v ∈ (AP : FindAugPath(G, s_{1})).labeledV() if and only if there exists a path of G which is augmenting and walk from s_{1} to v.

(10) Let G be a finite real-weighted real-elabeled we-graph and s_{1} be a vertex of G. Then s_{1} ∈ (AP : FindAugPath(G, s_{1})).labeledV() and G =_{G} AP : FindAugPath(G, s_{1}) and the weight of G = the weight of AP : FindAugPath(G, s_{1}) and the elabel of G = the elabel of AP : FindAugPath(G, s_{1}).

4. Definition of Ford-Fulkerson Maximum Flow Algorithm

Let G be a real-weighted real-elabeled we-graph and let W be an augmenting walk of G. The functor W .flowSeq() yields a finite sequence of elements of ℝ and is defined by the conditions (Def. 18).

(Def. 18)(i) dom(W .flowSeq()) = dom(W .edgeSeq()), and

(ii) for every natural number n such that n ∈ dom(W .flowSeq()) holds if W (2·n) joins W (2·n−1) to W (2·n+1) in G, then W .flowSeq()(n) = (the weight of G)(W (2 · n)) − (the elabel of G)(W (2 · n)) and if W (2 · n) does not join W (2 · n − 1) to W (2 · n + 1) in G, then W .flowSeq()(n) = (the elabel of G)(W (2 · n)).

Let G be a real-weighted real-elabeled we-graph and let W be an augmenting walk of G. The functor W .tolerance() yielding a real number is defined as follows:

(Def. 19)(i) W .tolerance() ∈ rng(W .flowSeq()) and for every real number k such

that k ∈ rng(W .flowSeq()) holds W .tolerance() ≤ k if W is non trivial, (ii) W .tolerance() = 0, otherwise. Let G be a natural-weighted natural-elabeled we-graph and let W be an

augmenting walk of G. Then W .tolerance() is a natural number.

Let G be a real-weighted real-elabeled we-graph and let P be an augmenting path of G. The functor FF : PushFlow(G, P) yielding a many sorted set indexed by the edges of G is defined by the conditions (Def. 20).

(Def. 20)(i) For every set e such that e ∈ the edges of G and e ∉ P .edges() holds

(FF : PushFlow(G, P))(e) = (the elabel of G)(e), and (ii) for every odd natural number n such that n < len P holds if P (n + 1)

joins P (n) to P (n+2) in G, then (FF : PushFlow(G, P))(P (n+1)) = (the elabel of G)(P (n + 1)) + P .tolerance() and if P (n + 1) does not join P (n) to P (n + 2) in G, then (FF : PushFlow(G, P))(P (n + 1)) = (the elabel of G)(P (n + 1)) − P .tolerance().

Let G be a real-weighted real-elabeled we-graph and let P be an augmenting path of G. Observe that FF : PushFlow(G, P) is real-yielding.

Let G be a natural-weighted natural-elabeled we-graph and let P be an augmenting path of G. Note that FF : PushFlow(G, P) is natural-yielding.

Let G be a real-weighted real-elabeled we-graph and let P be an augmenting path of G. The functor FF : AugmentPath(G, P) yielding a real-weighted realelabeled complete-elabeled we-graph is defined as follows:

(Def. 21) FF : AugmentPath(G, P) = G.set(ELabelSelector, FF : PushFlow(G, P)).

Let G be a finite real-weighted real-elabeled we-graph and let P be an augmenting path of G. Observe that FF : AugmentPath(G, P) is finite.

Let G be a finite nonnegative-weighted real-elabeled we-graph and let P be an augmenting path of G. Note that FF : AugmentPath(G, P) is nonnegativeweighted.

Let G be a finite natural-weighted natural-elabeled we-graph and let P be an augmenting path of G. Note that FF : AugmentPath(G, P) is natural-weighted and natural-elabeled.

Let G be a finite real-weighted real-elabeled complete-elabeled we-graph and let s_{2}, s_{1} be vertices of G. The functor FF : Step(G, s_{1}, s_{2}) yields a finite realweighted real-elabeled complete-elabeled we-graph and is defined by:

(Def. 22) FF : Step(G, s_{1}, s_{2}) = \{ \begin{matrix}FF : AugmentPath(G, AP : GetAugPath(G, s_{1}, \\ s_{2})), if s_{2} ∈ (AP : FindAugPath(G, s_{1})) \\ .labeledV(), \\ G, otherwise. \end{matrix}

Let G be a finite nonnegative-weighted real-elabeled complete-elabeled wegraph and let s_{1}, s_{2} be vertices of G. One can check that FF : Step(G, s_{1}, s_{2}) is nonnegative-weighted.

Let G be a finite natural-weighted natural-elabeled complete-elabeled wegraph and let s_{1}, s_{2} be vertices of G. One can verify that FF : Step(G, s_{1}, s_{2}) is natural-weighted and natural-elabeled.

Let G be a finite real-weighted w-graph and let s_{1}, s_{2} be vertices of G. The functor FF : CompSeq(G, s_{1}, s_{2}) yields a finite real-weighted real-elabeled complete-elabeled we-graph sequence and is defined by the conditions (Def. 23).

(Def. 23)(i) FF : CompSeq(G, s_{1}, s_{2}).→0 = G.set(ELabelSelector, (the edges of G) ⟼ 0), and (ii) for every natural number n there exist vertices s′_{1}, s′_{2} of

FF : CompSeq(G, s_{1}, s_{2}).→n such that s′_{1} = s_{1} and s′_{2} = s_{2} and FF : CompSeq(G, s_{1}, s_{2}).→(n + 1) = FF : Step(FF : CompSeq(G, s_{1}, s_{2}).→n, s′_{1}, s′_{2}).

Let G be a finite nonnegative-weighted w-graph and let s_{2}, s_{1} be vertices of G. One can verify that FF : CompSeq(G, s_{1}, s_{2}) is nonnegative-weighted.

Let G be a finite natural-weighted w-graph and let s_{2}, s_{1} be vertices of G. One can check that FF : CompSeq(G, s_{1}, s_{2}) is natural-weighted and naturalelabeled.

Let G be a finite real-weighted w-graph and let s_{2}, s_{1} be vertices of G. The functor FF : MaxFlow(G, s_{1}, s_{2}) yields a finite real-weighted real-elabeled complete-elabeled we-graph and is defined by:

(Def. 24) FF : MaxFlow(G, s_{1}, s_{2}) = (FF : CompSeq(G, s_{1}, s_{2})).Result().

5. Theorems for Ford-Fulkerson Maximum Flow Algorithm

One can prove the following propositions:

(11) Let G be a finite real-weighted real-elabeled complete-elabeled we-graph, s_{1}, s_{2} be sets, and V be a subset of the vertices of G. Suppose G has valid flow from s_{1} to s_{2} and s_{1} ∈ V and s_{2} ∉ V. Then G.flow(s_{1}, s_{2}) = ∑((the elabel of G)↾G.edgesDBetween(V, (the vertices of G)\V))−∑((the elabel of G)↾G.edgesDBetween((the vertices of G) \ V, V)).

(12) Let G be a finite real-weighted real-elabeled complete-elabeled we-graph, s_{1}, s_{2} be sets, and V be a subset of the vertices of G. Suppose G has valid flow from s_{1} to s_{2} and s_{1} ∈ V and s_{2} ∉ V. Then G.flow(s_{1}, s_{2}) ≤ ∑((the weight of G)↾G.edgesDBetween(V, (the vertices of G) \ V)).

(13) Let G be a real-weighted real-elabeled we-graph and P be an augmenting path of G. Then G =_{G} FF : AugmentPath(G, P) and the weight of G = the weight of FF : AugmentPath(G, P).

(14) Let G be a finite real-weighted real-elabeled we-graph and W be an augmenting walk of G. If W is non trivial, then 0 < W .tolerance().

(15) Let G be a finite real-weighted real-elabeled complete-elabeled we-graph, s_{1}, s_{2} be sets, and P be an augmenting path of G. Suppose s_{1} ≠ s_{2} and G has valid flow from s_{1} to s_{2} and P is walk from s_{1} to s_{2}. Then FF : AugmentPath(G, P) has valid flow from s_{1} to s_{2}.

(16) Let G be a finite real-weighted real-elabeled complete-elabeled we-graph, s_{1}, s_{2} be sets, and P be an augmenting path of G. Suppose s_{1} ≠ s_{2} and G has valid flow from s_{1} to s_{2} and P is walk from s_{1} to s_{2}. Then (G.flow(s_{1}, s_{2})) + P .tolerance() = FF : AugmentPath(G, P).flow(s_{1}, s_{2}).

correctnesss of ford-fulkerson’s maximum … 313

(17) Let G be a finite real-weighted w-graph, s_{1}, s_{2} be vertices of G, and n be a natural number. Then FF : CompSeq(G, s_{1}, s_{2}).→n =_{G} G and the weight of G = the weight of FF : CompSeq(G, s_{1}, s_{2}).→n.

(18) Let G be a finite nonnegative-weighted w-graph, s_{1}, s_{2} be vertices of G, and n be a natural number. If s_{1} ≠ s_{2}, then FF : CompSeq(G, s_{1}, s_{2}).→n has valid flow from s_{1} to s_{2}.

(19) For every finite natural-weighted w-graph G and for all vertices s_{1}, s_{2} of G such that s_{1} ≠ s_{2} holds FF : CompSeq(G, s_{1}, s_{2}) is halting.

(20) Let G be a finite real-weighted real-elabeled complete-elabeled we-graph and s_{1}, s_{2} be sets such that s_{1} ≠ s_{2} and G has valid flow from s_{1} to s_{2} and there exists no augmenting path of G which is walk from s_{1} to s_{2}. Then G has maximum flow from s_{1} to s_{2}.

(21) Let G be a finite real-weighted w-graph and s_{1}, s_{2} be vertices of G. Then G =_{G} FF : MaxFlow(G, s_{1}, s_{2}) and the weight of G = the weight of FF : MaxFlow(G, s_{1}, s_{2}).

(22) Let G be a finite natural-weighted w-graph and s_{1}, s_{2} be vertices of G. If s_{2} ≠ s_{1}, then FF : MaxFlow(G, s_{1}, s_{2}) has maximum flow from s_{1} to s_{2}.

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. The ordinal numbers. Formalized Mathematics, 1(1):91–96, 1990.

[4] Grzegorz Bancerek. Sequences of ordinal numbers. Formalized Mathematics, 1(2):281– 290, 1990.

[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. A classical first order language. Formalized Mathematics, 1(4):669–676, 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. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

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

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

[12] Jarosław Kotowicz. Monotone real sequences. Subsequences. Formalized Mathematics, 1(3):471–475, 1990.

[13] Jarosław Kotowicz. Real sequences and basic operations on them. Formalized Mathematics, 1(2):269–272, 1990.

[14] Gilbert Lee. Walks in Graphs. Formalized Mathematics, 13(2):253–269, 2005.

[15] Gilbert Lee. Weighted and Labeled Graphs. Formalized Mathematics, 13(2):279–293, 2005.

[16] Gilbert Lee and Piotr Rudnicki. Alternative graph structures. Formalized Mathematics, 13(2):235–252, 2005.

[17] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, I. Formalized Mathematics, 5(2):167–172, 1996.

[18] Piotr Rudnicki. Little Bezout theorem (factor theorem). Formalized Mathematics, 12(1):49–58, 2004.

314 gilbert lee

[19] Piotr Rudnicki and Andrzej Trybulec. Abian’s fixed point theorem. Formalized Mathematics, 6(3):335–338, 1997.

[20] Piotr Rudnicki and Andrzej Trybulec. Multivariate polynomials with arbitrary number of variables. Formalized Mathematics, 9(1):95–110, 2001.

[21] Andrzej Trybulec. Subsets of complex numbers. To appear in Formalized Mathematics.

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

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

[24] Andrzej Trybulec. Many-sorted sets. Formalized Mathematics, 4(1):15–22, 1993.

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

[26] Josef Urban. Basic facts about inaccessible and measurable cardinals. Formalized Mathematics, 9(2):323–329, 2001.

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

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

Properties of Connected Subsets of the Real Line

Artur Korniłowicz^{1} Institute of Computer Science University of Białystok Sosnowa 64, 15-887 Białystok, Poland

MML identifier: RCOMP 3, version: 7.5.01 4.39.921

The papers [31], [36], [3], [37], [27], [18], [9], [38], [10], [22], [14], [4], [34], [5], [39], [1], [33], [30], [2], [23], [21], [6], [20], [35], [29], [24], [28], [40], [17], [13], [12], [26], [15], [8], [11], [16], [19], [25], [32], and [7] provide the notation and terminology for this paper.

1. Preliminaries

Let X be a non empty set. Observe that Ω_{X} is non empty.

Let us observe that every subspace of the metric space of real numbers is real-membered.

Let S be a real-membered 1-sorted structure. One can check that the carrier of S is real-membered.

One can check that there exists a real-membered set which is non empty, finite, lower bounded, and upper bounded.

We now state three propositions:

(1) For every non empty lower bounded real-membered set X and for every closed subset Y of ℝ such that X ⊆ Y holds inf X ∈ Y.

(2) For every non empty upper bounded real-membered set X and for every closed subset Y of ℝ such that X ⊆ Y holds sup X ∈ Y.

(3) For all subsets X, Y of ℝ holds \overline{X ∪ Y} = \overline{X} ∪ \overline{Y} .

1The paper was written during the author’s post-doctoral fellowship granted by Shinshu University, Japan.

2. Intervals

In the sequel a, b, r, s are real numbers.

Let us consider r, s. One can check the following observations:

∗ [r, s[ is bounded,

∗ ]r, s] is bounded, and

∗ ]r, s[ is bounded.

Let us consider r, s. One can verify the following observations:

∗ [r, s] is connected,

∗ [r, s[ is connected,

∗ ]r, s] is connected, and

∗ ]r, s[ is connected.

Let us observe that there exists a subset of ℝ which is open, bounded, connected, and non empty.

One can prove the following propositions:

(4) If r < s, then inf[r, s[= r.

(5) If r < s, then sup[r, s[= s.

(6) If r < s, then inf]r, s] = r.

(7) If r < s, then sup]r, s] = s.

(8) If a ≤ b or r ≤ s and if [a, b] = [r, s], then a = r and b = s.

(9) If a < b or r < s and if ]a, b[ = ]r, s[, then a = r and b = s.

(10) If a < b or r < s and if ]a, b] = ]r, s], then a = r and b = s.

(11) If a < b or r < s and if [a, b[= [r, s[, then a = r and b = s.

(12) If a < b and [a, b[⊆ [r, s], then r ≤ a and b ≤ s.

(13) If a < b and [a, b[⊆ [r, s[, then r ≤ a and b ≤ s.

(14) If a < b and ]a, b] ⊆ [r, s], then r ≤ a and b ≤ s.

(15) If a < b and ]a, b] ⊆ ]r, s], then r ≤ a and b ≤ s.

3. Halflines

One can prove the following propositions:

(16) [a, b]^{c} = ]−∞, a[ ∪]b, +∞[.

(17) ]a, b[^{c} = ]−∞, a] ∪ [b, +∞[.

(18) [a, b[^{c} = ]−∞, a[ ∪ [b, +∞[.

(19) ]a, b]^{c} = ]−∞, a] ∪]b, +∞[.

(20) If a ≤ b, then [a, b] ∩ (]−∞, a] ∪ [b, +∞[) = {a, b}. Let us consider a. One can verify the following observations:

∗ ]−∞, a] is non lower bounded, upper bounded, and connected,

∗ ]−∞, a[ is non lower bounded, upper bounded, and connected,

∗ [a, +∞[ is lower bounded, non upper bounded, and connected, and ∗ ]a, +∞[ is lower bounded, non upper bounded, and connected. The following propositions are true:

(21) sup]−∞, a] = a.

(22) sup]−∞, a[ = a.

(23) inf[a, +∞[ = a.

(24) inf]a, +∞[ = a.

4. Connectedness

Let us observe that Ω_{ℝ} is connected, non lower bounded, and non upper bounded.

One can prove the following propositions:

(25) For every bounded connected subset X of ℝ such that inf X ∈ X and sup X ∈ X holds X = [inf X, sup X].

(26) For every bounded subset X of ℝ such that inf X ∉ X holds X ⊆ ]inf X, sup X].

(27) For every bounded connected subset X of ℝ such that inf X ∉ X and sup X ∈ X holds X = ]inf X, sup X].

(28) For every bounded subset X of ℝ such that sup X ∉ X holds X ⊆ [inf X, sup X[.

(29) For every bounded connected subset X of ℝ such that inf X ∈ X and sup X ∉ X holds X = [inf X, sup X[.

(30) For every bounded subset X of ℝ such that inf X ∉ X and sup X ∉ X holds X ⊆ ]inf X, sup X[.

(31) For every non empty bounded connected subset X of ℝ such that inf X ∉ X and sup X ∉ X holds X = ]inf X, sup X[.

(32) For every subset X of ℝ such that X is upper bounded holds X ⊆ ]−∞, sup X].

(33) For every connected subset X of ℝ such that X is not lower bounded and X is upper bounded and sup X ∈ X holds X = ]−∞, sup X].

(34) For every subset X of ℝ such that X is upper bounded and sup X ∉ X holds X ⊆ ]−∞, sup X[.

(35) For every non empty connected subset X of ℝ such that X is not lower bounded and X is upper bounded and sup X ∉ X holds X = ]−∞, sup X[.

(36) For every subset X of ℝ such that X is lower bounded holds X ⊆ [inf X, +∞[.

(37) For every connected subset X of ℝ such that X is lower bounded and X is not upper bounded and inf X ∈ X holds X = [inf X, +∞[.

(38) For every subset X of ℝ such that X is lower bounded and inf X ∉ X holds X ⊆ ]inf X, +∞[.

(39) For every non empty connected subset X of ℝ such that X is lower bounded and X is not upper bounded and inf X ∉ X holds X = ]inf X, +∞[.

(40) For every connected subset X of ℝ such that X is not upper bounded and X is not lower bounded holds X = ℝ.

(41) Let X be a connected subset of ℝ. Then X is empty or X = ℝ or there exists a such that X = ]−∞, a] or there exists a such that X = ]−∞, a[ or there exists a such that X = [a, +∞[ or there exists a such that X = ]a, +∞[ or there exist a, b such that a ≤ b and X = [a, b] or there exist a, b such that a < b and X = [a, b[ or there exist a, b such that a < b and X = ]a, b] or there exist a, b such that a < b and X = ]a, b[.

(42) For every non empty connected subset X of ℝ such that r ∉ X holds r ≤ inf X or sup X ≤ r.

(43) Let X, Y be non empty bounded connected subsets of ℝ. Suppose inf X ≤ inf Y and sup Y ≤ sup X and if inf X = inf Y and inf Y ∈ Y, then inf X ∈ X and if sup X = sup Y and sup Y ∈ Y, then sup X ∈ X. Then Y ⊆ X.

Let us observe that there exists a subset of ℝ which is open, closed, connected, non empty, and non bounded.

5. ℝ^{1}

Next we state several propositions:

(44) For every subset X of ℝ^{1} such that a ≤ b and X = [a, b] holds Fr X = {a, b}.

(45) For every subset X of ℝ^{1} such that a < b and X = ]a, b[ holds Fr X = {a, b}.

(46) For every subset X of ℝ^{1} such that a < b and X = [a, b[ holds Fr X = {a, b}.

(47) For every subset X of ℝ^{1} such that a < b and X = ]a, b] holds Fr X = {a, b}.

(48) For every subset X of ℝ^{1} such that X = [a, b] holds Int X = ]a, b[.

(49) For every subset X of ℝ^{1} such that X = ]a, b[ holds Int X = ]a, b[.

(50) For every subset X of ℝ^{1} such that X = [a, b[ holds Int X = ]a, b[.

(51) For every subset X of ℝ^{1} such that X = ]a, b] holds Int X = ]a, b[.

Let X be a convex subset of ℝ^{1}. Observe that ℝ^{1}↾X is convex. Let A be a connected subset of ℝ. One can check that R^{1}A is convex. We now state the proposition

(52) Let X be a subset of ℝ^{1} and Y be a subset of ℝ. If X = Y, then X is connected iff Y is connected.

6. Topology of Closed Intervals

Let us consider r. Note that [r, r]_{T} is trivial. The following four propositions are true:

(53) If r ≤ s, then every subset of [r, s]_{T} is a bounded subset of ℝ.

(54) If r ≤ s, then for every subset X of [r, s]_{T} such that X = [a, b[ and r < a and b ≤ s holds Int X = ]a, b[.

(55) If r ≤ s, then for every subset X of [r, s]_{T} such that X = ]a, b] and r ≤ a and b < s holds Int X = ]a, b[.

(56) Let X be a subset of [r, s]_{T} and Y be a subset of ℝ. If X = Y, then X

is connected iff Y is connected. Let T be a topological space. Observe that there exists a subset of T which

is open, closed, and connected.

Let T be a non empty connected topological space. Observe that there exists a subset of T which is non empty, open, closed, and connected.

We now state the proposition

(57) Suppose r ≤ s. Let X be an open connected subset of [r, s]_{T}. Then (i) X is empty, or (ii) X = [r, s], or (iii) there exists a real number a such that r < a and a ≤ s and X = [r, a[,

or (iv) there exists a real number a such that r ≤ a and a < s and X = ]a, s],

or

(v) there exist real numbers a, b such that r ≤ a and a < b and b ≤ s and X = ]a, b[.

7. Minimal Cover of Intervals

Next we state three propositions:

(58) Let T be a 1-sorted structure and F be a family of subsets of T. Then F is a cover of T if and only if F is a cover of Ω_{T}.

(59) Let T be a 1-sorted structure, F be a finite family of subsets of T, and F_{1} be a family of subsets of T. Suppose F is a cover of T and F_{1} = F \{X; X ranges over subsets of T: X ∈ F ∧ ⋁_{Y : subset of T} (Y ∈ F ∧ X ⊆ Y ∧ X ≠ Y)}. Then F_{1} is a cover of T.

(60) Let S be a trivial non empty 1-sorted structure, s be a point of S, and

F be a family of subsets of S. If F is a cover of S, then {s} ∈ F. Let T be a topological structure and let F be a family of subsets of T. We

say that F is connected if and only if: (Def. 1) For every subset X of T such that X ∈ F holds X is connected.

Let T be a topological space. Note that there exists a family of subsets of T which is non empty, open, closed, and connected.

In the sequel n, m are natural numbers and F is a family of subsets of [r, s]_{T}. The following two propositions are true:

(61) Let L be a topological space and G, G_{1} be families of subsets of L. Suppose G is a cover of L and finite. Let A_{1} be a set such that G_{1} = G \ {X; X ranges over subsets of L: X ∈ G ∧ ⋁_{Y : subset of L} (Y ∈ G ∧ X ⊆ Y ∧ X ≠ Y)} and A_{1} = {C; C ranges over families of subsets of L: C is a cover of L ∧ C ⊆ G_{1}}. Then A_{1} has the lower Zorn property w.r.t. ^{⊆}_{(A_{1})}.

(62) Let L be a topological space and G, A_{1} be sets. Suppose A_{1} = {C; C ranges over families of subsets of L: C is a cover of L ∧ C ⊆ G}. Let M be a set. Suppose M is minimal in ^{⊆}_{(A_{1})} and M ∈ field(^{⊆}_{(A_{1})}). Let A_{4} be a subset of L. Suppose A_{4} ∈ M. Then it is not true that there exist subsets A_{2}, A_{3} of L such that A_{2} ∈ M and A_{3} ∈ M and A_{4} ⊆ A_{2} ∪ A_{3} and A_{4} ≠ A_{2} and A_{4} ≠ A_{3}.

Let r, s be real numbers and let F be a family of subsets of [r, s]_{T}. Let us assume that F is a cover of [r, s]_{T} F is open F is connected and r ≤ s. A finite sequence of elements of 2^{ℝ} is said to be an interval cover of F if it satisfies the conditions (Def. 2).

(Def. 2)(i) rng it ⊆ F, (ii) ⋃ rng it = [r, s], (iii) for every natural number n such that 1 ≤ n holds if n ≤ len it, then

it_{n} is non empty and if n + 1 ≤ len it, then inf(it_{n}) ≤ inf(it_{n+1}) and sup(it_{n}) ≤ sup(it_{n+1}) and inf(it_{n+1}) < sup(it_{n}) and if n + 2 ≤ len it, then sup(it_{n}) ≤ inf(it_{n+2}),

(iv) if [r, s] ∈ F, then it = ⟨[r, s]⟩, and

(v) if [r, s] ∉ F, then there exists a real number p such that r < p and p ≤ s and it(1) = [r, p[ and there exists a real number p such that r ≤ p and p < s and it(len it) = ]p, s] and for every natural number n such that 1 < n and n < len it there exist real numbers p, q such that r ≤ p and p < q and q ≤ s and it(n) = ]p, q[.

We now state the proposition (63) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s and [r, s] ∈ F,

then ⟨[r, s]⟩ is an interval cover of F. In the sequel C denotes an interval cover of F. One can prove the following propositions:

(64) Let F be a family of subsets of [r, r]_{T} and C be an interval cover of F. If F is a cover of [r, r]_{T}, open, and connected, then C = ⟨[r, r]⟩.

(65) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s, then 1 ≤ len C.

(66) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s and len C = 1, then C = ⟨[r, s]⟩.

(67) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s and n ∈ dom C and m ∈ dom C and n < m, then inf(C_{n}) ≤ inf(C_{m}).

(68) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s and n ∈ dom C and m ∈ dom C and n < m, then sup(C_{n}) ≤ sup(C_{m}).

(69) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s and 1 ≤ n and n + 1 ≤ len C, then ]inf(C_{n+1}), sup(C_{n})[ is non empty.

(70) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s, then inf(C_{1}) = r.

(71) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s, then r ∈ C_{1}.

(72) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s, then sup(C_{len C}) = s.

(73) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s, then s ∈ C_{len C}. Let r, s be real numbers, let F be a family of subsets of [r, s]_{T}, and let C be

an interval cover of F. Let us assume that F is a cover of [r, s]_{T} F is open F is connected and r ≤ s. A finite sequence of elements of ℝ is said to be a chain of rivets in interval cover C if it satisfies the conditions (Def. 3).

(Def. 3)(i) len it = len C + 1, (ii) it(1) = r, (iii) it(len it) = s, and (iv) for every natural number n such that 1 ≤ n and n + 1 < len it holds

it(n + 1) ∈ ]inf(C_{n+1}), sup(C_{n})[. In the sequel G denotes a chain of rivets in interval cover C. One can prove the following propositions:

(74) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s, then 2 ≤ len G.

(75) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s and len C = 1, then G = ⟨r, s⟩.

(76) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s and 1 ≤ n and n + 1 < len G, then G(n + 1) < sup(C_{n}).

(77) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s and 1 < n and n ≤ len C, then inf(C_{n}) < G(n).

322 artur korniłowicz

(78) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s and 1 ≤ n and n < len C, then G(n) ≤ inf(C_{n+1}).

(79) If F is a cover of [r, s]_{T}, open, and connected and r < s, then G is increasing.

(80) If F is a cover of [r, s]_{T}, open, and connected and r ≤ s and 1 ≤ n and n < len G, then [G(n), G(n + 1)] ⊆ C(n).

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. The ordinal numbers. Formalized Mathematics, 1(1):91–96, 1990.

[4] Grzegorz Bancerek. Sequences of ordinal numbers. Formalized Mathematics, 1(2):281– 290, 1990.

[5] Grzegorz Bancerek. Zermelo theorem and axiom of choice. Formalized Mathematics, 1(2):265–267, 1990.

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

[7] Józef Białas. Properties of fields. Formalized Mathematics, 1(5):807–812, 1990.

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

[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 and Piotr Rudnicki. Bounding boxes for compact sets in E^{2}. Formalized Mathematics, 6(3):427–440, 1997.

[12] Agata Darmochwał. Compact spaces. Formalized Mathematics, 1(2):383–386, 1990.

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

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

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

[16] Adam Grabowski and Artur Korniłowicz. Algebraic properties of homotopies. Formalized Mathematics, 12(3):251–260, 2004.

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

[18] Zbigniew Karno. On discrete and almost discrete topological spaces. Formalized Mathematics, 3(2):305–310, 1992.

[19] Artur Korniłowicz. The fundamental group of convex subspaces of E_{T}^{n}. Formalized Mathematics, 12(3):295–299, 2004.

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

[21] Jarosław Kotowicz. Monotone real sequences. Subsequences. Formalized Mathematics, 1(3):471–475, 1990.

[22] Jarosław Kotowicz. Real sequences and basic operations on them. Formalized Mathematics, 1(2):269–272, 1990.

[23] Jarosław Kotowicz. The limit of a real function at infinity. Formalized Mathematics, 2(1):17–28, 1991.

[24] Yatsuka Nakamura. Half open intervals in real numbers. Formalized Mathematics, 10(1):21–22, 2002.

[25] Takaya Nishiyama and Yasuho Mizuhara. Binary arithmetics. Formalized Mathematics, 4(1):83–86, 1993.

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

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

properties of connected subsets … 323

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

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

[30] Andrzej Trybulec. Subsets of complex numbers. To appear in Formalized Mathematics.

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

[32] Andrzej Trybulec. Some lemmas for the Jordan curve theorem. Formalized Mathematics, 9(3):481–484, 2001.

[33] Andrzej Trybulec. On the sets inhabited by numbers. Formalized Mathematics, 11(4):341– 347, 2003.

[34] Wojciech A. Trybulec. Partially ordered sets. Formalized Mathematics, 1(2):313–319, 1990.

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

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

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

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

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

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

324 artur korniłowicz

The Fundamental Group of the Circle

Artur Korniłowicz^{1} Institute of Computer Science University of Białystok Sosnowa 64, 15-887 Białystok, Poland

Summary. The article formalizes a proof of the theorem counting the fundamental group of a circle taken from [18]. The last result describes an isomorphism between the additive group of integers and the fundamental group of a simple closed curve.

MML identifier: TOPALG 5, version: 7.5.01 4.39.921

The notation and terminology used in this paper have been introduced in the following articles: [38], [10], [44], [2], [45], [33], [7], [1], [46], [9], [27], [8], [6], [40], [12], [3], [37], [19], [41], [26], [4], [34], [28], [32], [42], [36], [43], [20], [35], [39], [11], [30], [31], [29], [22], [21], [14], [13], [5], [15], [47], [16], [17], [25], [23], and [24].

1. Preliminaries

Let us observe that every element of ℤ^{+} is integer.

Let us note that ℤ^{+} is infinite.

Let S be an infinite 1-sorted structure. Note that the carrier of S is infinite. In the sequel a, r, s denote real numbers. One can prove the following propositions:

(1) If r ≤ s and 0 < a, then for every point p of [r, s]_{M} holds Ball(p, a) = [r, s] or Ball(p, a) = [r, p+a[ or Ball(p, a) = ]p−a, s] or Ball(p, a) = ]p−a, p+a[.

1The paper was written during author’s post-doctoral fellowship granted by Shinshu University, Japan.

(2) Suppose r ≤ s. Then there exists a basis B of [r, s]_{T} such that

(i) there exists a many sorted set f indexed by [r, s]_{T} such that for every point y of [r, s]_{M} holds f(y) = \{Ball(y, \frac{1}{n}); n ranges over natural numbers: n ≠ 0} and B = ⋃ f, and

(ii) for every subset X of [r, s]_{T} such that X ∈ B holds X is connected.

(3) For every topological structure T and for every subset A of T and for every point t of T such that t ∈ A holds skl(t, A) ⊆ A.

Let T be a topological space and let A be an open subset of T. Observe that T ↾A is open.

Next we state several propositions:

(4) Let T be a topological space, S be a subspace of T, A be a subset of T, and B be a subset of S. If A = B, then T ↾A = S↾B.

(5) Let S, T be topological spaces, A, B be subsets of T, and C, D be subsets of S. Suppose that

(i) the topological structure of S = the topological structure of T, (ii) A = C, (iii) B = D, and (iv) A and B are separated.

Then C and D are separated.

(6) Let S, T be topological spaces. Suppose the topological structure of S = the topological structure of T and S is connected. Then T is connected.

(7) Let S, T be topological spaces, A be a subset of S, and B be a subset of T. Suppose the topological structure of S = the topological structure of T and A = B and A is connected. Then B is connected.

(8) Let S, T be non empty topological spaces, s be a point of S, t be a point of T, and A be a neighbourhood of s. Suppose the topological structure of S = the topological structure of T and s = t. Then A is a neighbourhood of t.

(9) Let S, T be non empty topological spaces, A be a subset of S, B be a subset of T, and N be a neighbourhood of A. Suppose the topological structure of S = the topological structure of T and A = B. Then N is a neighbourhood of B.

(10) Let S, T be non empty topological spaces, A, B be subsets of T, and f be a map from S into T. Suppose f is a homeomorphism and A is a component of B. Then f^{−1}(A) is a component of f^{−1}(B).

2. Local Connectedness

The following propositions are true:

(11) Let T be a non empty topological space, S be a non empty subspace of T, A be a non empty subset of T, and B be a non empty subset of S. If A = B and A is locally connected, then B is locally connected.

(12) Let S, T be non empty topological spaces. Suppose the topological structure of S = the topological structure of T and S is locally connected. Then T is locally connected.

(13) For every non empty topological space T holds T is locally connected iff Ω_{T} is locally connected.

(14) Let T be a non empty topological space and S be a non empty open subspace of T. If T is locally connected, then S is locally connected.

(15) Let S, T be non empty topological spaces. Suppose S and T are homeomorphic and S is locally connected. Then T is locally connected.

(16) Let T be a non empty topological space. Given a basis B of T such that let X be a subset of T. If X ∈ B, then X is connected. Then T is locally connected.

(17) If r ≤ s, then [r, s]_{T} is locally connected.

Let us mention that 𝕀 is locally connected. Let A be a non empty open subset of 𝕀. Observe that 𝕀↾A is locally connected.

3. Some Useful Functions

Let r be a real number. The functor ExtendInt r yielding a map from 𝕀 into ℝ^{1} is defined as follows:

(Def. 1) For every point x of 𝕀 holds (ExtendInt r)(x) = r · x. Let r be a real number. One can check that ExtendInt r is continuous. Let r be a real number. Then ExtendInt r is a path from R^{1}0 to R^{1}r. Let S, T, Y be non empty topological spaces, let H be a map from [: S, T :]

into Y, and let t be a point of T. The functor Prj1(t, H) yields a map from S into Y and is defined by:

(Def. 2) For every point s of S holds (Prj1(t, H))(s) = H(s, t).

Let S, T, Y be non empty topological spaces, let H be a map from [: S, T :] into Y, and let s be a point of S. The functor Prj2(s, H) yields a map from T into Y and is defined as follows:

(Def. 3) For every point t of T holds (Prj2(s, H))(t) = H(s, t).

Let S, T, Y be non empty topological spaces, let H be a continuous map from [: S, T :] into Y, and let t be a point of T. Note that Prj1(t, H) is continuous.

Let S, T, Y be non empty topological spaces, let H be a continuous map from [: S, T :] into Y, and let s be a point of S. One can check that Prj2(s, H) is continuous.

One can prove the following two propositions:

(18) Let T be a non empty topological space, a, b be points of T, P, Q be paths from a to b, H be a homotopy between P and Q, and t be a point of 𝕀. If H is continuous, then Prj1(t, H) is continuous.

(19) Let T be a non empty topological space, a, b be points of T, P, Q be paths from a to b, H be a homotopy between P and Q, and s be a point of 𝕀. If H is continuous, then Prj2(s, H) is continuous.

Let r be a real number. The functor cLoop r yielding a map from 𝕀 into TopUnitCircle 2 is defined as follows:

(Def. 4) For every point x of 𝕀 holds (cLoop r)(x) = [cos(2·π ·r·x), sin(2·π ·r·x)].

The following proposition is true

(20) cLoop r = CircleMap · ExtendInt r.

Let n be an integer. Then cLoop n is a loop of c[10].

4. Main Theorems

Next we state four propositions:

(21) Let U_{1} be a family of subsets of TopUnitCircle 2. Suppose U_{1} is a cover of TopUnitCircle 2 and open. Let Y be a non empty topological space, F be a continuous map from [: Y, 𝕀:] into TopUnitCircle 2, and y be a point of Y. Then there exists a non empty finite sequence T of elements of ℝ such that

(i) T (1) = 0, (ii) T (len T) = 1, (iii) T is increasing, and (iv) there exists an open subset N of Y such that y ∈ N and for every

natural number i such that i ∈ dom T and i + 1 ∈ dom T there exists a non empty subset U_{2} of TopUnitCircle 2 such that U_{2} ∈ U_{1} and F^{∘}[: N, [T (i), T (i + 1)] :] ⊆ U_{2}.

(22) Let Y be a non empty topological space, F be a map from [: Y, 𝕀:] into TopUnitCircle 2, and F_{1} be a map from [: Y, Sspace(0_{𝕀}) :] into ℝ^{1}. Suppose F is continuous and F_{1} is continuous and F ↾[: the carrier of Y, {0}:] = CircleMap ·F_{1}. Then there exists a map G from [: Y, 𝕀:] into ℝ^{1} such that

(i) G is continuous, (ii) F = CircleMap ·G, (iii) G↾[: the carrier of Y, {0}:] = F_{1}, and (iv) for every map H from [: Y, 𝕀:] into ℝ^{1} such that H is continuous and

F = CircleMap ·H and H↾[: the carrier of Y, {0}:] = F_{1} holds G = H.

(23) Let x_{0}, y_{0} be points of TopUnitCircle 2, x_{1} be a point of ℝ^{1}, and f be a path from x_{0} to y_{0}. Suppose x_{1} ∈ CircleMap^{−1}({x_{0}}). Then there exists a map f_{1} from 𝕀 into ℝ^{1} such that

(i) f_{1}(0) = x_{1}, (ii) f = CircleMap ·f_{1}, (iii) f_{1} is continuous, and (iv) for every map f_{2} from 𝕀 into ℝ^{1} such that f_{2} is continuous and f =

CircleMap ·f_{2} and f_{2}(0) = x_{1} holds f_{1} = f_{2}.

(24) Let x_{0}, y_{0} be points of TopUnitCircle 2, P, Q be paths from x_{0} to y_{0}, F be a homotopy between P and Q, and x_{1} be a point of ℝ^{1}. Suppose P, Q are homotopic and x_{1} ∈ CircleMap^{−1}({x_{0}}). Then there exists a point y_{1} of ℝ^{1} and there exist paths P_{1}, Q_{1} from x_{1} to y_{1} and there exists a homotopy F_{1} between P_{1} and Q_{1} such that P_{1}, Q_{1} are homotopic and F = CircleMap ·F_{1} and y_{1} ∈ CircleMap^{−1}({y_{0}}) and for every homotopy F_{2} between P_{1} and Q_{1} such that F = CircleMap ·F_{2} holds F_{1} = F_{2}.

The map Ciso from ℤ^{+} into π_{1}(TopUnitCircle 2, c[10]) is defined by: (Def. 5) For every integer n holds (Ciso)(n) = [cLoop n]_{EqRel(TopUnitCircle 2,c[10])}.

One can prove the following proposition

(25) For every integer i and for every path f from R^{1}0 to R^{1}i holds (Ciso)(i) =

[CircleMap ·f]_{EqRel(TopUnitCircle 2,c[10])}. Ciso is a homomorphism from ℤ^{+} to π_{1}(TopUnitCircle 2, c[10]). Let us mention that Ciso is one-to-one and onto. We now state two propositions:

(26) Ciso is isomorphism.

(27) Let S be a subspace of E_{T}^{2} satisfying conditions of simple closed curve

and x be a point of S. Then ℤ^{+} and π_{1}(S, x) are isomorphic. Let S be a subspace of E_{T}^{2} satisfying conditions of simple closed curve and

let x be a point of S. Note that π_{1}(S, x) is infinite.

References

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

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

[3] Grzegorz Bancerek. Sequences of ordinal numbers. Formalized Mathematics, 1(2):281– 290, 1990.

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

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

[6] Czesław Byliński. Binary operations. Formalized Mathematics, 1(1):175–180, 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. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

330 artur korniłowicz

[10] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

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

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

[13] Agata Darmochwał. The Euclidean space. Formalized Mathematics, 2(4):599–603, 1991.

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

[15] Adam Grabowski. Introduction to the homotopy theory. Formalized Mathematics, 6(4):449–454, 1997.

[16] Adam Grabowski. Properties of the product of compact topological spaces. Formalized Mathematics, 8(1):55–59, 1999.

[17] Adam Grabowski and Artur Korniłowicz. Algebraic properties of homotopies. Formalized Mathematics, 12(3):251–260, 2004.

[18] Allen Hatcher. Algebraic Topology. Cambridge University Press, 2002.

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

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

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

[22] Zbigniew Karno. Maximal discrete subspaces of almost discrete topological spaces. Formalized Mathematics, 4(1):125–135, 1993.

[23] Artur Korniłowicz. The fundamental group of convex subspaces of E_{T}^{n}. Formalized Mathematics, 12(3):295–299, 2004.

[24] Artur Korniłowicz and Yasunari Shidama. Some properties of circles on the plane. Formalized Mathematics, 13(1):117–124, 2005.

[25] Artur Korniłowicz, Yasunari Shidama, and Adam Grabowski. The fundamental group. Formalized Mathematics, 12(3):261–268, 2004.

[26] Jarosław Kotowicz. Monotone real sequences. Subsequences. Formalized Mathematics, 1(3):471–475, 1990.

[27] Jarosław Kotowicz. Real sequences and basic operations on them. Formalized Mathematics, 1(2):269–272, 1990.

[28] Yatsuka Nakamura. Half open intervals in real numbers. Formalized Mathematics, 10(1):21–22, 2002.

[29] Yatsuka Nakamura and Andrzej Trybulec. Components and unions of components. Formalized Mathematics, 5(4):513–517, 1996.

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

[31] Beata Padlewska. Locally connected spaces. Formalized Mathematics, 2(1):93–96, 1991.

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

[33] Konrad Raczkowski and Paweł Sadowski. Equivalence relations and classes of abstraction. Formalized Mathematics, 1(3):441–444, 1990.

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

[35] Alexander Yu. Shibakov and Andrzej Trybulec. The Cantor set. Formalized Mathematics, 5(2):233–236, 1996.

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

[37] Andrzej Trybulec. Subsets of complex numbers. To appear in Formalized Mathematics.

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

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

[40] Andrzej Trybulec. Many-sorted sets. Formalized Mathematics, 4(1):15–22, 1993.

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

[42] Wojciech A. Trybulec. Groups. Formalized Mathematics, 1(5):821–827, 1990.

[43] Wojciech A. Trybulec and Michał J. Trybulec. Homomorphisms and isomorphisms of groups. Quotient group. Formalized Mathematics, 2(4):573–578, 1991.

the fundamental group of the circle 331

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

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

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

[47] Yuguang Yang and Yasunari Shidama. Trigonometric functions and existence of circle ratio. Formalized Mathematics, 7(2):255–263, 1998.

332 artur korniłowicz

Brouwer Fixed Point Theorem for Disks on the Plane

Artur Korniłowicz^{1} Institute of Computer Science University of Białystok Sosnowa 64, 15-887 Białystok Poland Yasunari Shidama Shinshu University Nagano, Japan

Summary. The article formalizes the proof of Brouwer’s Fixed Point Theorem for 2-dimensional disks. Assuming, on the contrary, that the theorem is false, we show that a circle is a retract of a disk. Next, using the retraction, we prove that any loop in the circle is homotopic to the constant loop what contradicts with infiniteness of the fundamental group of a circle, see [15].

MML identifier: BROUWER, version: 7.5.01 4.39.921

The terminology and notation used in this paper are introduced in the following papers: [26], [9], [29], [2], [22], [28], [30], [6], [8], [7], [5], [4], [12], [3], [25], [16], [23], [21], [20], [27], [11], [13], [14], [18], [17], [19], [10], [1], and [24].

In this paper n is a natural number, a, r are real numbers, and x is a point of E_{T}^{n}.

Let S, T be non empty topological spaces. The functor DiffElems(S, T) yielding a subset of [: S, T :] is defined by:

(Def. 1) DiffElems(S, T) = {⟨⟨s, t⟩⟩; s ranges over points of S, t ranges over points

of T: s ≠ t}. One can prove the following proposition

(1) Let S, T be non empty topological spaces and x be a set. Then x ∈ DiffElems(S, T) if and only if there exists a point s of S and there exists a point t of T such that x = ⟨⟨s, t⟩⟩ and s ≠ t.

1The paper was written during the first author’s post-doctoral fellowship granted by Shinshu University, Japan.

Let S be a non trivial non empty topological space and let T be a non empty topological space. One can check that DiffElems(S, T) is non empty.

Let S be a non empty topological space and let T be a non trivial non empty topological space. Note that DiffElems(S, T) is non empty.

We now state the proposition

(2) \overline{Ball}(x, 0) = \{x\}. Let n be a natural number, let x be a point of E_{T}^{n}, and let r be a real number.

The functor Tdisk(x, r) yields a subspace of E_{T}^{n} and is defined by: (Def. 2) Tdisk(x, r) = (E_{T}^{n})↾ \overline{Ball}(x, r).

Let n be a natural number, let x be a point of E_{T}^{n}, and let r be a non negative real number. Note that Tdisk(x, r) is non empty.

We now state the proposition

(3) The carrier of Tdisk(x, r) = \overline{Ball}(x, r). Let n be a natural number, let x be a point of E_{T}^{n}, and let r be a real number.

Note that Tdisk(x, r) is convex.

We adopt the following convention: n denotes a natural number, r denotes a non negative real number, and s, t, x denote points of E_{T}^{n}.

One can prove the following two propositions:

(4) If s ≠ t and s is a point of Tdisk(x, r) and s is not a point of Tcircle(x, r), then there exists a point e of Tcircle(x, r) such that {e} = halfline(s, t) ∩ Sphere(x, r).

(5) Suppose s ≠ t and s ∈ the carrier of Tcircle(x, r) and t is a point of Tdisk(x, r). Then there exists a point e of Tcircle(x, r) such that e ≠ s and {s, e} = halfline(s, t) ∩ Sphere(x, r).

Let n be a non empty natural number, let o be a point of E_{T}^{n}, let s, t be points of E_{T}^{n}, and let r be a non negative real number. Let us assume that s is a point of Tdisk(o, r), and t is a point of Tdisk(o, r) and s ≠ t. The functor HC(s, t, o, r) yields a point of E_{T}^{n} and is defined as follows:

(Def. 3) HC(s, t, o, r) ∈ halfline(s, t) ∩ Sphere(o, r) and HC(s, t, o, r) ≠ s. In the sequel n is a non empty natural number and s, t, o are points of E_{T}^{n}. We now state three propositions:

(6) If s is a point of Tdisk(o, r) and t is a point of Tdisk(o, r) and s ≠ t, then HC(s, t, o, r) is a point of Tcircle(o, r).

(7) Let S, T, O be elements of R^{n}. Suppose S = s and T = t and O = o. Suppose s is a point of Tdisk(o, r) and t is a point of Tdisk(o, r)

and s ≠ t and a = ^{\frac{−|(t−s,s−o)|+\sqrt{|(t−s,s−o)|^{2}−∑^{2}(T −S)·(∑^{2}(S−O)−r^{2})}}{∑^{2}(T −S)}}. Then HC(s, t, o, r) = (1 − a) · s + a · t.

(8) Let r_{1}, r_{2}, s_{1}, s_{2} be real numbers and s, t, o be points of E_{T}^{2}. Suppose that s is a point of Tdisk(o, r) and t is a point of Tdisk(o, r) and s ≠ t and r_{1} = t_{1} − s_{1} and r_{2} = t_{2} − s_{2} and s_{1} = s_{1} − o_{1} and s_{2} = s_{2} − o_{2} and a = ^{\frac{−(s_{1}·r_{1}+s_{2}·r_{2})+\sqrt{(s_{1}·r_{1}+s_{2}·r_{2})^{2}−(r_{1}^{2}+r_{2}^{2})·((s_{1}^{2}+s_{2}^{2})−r^{2})}}{r_{1}^{2}+r_{2}^{2}}}. Then HC(s, t, o, r) = [s_{1} + a · r_{1}, s_{2} + a · r_{2}].

Let n be a non empty natural number, let o be a point of E_{T}^{n}, let r be a non negative real number, let x be a point of Tdisk(o, r), and let f be a map from Tdisk(o, r) into Tdisk(o, r). Let us assume that x is not a fixpoint of f. The functor HC(x, f) yielding a point of Tcircle(o, r) is defined as follows:

(Def. 4) There exist points y, z of E_{T}^{n} such that y = x and z = f(x) and

HC(x, f) = HC(z, y, o, r). The following two propositions are true:

(9) Let x be a point of Tdisk(o, r) and f be a map from Tdisk(o, r) into Tdisk(o, r). If x is not a fixpoint of f and x is a point of Tcircle(o, r), then HC(x, f) = x.

(10) Let r be a positive real number, o be a point of E_{T}^{2}, and Y be a non empty subspace of Tdisk(o, r). If Y = Tcircle(o, r), then Y is not a retract of Tdisk(o, r).

Let n be a non empty natural number, let r be a non negative real number, let o be a point of E_{T}^{n}, and let f be a map from Tdisk(o, r) into Tdisk(o, r). The functor BR-map f yielding a map from Tdisk(o, r) into Tcircle(o, r) is defined as follows:

(Def. 5) For every point x of Tdisk(o, r) holds (BR-map f)(x) = HC(x, f).

The following propositions are true:

(11) Let o be a point of E_{T}^{n}, x be a point of Tdisk(o, r), and f be a map from Tdisk(o, r) into Tdisk(o, r). If x is not a fixpoint of f and x is a point of Tcircle(o, r), then (BR-map f)(x) = x.

(12) For every continuous map f from Tdisk(o, r) into Tdisk(o, r) such that f has no fixpoint holds BR-map f↾ Sphere(o, r) = id_{Tcircle(o,r)}.

(13) Let r be a positive real number, o be a point of E_{T}^{2}, and f be a continuous map from Tdisk(o, r) into Tdisk(o, r). If f has no fixpoint, then BR-map f is continuous.

(14) For every non negative real number r and for every point o of E_{T}^{2} holds every continuous map from Tdisk(o, r) into Tdisk(o, r) has a fixpoint.

(15) Let r be a non negative real number, o be a point of E_{T}^{2}, and f be a continuous map from Tdisk(o, r) into Tdisk(o, r). Then there exists a point x of Tdisk(o, r) such that f(x) = x.

References

[1] Kanchun and Yatsuka Nakamura. The inner product of finite sequences and of points of n-dimensional topological space. Formalized Mathematics, 11(2):179–183, 2003.

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

336 artur korniłowicz and yasunari shidama

[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. 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] Czesław Byliński. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

[9] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 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ł. Families of subsets, subspaces and mappings in topological spaces. Formalized Mathematics, 1(2):257–261, 1990.

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

[13] Agata Darmochwał. The Euclidean space. Formalized Mathematics, 2(4):599–603, 1991.

[14] Adam Grabowski. Introduction to the homotopy theory. Formalized Mathematics, 6(4):449–454, 1997.

[15] Allen Hatcher. Algebraic Topology. Cambridge University Press, 2002.

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

[17] Artur Korniłowicz. The fundamental group of convex subspaces of E_{T}^{n}. Formalized Mathematics, 12(3):295–299, 2004.

[18] Artur Korniłowicz and Yasunari Shidama. Intersections of intervals and balls in E_{T}^{n}. Formalized Mathematics, 12(3):301–306, 2004.

[19] Artur Korniłowicz and Yasunari Shidama. Some properties of circles on the plane. Formalized Mathematics, 13(1):117–124, 2005.

[20] Michał Muzalewski. Categories of groups. Formalized Mathematics, 2(4):563–571, 1991.

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

[22] Konrad Raczkowski and Paweł Sadowski. Equivalence relations and classes of abstraction. Formalized Mathematics, 1(3):441–444, 1990.

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

[24] Piotr Rudnicki and Andrzej Trybulec. Abian’s fixed point theorem. Formalized Mathematics, 6(3):335–338, 1997.

[25] Andrzej Trybulec. Subsets of complex numbers. To appear in Formalized Mathematics.

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

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

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

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

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

Stirling Numbers of the Second Kind

Karol Pa̧k Institute of Mathematics University of Białystok Akademicka 2, 15-267 Białystok, Poland

Summary. In this paper we define Stirling numbers of the second kind by cardinality of certain functional classes so that

S(n, k) = {f where f is function of n, k : f is onto increasing}

After that we show basic properties of this number in order to prove recursive dependence of Stirling number of the second kind. Consecutive theorems are introduced to prove formula

S(n, k) = \frac{1}{k!} Σ_{i=0}^{k−1}(−1)^{i}\binom{k}{i}(k − i)^{n}

where k ≤ n.

MML identifier: STIRL2 1, version: 7.5.01 4.39.921

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

For simplicity, we adopt the following convention: k, l, m, n, i, j denote natural numbers, K, N denote non empty subsets of ℕ, K_{1}, N_{1}, M_{1} denote subsets of ℕ, and X, Y denote sets.

Let us consider k. Then {k} is a subset of ℕ. Let us consider l. Then {k, l} is a subset of ℕ. Let us consider m. Then {k, l, m} is a non empty subset of ℕ.

The following propositions are true:

(1) min N = min^{∗}N.

(2) min(min K, min N) = min(K ∪ N).

(3) min(min^{∗}K_{1}, min^{∗}N_{1}) ≤ min^{∗}(K_{1} ∪ N_{1}).

(4) If min^{∗}N_{1} ∉ N_{1} ∩ K_{1}, then min^{∗}N_{1} = min^{∗}(N_{1} \ K_{1}).

(5) min^{∗}{n} = n and min{n} = n.

(6) min^{∗}{n, k} = min(n, k) and min{n, k} = min(n, k).

(7) min^{∗}{n, k, l} = min(n, min(k, l)).

(8) n is a subset of ℕ.

Let us consider n. One can verify that every element of n is natural.

We now state several propositions:

(9) If N ⊆ n, then n − 1 is a natural number.

(10) If k ∈ n, then k ≤ n − 1 and n − 1 is a natural number.

(11) min^{∗}n = 0.

(12) If N ⊆ n, then min^{∗}N ≤ n − 1.

(13) If N ⊆ n and N ≠ {n − 1}, then min^{∗}N < n − 1.

(14) If N_{1} ⊆ n and n > 0, then min^{∗}N_{1} ≤ n − 1.

In the sequel f, g are functions from n into k.

Let us consider n, X, let f be a function from n into X, and let x be a set. Then f^{−1}(x) is a subset of ℕ.

Let us consider X, k, let f be a function from X into k, and let x be a set. Then f(x) is an element of k.

Let us consider X, N_{1}, let f be a function from X into N_{1}, and let x be a set. One can verify that f(x) is natural.

Let us consider n, k and let f be a function from n into k. We say that f is increasing if and only if:

(Def. 1) n = 0 iff k = 0 and for all l, m such that l ∈ rng f and m ∈ rng f and

l < m holds min^{∗}(f^{−1}({l})) < min^{∗}(f^{−1}({m})). We now state several propositions:

(15) If n = 0 and k = 0, then f is onto and increasing.

(16) If n > 0, then min^{∗}(f^{−1}({m})) ≤ n − 1.

(17) If f is onto, then n ≥ k.

(18) If f is onto and increasing, then for every m such that m < k holds m ≤ min^{∗}(f^{−1}({m})).

(19) If f is onto and increasing, then for every m such that m < k holds min^{∗}(f^{−1}({m})) ≤ (n − k) + m.

(20) If f is onto and increasing and n = k, then f = id_{n}.

(21) If f = id_{n} and n > 0, then f is increasing.

(22) If n = 0 iff k = 0, then there exists a function from n into k which is increasing.

(23) If n = 0 iff k = 0 and n ≥ k, then there exists a function from n into k which is onto and increasing.

The scheme Sch1 deals with natural numbers A, B and a unary predicate P, and states that:

{f; f ranges over functions from A into B : P[f]} is finite for all values of the parameters.

In the sequel f is a function from n into k.

One can prove the following propositions:

(24) For all n, k holds {f : f is onto and increasing} is finite.

(25) For all n, k holds \overline{\overline{\{f : f is onto and increasing\}}} is a natural number. Let us consider n, k. The functor n block k yields a natural number and is

defined by: (Def. 2) n block k = \overline{\overline{\{f : f is onto and increasing\}}}.

Next we state several propositions:

(26) n block n = 1.

(27) If k ≠ 0, then 0 block k = 0.

(28) 0 block k = 1 iff k = 0.

(29) If n < k, then n block k = 0.

(30) n block 0 = 1 iff n = 0.

(31) If n ≠ 0, then n block 0 = 0.

(32) If n ≠ 0, then n block 1 = 1.

(33) 1 ≤ k and k ≤ n or k = n iff n block k > 0.

In the sequel x, y denote sets.

Now we present three schemes. The scheme Sch2 deals with sets A, B, C, D, a function E from A into B, and a unary functor F yielding a set, and states that:

There exists a function h from C into D such that h↾A = E and for every x such that x ∈ C \ A holds h(x) = F(x)

provided the parameters satisfy the following conditions:

• For every x such that x ∈ C \ A holds F(x) ∈ D,

• A ⊆ C and B ⊆ D, and

• If B is empty, then A is empty.

The scheme Sch3 deals with sets A, B, C, D, a unary functor F yielding a set, and a ternary predicate P, and states that: \overline{\overline{\{f; f ranges over functions from A into B :P[f, A, B]\}}} = {f; f ranges over functions from C into D :P[f, C, D] \overline{\overline{∧ rng(f↾A) ⊆ B ∧ ⋀_{x} (x ∈ C \ A ⇒ f(x) = F(x))\}}} provided the following requirements are met:

• For every x such that x ∈ C \ A holds F(x) ∈ D,

• A ⊆ C and B ⊆ D,

• If B is empty, then A is empty, and • Let f be a function from C into D. Suppose that for every x such

that x ∈ C \ A holds F(x) = f(x). Then P[f, C, D] if and only if P[f↾A, A, B].

The scheme Sch4 deals with sets A, B, C, D and a ternary predicate P, and states that:

\overline{\overline{\{f; f ranges over functions from A into B : P[f, A, B]\}}} = {f; f ranges over functions from A ∪ {C} into B ∪ {D} : \overline{\overline{P[f, A ∪ \{C\}, B ∪ \{D\}] ∧ rng(f↾A) ⊆ B ∧ f(C) = D\}}}

provided the parameters meet the following conditions: • If B is empty, then A is empty,

• C ∉ A, and

• For every function f from A∪{C} into B∪{D} such that f(C) = D holds P[f, A ∪ {C}, B ∪ {D}] iff P[f↾A, A, B].

We now state several propositions:

(34) For every function f from n + 1 into k + 1 such that f is onto and increasing and f^{−1}({f(n)}) = {n} holds f(n) = k.

(35) For every function f from n+1 into k such that k ≠ 0 and f^{−1}({f(n)}) ≠ {n} there exists m such that m ∈ f^{−1}({f(n)}) and m ≠ n.

(36) Let f be a function from n into k and g be a function from n + m into k + l. Suppose g is increasing and f = g↾n. Let given i, j. If i ∈ rng f and j ∈ rng f and i < j, then min^{∗}(f^{−1}({i})) < min^{∗}(f^{−1}({j})).

(37) Let f be a function from n+1 into k+1. Suppose f is onto and increasing and f^{−1}({f(n)}) = {n}. Then rng(f↾n) ⊆ k and for every function g from n into k such that g = f↾n holds g is onto and increasing.

(38) Let f be a function from n + 1 into k and g be a function from n into k. Suppose f is onto and increasing and f^{−1}({f(n)}) ≠ {n} and f↾n = g. Then g is onto and increasing.

(39) Let f be a function from n into k and g be a function from n + 1 into k + m. Suppose f is onto and increasing and f = g↾n. Let given i, j. If i ∈ rng g and j ∈ rng g and i < j, then min^{∗}(g^{−1}({i})) < min^{∗}(g^{−1}({j})).

(40) Let f be a function from n into k and g be a function from n + 1 into k + 1. Suppose f is onto and increasing and f = g↾n and g(n) = k. Then g is onto and increasing and g^{−1}({g(n)}) = {n}.

(41) Let f be a function from n into k and g be a function from n + 1 into k. Suppose f is onto and increasing and f = g↾n and g(n) < k. Then g is onto and increasing and g^{−1}({g(n)}) ≠ {n}.

In the sequel f_{1} denotes a function from n + 1 into k + 1 and f denotes a function from n into k.

We now state the proposition

(42) \overline{\overline{\{f_{1} : f_{1} is onto and increasing ∧ f_{1}^{−1}(\{f_{1}(n)\}) = \{n\}\}}} =

\overline{\overline{\{f : f is onto and increasing\}}}. In the sequel f′ is a function from n + 1 into k. The following proposition is true

(43) For every l such that l < k holds \overline{\overline{\{f′ : f′ is onto and increasing ∧ f′^{−1}(\{f′(n)\}) ≠ \{n\} ∧ f′(n) = l\}}} = \overline{\overline{\{f : f is onto and increasing\}}}.

For simplicity, we adopt the following convention: D denotes a non empty set, F, G denote finite 0-sequences of D, F_{1} denotes a finite 0-sequence of ℕ, b denotes a binary operation on D, and d, d_{1}, d_{2} denote elements of D.

Let us consider D, F, b. Let us assume that b has a unity or len F ≥ 1. The functor b ⊙ F yielding an element of D is defined as follows:

(Def. 3)(i) b ⊙ F = 1_{b} if b has a unity and len F = 0,

(ii) there exists a function f from ℕ into D such that f(0) = F (0) and for every n such that n + 1 < len F holds f(n + 1) = b(f(n), F (n + 1)) and b ⊙ F = f(len F − 1), otherwise.

One can prove the following three propositions:

(44) b ⊙ ⟨d⟩ = d.

(45) If b has a unity or len F > 0, then b ⊙ F ^{⌢} ⟨d⟩ = b(b ⊙ F, d).

(46) If F ≠ ⟨⟩_{D}, then there exist G, d such that F = G^{⌢} ⟨d⟩.

The scheme Sch5 deals with a non empty set A and a unary predicate P, and states that:

For every finite 0-sequence F of A holds P[F] provided the parameters satisfy the following conditions:

• P[⟨⟩_{A}], and

• For every finite 0-sequence F of A and for every element d of A such that P[F] holds P[F ^{⌢} ⟨d⟩].

Next we state the proposition

(47) If b is associative and if b has a unity or len F ≥ 1 and len G ≥ 1, then

b ⊙ F ^{⌢} G = b(b ⊙ F, b ⊙ G). Let us consider D and let us consider d, d_{1}. Then ⟨d, d_{1}⟩ is a finite 0-sequence

of D. Let us consider d_{2}. Then ⟨d, d_{1}, d_{2}⟩ is a finite 0-sequence of D.

The following propositions are true:

(48) b ⊙ ⟨d_{1}, d_{2}⟩ = b(d_{1}, d_{2}).

(49) b ⊙ ⟨d, d_{1}, d_{2}⟩ = b(b(d, d_{1}), d_{2}).

Let us consider F_{1}. The functor ∑ F_{1} yields a natural number and is defined by:

(Def. 4) ∑ F_{1} = +_{ℕ} ⊙ F_{1}.

Let us consider F_{1}, x. Then F_{1}(x) is a natural number. One can prove the following propositions:

(50) If for every n such that n ∈ dom F_{1} holds F_{1}(n) ≤ k, then ∑ F_{1} ≤ len F_{1} · k.

(51) If for every n such that n ∈ dom F_{1} holds F_{1}(n) ≥ k, then ∑ F_{1} ≥ len F_{1} · k.

(52) If len F_{1} > 0 and there exists x such that x ∈ dom F_{1} and F_{1}(x) = k, then ∑ F_{1} ≥ k.

(53) ∑ F_{1} = 0 iff len F_{1} = 0 or for every n such that n ∈ dom F_{1} holds F_{1}(n) = 0.

(54) For every function f and for every n holds ⋃ rng(f↾n) ∪ f(n) =

⋃ rng(f↾(n + 1)). Now we present three schemes. The scheme Sch6 deals with a non empty

set A, a natural number B, and a binary predicate P, and states that: There exists a finite 0-sequence p of A such that dom p = B and for every k such that k ∈ B holds P[k, p(k)]

provided the parameters have the following property:

• For every k such that k ∈ B there exists an element x of A such that P[k, x].

The scheme Sch7 deals with a non empty set A and a finite 0-sequence B of A, and states that:

There exists a finite 0-sequence C_{1} of ℕ such that dom C_{1} = dom B and for every i such that i ∈ dom C_{1} holds C_{1}(i) = \overline{\overline{B(i)}} and \overline{\overline{⋃ rng B}} = ∑ C_{1}

provided the following requirements are met:

• For every i such that i ∈ dom B holds B(i) is finite, and

• For all i, j such that i ∈ dom B and j ∈ dom B and i ≠ j holds B(i) misses B(j).

The scheme Sch8 deals with finite sets A, B, a set C, a function D from card B into B, and a unary predicate P, and states that:

There exists a finite 0-sequence F of ℕ such that

(i) dom F = card B, (ii) \overline{\overline{\{g; g ranges over functions from A into B :P[g]\}}} = ∑ F, and (iii) for every i such that i ∈ dom F holds F (i) = {g; g ranges over functions from A into B :P[g] ∧ g(C) = D(i)}

provided the parameters have the following properties:

• D is onto and one-to-one,

• B is non empty, and

• C ∈ A. One can prove the following propositions:

(55) k·(n block k) = \overline{\overline{\{f′ : f′ is onto and increasing ∧ f′^{−1}(\{f′(n)\}) ≠ \{n\}\}}}.

(56) (n + 1) block(k + 1) = (k + 1) · (n block(k + 1)) + (n block k).

(57) If n ≥ 1, then n block 2 = \frac{1}{2} · (2^{n} − 2).

(58) If n ≥ 2, then n block 3 = \frac{1}{6} · ((3^{n} − 3 · 2^{n}) + 3).

(59) If n ≥ 3, then n block 4 = \frac{1}{24} · (((4^{n} − 4 · 3^{n}) + 6 · 2^{n}) − 4).

(60) 3! = 6 and 4! = 24.

(61) \binom{n}{1} = n and \binom{n}{2} = \frac{n·(n−1)}{2} and \binom{n}{3} = \frac{n·(n−1)·(n−2)}{6} and \binom{n}{4} = \frac{n·(n−1)·(n−2)·(n−3)}{24}.

(62) (n + 1) block n = \binom{n+1}{2}.

(63) (n + 2) block n = 3 · \binom{n+2}{4} + \binom{n+2}{3}.

(64) For every function F and for every y holds rng(F ↾(dom F \F^{−1}({y}))) = rng F \ {y} and for every x such that x ≠ y holds (F ↾(dom F \ F^{−1}({y})))^{−1}({x}) = F^{−1}({x}).

(65) If \overline{\overline{X}} = k + 1 and x ∈ X, then \overline{\overline{X \ \{x\}}} = k.

The scheme Sch9 concerns a unary predicate P and a binary predicate Q, and states that:

For every function F such that rng F is finite holds P[F] provided the following conditions are met:

• P[∅], and

• For every function F such that for every x such that x ∈ rng F and Q[x, F] holds P[F ↾(dom F \ F^{−1}({x}))] holds P[F].

We now state several propositions:

(66) For every subset N of ℕ such that N is finite there exists k such that for every n such that n ∈ N holds n ≤ k.

(67) Let given X, Y, x, y. Suppose if Y is empty, then X is empty and x ∉ X. Let F be a function from X into Y. Then there exists a function G from X ∪ {x} into Y ∪ {y} such that G↾X = F and G(x) = y.

(68) Let given X, Y, x, y such that if Y is empty, then X is empty. Let F be a function from X into Y and G be a function from X ∪ {x} into Y ∪ {y} such that G↾X = F and G(x) = y. Then

(i) if F is onto, then G is onto, and (ii) if y ∉ Y and F is one-to-one, then G is one-to-one.

(69) Let N be a finite subset of ℕ. Then there exists a function O_{1} from N into card N such that O_{1} is bijective and for all n, k such that n ∈ dom O_{1} and k ∈ dom O_{1} and n < k holds O_{1}(n) < O_{1}(k).

(70) Let X, Y be finite sets and F be a function from X into Y. If card X = card Y, then F is onto iff F is one-to-one.

(71) Let F, G be functions and given y. Suppose y ∈ rng(G · F) and G is one-to-one. Then there exists x such that x ∈ dom G and x ∈ rng F and G^{−1}({y}) = {x} and F^{−1}({x}) = (G · F)^{−1}({y}).

344 karol pa̧k

Let us consider N_{1}, K_{1} and let f be a function from N_{1} into K_{1}. We say that f is increasing if and only if:

(Def. 5) For all l, m such that l ∈ rng f and m ∈ rng f and l < m holds min^{∗}(f^{−1}({l})) < min^{∗}(f^{−1}({m})).

The following four propositions are true:

(72) For every function F from N_{1} into K_{1} such that F is increasing holds min^{∗} rng F = F (min^{∗} dom F).

(73) Let F be a function from N_{1} into K_{1}. Suppose rng F is finite. Then there exists a function I from N_{1} into K_{1} and there exists a permutation P of rng F such that F = P · I and rng F = rng I and I is increasing.

(74) Let F be a function from N_{1} into K_{1}. Suppose rng F is finite. Let I_{1}, I_{2} be functions from N_{1} into M_{1} and P_{1}, P_{2} be functions. Suppose that P_{1} is one-to-one and P_{2} is one-to-one and rng I_{1} = rng I_{2} and rng I_{1} = dom P_{1} and dom P_{1} = dom P_{2} and F = P_{1} · I_{1} and F = P_{2} · I_{2} and I_{1} is increasing and I_{2} is increasing. Then P_{1} = P_{2} and I_{1} = I_{2}.

(75) Let F be a function from N_{1} into K_{1}. Suppose rng F is finite. Let I_{1}, I_{2} be functions from N_{1} into K_{1} and P_{1}, P_{2} be permutations of rng F. Suppose F = P_{1} ·I_{1} and F = P_{2} ·I_{2} and rng F = rng I_{1} and rng F = rng I_{2} and I_{1} is increasing and I_{2} is increasing. Then P_{1} = P_{2} and I_{1} = I_{2}.

References

[1] Grzegorz Bancerek. Cardinal numbers. Formalized Mathematics, 1(2):377–382, 1990.

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

[3] Grzegorz Bancerek. Sequences of ordinal numbers. Formalized Mathematics, 1(2):281– 290, 1990.

[4] Patrick Braselmann and Peter Koepke. Equivalences of inconsistency and Henkin models. Formalized Mathematics, 13(1):45–48, 2005.

[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] Czesław Byliński. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

[9] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

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

[11] Agata Darmochwał and Andrzej Trybulec. Similarity of formulae. Formalized Mathematics, 2(5):635–642, 1991.

[12] Rafał Kwiatek. Factorial and Newton coefficients. Formalized Mathematics, 1(5):887–890, 1990.

[13] Library Committee of the Association of Mizar Users. Binary operations on numbers. To appear in Formalized Mathematics.

[14] Andrzej Trybulec. Subsets of complex numbers. To appear in Formalized Mathematics.

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

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

[17] Andrzej Trybulec. Semilattice operations on finite subsets. Formalized Mathematics, 1(2):369–376, 1990.

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

stirling numbers of the second kind 345

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

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

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

[22] Tetsuya Tsunetou, Grzegorz Bancerek, and Yatsuka Nakamura. Zero-based finite sequences. Formalized Mathematics, 9(4):825–829, 2001.

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

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

346 karol pa̧k

Limit of Sequence of Subsets

Bo Zhang Shinshu University

Nagano, Japan Hiroshi Yamazaki Shinshu University Nagano, Japan Yatsuka Nakamura Shinshu University Nagano, Japan

Summary. A concept of “limit of sequence of subsets” is defined here. This article contains the following items: 1. definition of the superior sequence and the inferior sequence of sets, 2. definition of the superior limit and the inferior limit of sets, and additional properties for the sigma-field of sets, 3. definition of the limit value of a convergent sequence of sets, and additional properties for the sigma-field of sets.

MML identifier: SETLIM 1, version: 7.5.01 4.39.921

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

For simplicity, we adopt the following rules: n, m, k, k_{1}, k_{2} denote natural numbers, x, X, Y, Z denote sets, A denotes a subset of X, B, A_{1}, A_{2}, A_{3} denote sequences of subsets of X, S_{1} denotes a σ-field of subsets of X, and S, S_{2}, S_{3}, S_{4} denote sequences of subsets of S_{1}.

Next we state a number of propositions:

(1) For every function f from ℕ into Y and for every n holds {f(k) : n ≤ k} ≠ ∅.

(2) For every function f from ℕ into Y holds f(n + m) ∈ {f(k) : n ≤ k}.

(3) For every function f from ℕ into Y holds {f(k_{1}) : n ≤ k_{1}} = {f(k_{2}) : n + 1 ≤ k_{2}} ∪ {f(n)}.

(4) Let f be a function from ℕ into Y. Then for every k_{1} holds x ∈ f(n+k_{1}) if and only if for every Z such that Z ∈ {f(k_{2}) : n ≤ k_{2}} holds x ∈ Z.

(5) For every non empty set Y and for every function f from ℕ into Y holds x ∈ rng f iff there exists n such that x = f(n).

(6) For every non empty set Y and for every function f from ℕ into Y holds rng f = {f(k)}.

(7) For every non empty set Y and for every function f from ℕ into Y holds rng(f ↑ k) = {f(n) : k ≤ n}.

(8) x ∈ ⋂ rng B iff for every n holds x ∈ B(n).

(9) Intersection B = ⋂ rng B.

(10) Intersection B ⊆ ⋃ B.

(11) If for every n holds B(n) = A, then ⋃ B = A.

(12) If for every n holds B(n) = A, then Intersection B = A.

(13) If B is constant, then ⋃ B = Intersection B.

(14) If B is constant and the value of B = A, then for every n holds ⋃{B(k) : n ≤ k} = A.

(15) If B is constant and the value of B = A, then for every n holds ⋂{B(k) : n ≤ k} = A.

(16) Let given X, B and f be a function. Suppose dom f = ℕ and for every n holds f(n) = ⋂{B(k) : n ≤ k}. Then f is a sequence of subsets of X.

(17) Let X be a set, B be a sequence of subsets of X, and f be a function. Suppose dom f = ℕ and for every n holds f(n) = ⋃{B(k) : n ≤ k}. Then f is a function from ℕ into 2^{X}.

Let us consider X, B. We say that B is monotone if and only if: (Def. 1) B is non-decreasing or non-increasing.

Let B be a function. The inferior setsequence B yields a function and is defined by the conditions (Def. 2).

(Def. 2)(i) dom (the inferior setsequence B) = ℕ, and (ii) for every n holds (the inferior setsequence B)(n) = ⋂{B(k) : n ≤ k}. Let X be a set and let B be a sequence of subsets of X. Then the inferior

setsequence B is a sequence of subsets of X.

Let B be a function. The superior setsequence B yields a function and is defined by the conditions (Def. 3).

(Def. 3)(i) dom (the superior setsequence B) = ℕ, and (ii) for every n holds (the superior setsequence B)(n) = ⋃{B(k) : n ≤ k}. Let X be a set and let B be a sequence of subsets of X. Then the superior

setsequence B is a sequence of subsets of X.

Next we state several propositions:

(18) (The inferior setsequence B)(0) = Intersection B.

(19) (The superior setsequence B)(0) = ⋃ B.

(20) x ∈ (the inferior setsequence B)(n) iff for every k holds x ∈ B(n + k).

(21) x ∈ (the superior setsequence B)(n) iff there exists k such that x ∈ B(n + k).

(22) (The inferior setsequence B)(n) = (the inferior setsequence B)(n + 1) ∩ B(n).

(23) (The superior setsequence B)(n) = (the superior setsequence B)(n+1)∪ B(n).

(24) The inferior setsequence B is non-decreasing.

(25) The superior setsequence B is non-increasing.

(26) The inferior setsequence B is monotone and the superior setsequence B

is monotone. Let X be a set and let A be a sequence of subsets of X. Observe that the

inferior setsequence A is non-decreasing.

Let X be a set and let A be a sequence of subsets of X. Observe that the superior setsequence A is non-increasing.

The following propositions are true:

(27) Intersection B ⊆ (the inferior setsequence B)(n).

(28) (The superior setsequence B)(n) ⊆ ⋃ B.

(29) For all B, n holds {B(k) : n ≤ k} is a family of subsets of X.

(30) ⋃ B = (Intersection Complement B)^{c}.

(31) (The inferior setsequence B)(n) = (the superior setsequence Complement B)(n)^{c}.

(32) (The superior setsequence B)(n) = (the inferior setsequence Complement B)(n)^{c}.

(33) Complement (the inferior setsequence B) = the superior setsequence Complement B.

(34) Complement (the superior setsequence B) = the inferior setsequence Complement B.

(35) Suppose that for every n holds A_{3}(n) = A_{1}(n)∪A_{2}(n). Let given n. Then (the inferior setsequence B)(n) ∪ (the inferior setsequence A_{2})(n) ⊆ (the inferior setsequence A_{3})(n).

(36) Suppose that for every n holds A_{3}(n) = A_{1}(n)∩A_{2}(n). Let given n. Then (the inferior setsequence A_{3})(n) = (the inferior setsequence A_{1})(n) ∩ (the inferior setsequence A_{2})(n).

(37) Suppose that for every n holds A_{3}(n) = A_{1}(n)∪A_{2}(n). Let given n. Then (the superior setsequence A_{3})(n) = (the superior setsequence A_{1})(n)∪(the superior setsequence A_{2})(n).

(38) Suppose that for every n holds A_{3}(n) = A_{1}(n)∩A_{2}(n). Let given n. Then (the superior setsequence A_{3})(n) ⊆ (the superior setsequence A_{1})(n)∩(the superior setsequence A_{2})(n).

(39) If B is constant and the value of B = A, then for every n holds (the inferior setsequence B)(n) = A.

(40) If B is constant and the value of B = A, then for every n holds (the superior setsequence B)(n) = A.

(41) If B is non-decreasing, then B(n) ⊆ (the superior setsequence B)(n+1).

(42) If B is non-decreasing, then (the superior setsequence B)(n) = (the superior setsequence B)(n + 1).

(43) If B is non-decreasing, then (the superior setsequence B)(n) = ⋃ B.

(44) If B is non-decreasing, then Intersection (the superior setsequence B) = ⋃ B.

(45) If B is non-decreasing, then B(n) ⊆ (the inferior setsequence B)(n + 1).

(46) If B is non-decreasing, then (the inferior setsequence B)(n) = B(n).

(47) If B is non-decreasing, then the inferior setsequence B = B.

(48) If B is non-increasing, then (the superior setsequence B)(n + 1) ⊆ B(n).

(49) If B is non-increasing, then (the superior setsequence B)(n) = B(n).

(50) If B is non-increasing, then the superior setsequence B = B.

(51) If B is non-increasing, then (the inferior setsequence B)(n + 1) ⊆ B(n).

(52) If B is non-increasing, then (the inferior setsequence B)(n) = (the inferior setsequence B)(n + 1).

(53) If B is non-increasing, then (the inferior setsequence B)(n) = Intersection B.

(54) If B is non-increasing, then ⋃ (the inferior setsequence B) =

Intersection B. Let X be a set and let B be a sequence of subsets of X. Then lim inf B can

be characterized by the condition: (Def. 4) lim inf B = ⋃ (the inferior setsequence B).

Let X be a set and let B be a sequence of subsets of X. Then lim sup B can be characterized by the condition:

(Def. 5) lim sup B = Intersection (the superior setsequence B).

Let X be a set and let B be a sequence of subsets of X. We introduce lim B as a synonym of lim sup B.

Next we state a number of propositions:

(55) Intersection B ⊆ lim inf B.

(56) lim inf B = lim (the inferior setsequence B).

(57) lim sup B = lim (the superior setsequence B).

(58) lim sup B = (lim inf Complement B)^{c}.

(59) If B is constant and the value of B = A, then B is convergent and lim B = A and lim inf B = A and lim sup B = A.

(60) If B is non-decreasing, then lim sup B = ⋃ B.

(61) If B is non-decreasing, then lim inf B = ⋃ B.

(62) If B is non-increasing, then lim sup B = Intersection B.

(63) If B is non-increasing, then lim inf B = Intersection B.

(64) If B is non-decreasing, then B is convergent and lim B = ⋃ B.

(65) If B is non-increasing, then B is convergent and lim B = Intersection B.

(66) If B is monotone, then B is convergent.

Let X be a set, let S_{1} be a σ-field of subsets of X, and let S be a sequence of subsets of S_{1}. Let us observe that S is constant if and only if:

(Def. 6) There exists an element A of S_{1} such that for every n holds S(n) = A.

Let X be a set, let S_{1} be a σ-field of subsets of X, and let S be a sequence of subsets of S_{1}. Then the inferior setsequence S is a sequence of subsets of S_{1}.

Let X be a set, let S_{1} be a σ-field of subsets of X, and let S be a sequence of subsets of S_{1}. Then the superior setsequence S is a sequence of subsets of S_{1}.

The following propositions are true:

(67) x ∈ lim sup S iff for every n there exists k such that x ∈ S(n + k).

(68) x ∈ lim inf S iff there exists n such that for every k holds x ∈ S(n + k).

(69) Intersection S ⊆ lim inf S.

(70) lim sup S ⊆ ⋃ S.

(71) lim inf S ⊆ lim sup S.

Let X be a set, let S_{1} be a σ-field of subsets of X, and let S be a sequence of subsets of S_{1}. The functor S^{c} yields a sequence of subsets of S_{1} and is defined by:

(Def. 7) S^{c} = Complement S.

Next we state a number of propositions:

(72) lim inf S = (lim sup(S^{c}))^{c}.

(73) lim sup S = (lim inf(S^{c}))^{c}.

(74) If for every n holds S_{4}(n) = S_{2}(n) ∪ S_{3}(n), then lim inf S_{2} ∪ lim inf S_{3} ⊆ lim inf S_{4}.

(75) If for every n holds S_{4}(n) = S_{2}(n) ∩ S_{3}(n), then lim inf S_{4} = lim inf S_{2} ∩ lim inf S_{3}.

(76) If for every n holds S_{4}(n) = S_{2}(n)∪S_{3}(n), then lim sup S_{4} = lim sup S_{2} ∪ lim sup S_{3}.

(77) If for every n holds S_{4}(n) = S_{2}(n)∩S_{3}(n), then lim sup S_{4} ⊆ lim sup S_{2} ∩ lim sup S_{3}.

(78) If S is constant and the value of S = A, then S is convergent and lim S = A and lim inf S = A and lim sup S = A.

(79) If S is non-decreasing, then lim sup S = ⋃ S.

(80) If S is non-decreasing, then lim inf S = ⋃ S.

(81) If S is non-decreasing, then S is convergent and lim S = ⋃ S.

(82) If S is non-increasing, then lim sup S = Intersection S.

(83) If S is non-increasing, then lim inf S = Intersection S.

352 bo zhang et al.

(84) If S is non-increasing, then S is convergent and lim S = Intersection S.

(85) If S is monotone, then S is convergent.

References

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

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

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

[4] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

[5] Adam Grabowski. On the Kuratowski limit operators. Formalized Mathematics, 11(4):399–409, 2003.

[6] Jarosław Kotowicz. Monotone real sequences. Subsequences. Formalized Mathematics, 1(3):471–475, 1990.

[7] Andrzej Nȩdzusiak. σ-fields and probability. Formalized Mathematics, 1(2):401–407, 1990.

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

[9] Andrzej Trybulec. Subsets of complex numbers. To appear in Formalized Mathematics.

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

[11] Andrzej Trybulec. Moore-Smith convergence. Formalized Mathematics, 6(2):213–225, 1997.

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

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

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

The Properties of Supercondensed Sets, Subcondensed Sets and Condensed Sets

Magdalena Jastrzȩbska Institute of Mathematics University of Białystok

Akademicka 2, 15-267 Białystok Poland

Adam Grabowski^{1} Institute of Mathematics University of Białystok Akademicka 2, 15-267 Białystok Poland

Summary. We formalized the article “New concepts in the theory of topological space – supercondensed set, subcondensed set, and condensed set” by Yoshinori Isomichi [4]. First we defined supercondensed, subcondensed, and condensed sets and then gradually, defining other attributes such as regular open set or regular closed set, we formalized all the theorems and remarks that one can find in Isomichi’s article.

In the last section, the classification of subsets of a topological space is given, depending on the inclusion relation between the interior of the closure and the closure of the interior of a given subset.

MML identifier: ISOMICHI, version: 7.5.01 4.39.921

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

1. Preliminaries

In this paper T denotes a topological space and A, B denote subsets of T. Let D be a non trivial set. Note that ADTS(D) is non trivial. One can check that there exists a topological space which is anti-discrete,

non trivial, non empty, and strict.

One can prove the following propositions:

1This work has been partially supported by the KBN grant 4 T11C 039 24 and the FP6 IST grant TYPES No. 510996.

(1) Int \overline{Int A} ∩ Int \overline{Int B} = Int \overline{Int(A ∩ B)}.

(2) \overline{Int \overline{A ∪ B}} = \overline{Int \overline{A}} ∪ \overline{Int \overline{B}}.

2. Connections between Supercondensed, Condensed, and Subcondensed Sets

Let T be a topological structure and let A be a subset of T. We say that A is supercondensed if and only if:

(Def. 1) Int \overline{A} = Int A.

We say that A is subcondensed if and only if: (Def. 2) \overline{Int A} = \overline{A}.

Next we state two propositions:

(3) If A is closed, then A is supercondensed.

(4) If A is open, then A is subcondensed.

Let T be a topological space and let A be a subset of T. Let us observe that A is condensed if and only if:

(Def. 3) \overline{Int A} = \overline{A} and Int \overline{A} = Int A. We now state the proposition

(5) A is condensed iff A is subcondensed and supercondensed.

Let T be a topological space. One can verify that every subset of T which is condensed is also subcondensed and supercondensed and every subset of T which is subcondensed and supercondensed is also condensed.

Let T be a topological space. Observe that there exists a subset of T which is condensed, subcondensed, and supercondensed.

One can prove the following propositions:

(6) If A is supercondensed, then A^{c} is subcondensed.

(7) If A is subcondensed, then A^{c} is supercondensed.

(8) A is supercondensed iff Int \overline{A} ⊆ A.

(9) A is subcondensed iff A ⊆ \overline{Int A}.

Let T be a topological space. Note that every subset of T which is subcondensed is also semi-open and every subset of T which is semi-open is also subcondensed.

We now state the proposition

(10) A is condensed iff Int \overline{A} ⊆ A and A ⊆ \overline{Int A}.

3. Regular Open and Regular Closed Sets

Let T be a topological structure and let A be a subset of T. We introduce A is regular open as a synonym of A is open condensed.

Let T be a topological structure and let A be a subset of T. We introduce A is regular closed as a synonym of A is closed condensed.

The following proposition is true

(11) For every topological space T holds Ω_{T} is regular open and Ω_{T} is regular

closed. Let T be a topological space. Note that Ω_{T} is regular open and regular

closed.

We now state the proposition

(12) For every topological space X holds ∅_{X} is regular open and ∅_{X} is regular

closed. Let T be a topological space. One can verify that ∅_{T} is regular open and

regular closed.

The following propositions are true: (14)^{2} Int \overline{∅_{T}} = ∅_{T} .

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

Let T be a topological space. Observe that there exists a subset of T which is regular open and regular closed.

Let T be a topological space and let A be a regular open subset of T. Observe that A^{c} is regular closed.

One can prove the following proposition

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

Let T be a topological space and let A be a regular closed subset of T. One can check that A^{c} is regular open.

Let T be a topological space. Note that every subset of T which is regular open is also open and every subset of T which is regular closed is also closed.

Next we state the proposition

(17) Int \overline{A} is regular open and \overline{Int A} is regular closed.

Let T be a topological space and let A be a subset of T. Observe that Int \overline{A} is regular open and \overline{Int A} is regular closed.

Next we state two propositions:

(18) A is regular open iff A is supercondensed and open.

(19) A is regular closed iff A is subcondensed and closed.

Let T be a topological space. One can check the following observations:

∗ every subset of T which is regular open is also condensed and open, ∗ every subset of T which is condensed and open is also regular open,

2The proposition (13) has been removed.

∗ every subset of T which is regular closed is also condensed and closed, and

∗ every subset of T which is condensed and closed is also regular closed. One can prove the following two propositions:

(20) A is condensed iff there exists B such that B is regular open and B ⊆ A and A ⊆ \overline{B}.

(21) A is condensed iff there exists B such that B is regular closed and Int B ⊆ A and A ⊆ B.

4. Boundaries and Borders

Let T be a topological structure and let A be a subset of T. We introduce Bound A as a synonym of Fr A.

Let T be a topological structure and let A be a subset of T. Then Fr A can be characterized by the condition:

(Def. 4) Fr A = \overline{A} \ Int A.

One can prove the following proposition

(22) Fr A is closed.

Let T be a topological space and let A be a subset of T. Observe that Fr A is closed.

One can prove the following proposition

(23) A is condensed iff Fr A = \overline{Int A} \ Int \overline{A} and Fr A = \overline{Int A} ∩ \overline{Int(A^{c})}. Let T be a topological structure and let A be a subset of T. The functor

Border A yields a subset of T and is defined by: (Def. 5) Border A = Int Fr A.

One can prove the following proposition

(24) Border A is regular open and Border A = Int \overline{A} \ \overline{Int A} and Border A =

Int \overline{A} ∩ Int \overline{A^{c}}. Let T be a topological space and let A be a subset of T. One can verify that

Border A is regular open.

One can prove the following two propositions:

(25) A is supercondensed iff Int A is regular open and Border A is empty.

(26) A is subcondensed iff \overline{A} is regular closed and Border A is empty. Let T be a topological space and let A be a subset of T. One can verify that

Border Border A is empty.

The following proposition is true

(27) A is condensed iff Int A is regular open and \overline{A} is regular closed and Border A is empty.

5. Auxiliary Theorems about Intervals

Next we state a number of propositions:

(28) For every subset A of ℝ^{1} and for every real number a such that A = ]−∞, a] holds Int A = ]−∞, a[.

(29) For every subset A of ℝ^{1} and for every real number a such that A = [a, +∞[ holds Int A = ]a, +∞[.

(30) For every subset A of ℝ^{1} and for all real numbers a, b such that A = ]−∞, a]∪]a, b[_{𝕀ℚ} ∪ [b, +∞[ holds \overline{A} = the carrier of ℝ^{1}.

(31) For every subset A of ℝ^{1} and for all real numbers a, b such that A =]a, b[_{ℚ} holds Int A = ∅.

(32) For every subset A of ℝ^{1} and for all real numbers a, b such that A = ]a, b[_{𝕀ℚ} holds Int A = ∅.

(33) For all real numbers a, b holds ]−∞, a] \]−∞, b[ = [b, a].

(34) For all real numbers a, b such that a < b holds [b, +∞[ misses ]−∞, a[.

(35) For all real numbers a, b such that a ≥ b holds ]a, b[_{𝕀ℚ} = ∅.

(36) For all real numbers a, b holds ]a, b[_{𝕀ℚ} ⊆ [a, +∞[.

(37) For every subset A of ℝ^{1} and for all real numbers a, b, c such that A = ]−∞, a[∪]b, c[_{ℚ} and a < b and b < c holds Int A = ]−∞, a[.

(38) For all real numbers a, b holds [a, b] misses ]b, +∞[.

(39) For every real number b holds [b, +∞[ \]b, +∞[ = {b}.

(40) For all real numbers a, b such that a < b holds [a, b] = [a, +∞[ \]b, +∞[.

(41) For all real numbers a, b such that a < b holds ℝ = ]−∞, a[ ∪ [a, b] ∪ ]b, +∞[.

(42) For all real numbers a, b holds ]a, b[ = ]a, +∞[ \ [b, +∞[.

(43) For all real numbers a, b, c such that b < c and c < a holds ]−∞, a[ \ [b, c] = ]−∞, b[ ∪]c, a[.

(44) For every subset A of ℝ^{1} and for all real numbers a, b, c such that A = ]−∞, a] ∪ [b, c] and a < b and b < c holds Int A = ]−∞, a[ ∪]b, c[.

6. Classification of Subsets

Let A, B be sets. We introduce A and B are ⊆-incomparable as an antonym of A and B are ⊆-comparable.

We now state the proposition

(45) For all sets A, B holds A and B are ⊆-incomparable or A ⊆ B or B ⊂ A.

Let us consider T, A. We say that A is of the 1^{st} class if and only if: (Def. 6) Int \overline{A} ⊆ \overline{Int A}.

We say that A is of the 2^{nd} class if and only if: (Def. 7) \overline{Int A} ⊂ Int \overline{A}.

We say that A is of the 3^{rd} class if and only if: (Def. 8) \overline{Int A} and Int \overline{A} are ⊆-incomparable.

The following proposition is true

(46) A is of the 1^{st} class, or of the 2^{nd} class, or of the 3^{rd} class. Let T be a topological space. One can verify the following observations:

∗ every subset of T which is of the 1^{st} class is also non of the 2^{nd} class and non of the 3^{rd} class,

∗ every subset of T which is of the 2^{nd} class is also non of the 1^{st} class and non of the 3^{rd} class, and

∗ every subset of T which is of the 3^{rd} class is also non of the 1^{st} class and non of the 2^{nd} class.

One can prove the following proposition

(47) A is of the 1^{st} class iff Border A is empty.

Let T be a topological space. Note that every subset of T which is supercondensed is also of the 1^{st} class and every subset of T which is subcondensed is also of the 1^{st} class.

Let T be a topological space. We say that T has subsets of the 1^{st} class if and only if:

(Def. 9) There exists a subset of T which is of the 1^{st} class.

We say that T has subsets of the 2^{nd} class if and only if: (Def. 10) There exists a subset of T which is of the 2^{nd} class.

We say that T has subsets of the 3^{rd} class if and only if: (Def. 11) There exists a subset of T which is of the 3^{rd} class.

Let T be an anti-discrete non empty topological space. Note that every subset of T which is proper and non empty is also of the 2^{nd} class.

Let T be an anti-discrete non trivial non empty strict topological space. Observe that there exists a subset of T which is of the 2^{nd} class.

One can verify that there exists a topological space which is non empty, strict, and non trivial and has subsets of the 1^{st} class and subsets of the 2^{nd} class and there exists a topological space which is non empty and strict and has subsets of the 3^{rd} class.

Let us consider T. Observe that there exists a subset of T which is of the 1^{st} class.

Let T be a topological space with subsets of the 2^{nd} class. One can verify that there exists a subset of T which is of the 2^{nd} class.

Let T be a topological space with subsets of the 3^{rd} class. Observe that there exists a subset of T which is of the 3^{rd} class.

the properties of supercondensed sets, … 359

The following propositions are true:

(48) A is of the 1^{st} class iff A^{c} is of the 1^{st} class.

(49) A is of the 2^{nd} class iff A^{c} is of the 2^{nd} class.

(50) A is of the 3^{rd} class iff A^{c} is of the 3^{rd} class.

Let us consider T and let A be an of the 1^{st} class subset of T. Observe that A^{c} is of the 1^{st} class.

Let T be a topological space with subsets of the 2^{nd} class and let A be an of the 2^{nd} class subset of T. Note that A^{c} is of the 2^{nd} class.

Let T be a topological space with subsets of the 3^{rd} class and let A be an of the 3^{rd} class subset of T. Note that A^{c} is of the 3^{rd} class.

Next we state four propositions:

(51) If A is of the 1^{st} class, then Int \overline{A} = Int \overline{Int A} and \overline{Int A} = \overline{Int \overline{A}}.

(52) If Int \overline{A} = Int \overline{Int A} or \overline{Int A} = \overline{Int \overline{A}}, then A is of the 1^{st} class.

(53) Suppose A is of the 1^{st} class and B is of the 1^{st} class. Then Int \overline{A}∩Int \overline{B} = Int \overline{A ∩ B} and \overline{Int A} ∪ \overline{Int B} = \overline{Int(A ∪ B)}.

(54) Suppose A is of the 1^{st} class and B is of the 1^{st} class. Then A ∪ B is of the 1^{st} class and A ∩ B is of the 1^{st} class.

References

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

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

[3] Adam Grabowski. On the subcontinua of a real line. Formalized Mathematics, 11(3):313– 322, 2003.

[4] 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.

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

[6] Jarosław Kotowicz. The limit of a real function at infinity. Formalized Mathematics, 2(1):17–28, 1991.

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

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

[9] Andrzej Trybulec. Subsets of complex numbers. To appear in Formalized Mathematics.

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

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

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

Index of MML Identifiers

BROUWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 GLIB 000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 GLIB 001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 GLIB 002 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 GLIB 003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 GLIB 004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 GLIB 005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 ISOMICHI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 JGRAPH 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 JORDAN23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 MATHMORP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 RCOMP 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 SETLIM 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 STIRL2 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 TOPALG 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

Contents Formaliz. Math. 13 (2)

The Fashoda Meet Theorem for Rectangles

By Yatsuka Nakamura and Andrzej Trybulec . . . . . . . . . . 199

Preliminaries to Mathematical Morphology and Its Properties

By Yuzhong Ding and Xiquan Liang . . . . . . . . . . . . . . . . . . . . 221

Subsequences of Almost, Weakly and Poorly One-to-one Finite

Sequences

By Robert Milewski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

Alternative Graph Structures

By Gilbert Lee and Piotr Rudnicki . . . . . . . . . . . . . . . . . . . . 235

Walks in Graphs

By Gilbert Lee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

Trees and Graph Components

By Gilbert Lee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

Weighted and Labeled Graphs

By Gilbert Lee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

Correctness of Dijkstra’s Shortest Path and Prim’s Minimum

Spanning Tree Algorithms

By Gilbert Lee and Piotr Rudnicki . . . . . . . . . . . . . . . . . . . . 295

Correctnesss of Ford-Fulkerson’s Maximum Flow Algorithm

By Gilbert Lee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

Properties of Connected Subsets of the Real Line

By Artur Korniłowicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

The Fundamental Group of the Circle

By Artur Korniłowicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

Brouwer Fixed Point Theorem for Disks on the Plane

By Artur Korniłowicz and Yasunari Shidama . . . . . . . . . . 333

Continued on inside back cover

Stirling Numbers of the Second Kind

By Karol Pa̧k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

Limit of Sequence of Subsets

By Bo Zhang et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

The Properties of Supercondensed Sets, Subcondensed Sets and

Condensed Sets

By Magdalena Jastrzȩbska and Adam Grabowski . . . . . . 353

Index of MML Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360