FORMALIZED MATHEMATICS Volume 5, Number 4, 1996 Warsaw University - Białystok

Left and Right Component of the Complement of a Special Closed Curve

Andrzej Trybulec Warsaw University Białystok

Summary. In the article the concept of the left and right component are introduced. These are the auxiliary notions needed in the proof of Jordan Curve Theorem.

MML Identifier: GOBOARD9.

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

For simplicity we adopt the following rules: f will denote a non constant standard special circular sequence, i, j, k will denote natural numbers, p, q will denote points of E_{T}^{2}, and G will denote a Go-board.

The following propositions are true:

(1) i −′ i = 0.

(2) i −′ j ≤ i.

(3) Let G_{1} be a non empty topological space and let A_{1}, A_{2}, B be subsets of the carrier of G_{1}. Suppose A_{1} is a component of B and A_{2} is a component of B. Then A_{1} = A_{2} or A_{1} misses A_{2}.

(4) Let G_{1} be a non empty topological space, and let A, B be non empty subsets of the carrier of G_{1}, and let A_{3} be a subset of the carrier of G_{1} B.If A = A_{3}, then G_{1} A = G_{1} B A_{3}.

(5) Let G_{1} be a non empty topological space and let A, B be non empty subsets of the carrier of G_{1}. Suppose A ⊆ B and A is connected. Then there exists a subset C of the carrier of G_{1} such that C is a component of B and A ⊆ C.

(6) Let G_{1} be a non empty topological space and let A, B, C, D be subsets of the carrier of G_{1}. Suppose B is connected and C is a component of D and A ⊆ C and A meets B and B ⊆ D. Then B ⊆ C.

(7) L(p, q) is convex.

(8) L(p, q) is connected.

One can check that there exists a subset of the carrier of E_{T}^{2} which is convex. One can prove the following three propositions:

(9) For all convex subsets P, Q of the carrier of E_{T}^{2} holds P ∩ Q is convex.

(10) For every finite sequence f of elements of E_{T}^{2} holds Rev(X-coordinate(f)) = X-coordinate(Rev(f)).

(11) For every finite sequence f of elements of E_{T}^{2} holds Rev(Y-coordinate(f)) =

Y-coordinate(Rev(f)). Let us mention that there exists a finite sequence which is non constant. Let f be a non constant finite sequence. Note that Rev(f) is non constant. Let f be a standard special circular sequence. Then Rev(f) is a standard

special circular sequence.

We now state a number of propositions:

(12) If i ≥ 1 and j ≥ 1 and i + j = len f, then leftcell(f, i) = rightcell(Rev(f), j).

(13) If i ≥ 1 and j ≥ 1 and i + j = len f, then leftcell(Rev(f), i) = rightcell(f, j).

(14) Suppose 1 ≤ k and k + 1 ≤ len f. Then there exist i, j such that i ≤ len the Go-board of f and j ≤ width the Go-board of f and cell(the Go-board of f, i, j) = leftcell(f, k).

(15) If j ≤ width G, then Int hstrip(G, j) is convex.

(16) If i ≤ len G, then Int vstrip(G, i) is convex.

(17) If i ≤ len G and j ≤ width G, then Int cell(G, i, j) ≠ ∅.

(18) If 1 ≤ k and k + 1 ≤ len f, then Int leftcell(f, k) ≠ ∅.

(19) If 1 ≤ k and k + 1 ≤ len f, then Int rightcell(f, k) ≠ ∅.

(20) If i ≤ len G and j ≤ width G, then Int cell(G, i, j) is convex.

(21) If i ≤ len G and j ≤ width G, then Int cell(G, i, j) is connected.

(22) If 1 ≤ k and k + 1 ≤ len f, then Int leftcell(f, k) is connected.

(23) If 1 ≤ k and k + 1 ≤ len f, then Int rightcell(f, k) is connected. Let us consider f. The functor LeftComp(f) yields a subset of the carrier of

E_{T}^{2} and is defined as follows: (Def. 1) LeftComp(f) is a component of (L̃(f))^{c} and Int leftcell(f, 1) ⊆

LeftComp(f). The functor RightComp(f) yields a subset of the carrier of E_{T}^{2} and is defined by:

(Def. 2) RightComp(f) is a component of (L̃(f))^{c} and Int rightcell(f, 1) ⊆

RightComp(f). One can prove the following propositions:

(24) For every k such that 1 ≤ k and k + 1 ≤ len f holds Int leftcell(f, k) ⊆ LeftComp(f).

left and right component of the complement … 467

(25) The Go-board of Rev(f) = the Go-board of f.

(26) RightComp(f) = LeftComp(Rev(f)).

(27) RightComp(Rev(f)) = LeftComp(f).

(28) For every k such that 1 ≤ k and k + 1 ≤ len f holds Int rightcell(f, k) ⊆ RightComp(f).

References

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

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

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

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

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

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

[7] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

468 andrzej trybulec

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

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

Received October 29, 1995

Reduction Relations

Grzegorz Bancerek Institute of Mathematics Polish Academy of Sciences

Summary. The goal of the article is to start the formalization of Knuth-Bendix completion method (see [2,11] or [1]; see also [12,10]), i.e. to formalize the concept of the completion of a reduction relation. The completion of a reduction relation R is a complete reduction relation equivalent to R such that convertible elements have the same normal forms. The theory formalized in the article includes concepts and facts concerning normal forms, terminating reductions, Church-Rosser property, and equivalence of reduction relations.

MML Identifier: REWRITE1.

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

1. Forgetting concatenation and reduction sequence

Let p, q be finite sequences. The functor p^{$} q yielding a finite sequence is defined as follows:

(Def. 1) (i) p^{$} q = p^{}q if p = ε or q = ε,

(ii) there exists a natural number i and there exists a finite sequence r such that len p = i + 1 and r = p Seg i and p^{$} q = r^{}q, otherwise.

In the sequel p, q are finite sequences and x, y are sets. We now state several propositions:

(1) ε^{$} p = p and p^{$} ε = p.

(2) If q ≠ ε, then (p^{}⟨x⟩)^{$} q = p^{}q.

(3) (p^{}⟨x⟩)^{$} (⟨y⟩^{}q) = p^{}⟨y⟩^{}q.

(4) If q ≠ ε, then ⟨x⟩^{$} q = q.

(5) If p ≠ ε, then there exist x, q such that p = ⟨x⟩^{}q and len p = len q + 1.

The scheme PathCatenation concerns finite sequences A, B and a binary predicate P, and states that:

Let i be a natural number. Suppose i ∈ dom(A^{$} B) and i + 1 ∈ dom(A^{$} B). Let x, y be sets. If x = (A^{$} B)(i) and y = (A^{$} B)(i + 1), then P[x, y]

provided the parameters satisfy the following conditions:

• For every natural number i such that i ∈ dom A and i + 1 ∈ dom A holds P[A(i), A(i + 1)],

• For every natural number i such that i ∈ dom B and i + 1 ∈ dom B holds P[B(i), B(i + 1)],

• len A > 0 and len B > 0 and A(len A) = B(1). Let R be a binary relation. A finite sequence is said to be a reduction

sequence w.r.t. R if: (Def. 2) len it > 0 and for every natural number i such that i ∈ dom it and

i + 1 ∈ dom it holds ⟨⟨it(i), it(i + 1)⟩⟩ ∈ R. Next we state the proposition

(6) For every binary relation R and for every reduction sequence p w.r.t. R holds 1 ∈ dom p and len p ∈ dom p.

Let R be a binary relation. Note that every reduction sequence w.r.t. R is non empty.

One can prove the following propositions:

(7) For every binary relation R and for every set a holds ⟨a⟩ is a reduction sequence w.r.t. R.

(8) For every binary relation R and for all sets a, b such that ⟨⟨a, b⟩⟩ ∈ R holds ⟨a, b⟩ is a reduction sequence w.r.t. R.

(9) Let R be a binary relation and let p, q be reduction sequences w.r.t. R. If p(len p) = q(1), then p^{$} q is a reduction sequence w.r.t. R.

(10) Let R be a binary relation and let p be a reduction sequence w.r.t. R. Then Rev(p) is a reduction sequence w.r.t. R^{}.

(11) For all binary relations R, Q such that R ⊆ Q holds every reduction sequence w.r.t. R is a reduction sequence w.r.t. Q.

2. Reducibility, convertibility and normal forms

Let R be a binary relation and let a, b be sets. We say that R reduces a to b if and only if:

(Def. 3) There exists a reduction sequence p w.r.t. R such that p(1) = a and

p(len p) = b. Let R be a binary relation and let a, b be sets. We say that a and b are

convertible w.r.t. R if and only if: (Def. 4) R ∪ R^{}reduces a to b.

One can prove the following propositions:

(12) Let R be a binary relation and let a, b be sets. Then R reduces a to b if and only if there exists a finite sequence p such that len p > 0 and p(1) = a and p(len p) = b and for every natural number i such that i ∈ dom p and i + 1 ∈ dom p holds ⟨⟨p(i), p(i + 1)⟩⟩ ∈ R.

(13) For every binary relation R and for every set a holds R reduces a to a.

(14) For all sets a, b such that ∅ reduces a to b holds a = b.

(15) For every binary relation R and for all sets a, b such that R reduces a to b and a ∉ field R holds a = b.

(16) For every binary relation R and for all sets a, b such that ⟨⟨a, b⟩⟩ ∈ R holds R reduces a to b.

(17) Let R be a binary relation and let a, b, c be sets. Suppose R reduces a to b and R reduces b to c. Then R reduces a to c.

(18) Let R be a binary relation, and let p be a reduction sequence w.r.t. R, and let i, j be natural numbers. If i ∈ dom p and j ∈ dom p and i ≤ j, then R reduces p(i) to p(j).

(19) For every binary relation R and for all sets a, b such that R reduces a to b and a ≠ b holds a ∈ field R and b ∈ field R.

(20) For every binary relation R and for all sets a, b such that R reduces a to b holds a ∈ field R iff b ∈ field R.

(21) For every binary relation R and for all sets a, b holds R reduces a to b iff a = b or ⟨⟨a, b⟩⟩ ∈ R^{∗}.

(22) For every binary relation R and for all sets a, b holds R reduces a to b iff R^{∗} reduces a to b.

(23) Let R, Q be binary relations. Suppose R ⊆ Q. Let a, b be sets. If R reduces a to b, then Q reduces a to b.

(24) Let R be a binary relation, and let X be a set, and let a, b be sets. Then R reduces a to b if and only if R ∪ △_{X} reduces a to b.

(25) For every binary relation R and for all sets a, b such that R reduces a to b holds R^{}reduces b to a.

(26) Let R be a binary relation and let a, b be sets. Suppose R reduces a to b. Then a and b are convertible w.r.t. R and b and a are convertible w.r.t. R.

(27) For every binary relation R and for every set a holds a and a are convertible w.r.t. R.

(28) For all sets a, b such that a and b are convertible w.r.t. ∅ holds a = b.

(29) Let R be a binary relation and let a, b be sets. If a and b are convertible w.r.t. R and a ∉ field R, then a = b.

(30) For every binary relation R and for all sets a, b such that ⟨⟨a, b⟩⟩ ∈ R holds a and b are convertible w.r.t. R.

(31) Let R be a binary relation and let a, b, c be sets. Suppose a and b are convertible w.r.t. R and b and c are convertible w.r.t. R. Then a and c

are convertible w.r.t. R.

(32) Let R be a binary relation and let a, b be sets. Suppose a and b are convertible w.r.t. R. Then b and a are convertible w.r.t. R.

(33) Let R be a binary relation and let a, b be sets. If a and b are convertible

w.r.t. R and a ≠ b, then a ∈ field R and b ∈ field R. Let R be a binary relation and let a be a set. We say that a is a normal form

w.r.t. R if and only if: (Def. 5) It is not true that there exists a set b such that ⟨⟨a, b⟩⟩ ∈ R.

The following propositions are true:

(34) Let R be a binary relation and let a, b be sets. If a is a normal form w.r.t. R and R reduces a to b, then a = b.

(35) For every binary relation R and for every set a such that a ∉ field R

holds a is a normal form w.r.t. R. Let R be a binary relation and let a, b be sets. We say that b is a normal

form of a w.r.t. R if and only if: (Def. 6) b is a normal form w.r.t. R and R reduces a to b.

We say that a and b are convergent w.r.t. R if and only if: (Def. 7) There exists a set c such that R reduces a to c and R reduces b to c.

We say that a and b are divergent w.r.t. R if and only if: (Def. 8) There exists a set c such that R reduces c to a and R reduces c to b.

We say that a and b are convergent at most in 1 step w.r.t. R if and only if: (Def. 9) There exists a set c such that ⟨⟨a, c⟩⟩ ∈ R or a = c but ⟨⟨b, c⟩⟩ ∈ R or

b = c. We say that a and b are divergent at most in 1 step w.r.t. R if and only if:

(Def. 10) There exists a set c such that ⟨⟨c, a⟩⟩ ∈ R or a = c but ⟨⟨c, b⟩⟩ ∈ R or

b = c. Next we state a number of propositions:

(36) For every binary relation R and for every set a such that a ∉ field R holds a is a normal form of a w.r.t. R.

(37) Let R be a binary relation and let a, b be sets. Suppose R reduces a to

b. Then

(i) a and b are convergent w.r.t. R, (ii) a and b are divergent w.r.t. R, (iii) b and a are convergent w.r.t. R, and (iv) b and a are divergent w.r.t. R.

(38) Let R be a binary relation and let a, b be sets. Suppose a and b are convergent w.r.t. R or a and b are divergent w.r.t. R. Then a and b are convertible w.r.t. R.

(39) Let R be a binary relation and let a be a set. Then a and a are convergent w.r.t. R and a and a are divergent w.r.t. R.

(40) For all sets a, b such that a and b are convergent w.r.t. ∅ or a and b are divergent w.r.t. ∅ holds a = b.

(41) Let R be a binary relation and let a, b be sets. Suppose a and b are convergent w.r.t. R. Then b and a are convergent w.r.t. R.

(42) Let R be a binary relation and let a, b be sets. Suppose a and b are divergent w.r.t. R. Then b and a are divergent w.r.t. R.

(43) Let R be a binary relation and let a, b, c be sets. Suppose that (i) R reduces a to b and b and c are convergent w.r.t. R, or (ii) a and b are convergent w.r.t. R and R reduces c to b.

Then a and c are convergent w.r.t. R.

(44) Let R be a binary relation and let a, b, c be sets. Suppose that (i) R reduces b to a and b and c are divergent w.r.t. R, or (ii) a and b are divergent w.r.t. R and R reduces b to c.

Then a and c are divergent w.r.t. R.

(45) Let R be a binary relation and let a, b be sets. Suppose a and b are convergent at most in 1 step w.r.t. R. Then a and b are convergent w.r.t. R.

(46) Let R be a binary relation and let a, b be sets. Suppose a and b are divergent at most in 1 step w.r.t. R. Then a and b are divergent w.r.t. R.

Let R be a binary relation and let a be a set. We say that a has a normal form w.r.t. R if and only if:

(Def. 11) There exists set which is a normal form of a w.r.t. R.

Next we state the proposition

(47) For every binary relation R and for every set a such that a ∉ field R

holds a has a normal form w.r.t. R. Let R be a binary relation and let a be a set. Let us assume that a has a

normal form w.r.t. R and for all sets b, c such that b is a normal form of a w.r.t. R and c is a normal form of a w.r.t. R holds b = c. The functor nf_{R}(a) is defined by:

(Def. 12) nf_{R}(a) is a normal form of a w.r.t. R.

3. Terminating reductions

Let R be a binary relation. We say that R is reversely well founded if and only if:

(Def. 13) R^{}is well founded.

We say that R is weakly-normalizing if and only if: (Def. 14) For every set a such that a ∈ field R holds a has a normal form w.r.t.

R. We say that R is strongly-normalizing if and only if:

(Def. 15) For every many sorted set f indexed by there exists a natural number

i such that ⟨⟨f(i), f(i + 1)⟩⟩ ∉ R. Let R be a binary relation. Let us observe that R is reversely well founded

if and only if the condition (Def. 16) is satisfied. (Def. 16) Let Y be a set. Suppose Y ⊆ field R and Y ≠ ∅. Then there exists a

set a such that a ∈ Y and for every set b such that b ∈ Y and a ≠ b holds ⟨⟨a, b⟩⟩ ∉ R.

The scheme coNoetherianInduction deals with a binary relation A and a unary predicate P, and states that:

For every set a such that a ∈ field A holds P[a] provided the parameters meet the following conditions:

• A is reversely well founded,

• For every set a such that for every set b such that ⟨⟨a, b⟩⟩ ∈ A and a ≠ b holds P[b] holds P[a].

One can check that every binary relation which is strongly-normalizing is also irreflexive and reversely well founded and every binary relation which is reversely well founded and irreflexive is also strongly-normalizing.

Let us note that every binary relation which is empty is also weakly-normalizing and strongly-normalizing.

Let us note that there exists a binary relation which is empty.

Next we state the proposition

(48) Let Q be a reversely well founded binary relation and let R be a binary

relation. If R ⊆ Q, then R is reversely well founded. Let us observe that every binary relation which is strongly-normalizing is

also weakly-normalizing.

4. Church-Rosser property

Let R, Q be binary relations. We say that R commutes-weakly with Q if and only if the condition (Def. 17) is satisfied.

(Def. 17) Let a, b, c be sets. Suppose ⟨⟨a, b⟩⟩ ∈ R and ⟨⟨a, c⟩⟩ ∈ Q. Then there

exists a set d such that Q reduces b to d and R reduces c to d. Let us notice that the predicate defined above is symmetric. We say that R commutes with Q if and only if the condition (Def. 18) is satisfied.

(Def. 18) Let a, b, c be sets. Suppose R reduces a to b and Q reduces a to c.

Then there exists a set d such that Q reduces b to d and R reduces c to d. Let us notice that the predicate introduced above is symmetric.

We now state the proposition

(49) For all binary relations R, Q such that R commutes with Q holds R

commutes-weakly with Q. Let R be a binary relation. We say that R has unique normal form property

if and only if the condition (Def. 19) is satisfied.

(Def. 19) Let a, b be sets. Suppose a is a normal form w.r.t. R and b is a normal

form w.r.t. R and a and b are convertible w.r.t. R. Then a = b. We say that R has normal form property if and only if the condition (Def. 20) is satisfied.

(Def. 20) Let a, b be sets. Suppose a is a normal form w.r.t. R and a and b are

convertible w.r.t. R. Then R reduces b to a. We say that R is subcommutative if and only if:

(Def. 21) For all sets a, b, c such that ⟨⟨a, b⟩⟩ ∈ R and ⟨⟨a, c⟩⟩ ∈ R holds b and c are

convergent at most in 1 step w.r.t. R. We introduce R has diamond property as a synonym of R is subcommutative. We say that R is confluent if and only if:

(Def. 22) For all sets a, b such that a and b are divergent w.r.t. R holds a and b

are convergent w.r.t. R. We say that R has Church-Rosser property if and only if:

(Def. 23) For all sets a, b such that a and b are convertible w.r.t. R holds a and

b are convergent w.r.t. R. We say that R is locally-confluent if and only if:

(Def. 24) For all sets a, b, c such that ⟨⟨a, b⟩⟩ ∈ R and ⟨⟨a, c⟩⟩ ∈ R holds b and c are

convergent w.r.t. R. We introduce R has weak Church-Rosser property as a synonym of R is locallyconfluent.

Next we state four propositions:

(50) Let R be a binary relation. Suppose R is subcommutative. Let a, b, c be sets. Suppose R reduces a to b and ⟨⟨a, c⟩⟩ ∈ R. Then b and c are convergent w.r.t. R.

(51) For every binary relation R holds R is confluent iff R commutes with R.

(52) Let R be a binary relation. Then R is confluent if and only if for all sets a, b, c such that R reduces a to b and ⟨⟨a, c⟩⟩ ∈ R holds b and c are convergent w.r.t. R

(53) For every binary relation R holds R is locally-confluent iff R commutes-

weakly with R. One can verify the following observations:

∗ every binary relation which has Church-Rosser property is confluent,

∗ every binary relation which is confluent is also locally-confluent and has Church-Rosser property,

∗ every binary relation which is subcommutative is also confluent,

∗ every binary relation which has Church-Rosser property has also normal form property,

∗ every binary relation which has normal form property has also unique normal form property, and ∗ every binary relation which is weakly-normalizing and has unique nor-

mal form property has Church-Rosser property. One can check that every binary relation which is empty is also subcommu-

tative.

One can verify that there exists a binary relation which is empty. The following three propositions are true:

(54) Let R be a binary relation with unique normal form property and let a, b, c be sets. Suppose b is a normal form of a w.r.t. R and c is a normal form of a w.r.t. R. Then b = c.

(55) Let R be a weakly-normalizing binary relation with unique normal form property and let a be a set. Then nf_{R}(a) is a normal form of a w.r.t. R.

(56) Let R be a weakly-normalizing binary relation with unique normal form property and let a, b be sets. If a and b are convertible w.r.t. R, then nf_{R}(a) = nf_{R}(b).

Let us note that every binary relation which is strongly-normalizing and locally-confluent is also confluent.

Let R be a binary relation. We say that R is complete if and only if: (Def. 25) R is confluent and strongly-normalizing.

Let us note that every binary relation which is complete is also confluent and strongly-normalizing and every binary relation which is confluent and stronglynormalizing is also complete.

Let us mention that there exists a binary relation which is empty. Let us note that there exists a non empty binary relation which is complete. We now state three propositions:

(57) Let R, Q be binary relations with Church-Rosser property. If R commutes with Q, then R ∪ Q has Church-Rosser property.

(58) For every binary relation R holds R is confluent iff R^{∗} has weak Church-Rosser property.

(59) For every binary relation R holds R is confluent iff R^{∗} is subcommutative.

5. Completion method

Let R, Q be binary relations. We say that R and Q are equivalent if and only if the condition (Def. 26) is satisfied.

(Def. 26) Let a, b be sets. Then a and b are convertible w.r.t. R if and only if a

and b are convertible w.r.t. Q. Let us observe that the predicate introduced above is symmetric.

Let R be a binary relation and let a, b be sets. We say that a and b are critical w.r.t. R if and only if:

(Def. 27) a and b are divergent at most in 1 step w.r.t. R and a and b are not

convergent w.r.t. R. We now state four propositions:

(60) Let R be a binary relation and let a, b be sets. Suppose a and b are critical w.r.t. R. Then a and b are convertible w.r.t. R.

(61) Let R be a binary relation. Suppose that it is not true that there exist sets a, b such that a and b are critical w.r.t. R Then R is locally-confluent.

(62) Let R, Q be binary relations. Suppose that for all sets a, b such that ⟨⟨a, b⟩⟩ ∈ Q holds a and b are critical w.r.t. R. Then R and R ∪ Q are equivalent.

(63) Let R be a binary relation. Then there exists a complete binary relation

Q such that

(i) field Q ⊆ field R, and (ii) for all sets a, b holds a and b are convertible w.r.t. R iff a and b are

convergent w.r.t. Q. Let R be a binary relation. A complete binary relation is said to be a

completion of R if it satisfies the condition (Def. 28). (Def. 28) Let a, b be sets. Then a and b are convertible w.r.t. R if and only if a

and b are convergent w.r.t. it. Next we state three propositions:

(64) For every binary relation R and for every completion C of R holds R and C are equivalent.

(65) Let R be a binary relation and let Q be a complete binary relation. If R and Q are equivalent, then Q is a completion of R.

(66) Let R be a binary relation, and let C be a completion of R, and let a, b be sets. Then a and b are convertible w.r.t. R if and only if nf_{C}(a) = nf_{C}(b).

References

[1] S. Abramsky, D. M. Gabbay, and S. E. Maibaum, editors. Handbook of Logic in Computer Science, vol. 2: Computational structures. Clarendon Press, Oxford, 1992.

[2] Leo Bachmair and Nachum Dershowitz. Critical pair criteria for completion. Journal of Symbolic Computation, 6(1):1–18, 1988.

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

[4] Grzegorz Bancerek. The well ordering relations. Formalized Mathematics, 1(1):123–129, 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. Some properties of restrictions of finite sequences. Formalized Mathematics, 5(2):241–245, 1996.

[8] Patricia L. Carlson and Grzegorz Bancerek. Context-free grammar - part 1. Formalized Mathematics, 2(5):683–687, 1991.

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

478 grzegorz bancerek

[10] Gerard Huet. A complete proof of correctness of the knuth-bendix completion. Journal of Computer and System Sciences, 23(1):3–57, 1981.

[11] Jan Willem Klop and Aart Middeldrop. An introduction to knuth-bendix completion. CWI Quarterly, 1(3):31–52, 1988.

[12] Donald E. Knuth and Peter B. Bendix. Simple word problems in universal algebras. In J. Leech, editor, Computational Problems in Abstract Algebras, pages 263–297, Pergamon, Oxford, 1970.

[13] Konrad Raczkowski and Paweł Sadowski. Equivalence relations and classes of abstraction. Formalized Mathematics, 1(3):441–444, 1990.

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

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

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

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

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

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

Received November 14, 1995

Lattice of Congruences in Many Sorted Algebra

Robert Milewski Warsaw University Białystok

MML Identifier: MSUALG 5.

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

1. More on Equivalence Relations

For simplicity we adopt the following convention: I, X denote sets, M denotes a many sorted set indexed by I, R_{1} denotes a binary relation on X, and E_{1}, E_{2}, E_{3} denote equivalence relations of X.

We now state the proposition

(1) (E_{1} ⊔ E_{2}) ⊔ E_{3} = E_{1} ⊔ (E_{2} ⊔ E_{3}).

Let X be a set and let R be a binary relation on X. The functor EqCl(R) yielding an equivalence relation of X is defined as follows:

(Def. 1) R ⊆ EqCl(R) and for every equivalence relation E_{2} of X such that

R ⊆ E_{2} holds EqCl(R) ⊆ E_{2}. One can prove the following propositions:

(2) E_{1} ⊔ E_{2} = EqCl(E_{1} ∪ E_{2}).

(3) EqCl(E_{1}) = E_{1}.

(4) ∇_{X} ∪ R_{1} = ∇_{X}.

2. Lattice of Equivalence Relations

Let X be a set. The functor EqRelLatt(X) yields a strict lattice and is defined by the conditions (Def. 2).

(Def. 2) (i) The carrier of EqRelLatt(X) = {x : x ranges over relations between

X and X, x is an equivalence relation of X}, and (ii) for all equivalence relations x, y of X holds (the meet operation of

EqRelLatt(X))(x, y) = x∩y and (the join operation of EqRelLatt(X))(x,

y) = x ⊔ y.

3. Many Sorted Equivalence Relations

Let us consider I, M. Note that there exists a many sorted relation of M which is equivalence.

Let us consider I, M. An equivalence relation of M is an equivalence many sorted relation of M.

We adopt the following convention: I will denote a non empty set, M will denote a many sorted set indexed by I, and E_{4}, E_{1}, E_{2}, E_{3} will denote equivalence relations of M.

Let I be a non empty set, let M be a many sorted set indexed by I, and let R be a many sorted relation of M. The functor EqCl(R) yields an equivalence relation of M and is defined as follows:

(Def. 3) For every element i of I holds (EqCl(R))(i) = EqCl(R(i)). The following proposition is true

(5) EqCl(E_{4}) = E_{4}.

4. Lattice of Many Sorted Equivalence Relations

Let I be a non empty set, let M be a many sorted set indexed by I, and let E_{1}, E_{2} be equivalence relations of M. The functor E_{1} ⊔ E_{2} yielding an equivalence relation of M is defined as follows:

(Def. 4) There exists a many sorted relation E_{3} of M such that E_{3} = E_{1} ∪ E_{2}

and E_{1} ⊔ E_{2} = EqCl(E_{3}). Let us observe that the functor introduced above is commutative.

Next we state several propositions:

(6) E_{1} ∪ E_{2} ⊆ E_{1} ⊔ E_{2}.

(7) For every equivalence relation E_{4} of M such that E_{1} ∪ E_{2} ⊆ E_{4} holds E_{1} ⊔ E_{2} ⊆ E_{4}.

(8) If E_{1} ∪ E_{2} ⊆ E_{3} and for every equivalence relation E_{4} of M such that E_{1} ∪ E_{2} ⊆ E_{4} holds E_{3} ⊆ E_{4}, then E_{3} = E_{1} ⊔ E_{2}.

(9) E_{4} ⊔ E_{4} = E_{4}.

(10) (E_{1} ⊔ E_{2}) ⊔ E_{3} = E_{1} ⊔ (E_{2} ⊔ E_{3}).

(11) E_{1} ∩ (E_{1} ⊔ E_{2}) = E_{1}.

(12) For every equivalence relation E_{4} of M such that E_{4} = E_{1} ∩ E_{2} holds E_{1} ⊔ E_{4} = E_{1}.

(13) For all equivalence relations E_{1}, E_{2} of M holds E_{1}∩E_{2} is an equivalence

relation of M. Let I be a non empty set and let M be a many sorted set indexed by I.

The functor EqRelLatt(M) yielding a strict lattice is defined by the conditions (Def. 5).

(Def. 5) (i) For arbitrary x holds x ∈ the carrier of EqRelLatt(M) iff x is an

equivalence relation of M, and (ii) for all equivalence relations x, y of M holds (the meet operation of

EqRelLatt(M))(x, y) = x∩y and (the join operation of EqRelLatt(M))(x,

y) = x ⊔ y.

5. Lattice of Congruences in Many Sorted Algebra

Let S be a non empty many sorted signature and let A be an algebra over S Note that every many sorted relation of A which is equivalence is also equivalence.

In the sequel S will denote a non void non empty many sorted signature and A will denote a non-empty algebra over S.

Next we state several propositions:

(14) Let o be an operation symbol of S, and let C_{1}, C_{2} be congruences of A, and let x_{1}, y_{1} be arbitrary, and let a_{1}, b_{1} be finite sequences. Suppose ⟨⟨x_{1}, y_{1}⟩⟩ ∈ C_{1}(π_{len a_{1}+1} Arity(o)) ∪ C_{2}(π_{len a_{1}+1} Arity(o)). Let x, y be elements of Args(o, A). Suppose x = a_{1} ^{}⟨x_{1}⟩ ^{}b_{1} and y = a_{1} ^{}⟨y_{1}⟩ ^{}b_{1}. Then ⟨⟨(Den(o, A))(x), (Den(o, A))(y)⟩⟩ ∈ C_{1}(the result sort of o)∪C_{2}(the result sort of o).

(15) Let o be an operation symbol of S, and let C_{1}, C_{2} be congruences of A, and let C be an equivalence many sorted relation of A. Suppose C = C_{1}⊔C_{2}. Let x_{1}, y_{1} be arbitrary, and let n be a natural number, and let a_{1}, a_{2}, b_{1} be finite sequences. Suppose len a_{1} = n and len a_{1} = len a_{2} and for every natural number k such that k ∈ dom a_{1} holds ⟨⟨a_{1}(k), a_{2}(k)⟩⟩ ∈ C(π_{k} Arity(o)). Suppose ⟨⟨(Den(o, A))(a_{1}^{}⟨x_{1}⟩^{}b_{1}), (Den(o, A))(a_{2}^{}⟨x_{1}⟩^{} b_{1})⟩⟩ ∈ C(the result sort of o) and ⟨⟨x_{1}, y_{1}⟩⟩ ∈ C(π_{n+1} Arity(o)). Let x be an element of Args(o, A). If x = a_{1} ^{}⟨x_{1}⟩ ^{}b_{1}, then ⟨⟨(Den(o, A))(x), (Den(o, A))(a_{2} ^{}⟨y_{1}⟩^{}b_{1})⟩⟩ ∈ C(the result sort of o).

482 robert milewski

(16) Let o be an operation symbol of S, and let C_{1}, C_{2} be congruences of A, and let C be an equivalence many sorted relation of A. Suppose C = C_{1}⊔C_{2}. Let x, y be elements of Args(o, A). Suppose that for every natural number n such that n ∈ dom x holds ⟨⟨x(n), y(n)⟩⟩ ∈ C(π_{n} Arity(o)). Then ⟨⟨(Den(o, A))(x), (Den(o, A))(y)⟩⟩ ∈ C(the result sort of o).

(17) For all congruences C_{1}, C_{2} of A holds C_{1} ⊔ C_{2} is a congruence of A.

(18) For all congruences C_{1}, C_{2} of A holds C_{1} ∩ C_{2} is a congruence of A. Let us consider S and let A be a non-empty algebra over S. The functor

CongrLatt(A) yielding a strict sublattice of EqRelLatt(the sorts of A) is defined by:

(Def. 6) For arbitrary x holds x ∈ the carrier of CongrLatt(A) iff x is a congruence of A.

We now state four propositions:

(19) id_{(the sorts of A)} is a congruence of A.

(20) [[the sorts of A, the sorts of A]] is a congruence of A.

(21) ⊥_{CongrLatt(A)} = id_{(the sorts of A)}.

(22) ⊤_{CongrLatt(A)} = [[the sorts of A, the sorts of A]].

Let us consider S and let us consider A. One can check that CongrLatt(A) is bounded.

References

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

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

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

[4] Ewa Burakowska. Subalgebras of many sorted algebra. Lattice of subalgebras. Formalized Mathematics, 5(1):47–54, 1996.

[5] Czesław Byliński. Binary operations. Formalized Mathematics, 1(1):175–180, 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. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

[10] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

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

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

[13] Małgorzata Korolkiewicz. Homomorphisms of many sorted algebras. Formalized Mathematics, 5(1):61–65, 1996.

[14] Małgorzata Korolkiewicz. Many sorted quotient algebra. Formalized Mathematics, 5(1):79–84, 1996.

[15] Beata Madras. Products of many sorted algebras. Formalized Mathematics, 5(1):55–60,

lattice of congruences in many sorted algebra 483

[16] Konrad Raczkowski and Paweł Sadowski. Equivalence relations and classes of abstraction. Formalized Mathematics, 1(3):441–444, 1990.

[17] Andrzej Trybulec. Many sorted algebras. Formalized Mathematics, 5(1):37–42, 1996.

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

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

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

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

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

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

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

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

484

Miscellaneous Facts about Functions

Grzegorz Bancerek Institute of Mathematics Polish Academy of Sciences Andrzej Trybulec Warsaw University Białystok

MML Identifier: FUNCT 7.

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

1. Preliminaries

For simplicity we adopt the following rules: x is arbitrary, m, n are natural numbers, f, g are functions, and A, B are sets.

We now state several propositions:

(1) For every function f and for every set X such that rng f ⊆ X holds id_{X} · f = f.

(2) Let X be a set, and let Y be a non empty set, and let f be a function from X into Y. Suppose f is one-to-one. Let B be a subset of X and let C be a subset of Y. If C ⊆ f^{∘}B, then f ^{−1} C ⊆ B.

(3) Let X, Y be non empty sets and let f be a function from X into Y. Suppose f is one-to-one. Let x be an element of X and let A be a subset of X. If f(x) ∈ f^{∘}A, then x ∈ A.

(4) Let X, Y be non empty sets and let f be a function from X into Y. Suppose f is one-to-one. Let x be an element of X, and let A be a subset of X, and let B be a subset of Y. If f(x) ∈ f^{∘}A \ B, then x ∈ A \ f ^{−1} B.

(5) Let X, Y be non empty sets and let f be a function from X into Y. Suppose f is one-to-one. Let y be an element of Y, and let A be a subset of X, and let B be a subset of Y. If y ∈ f^{∘}A\B, then f^{−1}(y) ∈ A\f^{−1} B.

(6) For every function f and for arbitrary a such that a ∈ dom f holds f {a} = a⟼ . f(a).

Let x, y be arbitrary. Observe that x⟼ . y is non empty.

Let x, y, a, b be arbitrary. One can check that [x ⟼ a, y ⟼ b] is non empty.

One can prove the following propositions:

(7) For every set I and for every many sorted set M indexed by I and for arbitrary i such that i ∈ I holds i⟼ . M(i) = M {i}.

(8) Let I, J be sets, and let M be a many sorted set indexed by [: I, J :], and let i, j be arbitrary. If i ∈ I and j ∈ J, then [⟨⟨i, j⟩⟩ ↦ M(i, j)] = M [: {i}, {j}:].

(9) If x ∈ dom f and x ∉ dom g, then (f+·g)(x) = f(x).

(10) For all functions f, g, h such that rng g ⊆ dom f and rng h ⊆ dom f holds f · (g+·h) = f · g+·f · h.

(11) For all functions f, g, h holds (g+·h) · f = g · f+·h · f.

(12) For all functions f, g, h such that rng f misses dom g holds (h+·g) · f = h · f.

(13) For all sets A, B and for arbitrary y such that A meets rng(id_{B}+·(A ⟼ y)) holds y ∈ A.

(14) For arbitrary x, y and for every set A such that x ≠ y holds x ∉ rng(id_{A}+·(x⟼ . y)).

(15) For every set X and for arbitrary a and for every function f such that dom f = X ∪ {a} holds f = f X+·(a⟼ . f(a)).

(16) For every function f and for all sets X, y, z holds f+·(X ⟼ y)+·(X ⟼ z) = f+·(X ⟼ z).

(17) If 0 < m and m ≤ n, then _{m} ⊆ _{n}.

(18) ≠ ^{∗}.

(19) ∅^{∗} = {∅}.

(20) ⟨x⟩ ∈ A^{∗} iff x ∈ A.

(21) A ⊆ B iff A^{∗} ⊆ B^{∗}.

(22) For every subset A of such that for all n, m such that n ∈ A and m < n holds m ∈ A holds A is a cardinal number.

(23) Let A be a finite set and let X be a non empty family of subsets of A. Then there exists an element C of X such that for every element B of X such that B ⊆ C holds B = C.

(24) Let p, q be finite sequences. Suppose len p = len q + 1. Let i be a natural number. Then i ∈ dom q if and only if the following conditions are satisfied:

(i) i ∈ dom p, and (ii) i + 1 ∈ dom p. Let us note that there exists a finite sequence which is function yielding non

empty and non-empty.

Note that ε is function yielding. Let f be a function. Observe that ⟨f⟩ is function yielding. Let g be a function. One can check that ⟨f, g⟩ is function yielding. Let h be a function. Observe that ⟨f, g, h⟩ is function yielding.

Let n be a natural number and let f be a function. One can verify that n ↦ f is function yielding.

Let p be a finite sequence and let q be a non empty finite sequence. One can verify that p^{}q is non empty and q^{}p is non empty.

Let p, q be function yielding finite sequences. Note that p ^{}q is function yielding.

Next we state the proposition

(25) Let p, q be finite sequences. Suppose p^{}q is function yielding. Then p is function yielding and q is function yielding.

2. Some useful schemes

In this article we present several logical schemes. The scheme KappaD concerns non empty sets A, B and a unary functor F yielding arbitrary, and states that:

There exists a function f from A into B such that for every element x of A holds f(x) = F(x)

provided the parameters meet the following condition:

• For every element x of A holds F(x) ∈ B.

The scheme Kappa2D deals with non empty sets A, B, C and a binary functor F yielding arbitrary, and states that:

There exists a function f from [: A, B:] into C such that for every element x of A and for every element y of B holds f(⟨⟨x, y⟩⟩) = F(x, y)

provided the parameters meet the following requirement:

• For every element x of A and for every element y of B holds F(x, y) ∈ C.

The scheme FinMono concerns a set A, a non empty set B, and two unary functors F and G yielding arbitrary, and states that:

{F(d) : d ranges over elements of B, G(d) ∈ A} is finite provided the following conditions are satisfied:

• A is finite,

• For all elements d_{1}, d_{2} of B such that G(d_{1}) = G(d_{2}) holds d_{1} = d_{2}.

The scheme CardMono concerns a set A, a non empty set B, and a unary functor F yielding arbitrary, and states that:

A ≈ {d : d ranges over elements of B, F(d) ∈ A} provided the following requirements are met:

• For arbitrary x such that x ∈ A there exists an element d of B such that x = F(d),

• For all elements d_{1}, d_{2} of B such that F(d_{1}) = F(d_{2}) holds d_{1} = d_{2}.

The scheme CardMono’ concerns a set A, a non empty set B, and a unary functor F yielding arbitrary, and states that:

A ≈ {F(d) : d ranges over elements of B, d ∈ A} provided the following conditions are satisfied:

• A ⊆ B,

• For all elements d_{1}, d_{2} of B such that F(d_{1}) = F(d_{2}) holds d_{1} = d_{2}. The scheme FuncSeqInd concerns a unary predicate P, and states that:

For every function yielding finite sequence p holds P[p] provided the following conditions are satisfied:

• P[ε],

• For every function yielding finite sequence p such that P[p] and for every function f holds P[p^{}⟨f⟩].

3. Some auxiliary concepts

Let x be arbitrary and let y be a set. Let us assume that x ∈ y. The functor x(∈ y) yielding an element of y is defined as follows:

(Def. 1) x(∈ y) = x.

One can prove the following proposition

(26) If x ∈ A ∩ B, then x(∈ A) = x(∈ B).

Let f, g be functions and let A be a set. We say that f and g equal outside A if and only if:

(Def. 2) f (dom f \ A) = g (dom g \ A).

Next we state several propositions:

(27) For every function f and for every set A holds f and f equal outside A.

(28) For all functions f, g and for every set A such that f and g equal outside A holds g and f equal outside A

(29) Let f, g, h be functions and let A be a set. Suppose f and g equal outside A and g and h equal outside A. Then f and h equal outside A.

(30) For all functions f, g and for every set A such that f and g equal outside A holds dom f \ A = dom g \ A.

(31) For all functions f, g and for every set A such that dom g ⊆ A holds f

and f+·g equal outside A Let f be a function and let i, x be arbitrary. The functor f +· (i, x) yields a

function and is defined by: (Def. 3) (i) f +· (i, x) = f+·(i⟼ . x) if i ∈ dom f,

(ii) f +· (i, x) = f, otherwise. Next we state several propositions:

(32) For every function f and for arbitrary d, i holds dom(f +· (i, d)) = dom f.

(33) For every function f and for arbitrary d, i such that i ∈ dom f holds (f +· (i, d))(i) = d.

(34) For every function f and for arbitrary d, i, j such that i ≠ j and j ∈ dom f holds (f +· (i, d))(j) = f(j).

(35) For every function f and for arbitrary d, e, i, j such that i ≠ j holds f +· (i, d) +· (j, e) = f +· (j, e) +· (i, d).

(36) For every function f and for arbitrary d, e, i holds f +· (i, d) +· (i, e) = f +· (i, e).

(37) For every function f and for arbitrary i holds f +· (i, f(i)) = f. Let f be a finite sequence, let i be a natural number, and let x be arbitrary.

One can check that f +· (i, x) is finite sequence-like.

Let D be a set, let f be a finite sequence of elements of D, let i be a natural number, and let d be an element of D. Then f +· (i, d) is a finite sequence of elements of D.

The following three propositions are true:

(38) Let D be a non empty set, and let f be a finite sequence of elements of D, and let d be an element of D, and let i be a natural number. If i ∈ dom f, then π_{i}(f +· (i, d)) = d.

(39) Let D be a non empty set, and let f be a finite sequence of elements of D, and let d be an element of D, and let i, j be natural numbers. If i ≠ j and j ∈ dom f, then π_{j}(f +· (i, d)) = π_{j}f.

(40) Let D be a non empty set, and let f be a finite sequence of elements of D, and let d, e be elements of D, and let i be a natural number. Then f +· (i, π_{i}f) = f.

4. On the composition of a finite sequence of functions

Let X be a set and let p be a function yielding finite sequence. The functor compose_{X} p yielding a function is defined by the condition (Def. 4).

(Def. 4) There exists a many sorted function f of such that (i) compose_{X} p = f(len p), (ii) f(0) = id_{X}, and (iii) for every natural number i such that i+1 ∈ dom p and for all functions

g, h such that g = f(i) and h = p(i + 1) holds f(i + 1) = h · g. Let p be a function yielding finite sequence and let x be a set. The functor

apply(p, x) yields a finite sequence and is defined by the conditions (Def. 5). (Def. 5) (i) len apply(p, x) = len p + 1,

(ii) (apply(p, x))(1) = x, and (iii) for every natural number i and for every function f such that i ∈ dom p

and f = p(i) holds (apply(p, x))(i + 1) = f((apply(p, x))(i)). We adopt the following convention: X, Y, x denote sets, p, q denote function

yielding finite sequences, and f, g, h denote functions.

The following propositions are true:

(41) compose_{X} ε = id_{X}.

(42) apply(ε, x) = ⟨x⟩.

(43) compose_{X}(p^{}⟨f⟩) = f · compose_{X} p.

(44) apply(p^{}⟨f⟩, x) = (apply(p, x))^{}⟨f((apply(p, x))(len p + 1))⟩.

(45) compose_{X}(⟨f⟩^{}p) = compose_{f^{∘}X} p · (f X).

(46) apply(⟨f⟩^{}p, x) = ⟨x⟩^{}apply(p, f(x)).

(47) compose_{X}⟨f⟩ = f · id_{X}.

(48) If dom f ⊆ X, then compose_{X}⟨f⟩ = f.

(49) apply(⟨f⟩, x) = ⟨x, f(x)⟩.

(50) If rng compose_{X} p ⊆ Y, then compose_{X}(p ^{}q) = compose_{Y} q · compose_{X} p.

(51) (apply(p ^{}q, x))(len(p ^{}q) + 1) = (apply(q, (apply(p, x))(len p + 1)))(len q + 1).

(52) apply(p^{}q, x) = (apply(p, x))^{$} apply(q, (apply(p, x))(len p + 1)).

(53) compose_{X}⟨f, g⟩ = g · f · id_{X}.

(54) If dom f ⊆ X or dom(g · f) ⊆ X, then compose_{X}⟨f, g⟩ = g · f.

(55) apply(⟨f, g⟩, x) = ⟨x, f(x), g(f(x))⟩.

(56) compose_{X}⟨f, g, h⟩ = h · g · f · id_{X}.

(57) If dom f ⊆ X or dom(g·f) ⊆ X or dom(h·g·f) ⊆ X, then compose_{X}⟨f, g, h⟩ = h · g · f.

(58) apply(⟨f, g, h⟩, x) = ⟨x⟩^{}⟨f(x), g(f(x)), h(g(f(x)))⟩.

Let F be a finite sequence. The functor firstdom(F) is defined as follows: (Def. 6) (i) firstdom(F) is empty if F is empty,

(ii) firstdom(F) = π_{1}(F (1)), otherwise. The functor lastrng(F) is defined by:

(Def. 7) (i) lastrng(F) is empty if F is empty, (ii) lastrng(F) = π_{2}(F (len F)), otherwise. Next we state three propositions:

(59) firstdom(ε) = ∅ and lastrng(ε) = ∅.

(60) For every finite sequence p holds firstdom(⟨f⟩ ^{}p) = dom f and lastrng(p^{}⟨f⟩) = rng f.

(61) For every function yielding finite sequence p such that p ≠ ε holds

rng compose_{X} p ⊆ lastrng(p). Let I_{1} be a finite sequence. We say that I_{1} is composable if and only if:

(Def. 8) There exists a finite sequence p such that len p = len I_{1} +1 and for every

natural number i such that i ∈ dom I_{1} holds I_{1}(i) ∈ p(i + 1)^{p(i)}. We now state the proposition

(62) For all finite sequences p, q such that p ^{}q is composable holds p is composable and q is composable.

One can verify that every finite sequence which is composable is also function yielding.

Let us observe that every finite sequence which is empty is also composable. Let f be a function. One can check that ⟨f⟩ is composable. Let us observe that there exists a finite sequence which is composable non

empty and non-empty.

A composable sequence is a composable finite sequence. Next we state several propositions:

(63) For every composable sequence p such that p ≠ ε holds dom compose_{X} p = firstdom(p) ∩ X.

(64) For every composable sequence p holds dom compose_{firstdom(p)} p = firstdom(p).

(65) For every composable sequence p and for every function f such that rng f ⊆ firstdom(p) holds ⟨f⟩^{}p is a composable sequence.

(66) For every composable sequence p and for every function f such that lastrng(p) ⊆ dom f holds p^{}⟨f⟩ is a composable sequence.

(67) For every composable sequence p such that x ∈ firstdom(p) and x ∈ X

holds (apply(p, x))(len p + 1) = (compose_{X} p)(x). Let X, Y be sets. Let us assume that if Y is empty, then X is empty. A

composable sequence is called a composable sequence from X into Y if: (Def. 9) firstdom(it) = X and lastrng(it) ⊆ Y.

Let Y be a non empty set, let X be a set, and let F be a composable sequence from X into Y. Then compose_{X} F is a function from X into Y.

Let q be a non-empty non empty finite sequence. A finite sequence is said to be a composable sequence along q if:

(Def. 10) len it + 1 = len q and for every natural number i such that i ∈ dom it

holds it(i) ∈ q(i + 1)^{q(i)}. Let q be a non-empty non empty finite sequence. Observe that every com-

posable sequence along q is composable and non-empty.

One can prove the following three propositions:

(68) Let q be a non-empty non empty finite sequence and let p be a composable sequence along q. If p ≠ ε, then firstdom(p) = q(1) and lastrng(p) ⊆ q(len q).

(69) Let q be a non-empty non empty finite sequence and let p be a composable sequence along q. Then dom compose_{q(1)} p = q(1) and rng compose_{q(1)} p ⊆ q(len q).

(70) For every function f and for every natural number n holds f^{n} = compose_{dom f∪rng f}(n ↦ f).

References

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

492 grzegorz bancerek and andrzej trybulec

[2] Grzegorz Bancerek. Curried and uncurried functions. Formalized Mathematics, 1(3):537–541, 1990.

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

[4] Grzegorz Bancerek. Reduction relations. Formalized Mathematics, 5(4):469–478, 1996.

[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. Binary operations. Formalized Mathematics, 1(1):175–180, 1990.

[7] Czesław Byliński. Cartesian categories. Formalized Mathematics, 3(2):161–169, 1992.

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

[9] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 1990.

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

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

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

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

[14] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

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

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

[17] Jarosław Kotowicz, Beata Madras, and Małgorzata Korolkiewicz. Basic notation of universal algebra. Formalized Mathematics, 3(2):251–253, 1992.

[18] Beata Madras. Product of family of universal algebras. Formalized Mathematics, 4(1):103–108, 1993.

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

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

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

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

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

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

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

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

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

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

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

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

Examples of Category Structures

Andrzej Trybulec Warsaw University Białystok

Summary. We continue the formalization of the category theory.

MML Identifier: ALTCAT 2.

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

1. Preliminaries

One can prove the following proposition

(1) For all sets X_{1}, X_{2} and for arbitrary a_{1}, a_{2} holds [: X_{1} ⟼ a_{1}, X_{2} ⟼ a_{2} :] = [: X_{1}, X_{2} :] ⟼ ⟨⟨a_{1}, a_{2}⟩⟩.

Let I be a set. Observe that ∅_{I} is function yielding. The following two propositions are true:

(2) For all functions f, g holds (g · f) = g · f.

(3) For all functions f, g, h holds (f · [: g, h:]) = f · [: h, g:]. Let f be a function yielding function. Observe that f is function yielding. One can prove the following proposition

(4) Let I be a set and let A, B, C be many sorted sets indexed by I. Suppose A is transformable to B. Let F be a many sorted function from A into B and let G be a many sorted function from B into C. Then G∘F is a many sorted function from A into C.

Let I be a set and let A be a many sorted set indexed by [: I, I:]. Then A is a many sorted set indexed by [: I, I:].

We now state the proposition (5) Let I_{1} be a set, and let I_{2} be a non empty set, and let f be a function

from I_{1} into I_{2}, and let B, C be many sorted sets indexed by I_{2}, and let G be a many sorted function from B into C. Then G · f is a many sorted function from B · f into C · f.

Let I be a set, let A, B be many sorted sets indexed by [: I, I:], and let F be a many sorted function from A into B. Then F is a many sorted function from A into B.

We now state the proposition

(6) Let I_{1}, I_{2} be non empty sets, and let M be a many sorted set indexed by [: I_{1}, I_{2} :] and let o_{1} be an element of I_{1}, and let o_{2} be an element of I_{2}. Then ( M)(o_{2}, o_{1}) = M(o_{1}, o_{2}).

Let I_{1} be a set and let f, g be many sorted functions of I_{1} Then g ∘ f is a many sorted function of I_{1}.

2. An auxiliary notion

Let I, J be sets, let A be a many sorted set indexed by I, and let B be a many sorted set indexed by J. The predicate A ˙⊆ B is defined as follows:

(Def. 1) I ⊆ J and for arbitrary i such that i ∈ I holds A(i) ⊆ B(i). One can prove the following four propositions:

(7) For every set I and for every many sorted set A indexed by I holds A ˙⊆ A.

(8) Let I, J be sets, and let A be a many sorted set indexed by I, and let B be a many sorted set indexed by J. If A ˙⊆ B and B ˙⊆ A, then A = B.

(9) Let I, J, K be sets, and let A be a many sorted set indexed by I, and let B be a many sorted set indexed by J, and let C be a many sorted set indexed by K. If A ˙⊆ B and B ˙⊆ C, then A ˙⊆ C.

(10) Let I be a set, and let A be a many sorted set indexed by I, and let B be a many sorted set indexed by I. Then A ˙⊆ B if and only if A ⊆ B.

3. A bit of lambda calculus

In this article we present several logical schemes. The scheme OnSingletons deals with a non empty set A, a unary functor F yielding arbitrary, and a unary predicate P, and states that:

{⟨⟨o, F(o)⟩⟩ : o ranges over elements of A, P[o]} is a function for all values of the parameters.

The scheme DomOnSingletons deals with a non empty set A, a function B, a unary functor F yielding arbitrary, and a unary predicate P, and states that:

dom B = {o : o ranges over elements of A, P[o]} provided the following condition is satisfied:

• B = {⟨⟨o, F(o)⟩⟩ : o ranges over elements of A, P[o]}.

The scheme ValOnSingletons deals with a non empty set A, a function B, an element C of A, a unary functor F yielding arbitrary, and a unary predicate P, and states that:

B(C) = F(C) provided the following requirements are met:

• B = {⟨⟨o, F(o)⟩⟩ : o ranges over elements of A, P[o]},

• P[C].

4. More on old categories

The following propositions are true:

(11) For every category C and for all objects i, j, k of C holds [: hom(j, k), hom(i, j) :] ⊆ dom (the composition of C).

(12) For every category C and for all objects i, j, k of C holds (the compo-

sition of C)^{∘}[: hom(j, k), hom(i, j) :] ⊆ hom(i, k). Let C be a category structure. The functor HomSets_{C} yields a many sorted

set indexed by [: the objects of C, the objects of C:] and is defined as follows: (Def. 2) For all objects i, j of C holds HomSets_{C}(i, j) = hom(i, j).

The following proposition is true

(13) For every category C and for every object i of C holds id_{i} ∈ HomSets_{C}(i,

i). Let C be a category. The functor Composition_{C} yielding a binary composi-

tion of HomSets_{C} is defined by: (Def. 3) For all objects i, j, k of C holds Composition_{C}(i, j, k) = (the compo-

sition of C) [: HomSets_{C}(j, k), HomSets_{C}(i, j) :]. Next we state three propositions:

(14) Let C be a category and let i, j, k be objects of C Suppose hom(i, j) ≠ ∅ and hom(j, k) ≠ ∅. Let f be a morphism from i to j and let g be a morphism from j to k. Then Composition_{C}(i, j, k)(g, f) = g · f.

(15) For every category C holds Composition_{C} is associative.

(16) For every category C holds Composition_{C} has left units and right units.

5. Transforming an old category into a new one

Let C be a category. The functor Alter(C) yielding a strict non empty category structure is defined as follows:

(Def. 4) Alter(C) = ⟨the objects of C, HomSets_{C}, Composition_{C}⟩.

We now state three propositions:

(17) For every category C holds Alter(C) is associative.

(18) For every category C holds Alter(C) has units.

(19) For every category C holds Alter(C) is transitive.

Let C be a category. Then Alter(C) is a strict category.

6. More on new categories

Let us note that there exists a graph which is non empty and strict. Let C be a graph. We say that C is reflexive if and only if:

(Def. 5) For arbitrary x such that x ∈ the carrier of C holds (the arrows of C)(x, x) ≠ ∅.

Let C be a non empty graph. Let us observe that C is reflexive if and only if:

(Def. 6) For every object o of C holds ⟨o, o⟩ ≠ ∅.

Let C be a non empty category structure. Observe that the carrier of C is non empty.

Let C be a non empty transitive category structure. Let us observe that C is associative if and only if the condition (Def. 7) is satisfied.

(Def. 7) Let o_{1}, o_{2}, o_{3}, o_{4} be objects of C and let f be a morphism from o_{1} to o_{2}, and let g be a morphism from o_{2} to o_{3}, and let h be a morphism from o_{3} to o_{4}. If ⟨o_{1}, o_{2}⟩ ≠ ∅ and ⟨o_{2}, o_{3}⟩ ≠ ∅ and ⟨o_{3}, o_{4}⟩ ≠ ∅, then (h · g) · f = h · (g · f).

Let C be a non empty category structure. Let us observe that C has units if and only if the condition (Def. 8) is satisfied.

(Def. 8) Let o be an object of C. Then (i) ⟨o, o⟩ ≠ ∅, and (ii) there exists a morphism i from o to o such that for every object o′ of

C and for every morphism m′ from o′ to o and for every morphism m′′ from o to o′ holds if ⟨o′, o⟩ ≠ ∅, then i · m′ = m′ and if ⟨o, o′⟩ ≠ ∅, then m′′ · i = m′′.

Let us observe that every non empty category structure which has units is reflexive.

One can check that there exists a graph which is non empty and reflexive. One can verify that there exists a category structure which is non empty and

reflexive.

7. The empty category

The strict category structure ∅_{CAT} is defined by: (Def. 9) The carrier of ∅_{CAT} is empty.

Let us note that ∅_{CAT} is empty. Let us mention that there exists a category structure which is empty and

strict.

Next we state the proposition

(20) For every empty strict category structure E holds E = ∅_{CAT} .

8. Subcategories

Let C be a category structure. A category structure is said to be a substructure of C if it satisfies the conditions (Def. 10).

(Def. 10) (i) The carrier of it ⊆ the carrier of C, (ii) the arrows of it ˙⊆ the arrows of C, and (iii) the composition of it ˙⊆ the composition of C. In the sequel C, C_{1}, C_{2}, C_{3} denote category structures. The following propositions are true:

(21) C is a substructure of C.

(22) If C_{1} is a substructure of C_{2} and C_{2} is a substructure of C_{3}, then C_{1} is a substructure of C_{3}.

(23) Let C_{1}, C_{2} be category structures. Suppose C_{1} is a substructure of C_{2} and C_{2} is a substructure of C_{1}. Then the category structure of C_{1} = the category structure of C_{2}.

Let C be a category structure. One can check that there exists a substructure of C which is strict.

Let C be a non empty category structure and let o be an object of C. The functor o yielding a strict substructure of C is defined by the conditions (Def. 11).

(Def. 11) (i) The carrier of o = {o}, (ii) the arrows of o = [⟨⟨o, o⟩⟩ ↦ ⟨o, o⟩], and (iii) the composition of o = ⟨⟨o, o, o⟩⟩⟼ . (the composition of C)(o, o, o). In the sequel C denotes a non empty category structure and o denotes an

object of C.

One can prove the following proposition

(24) For every object o′ of o holds o′ = o.

Let C be a non empty category structure and let o be an object of C. Observe that o is transitive and non empty.

Let C be a non empty category structure. One can verify that there exists a substructure of C which is transitive non empty and strict.

We now state the proposition

(25) Let C be a transitive non empty category structure and let D_{1}, D_{2} be transitive non empty substructures of C. Suppose the carrier of D_{1} ⊆ the carrier of D_{2} and the arrows of D_{1} ˙⊆ the arrows of D_{2}. Then D_{1} is a substructure of D_{2}.

Let C be a category structure and let D be a substructure of C. We say that D is full if and only if:

(Def. 12) The arrows of D = (the arrows of C) [: the carrier of D, the carrier of

D:]. Let C be a non empty category structure with units and let D be a substruc-

ture of C. We say that D is id-inheriting if and only if: (Def. 13) For every object o of D and for every object o′ of C such that o = o′

holds id_{o′} ∈ ⟨o, o⟩. Let C be a category structure. One can verify that there exists a substructure

of C which is full and strict.

Let C be a non empty category structure. Observe that there exists a substructure of C which is full non empty and strict.

Let C be a category and let o be an object of C. Note that o is full and id-inheriting.

Let C be a category. One can verify that there exists a substructure of C which is full id-inheriting non empty and strict.

In the sequel C is a non empty transitive category structure. The following propositions are true:

(26) Let D be a substructure of C. Suppose the carrier of D = the carrier of C and the arrows of D = the arrows of C. Then the category structure of D = the category structure of C.

(27) Let D_{1}, D_{2} be non empty transitive substructures of C. Suppose the carrier of D_{1} = the carrier of D_{2} and the arrows of D_{1} = the arrows of D_{2}. Then the category structure of D_{1} = the category structure of D_{2}.

(28) Let D be a full substructure of C. Suppose the carrier of D = the carrier of C. Then the category structure of D = the category structure of C.

(29) Let C be a non empty category structure, and let D be a full non empty substructure of C, and let o_{1}, o_{2} be objects of C and let p_{1}, p_{2} be objects of D If o_{1} = p_{1} and o_{2} = p_{2}, then ⟨o_{1}, o_{2}⟩ = ⟨p_{1}, p_{2}⟩.

(30) For every non empty category structure C and for every non empty

substructure D of C holds every object of D is an object of C. Let C be a transitive non empty category structure. Note that every sub-

structure of C which is full and non empty is also transitive. The following propositions are true:

(31) Let D_{1}, D_{2} be full non empty substructures of C. Suppose the carrier of D_{1} = the carrier of D_{2}. Then the category structure of D_{1} = the category structure of D_{2}.

(32) Let C be a non empty category structure, and let D be a non empty substructure of C, and let o_{1}, o_{2} be objects of C and let p_{1}, p_{2} be objects of D If o_{1} = p_{1} and o_{2} = p_{2}, then ⟨p_{1}, p_{2}⟩ ⊆ ⟨o_{1}, o_{2}⟩.

(33) Let C be a non empty transitive category structure, and let D be a non empty transitive substructure of C, and let p_{1}, p_{2}, p_{3} be objects of D Suppose ⟨p_{1}, p_{2}⟩ ≠ ∅ and ⟨p_{2}, p_{3}⟩ ≠ ∅. Let o_{1}, o_{2}, o_{3} be objects of C Suppose o_{1} = p_{1} and o_{2} = p_{2} and o_{3} = p_{3}. Let f be a morphism from o_{1} to o_{2}, and let g be a morphism from o_{2} to o_{3}, and let f_{1} be a morphism from p_{1} to p_{2}, and let g_{1} be a morphism from p_{2} to p_{3}. If f = f_{1} and g = g_{1}, then g · f = g_{1} · f_{1}.

Let C be an associative transitive non empty category structure. Note that every non empty substructure of C which is transitive is also associative.

One can prove the following proposition

(34) Let C be a non empty category structure, and let D be a non empty substructure of C, and let o_{1}, o_{2} be objects of C and let p_{1}, p_{2} be objects of D If o_{1} = p_{1} and o_{2} = p_{2} and ⟨p_{1}, p_{2}⟩ ≠ ∅, then every morphism from p_{1} to p_{2} is a morphism from o_{1} to o_{2}.

Let C be a transitive non empty category structure with units. Note that every non empty substructure of C which is id-inheriting and transitive has units.

Let C be a category. Note that there exists a non empty substructure of C which is id-inheriting and transitive.

Let C be a category. A subcategory of C is an id-inheriting transitive substructure of C.

We now state the proposition

(35) Let C be a category, and let D be a non empty subcategory of C, and let o be an object of D, and let o′ be an object of C. If o = o′, then id_{o} = id_{o′} .

References

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

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

[3] Czesław Byliński. Cartesian categories. Formalized Mathematics, 3(2):161–169, 1992.

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

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

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

[7] Czesław Byliński. Introduction to categories and functors. Formalized Mathematics, 1(2):409–420, 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. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

[10] Artur Korniłowicz. On the group of automorphisms of universal algebra & many sorted algebra. Formalized Mathematics, 5(2):221–226, 1996.

[11] Małgorzata Korolkiewicz. Homomorphisms of many sorted algebras. Formalized Mathematics, 5(1):61–65, 1996.

[12] Beata Madras. Product of family of universal algebras. Formalized Mathematics, 4(1):103–108, 1993.

[13] Michał Muzalewski and Wojciech Skaba. Three-argument operations and four-argument operations. Formalized Mathematics, 2(2):221–224, 1991.

[14] Andrzej Trybulec. Categories without uniqueness of cod and dom. Formalized Mathematics, 5(2):259–267, 1996.

[15] Andrzej Trybulec. Many sorted algebras. Formalized Mathematics, 5(1):37–42, 1996.

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

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

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

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

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

On the Category of Posets

Adam Grabowski Warsaw University Białystok

Summary. In the paper the construction of a category of partially ordered sets is shown: in the second section according to [8] and in the third section according to the definition given in [15]. Some of useful notions such as monotone map and the set of monotone maps between relational structures are given.

MML Identifier: ORDERS 3.

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

1. Preliminaries

Let I_{1} be a relation structure. We say that I_{1} is discrete if and only if: (Def. 1) The internal relation of I_{1} = △_{_{the} _{carrier} _{of} I_{1}}.

Let us mention that there exists a poset which is strict discrete and non empty and there exists a poset which is strict discrete and empty.

Let X be a set. Then △_{X} is an order in X.

Observe that ⟨∅, △_{∅}⟩ is empty. Let P be an empty relation structure. One can check that the internal relation of P is empty.

Let us mention that every relation structure which is empty is also discrete. Let P be a relation structure and let I_{1} be a subset of P. We say that I_{1} is

disconnected if and only if the condition (Def. 2) is satisfied. (Def. 2) There exist subsets A, B of P such that

(i) A ≠ ∅, (ii) B ≠ ∅, (iii) I_{1} = A ∪ B, (iv) A misses B, and

(v) the internal relation of P = (the internal relation of P) |^{2} (A) ∪ (the

internal relation of P) |^{2} (B). We introduce I_{1} is connected as an antonym of I_{1} is disconnected.

Let I_{1} be a non empty relation structure. We say that I_{1} is disconnected if and only if:

(Def. 3) Ω_{(I_{1})} is disconnected.

We introduce I_{1} is connected as an antonym of I_{1} is disconnected.

In the sequel T will denote a non empty relation structure and a will denote an element of T.

One can prove the following propositions:

(1) For every discrete non empty relation structure D_{1} and for all elements x, y of D_{1} holds x ≤ y iff x = y.

(2) For every binary relation R and for arbitrary a such that R is an order in {a} holds R = △_{{a}}.

(3) If T is reflexive and Ω_{T} = {a}, then T is discrete. In the sequel a will be arbitrary. One can prove the following two propositions:

(4) If Ω_{T} = {a}, then T is connected.

(5) For every discrete non empty poset D_{1} such that there exist elements a, b of D_{1} such that a ≠ b holds D_{1} is disconnected.

One can check that there exists a non empty poset which is strict and connected and there exists a non empty poset which is strict disconnected and discrete.

2. On the Category of Posets

Let I_{1} be a set. We say that I_{1} is poset-membered if and only if: (Def. 4) For arbitrary a such that a ∈ I_{1} holds a is a non empty poset.

One can check that there exists a set which is non empty and poset-membered. A set of posets is a poset-membered set. Let P be a non empty set of posets. We see that the element of P is a non

empty poset.

Let L_{1}, L_{2} be relation structures and let f be a map from L_{1} into L_{2}. We say that f is monotone if and only if:

(Def. 5) For all elements x, y of L_{1} such that x ≤ y and for all elements a, b of

L_{2} such that a = f(x) and b = f(y) holds a ≤ b. In the sequel P will denote a non empty set of posets and A, B will denote

elements of P.

Let A, B be relation structures. The functor B_{≤}^{A} is defined by the condition (Def. 6).

(Def. 6) a ∈ B_{≤}^{A} if and only if there exists a map f from A into B such that

a = f and f ∈ (the carrier of B)^{the carrier of A} and f is monotone. The following propositions are true:

(6) For all non empty relation structures A, B, C and for all functions f, g such that f ∈ B_{≤}^{A} and g ∈ C_{≤}^{B} holds g · f ∈ C_{≤}^{A}.

(7) id_{(the carrier of T)} ∈ T_{≤}^{T} . Let us consider T. Observe that T_{≤}^{T} is non empty. Let X be a set. The functor Carr(X) yields a set and is defined by:

(Def. 7) a ∈ Carr(X) iff there exists a 1-sorted structure s such that s ∈ X and

a = the carrier of s. Let us consider P. Observe that Carr(P) is non empty. The following propositions are true:

(8) For every 1-sorted structure f holds Carr({f}) = {the carrier of f}.

(9) For all 1-sorted structures f, g holds Carr({f, g}) = {the carrier of f, the carrier of g}.

(10) B_{≤}^{A} ⊆ Funcs Carr(P).

(11) For all relation structures A, B holds B_{≤}^{A} ⊆ (the carrier of

B)^{the carrier of A}. Let A, B be non empty poset. Observe that B_{≤}^{A} is functional. Let P be a non empty set of posets. The functor POSCat(P) yielding a strict

category with triple-like morphisms is defined by the conditions (Def. 8). (Def. 8) (i) The objects of POSCat(P) = P,

(ii) for all elements a, b of P and for every element f of Funcs Carr(P)

such that f ∈ b_{≤}^{a} holds ⟨⟨⟨⟨a, b⟩⟩, f⟩⟩ is a morphism of POSCat(P), (iii) for every morphism m of POSCat(P) there exist elements a, b of P

and there exists an element f of Funcs Carr(P) such that m = ⟨⟨⟨⟨a, b⟩⟩, f⟩⟩ and f ∈ b_{≤}^{a}, and

(iv) for all morphisms m_{1}, m_{2} of POSCat(P) and for all elements a_{1}, a_{2}, a_{3} of P and for all elements f_{1}, f_{2} of Funcs Carr(P) such that m_{1} = ⟨⟨⟨⟨a_{1}, a_{2}⟩⟩, f_{1}⟩⟩ and m_{2} = ⟨⟨⟨⟨a_{2}, a_{3}⟩⟩, f_{2}⟩⟩ holds m_{2} · m_{1} = ⟨⟨⟨⟨a_{1}, a_{3}⟩⟩, f_{2} · f_{1}⟩⟩.

3. On the Alternative Category of Posets

In this article we present several logical schemes. The scheme AltCatEx concerns a non empty set A and a binary functor F yielding a functional set, and states that:

There exists a strict category structure C such that

(i) the carrier of C = A, and (ii) for all elements i, j of A holds (the arrows of C)(i, j) = F(i, j) and for all elements i, j, k of A holds (the composition of C)(i, j,

k) = FuncComp(F(i, j), F(j, k)) provided the following condition is met:

• For all elements i, j, k of A and for all functions f, g such that f ∈ F(i, j) and g ∈ F(j, k) holds g · f ∈ F(i, k).

The scheme AltCatUniq deals with a non empty set A and a binary functor F yielding a functional set, and states that:

Let C_{1}, C_{2} be strict category structures. Suppose that

(i) the carrier of C_{1} = A, (ii) for all elements i, j of A holds (the arrows of C_{1})(i, j) = F(i, j) and for all elements i, j, k of A holds (the composition of C_{1})(i, j, k) = FuncComp(F(i, j), F(j, k)), (iii) the carrier of C_{2} = A, and (iv) for all elements i, j of A holds (the arrows of C_{2})(i, j) = F(i, j) and for all elements i, j, k of A holds (the composition of C_{2})(i, j, k) = FuncComp(F(i, j), F(j, k)).

Then C_{1} = C_{2}

for all values of the parameters.

Let P be a non empty set of posets. The functor POSAltCat(P) yielding a strict category structure is defined by the conditions (Def. 9).

(Def. 9) (i) The carrier of POSAltCat(P) = P, and

(ii) for all elements i, j of P holds (the arrows of POSAltCat(P))(i, j) = j_{≤}^{i} and for all elements i, j, k of P holds (the composition of POSAltCat(P))(i, j, k) = FuncComp(j_{≤}^{i}, k_{≤}^{j}).

Let P be a non empty set of posets. One can verify that POSAltCat(P) is transitive and non empty.

Let P be a non empty set of posets. Observe that POSAltCat(P) is associative and has units.

One can prove the following proposition

(12) Let o_{1}, o_{2} be objects of POSAltCat(P) and let A, B be elements of P. If o_{1} = A and o_{2} = B, then ⟨o_{1}, o_{2}⟩ ⊆ (the carrier of B)^{the carrier of A}.

References

[1] Grzegorz Bancerek. Categorial categories and slice categories. Formalized Mathematics, 5(2):157–165, 1996.

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

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

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

[5] Czesław Byliński. Category Ens. Formalized Mathematics, 2(4):527–533, 1991.

[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. Introduction to categories and functors. Formalized Mathematics, 1(2):409–420, 1990.

[9] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53,

on the category of posets 505

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

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

[12] Beata Madras. Product of family of universal algebras. Formalized Mathematics, 4(1):103–108, 1993.

[13] Michał Muzalewski and Wojciech Skaba. Three-argument operations and four-argument operations. Formalized Mathematics, 2(2):221–224, 1991.

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

[15] Andrzej Trybulec. Categories without uniqueness of cod and dom. Formalized Mathematics, 5(2):259–267, 1996.

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

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

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

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

[20] Wojciech A. Trybulec. Partially ordered sets. Formalized Mathematics, 1(2):313–319, 1990.

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

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

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

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

506

An Extension of SCM

Andrzej Trybulec Warsaw University

Białystok Yatsuka Nakamura Shinshu University Nagano

Piotr Rudnicki University of Alberta Edmonton

MML Identifier: SCMFSA 1.

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

In this paper x will be arbitrary and k will denote a natural number.

The subset Data-Loc_{SCM_{FSA}} of is defined as follows: (Def. 1) Data-Loc_{SCM_{FSA}} = Data-Loc_{SCM}.

The subset Data^{∗}-Loc_{SCM_{FSA}} of is defined as follows: (Def. 2) Data^{∗}-Loc_{SCM_{FSA}} = \ .

The subset Instr-Loc_{SCM_{FSA}} of is defined as follows: (Def. 3) Instr-Loc_{SCM_{FSA}} = Instr-Loc_{SCM}.

One can check the following observations:

∗ Data^{∗}-Loc_{SCM_{FSA}} is non empty,

∗ Data-Loc_{SCM_{FSA}} is non empty, and

∗ Instr-Loc_{SCM_{FSA}} is non empty.

For simplicity we adopt the following convention: J, K are elements of _{13}, a is an element of Instr-Loc_{SCM_{FSA}}, b, c, c_{1} are elements of Data-Loc_{SCM_{FSA}}, and f, f_{1} are elements of Data^{∗}-Loc_{SCM_{FSA}}.

The subset Instr_{SCM_{FSA}} of [: _{13}, (⋃{ , ^{∗}} ∪ )^{∗} :] is defined by: (Def. 4) Instr_{SCM_{FSA}} = Instr_{SCM} ∪ {⟨⟨J, ⟨c, f, b⟩⟩⟩ : J ∈ {9, 10}} ∪ {⟨⟨K, ⟨c_{1}, f_{1}⟩⟩⟩ :

K ∈ {11, 12}}. The following two propositions are true:

(1) Instr_{SCM_{FSA}} = Instr_{SCM} ∪ {⟨⟨J, ⟨c, f, b⟩⟩⟩ : J ∈ {9, 10}} ∪ {⟨⟨K, ⟨c_{1}, f_{1}⟩⟩⟩ : K ∈ {11, 12}}.

(2) Instr_{SCM} ⊆ Instr_{SCM_{FSA}}.

Let us observe that Instr_{SCM_{FSA}} is non empty. Let I be an element of Instr_{SCM_{FSA}}. The functor InsCode(I) yielding a

natural number is defined by: (Def. 5) InsCode(I) = I_{1}.

The following two propositions are true:

(3) For every element I of Instr_{SCM_{FSA}} such that InsCode(I) ≤ 8 holds I ∈ Instr_{SCM}.

(4) ⟨⟨0, ε⟩⟩ ∈ Instr_{SCM_{FSA}}. The function OK_{SCM_{FSA}} from into { , ^{∗}}∪{Instr_{SCM_{FSA}}, Instr-Loc_{SCM_{FSA}}}

is defined by: (Def. 6) OK_{SCM_{FSA}} = ( ⟼ ^{∗})+·OK_{SCM}+·(Instr_{SCM}⟼ . Instr_{SCM_{FSA}}) ·

(OK_{SCM} Instr-Loc_{SCM}). One can prove the following propositions:

(5) OK_{SCM_{FSA}} = ( ⟼ ^{∗})+·OK_{SCM}+·(Instr_{SCM}⟼ . Instr_{SCM_{FSA}}) · (OK_{SCM} Instr-Loc_{SCM}).

(6) If x ∈ {9, 10}, then ⟨⟨x, ⟨c, f, b⟩⟩⟩ ∈ Instr_{SCM_{FSA}}.

(7) If x ∈ {11, 12}, then ⟨⟨x, ⟨c, f⟩⟩⟩ ∈ Instr_{SCM_{FSA}}.

(8) = {0} ∪ Data-Loc_{SCM_{FSA}} ∪ Data^{∗}-Loc_{SCM_{FSA}} ∪ Instr-Loc_{SCM_{FSA}}.

(9) OK_{SCM_{FSA}}(0) = Instr-Loc_{SCM_{FSA}}.

(10) OK_{SCM_{FSA}}(b) = .

(11) OK_{SCM_{FSA}}(a) = Instr_{SCM_{FSA}}.

(12) OK_{SCM_{FSA}}(f) = ^{∗}.

(13) Instr-Loc_{SCM_{FSA}} ≠ and Instr_{SCM_{FSA}} ≠ and Instr-Loc_{SCM_{FSA}} ≠ Instr_{SCM_{FSA}} and Instr-Loc_{SCM_{FSA}} ≠ ^{∗} and Instr_{SCM_{FSA}} ≠ ^{∗}.

(14) For every integer i such that OK_{SCM_{FSA}}(i) = Instr-Loc_{SCM_{FSA}} holds i = 0.

(15) For every integer i such that OK_{SCM_{FSA}}(i) = holds i ∈ Data-Loc_{SCM_{FSA}}.

(16) For every integer i such that OK_{SCM_{FSA}}(i) = Instr_{SCM_{FSA}} holds i ∈ Instr-Loc_{SCM_{FSA}}.

(17) For every integer i such that OK_{SCM_{FSA}}(i) = ^{∗} holds i ∈

Data^{∗}-Loc_{SCM_{FSA}}. An SCM_{FSA}-state is an element of ∏(OK_{SCM_{FSA}}). Next we state two propositions:

(18) For every SCM_{FSA}-state s and for every element I of Instr_{SCM} holds s +·(Instr-Loc_{SCM} ⟼ I) is a state _{SCM} .

(19) For every SCM_{FSA}-state s and for every state _{SCM} s′ holds s+·s′+·s

Instr-Loc_{SCM_{FSA}} is an SCM_{FSA}-state. In the sequel s is an SCM_{FSA}-state. Let s be an SCM_{FSA}-state and let u be an element of Instr-Loc_{SCM_{FSA}}. The

functor Chg_{SCM_{FSA}}(s, u) yields an SCM_{FSA}-state and is defined as follows:

(Def. 7) Chg_{SCM_{FSA}}(s, u) = s+·(0⟼ . u).

Let s be an SCM_{FSA}-state, let t be an element of Data-Loc_{SCM_{FSA}}, and let u be an integer. The functor Chg_{SCM_{FSA}}(s, t, u) yielding an SCM_{FSA}-state is defined as follows:

(Def. 8) Chg_{SCM_{FSA}}(s, t, u) = s+·(t⟼ . u).

Let s be an SCM_{FSA}-state, let t be an element of Data^{∗}-Loc_{SCM_{FSA}}, and let u be a finite sequence of elements of The functor Chg_{SCM_{FSA}}(s, t, u) yielding an SCM_{FSA}-state is defined as follows:

(Def. 9) Chg_{SCM_{FSA}}(s, t, u) = s+·(t⟼ . u).

Let s be an SCM_{FSA}-state and let a be an element of Data-Loc_{SCM_{FSA}}. Then s(a) is an integer.

Let s be an SCM_{FSA}-state and let a be an element of Data^{∗}-Loc_{SCM_{FSA}}. Then s(a) is a finite sequence of elements of .

Let x be an element of Instr_{SCM_{FSA}}. Let us assume that there exist c, f, b, J such that x = ⟨⟨J, ⟨c, f, b⟩⟩⟩. The functor x int-addr_{1} yielding an element of Data-Loc_{SCM_{FSA}} is defined by:

(Def. 10) There exist c, f, b such that ⟨c, f, b⟩ = x_{2} and x int-addr_{1} = c. The functor x int-addr_{2} yielding an element of Data-Loc_{SCM_{FSA}} is defined as follows:

(Def. 11) There exist c, f, b such that ⟨c, f, b⟩ = x_{2} and x int-addr_{2} = b. The functor x coll-addr_{1} yields an element of Data^{∗}-Loc_{SCM_{FSA}} and is defined as follows:

(Def. 12) There exist c, f, b such that ⟨c, f, b⟩ = x_{2} and x coll-addr_{1} = f.

Let x be an element of Instr_{SCM_{FSA}}. Let us assume that there exist c, f, J such that x = ⟨⟨J, ⟨c, f⟩⟩⟩. The functor x int-addr_{3} yielding an element of Data-Loc_{SCM_{FSA}} is defined as follows:

(Def. 13) There exist c, f such that ⟨c, f⟩ = x_{2} and x int-addr_{3} = c. The functor x coll-addr_{2} yields an element of Data^{∗}-Loc_{SCM_{FSA}} and is defined as follows:

(Def. 14) There exist c, f such that ⟨c, f⟩ = x_{2} and x coll-addr_{2} = f.

Let l be an element of Instr-Loc_{SCM_{FSA}}. The functor Next(l) yielding an element of Instr-Loc_{SCM_{FSA}} is defined as follows:

(Def. 15) There exists an element L of Instr-Loc_{SCM} such that L = l and

Next(l) = Next(L). Let s be an SCM_{FSA}-state. The functor IC_{s} yielding an element of Instr-Loc_{SCM_{FSA}} is defined by:

(Def. 16) IC_{s} = s(0).

Let x be an element of Instr_{SCM_{FSA}} and let s be an SCM_{FSA}-state. The functor Exec-Res_{SCM_{FSA}}(x, s) yielding an SCM_{FSA}-state is defined by:

(Def. 17) (i) There exists an element x′ of Instr_{SCM} and there exists a state _{SCM} s′ such that x = x′ and s′ = s +·(Instr-Loc_{SCM} ⟼ x′) and Exec-Res_{SCM_{FSA}}(x, s) = s+·Exec-Res_{SCM}(x′, s′)+·s Instr-Loc_{SCM_{FSA}} if InsCode(x) ≤ 8,

(ii) there exists an integer i and there exists k such that k = |s(x int-addr_{2})| and i = π_{k}s(x coll-addr_{1}) and Exec-Res_{SCM_{FSA}}(x, s) = Chg_{SCM_{FSA}}(Chg_{SCM_{FSA}}(s, x int-addr_{1}, i), Next(IC_{s})) if InsCode(x) = 9,

(iii) there exists a finite sequence f of elements of and there exists k such that k = |s(x int-addr_{2})| and f = s(x coll-addr_{1}) +· (k, s(x int-addr_{1})) and Exec-Res_{SCM_{FSA}}(x, s) = Chg_{SCM_{FSA}}(Chg_{SCM_{FSA}}(s, x coll-addr_{1}, f), Next(IC_{s})) if InsCode(x) = 10,

(iv) Exec-Res_{SCM_{FSA}}(x, s) = Chg_{SCM_{FSA}}(Chg_{SCM_{FSA}}(s, x int-addr_{3},

len s(x coll-addr_{2})), Next(IC_{s})) if InsCode(x) = 11,

(v) there exists a finite sequence f of elements of and there exists k such that k = |s(x int-addr_{3})| and f = k ↦ 0 and Exec-Res_{SCM_{FSA}}(x, s) = Chg_{SCM_{FSA}}(Chg_{SCM_{FSA}}(s, x coll-addr_{2}, f), Next(IC_{s})) if InsCode(x) = 12,

(vi) Exec-Res_{SCM_{FSA}}(x, s) = s, otherwise.

The function Exec_{SCM_{FSA}} from Instr_{SCM_{FSA}} into (∏(OK_{SCM_{FSA}}))^{∏(OK_{SCM_{FSA}})} is defined by:

(Def. 18) For every element x of Instr_{SCM_{FSA}} and for every SCM_{FSA}-state y holds (Exec_{SCM_{FSA}}(x) qua element of (∏(OK_{SCM_{FSA}}))^{∏(OK_{SCM_{FSA}})})(y) = Exec-Res_{SCM_{FSA}}(x, y).

One can prove the following propositions:

(20) For every SCM_{FSA}-state s and for every element u of Instr-Loc_{SCM_{FSA}} holds (Chg_{SCM_{FSA}}(s, u))(0) = u.

(21) For every SCM_{FSA}-state s and for every element u of Instr-Loc_{SCM_{FSA}} and for every element m_{1} of Data-Loc_{SCM_{FSA}} holds (Chg_{SCM_{FSA}}(s, u))(m_{1}) = s(m_{1}).

(22) For every SCM_{FSA}-state s and for every element u of Instr-Loc_{SCM_{FSA}} and for every element p of Data^{∗}-Loc_{SCM_{FSA}} holds (Chg_{SCM_{FSA}}(s, u))(p) = s(p).

(23) For every SCM_{FSA}-state s and for all elements u, v of Instr-Loc_{SCM_{FSA}} holds (Chg_{SCM_{FSA}}(s, u))(v) = s(v).

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

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

(26) Let s be an SCM_{FSA}-state, and let t be an element of Data-Loc_{SCM_{FSA}}, and let u be an integer, and let m_{1} be an element of Data-Loc_{SCM_{FSA}}. If m_{1} ≠ t, then (Chg_{SCM_{FSA}}(s, t, u))(m_{1}) = s(m_{1}).

(27) Let s be an SCM_{FSA}-state, and let t be an element of Data-Loc_{SCM_{FSA}}, and let u be an integer, and let f be an element of Data^{∗}-Loc_{SCM_{FSA}}. Then (Chg_{SCM_{FSA}}(s, t, u))(f) = s(f).

an extension of SCM 511

(28) Let s be an SCM_{FSA}-state, and let t be an element of Data-Loc_{SCM_{FSA}}, and let u be an integer, and let v be an element of Instr-Loc_{SCM_{FSA}}. Then (Chg_{SCM_{FSA}}(s, t, u))(v) = s(v).

(29) Let s be an SCM_{FSA}-state, and let t be an element of Data^{∗}-Loc_{SCM_{FSA}}, and let u be a finite sequence of elements of . Then (Chg_{SCM_{FSA}}(s, t, u))(t) = u.

(30) Let s be an SCM_{FSA}-state, and let t be an element of Data^{∗}-Loc_{SCM_{FSA}}, and let u be a finite sequence of elements of , and let m_{1} be an element of Data^{∗}-Loc_{SCM_{FSA}}. If m_{1} ≠ t, then (Chg_{SCM_{FSA}}(s, t, u))(m_{1}) = s(m_{1}).

(31) Let s be an SCM_{FSA}-state, and let t be an element of Data^{∗}-Loc_{SCM_{FSA}}, and let u be a finite sequence of elements of , and let a be an element of Data-Loc_{SCM_{FSA}}. Then (Chg_{SCM_{FSA}}(s, t, u))(a) = s(a).

(32) Let s be an SCM_{FSA}-state, and let t be an element of Data^{∗}-Loc_{SCM_{FSA}}, and let u be a finite sequence of elements of , and let v be an element of Instr-Loc_{SCM_{FSA}}. Then (Chg_{SCM_{FSA}}(s, t, u))(v) = s(v).

References

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

[2] Grzegorz Bancerek. The reflection theorem. Formalized Mathematics, 1(5):973–977, 1990.

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

[4] Grzegorz Bancerek and Andrzej Trybulec. Miscellaneous facts about functions. Formalized Mathematics, 5(4):485–492, 1996.

[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. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

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

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

[12] Yatsuka Nakamura and Andrzej Trybulec. A mathematical model of CPU. Formalized Mathematics, 3(2):151–160, 1992.

[13] Yatsuka Nakamura and Andrzej Trybulec. On a mathematical model of programs. Formalized Mathematics, 3(2):241–250, 1992.

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

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

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

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

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

512 andrzej trybulec et al.

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

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

[21] Andrzej Trybulec and Yatsuka Nakamura. Some remarks on the simple concrete model of computer. Formalized Mathematics, 4(1):51–56, 1993.

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

[23] Wojciech A. Trybulec. Binary operations on finite sequences. Formalized Mathematics, 1(5):979–981, 1990.

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

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

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

Components and Unions of Components

Yatsuka Nakamura Shinshu University Nagano Andrzej Trybulec Warsaw University Białystok

Summary. First, we generalized skl function for a subset of topological spaces the value of which is the component including the set. Second, we introduced a concept of union of components a family of which has good algebraic properties. At the end, we discuss relationship between connectivity of a set as a subset in the whole space and as a subset of a subspace.

MML Identifier: CONNSP 3.

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

1. The Component of a Subset in a Topological Space

In this paper G_{1} will denote a non empty topological space and V, A will denote subsets of the carrier of G_{1}.

Let G_{1} be a non empty topological structure and let V be a subset of the carrier of G_{1}. The functor Component(V) yields a subset of the carrier of G_{1} and is defined by the condition (Def. 1).

(Def. 1) There exists a family F of subsets of G_{1} such that for every subset A of the carrier of G_{1} holds A ∈ F iff A is connected and V ⊆ A and ⋃ F = Component(V).

One can prove the following propositions:

(1) If there exists A such that A is connected and V ⊆ A, then V ⊆ Component(V).

(2) If it is not true that there exists A such that A is connected and V ⊆ A, then Component(V) = ∅.

(3) Component(∅_{(G_{1})}) = the carrier of G_{1}.

(4) For every subset V of the carrier of G_{1} such that V is connected holds Component(V) ≠ ∅.

(5) For every subset V of the carrier of G_{1} such that V is connected and V ≠ ∅ holds Component(V) is connected.

(6) For all subsets V, C of the carrier of G_{1} such that V is connected and C is connected holds if Component(V) ⊆ C, then C = Component(V).

(7) For every subset A of the carrier of G_{1} such that A is a component of G_{1} holds Component(A) = A.

(8) Let A be a subset of the carrier of G_{1}. Then A is a component of G_{1} if and only if there exists a subset V of the carrier of G_{1} such that V is connected and V ≠ ∅ and A = Component(V).

(9) For every subset V of the carrier of G_{1} such that V is connected and V ≠ ∅ holds Component(V) is a component of G_{1}.

(10) If A is a component of G_{1} and V is connected and V ⊆ A and V ≠ ∅, then A = Component(V).

(11) For every subset V of the carrier of G_{1} such that V is connected and V ≠ ∅ holds Component(Component(V)) = Component(V).

(12) Let A, B be subsets of the carrier of G_{1}. If A is connected and B is connected and A ≠ ∅ and A ⊆ B, then Component(A) = Component(B).

(13) For all subsets A, B of the carrier of G_{1} such that A is connected and B is connected and A ≠ ∅ and A ⊆ B holds B ⊆ Component(A).

(14) For all subsets A, B of the carrier of G_{1} such that A is connected and A ∪ B is connected and A ≠ ∅ holds A ∪ B ⊆ Component(A).

(15) For every subset A of the carrier of G_{1} and for every point p of G_{1} such that A is connected and p ∈ A holds Component(p) = Component(A).

(16) Let A, B be subsets of the carrier of G_{1}. Suppose A is connected and B is connected and A ∩ B ≠ ∅. Then A ∪ B ⊆ Component(A) and A ∪ B ⊆ Component(B) and A ⊆ Component(B) and B ⊆ Component(A).

(17) For every subset A of the carrier of G_{1} such that A is connected and A ≠ ∅ holds \overline{A} ⊆ Component(A).

(18) Let A, B be subsets of the carrier of G_{1}. Suppose A is a component of G_{1} and B is connected and B ≠ ∅ and A∩B = ∅. Then A∩Component(B) = ∅.

2. On Unions of Components

Let G_{1} be a non empty topological structure. A subset of the carrier of G_{1} is called a union of components of G_{1} if it satisfies the condition (Def. 2).

(Def. 2) There exists a family F of subsets of G_{1} such that for every subset B of the carrier of G_{1} such that B ∈ F holds B is a component of G_{1} and it = ⋃ F.

The following propositions are true:

(19) ∅_{(G_{1})} is a union of components of G_{1}.

(20) Let A be a subset of the carrier of G_{1}. If A = the carrier of G_{1}, then A is a union of components of G_{1}.

(21) Let A be a subset of the carrier of G_{1} and let p be a point of G_{1}. If p ∈ A and A is a union of components of G_{1}, then Component(p) ⊆ A.

(22) Let A, B be subsets of the carrier of G_{1}. Suppose A is a union of components of G_{1} and B is a union of components of G_{1}. Then A ∪ B is a union of components of G_{1} and A ∩ B is a union of components of G_{1}

(23) Let F_{1} be a family of subsets of G_{1}. Suppose that for every subset A of the carrier of G_{1} such that A ∈ F_{1} holds A is a union of components of G_{1}. Then ⋃ F_{1} is a union of components of G_{1}.

(24) Let F_{1} be a family of subsets of G_{1}. Suppose that for every subset A of the carrier of G_{1} such that A ∈ F_{1} holds A is a union of components of G_{1}. Then ⋂ F_{1} is a union of components of G_{1}.

(25) Let A, B be subsets of the carrier of G_{1}. Suppose A is a union of components of G_{1} and B is a union of components of G_{1}. Then A \ B is a union of components of G_{1}.

3. Operations Down and Up

Let us consider G_{1}, let B be a subset of the carrier of G_{1}, and let p be a point of G_{1}. Let us assume that p ∈ B. The functor Down(p, B) yielding a point of G_{1} B is defined by:

(Def. 3) Down(p, B) = p.

Let us consider G_{1}, let B be a subset of the carrier of G_{1}, and let p be a point of G_{1} B. Let us assume that B ≠ ∅. The functor Up(p) yielding a point of G_{1} is defined as follows:

(Def. 4) Up(p) = p.

Let us consider G_{1} and let V, B be subsets of the carrier of G_{1}. Let us assume that B ≠ ∅. The functor Down(V, B) yields a subset of the carrier of G_{1} B and is defined by:

(Def. 5) Down(V, B) = V ∩ B.

Let us consider G_{1}, let B be a subset of the carrier of G_{1}, and let V be a subset of the carrier of G_{1} B. Let us assume that B ≠ ∅. The functor Up(V) yielding a subset of the carrier of G_{1} is defined as follows:

(Def. 6) Up(V) = V.

Let us consider G_{1}, let B be a subset of the carrier of G_{1}, and let p be a point of G_{1}. Let us assume that p ∈ B. The functor skl(p, B) yields a subset of the carrier of G_{1} and is defined as follows:

(Def. 7) For every point q of G_{1} B such that q = p holds skl(p, B) = Component(q).

The following propositions are true:

(26) For every subset B of the carrier of G_{1} and for every point p of G_{1} such that p ∈ B holds skl(p, B) ≠ ∅.

(27) For every subset B of the carrier of G_{1} and for every point p of G_{1} such that p ∈ B holds skl(p, B) = Component(Down(p, B)).

(28) For all subsets V, B of the carrier of G_{1} such that B ≠ ∅ and V ⊆ B holds Down(V, B) = V.

(29) For all subsets V, B of the carrier of G_{1} such that B ≠ ∅ and V is open holds Down(V, B) is open.

(30) For all subsets V, B of the carrier of G_{1} such that B ≠ ∅ and V ⊆ B holds \overline{Down(V, B)} = \overline{V} ∩ B.

(31) Let B be a subset of the carrier of G_{1} and let V be a subset of the carrier of G_{1} B.If B ≠ ∅, then \overline{V} = \overline{Up(V)} ∩ B.

(32) For all subsets V, B of the carrier of G_{1} such that B ≠ ∅ and V ⊆ B holds \overline{Down(V, B)} ⊆ \overline{V} .

(33) Let B be a subset of the carrier of G_{1} and let V be a subset of the carrier of G_{1} B.If B ≠ ∅ and V ⊆ B, then Down(Up(V), B) = V.

(34) Let V, B be subsets of the carrier of G_{1} and let W be a subset of the carrier of G_{1} B.If V = W and V ≠ ∅ and B ≠ ∅ and W is connected, then V is connected.

(35) For every subset B of the carrier of G_{1} and for every point p of G_{1} such that p ∈ B holds skl(p, B) is connected.

References

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

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

[3] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

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

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

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

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

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

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

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

components and unions of components 517

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

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

518

The SCM_{FSA} Computer

Andrzej Trybulec Warsaw University

Białystok Yatsuka Nakamura Shinshu University Nagano

Piotr Rudnicki University of Alberta Edmonton

MML Identifier: SCMFSA 2.

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

1. Preliminaries

One can prove the following propositions:

(1) Let N be a non empty set with non empty elements and let S be a von Neumann definite realistic AMI over N. Then IC_{S} ∉ the instruction locations of S.

(2) Let N be a non empty set with non empty elements, and let S be a definite AMI over N, and let s be a state of S, and let i be an instructionlocation of S. Then s(i) is an instruction of S.

(3) Let N be a non empty set with non empty elements, and let S be an AMI over N, and let s be a state of S. Then the instruction locations of S ⊆ dom s.

(4) Let N be a non empty set with non empty elements, and let S be a von Neumann AMI over N, and let s be a state of S. Then IC_{s} ∈ dom s.

(5) Let N be a non empty set with non empty elements, and let S be an AMI over N, and let s be a state of S, and let l be an instruction-location of S. Then l ∈ dom s.

2. The SCM_{FSA} Computer

The strict AMI SCM_{FSA} over { , ^{∗}} is defined by: (Def. 1) SCM_{FSA} = ⟨ , 0(∈ ), Instr-Loc_{SCM_{FSA}}, _{13}, 0(∈ _{13}), Instr_{SCM_{FSA}},

OK_{SCM_{FSA}}, Exec_{SCM_{FSA}}⟩. We now state two propositions:

(6) (i) The instruction locations of SCM_{FSA} ≠ , (ii) the instructions of SCM_{FSA} ≠ , (iii) the instruction locations of SCM_{FSA} ≠ the instructions of SCM_{FSA}, (iv) the instruction locations of SCM_{FSA} ≠ ^{∗}, and

(v) the instructions of SCM_{FSA} ≠ ^{∗}.

(7) IC_{SCM_{FSA}} = 0.

3. The Memory Structure

In the sequel k, k_{1}, k_{2} denote natural numbers. The subset Int-Locations of the objects of SCM_{FSA} is defined by:

(Def. 2) Int-Locations = Data-Loc_{SCM_{FSA}}.

The subset FinSeq-Locations of the objects of SCM_{FSA} is defined by: (Def. 3) FinSeq-Locations = Data^{∗}-Loc_{SCM_{FSA}}.

The following proposition is true

(8) The objects of SCM_{FSA} = Int-Locations ∪ FinSeq-Locations ∪ {IC_{SCM_{FSA}}} ∪ the instruction locations of SCM_{FSA}.

An object of SCM_{FSA} is called an integer location if: (Def. 4) It ∈ Data-Loc_{SCM_{FSA}}.

An object of SCM_{FSA} is said to be a finite sequence location if: (Def. 5) It ∈ Data^{∗}-Loc_{SCM_{FSA}}.

In the sequel d_{1} denotes an integer location, f_{1} denotes a finite sequence location, and x is arbitrary.

We now state several propositions:

(9) d_{1} ∈ Int-Locations .

(10) f_{1} ∈ FinSeq-Locations .

(11) If x ∈ Int-Locations, then x is an integer location.

(12) If x ∈ FinSeq-Locations, then x is a finite sequence location.

(13) Int-Locations misses the instruction locations of SCM_{FSA}.

(14) FinSeq-Locations misses the instruction locations of SCM_{FSA}.

(15) Int-Locations misses FinSeq-Locations.

Let us consider k. The functor intloc(k) yields an integer location and is defined as follows:

(Def. 6) intloc(k) = d_{k}.

The functor insloc(k) yields an instruction-location of SCM_{FSA} and is defined by:

(Def. 7) insloc(k) = i_{k}.

The functor fsloc(k) yields a finite sequence location and is defined as follows: (Def. 8) fsloc(k) = −(k + 1).

One can prove the following propositions:

(16) For all k_{1}, k_{2} such that k_{1} ≠ k_{2} holds intloc(k_{1}) ≠ intloc(k_{2}).

(17) For all k_{1}, k_{2} such that k_{1} ≠ k_{2} holds fsloc(k_{1}) ≠ fsloc(k_{2}).

(18) For all k_{1}, k_{2} such that k_{1} ≠ k_{2} holds insloc(k_{1}) ≠ insloc(k_{2}).

(19) For every integer location d_{2} there exists a natural number i such that d_{2} = intloc(i).

(20) For every finite sequence location f_{2} there exists a natural number i such that f_{2} = fsloc(i).

(21) For every instruction-location i_{1} of SCM_{FSA} there exists a natural number i such that i_{1} = insloc(i).

(22) Int-Locations is infinite.

(23) FinSeq-Locations is infinite.

(24) The instruction locations of SCM_{FSA} is infinite.

(25) Every integer location is a data-location.

(26) For every integer location l holds ObjectKind(l) = .

(27) For every finite sequence location l holds ObjectKind(l) = ^{∗}.

(28) For arbitrary x such that x ∈ Data-Loc_{SCM_{FSA}} holds x is an integer location.

(29) For arbitrary x such that x ∈ Data^{∗}-Loc_{SCM_{FSA}} holds x is a finite sequence location.

(30) For arbitrary x such that x ∈ Instr-Loc_{SCM_{FSA}} holds x is an instruction-

location of SCM_{FSA}. Let l_{1} be an instruction-location of SCM_{FSA}. The functor Next(l_{1}) yields

an instruction-location of SCM_{FSA} and is defined by: (Def. 9) There exists an element m_{1} of Instr-Loc_{SCM_{FSA}} such that m_{1} = l_{1} and

Next(l_{1}) = Next(m_{1}). Next we state two propositions:

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

(32) Next(insloc(k)) = insloc(k + 1).

For simplicity we adopt the following convention: l_{2}, l_{3} are instructionslocations of SCM_{FSA}, L_{1} is an instruction-location of SCM, i is an instruction of SCM_{FSA}, I is an instruction of SCM, l is an instruction-location of SCM_{FSA}, f, f_{1}, g are finite sequence locations, A, B are data-locations, and a, b, c, d_{1}, d_{3} are integer locations.

We now state the proposition

(33) If l_{2} = L_{1}, then Next(l_{2}) = Next(L_{1}).

4. The Instruction Structure

Let I be an instruction of SCM_{FSA}. The functor InsCode(I) yielding a natural number is defined as follows:

(Def. 10) InsCode(I) = I_{1}.

The following propositions are true:

(34) For every instruction I of SCM_{FSA} such that InsCode(I) ≤ 8 holds I is an instruction of SCM.

(35) For every instruction I of SCM_{FSA} holds InsCode(I) ≤ 12.

(36) For every instruction i of SCM_{FSA} such that InsCode(i) = 0 holds i = halt_{SCM_{FSA}}.

(37) For every instruction i of SCM_{FSA} and for every instruction I of SCM such that i = I holds InsCode(i) = InsCode(I).

(38) Every instruction of SCM is an instruction of SCM_{FSA}.

Let us consider a, b. The functor a:=b yields an instruction of SCM_{FSA} and is defined as follows:

(Def. 11) There exist A, B such that a = A and b = B and a:=b = A:=B.

The functor AddTo(a, b) yields an instruction of SCM_{FSA} and is defined by: (Def. 12) There exist A, B such that a = A and b = B and AddTo(a, b) =

AddTo(A, B). The functor SubFrom(a, b) yields an instruction of SCM_{FSA} and is defined as follows:

(Def. 13) There exist A, B such that a = A and b = B and SubFrom(a, b) =

SubFrom(A, B). The functor MultBy(a, b) yields an instruction of SCM_{FSA} and is defined as follows:

(Def. 14) There exist A, B such that a = A and b = B and MultBy(a, b) =

MultBy(A, B). The functor Divide(a, b) yielding an instruction of SCM_{FSA} is defined as follows:

(Def. 15) There exist A, B such that a = A and b = B and Divide(a, b) =

Divide(A, B). We now state the proposition

(39) The instruction locations of SCM = the instruction locations of

SCM_{FSA}. Let us consider l_{2}. The functor goto l_{2} yields an instruction of SCM_{FSA} and

is defined as follows: (Def. 16) There exists L_{1} such that l_{2} = L_{1} and goto l_{2} = goto L_{1}.

Let us consider a. The functor if a = 0 goto l_{2} yields an instruction of SCM_{FSA} and is defined by:

(Def. 17) There exist A, L_{1} such that a = A and l_{2} = L_{1} and if a = 0 goto l_{2} =

if A = 0 goto L_{1}. The functor if a > 0 goto l_{2} yields an instruction of SCM_{FSA} and is defined as follows:

(Def. 18) There exist A, L_{1} such that a = A and l_{2} = L_{1} and if a > 0 goto l_{2} =

if A > 0 goto L_{1}. Let c, i be integer locations and let a be a finite sequence location. The

functor c:=a_{i} yielding an instruction of SCM_{FSA} is defined by: (Def. 19) c:=a_{i} = ⟨⟨9, ⟨c, a, i⟩⟩⟩.

The functor a_{i}:=c yielding an instruction of SCM_{FSA} is defined by: (Def. 20) a_{i}:=c = ⟨⟨10, ⟨c, a, i⟩⟩⟩.

Let i be an integer location and let a be a finite sequence location. The functor i:=lena yielding an instruction of SCM_{FSA} is defined as follows:

(Def. 21) i:=lena = ⟨⟨11, ⟨i, a⟩⟩⟩.

The functor a:=⟨\underbrace{0,…, 0}_{i}⟩ yields an instruction of SCM_{FSA} and is defined as

follows:

(Def. 22) a:=⟨\underbrace{0,…, 0}_{i}⟩ = ⟨⟨12, ⟨i, a⟩⟩⟩.

We now state a number of propositions:

(40) halt_{SCM} = halt_{SCM_{FSA}}.

(41) InsCode(halt_{SCM_{FSA}}) = 0.

(42) InsCode(a:=b) = 1.

(43) InsCode(AddTo(a, b)) = 2.

(44) InsCode(SubFrom(a, b)) = 3.

(45) InsCode(MultBy(a, b)) = 4.

(46) InsCode(Divide(a, b)) = 5.

(47) InsCode(goto l_{3}) = 6.

(48) InsCode(if a = 0 goto l_{3}) = 7.

(49) InsCode(if a > 0 goto l_{3}) = 8.

(50) InsCode(c:=f_{a}) = 9.

(51) InsCode(f_{a}:=c) = 10.

(52) InsCode(a:=lenf_{1}) = 11.

(53) InsCode(f_{1}:=⟨\underbrace{0,…, 0}_{a}⟩) = 12.

(54) For every instruction i_{2} of SCM_{FSA} such that InsCode(i_{2}) = 1 there exist d_{1}, d_{3} such that i_{2} = d_{1}:=d_{3}.

(55) For every instruction i_{2} of SCM_{FSA} such that InsCode(i_{2}) = 2 there exist d_{1}, d_{3} such that i_{2} = AddTo(d_{1}, d_{3}).

(56) For every instruction i_{2} of SCM_{FSA} such that InsCode(i_{2}) = 3 there exist d_{1}, d_{3} such that i_{2} = SubFrom(d_{1}, d_{3}).

(57) For every instruction i_{2} of SCM_{FSA} such that InsCode(i_{2}) = 4 there exist d_{1}, d_{3} such that i_{2} = MultBy(d_{1}, d_{3}).

(58) For every instruction i_{2} of SCM_{FSA} such that InsCode(i_{2}) = 5 there exist d_{1}, d_{3} such that i_{2} = Divide(d_{1}, d_{3}).

(59) For every instruction i_{2} of SCM_{FSA} such that InsCode(i_{2}) = 6 there exists l_{3} such that i_{2} = goto l_{3}.

(60) For every instruction i_{2} of SCM_{FSA} such that InsCode(i_{2}) = 7 there exist l_{3}, d_{1} such that i_{2} = if d_{1} = 0 goto l_{3}.

(61) For every instruction i_{2} of SCM_{FSA} such that InsCode(i_{2}) = 8 there exist l_{3}, d_{1} such that i_{2} = if d_{1} > 0 goto l_{3}.

(62) For every instruction i_{2} of SCM_{FSA} such that InsCode(i_{2}) = 9 there exist a, b, f_{1} such that i_{2} = b:=f_{1}_{a}.

(63) For every instruction i_{2} of SCM_{FSA} such that InsCode(i_{2}) = 10 there exist a, b, f_{1} such that i_{2} = f_{1}_{a}:=b.

(64) For every instruction i_{2} of SCM_{FSA} such that InsCode(i_{2}) = 11 there exist a, f_{1} such that i_{2} = a:=lenf_{1}.

(65) For every instruction i_{2} of SCM_{FSA} such that InsCode(i_{2}) = 12 there

exist a, f_{1} such that i_{2} = f_{1}:=⟨\underbrace{0,…, 0}_{a}⟩.

5. Relationship to SCM

In the sequel S denotes a state of SCM and s, s_{1} denote states of SCM_{FSA}. We now state a number of propositions:

(66) For every state s of SCM_{FSA} and for every integer location d holds d ∈ dom s.

(67) f ∈ dom s.

(68) f ∉ dom S.

(69) For every state s of SCM_{FSA} holds Int-Locations ⊆ dom s.

(70) For every state s of SCM_{FSA} holds FinSeq-Locations ⊆ dom s.

(71) For every state s of SCM_{FSA} holds dom(s Int-Locations) = Int-Locations .

(72) For every state s of SCM_{FSA} holds dom(s FinSeq-Locations) = FinSeq-Locations .

(73) For every state s of SCM_{FSA} and for every instruction i of SCM holds s +·(Instr-Loc_{SCM} ⟼ i) is a state of SCM.

(74) For every state s of SCM_{FSA} and for every state s′ of SCM holds s+·s′+·s Instr-Loc_{SCM_{FSA}} is a state of SCM_{FSA}.

(75) Let i be an instruction of SCM, and let i_{3} be an instruction of SCM_{FSA}, and let s be a state of SCM, and let s_{2} be a state of SCM_{FSA}. If i = i_{3} and s = s_{2} +·(Instr-Loc_{SCM} ⟼ i), then Exec(i_{3}, s_{2}) = s_{2}+·Exec(i, s)+·s_{2} Instr-Loc_{SCM_{FSA}}.

Let s be a state of SCM_{FSA} and let d be an integer location. Then s(d) is an integer.

Let s be a state of SCM_{FSA} and let d be a finite sequence location. Then s(d) is a finite sequence of elements of .

Next we state several propositions:

(76) If S = s +·(Instr-Loc_{SCM} ⟼ I), then s = s+·S+·s Instr-Loc_{SCM_{FSA}}.

(77) For every element I of Instr_{SCM_{FSA}} such that I = i and for every SCM_{FSA}-state S such that S = s holds Exec(i, s) = Exec-Res_{SCM_{FSA}}(I, S).

(78) If s_{1} = s+·S+·s Instr-Loc_{SCM_{FSA}}, then s_{1}(IC_{SCM_{FSA}}) = S(IC_{SCM}).

(79) If s_{1} = s+·S+·s Instr-Loc_{SCM_{FSA}} and A = a, then S(A) = s_{1}(a).

(80) If S = s +·(Instr-Loc_{SCM} ⟼ I) and A = a, then S(A) = s(a). Let us note that SCM_{FSA} is halting realistic von Neumann data-oriented

definite and steady-programmed.

The following propositions are true:

(81) For every integer location d_{2} holds d_{2} ≠ IC_{SCM_{FSA}}.

(82) For every finite sequence location d_{2} holds d_{2} ≠ IC_{SCM_{FSA}}.

(83) For every integer location i_{1} and for every finite sequence location d_{2} holds i_{1} ≠ d_{2}.

(84) For every instruction-location i_{1} of SCM_{FSA} and for every integer location d_{2} holds i_{1} ≠ d_{2}.

(85) For every instruction-location i_{1} of SCM_{FSA} and for every finite sequence location d_{2} holds i_{1} ≠ d_{2}.

(86) Let s_{1}, s_{3} be states of SCM_{FSA}. Suppose that (i) IC_{(s_{1})} = IC_{(s_{3})}, (ii) for every integer location a holds s_{1}(a) = s_{3}(a), (iii) for every finite sequence location f holds s_{1}(f) = s_{3}(f), and (iv) for every instruction-location i of SCM_{FSA} holds s_{1}(i) = s_{3}(i).

Then s_{1} = s_{3}.

(87) If S = s, then IC_{s} = IC_{S}.

(88) If S = s +·(Instr-Loc_{SCM} ⟼ I), then IC_{s} = IC_{S}.

6. Users Guide

One can prove the following propositions:

(89) (Exec(a:=b, s))(IC_{SCM_{FSA}}) = Next(IC_{s}) and (Exec(a:=b, s))(a) = s(b) and for every c such that c ≠ a holds (Exec(a:=b, s))(c) = s(c) and for every f holds (Exec(a:=b, s))(f) = s(f).

(90) (Exec(AddTo(a, b), s))(IC_{SCM_{FSA}}) = Next(IC_{s}) and (Exec(AddTo(a, b), s))(a) = s(a) + s(b) and for every c such that c ≠ a holds (Exec(AddTo(a, b), s))(c) = s(c) and for every f holds (Exec(AddTo(a, b), s))(f) = s(f).

(91) (Exec(SubFrom(a, b), s))(IC_{SCM_{FSA}}) = Next(IC_{s}) and (Exec(SubFrom(a, b), s))(a) = s(a) − s(b) and for every c such that c ≠ a holds (Exec(SubFrom(a, b), s))(c) = s(c) and for every f holds (Exec(SubFrom(a, b), s))(f) = s(f).

(92) (Exec(MultBy(a, b), s))(IC_{SCM_{FSA}}) = Next(IC_{s}) and (Exec(MultBy(a, b), s))(a) = s(a) · s(b) and for every c such that c ≠ a holds (Exec(MultBy(a, b), s))(c) = s(c) and for every f holds (Exec(MultBy(a, b), s))(f) = s(f).

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

s(c), and

(v) for every f holds (Exec(Divide(a, b), s))(f) = s(f).

(94) (Exec(Divide(a, a), s))(IC_{SCM_{FSA}}) = Next(IC_{s}) and (Exec(Divide(a, a), s))(a) = s(a) mod s(a) and for every c such that c ≠ a holds (Exec(Divide(a, a), s))(c) = s(c) and for every f holds (Exec(Divide(a, a), s))(f) = s(f).

(95) (Exec(goto l, s))(IC_{SCM_{FSA}}) = l and for every c holds (Exec(goto l, s)) (c) = s(c) and for every f holds (Exec(goto l, s))(f) = s(f).

(96) (i) If s(a) = 0, then (Exec(if a = 0 goto l, s))(IC_{SCM_{FSA}}) = l, (ii) if s(a) ≠ 0, then (Exec(if a = 0 goto l, s))(IC_{SCM_{FSA}}) = Next(IC_{s}), (iii) for every c holds (Exec(if a = 0 goto l, s))(c) = s(c), and (iv) for every f holds (Exec(if a = 0 goto l, s))(f) = s(f).

(97) (i) If s(a) > 0, then (Exec(if a > 0 goto l, s))(IC_{SCM_{FSA}}) = l, (ii) if s(a) ≤ 0, then (Exec(if a > 0 goto l, s))(IC_{SCM_{FSA}}) = Next(IC_{s}), (iii) for every c holds (Exec(if a > 0 goto l, s))(c) = s(c), and (iv) for every f holds (Exec(if a > 0 goto l, s))(f) = s(f).

(98) (i) (Exec(c:=g_{a}, s))(IC_{SCM_{FSA}}) = Next(IC_{s}), (ii) there exists k such that k = |s(a)| and (Exec(c:=g_{a}, s))(c) = π_{k}s(g), (iii) for every b such that b ≠ c holds (Exec(c:=g_{a}, s))(b) = s(b), and (iv) for every f holds (Exec(c:=g_{a}, s))(f) = s(f).

(99) (i) (Exec(g_{a}:=c, s))(IC_{SCM_{FSA}}) = Next(IC_{s}),

(ii) there exists k such that k = |s(a)| and (Exec(g_{a}:=c, s))(g) = s(g) +· (k, s(c)),

the SCM_{FSA} computer 527

(iii) for every b holds (Exec(g_{a}:=c, s))(b) = s(b), and (iv) for every f such that f ≠ g holds (Exec(g_{a}:=c, s))(f) = s(f).

(100) (Exec(c:=leng, s))(IC_{SCM_{FSA}}) = Next(IC_{s}) and (Exec(c:=leng, s))(c) = len s(g) and for every b such that b ≠ c holds (Exec(c:=leng, s))(b) = s(b) and for every f holds (Exec(c:=leng, s))(f) = s(f).

(101) (i) (Exec(g:=⟨\underbrace{0,…, 0}_{c}⟩, s))(IC_{SCM_{FSA}}) = Next(IC_{s}),

(ii) there exists k such that k = |s(c)| and (Exec(g:=⟨\underbrace{0,…, 0}_{c}⟩, s))(g) =

k ↦ 0, (iii) for every b holds (Exec(g:=⟨\underbrace{0,…, 0}_{c}⟩, s))(b) = s(b), and

(iv) for every f such that f ≠ g holds (Exec(g:=⟨\underbrace{0,…, 0}_{c}⟩, s))(f) = s(f).

References

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

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

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

[4] Grzegorz Bancerek and Andrzej Trybulec. Miscellaneous facts about functions. Formalized Mathematics, 5(4):485–492, 1996.

[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] 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] Yatsuka Nakamura and Andrzej Trybulec. A mathematical model of CPU. Formalized Mathematics, 3(2):151–160, 1992.

[13] Yatsuka Nakamura and Andrzej Trybulec. On a mathematical model of programs. Formalized Mathematics, 3(2):241–250, 1992.

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

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

[16] Yasushi Tanaka. On the decomposition of the states of SCM. Formalized Mathematics, 5(1):1–8, 1996.

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

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

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

528 andrzej trybulec et al.

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

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

[22] Andrzej Trybulec and Yatsuka Nakamura. Some remarks on the simple concrete model of computer. Formalized Mathematics, 4(1):51–56, 1993.

[23] Andrzej Trybulec, Yatsuka Nakamura, and Piotr Rudnicki. An extension of SCM. Formalized Mathematics, 5(4):507–512, 1996.

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

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

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

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

On the Many Sorted Closure Operator and the Many Sorted Closure System

Artur Korniłowicz Warsaw University Białystok

MML Identifier: CLOSURE1.

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

1. Preliminaries

For simplicity we follow a convention: I is a set, i, x are arbitrary, A, M are many sorted sets indexed by I, f is a function, and F is a many sorted function of I.

The scheme MSSUBSET concerns a set A, a non-empty many sorted set B indexed by A, a many sorted set C indexed by A, and a unary predicate P, and states that:

If for every many sorted set X indexed by A holds X ∈ B iff X ∈ C and P[X], then B ⊆ C

for all values of the parameters.

The following two propositions are true:

(1) Let X be a non empty set and let x, y be arbitrary. If x ⊆ y, then {t : t ranges over elements of X, y ⊆ t} ⊆ {z : z ranges over elements of X, x ⊆ z}.

(2) If there exists A such that A ∈ M, then M is non-empty.

Let us consider I, F, A. Then F A is a many sorted set indexed by I. Let us consider I, let A, B be non-empty many sorted sets indexed by I,

let F be a many sorted function from A into B, and let X be an element of A. Then F X is an element of B.

One can prove the following propositions:

(3) Let A, X be many sorted sets indexed by I, and let B be a non-empty many sorted set indexed by I and let F be a many sorted function from A into B. If X ∈ A, then F X ∈ B.

(4) Let F, G be many sorted functions of I and let A be a many sorted set indexed by I. If A ∈ dom_{κ} G(κ), then F (G A) = (F ∘ G) A.

(5) If F is “1-1”, then for all many sorted sets A, B indexed by I such that A ∈ dom_{κ} F (κ) and B ∈ dom_{κ} F (κ) and F A = F B holds A = B.

(6) Suppose dom_{κ} F (κ) is non-empty and for all many sorted sets A, B indexed by I such that A ∈ dom_{κ} F (κ) and B ∈ dom_{κ} F (κ) and F A = F B holds A = B. Then F is “1-1”.

(7) Let A, B be non-empty many sorted sets indexed by I and let F, G be many sorted functions from A into B. If for every M such that M ∈ A holds F M = G M, then F = G.

Let us consider I, M. One can verify that there exists an element of 2^{M} which is empty yielding and locally-finite.

2. Properties of Many Sorted Closure Operators

Let us consider I, M. (Def. 1) A many sorted function from 2^{M} into 2^{M} is called a set many sorted

operation in M. Let us consider I, M, let O be a set many sorted operation in M, and let X

be an element of 2^{M}. Then O X is an element of 2^{M}.

Let us consider I, M and let I_{1} be a set many sorted operation in M. We say that I_{1} is reflexive if and only if:

(Def. 2) For every element X of 2^{M} holds X ⊆ I_{1} X.

We say that I_{1} is monotonic if and only if: (Def. 3) For all elements X, Y of 2^{M} such that X ⊆ Y holds I_{1} X ⊆ I_{1} Y.

We say that I_{1} is idempotent if and only if: (Def. 4) For every element X of 2^{M} holds I_{1} X = I_{1} (I_{1} X).

We say that I_{1} is topological if and only if: (Def. 5) For all elements X, Y of 2^{M} holds I_{1} (X ∪ Y) = I_{1} X ∪ I_{1} Y.

One can prove the following propositions:

(8) For every non-empty many sorted set M indexed by I and for every element X of M holds X = id_{M} X.

(9) Let M be a non-empty many sorted set indexed by I and let X, Y be elements of M. If X ⊆ Y, then id_{M} X ⊆ id_{M} Y.

(10) Let M be a non-empty many sorted set indexed by I and let X, Y be elements of M. If X ∪ Y is an element of M, then id_{M} (X ∪ Y) = id_{M} X ∪ id_{M} Y.

(11) Let X be an element of 2^{M} and let i, x be arbitrary. Suppose i ∈ I and x ∈ (id_{2^{M}} X)(i). Then there exists a locally-finite element Y of 2^{M} such that Y ⊆ X and x ∈ (id_{2^{M}} Y)(i).

Let us consider I, M. Note that there exists a set many sorted operation in M which is reflexive monotonic idempotent and topological.

Next we state four propositions:

(12) id_{2^{A}} is a reflexive set many sorted operation in A.

(13) id_{2^{A}} is a monotonic set many sorted operation in A.

(14) id_{2^{A}} is an idempotent set many sorted operation in A.

(15) id_{2^{A}} is a topological set many sorted operation in A.

In the sequel P, R will denote set many sorted operations in M and E, T will denote elements of 2^{M}.

One can prove the following three propositions:

(16) If E = M and P is reflexive, then E = P E.

(17) If P is reflexive and for every element X of 2^{M} holds P X ⊆ X, then P is idempotent.

(18) If P is monotonic, then P (E ∩ T) ⊆ P E ∩ P T.

Let us consider I, M. Observe that every set many sorted operation in M which is topological is also monotonic.

One can prove the following proposition

(19) If P is topological, then P E \ P T ⊆ P (E \ T).

Let us consider I, M, R, P. Then P ∘ R is a set many sorted operation in M.

One can prove the following propositions:

(20) If P is reflexive and R is reflexive, then P ∘ R is reflexive.

(21) If P is monotonic and R is monotonic, then P ∘ R is monotonic.

(22) If P is idempotent and R is idempotent and P ∘ R = R ∘ P, then P ∘ R is idempotent.

(23) If P is topological and R is topological, then P ∘ R is topological.

(24) If P is reflexive and i ∈ I and f = P (i), then for every element x of 2^{M(i)} holds x ⊆ f(x).

(25) If P is monotonic and i ∈ I and f = P (i), then for all elements x, y of 2^{M(i)} such that x ⊆ y holds f(x) ⊆ f(y).

(26) If P is idempotent and i ∈ I and f = P (i), then for every element x of 2^{M(i)} holds f(x) = f(f(x)).

(27) If P is topological and i ∈ I and f = P (i), then for all elements x, y of 2^{M(i)} holds f(x ∪ y) = f(x) ∪ f(y).

3. On the Many Sorted Closure Operator and the Many Sorted Closure System

In the sequel S will be a 1-sorted structure.

Let us consider S. We consider many sorted closure system structures over S as extensions of many-sorted structure over S as systems

⟨ sorts, a family ⟩, where the sorts constitute a many sorted set indexed by the carrier of S and the family is a subset family of the sorts.

In the sequel M_{1} will be a many-sorted structure over S.

Let us consider S and let I_{1} be a many sorted closure system structure over S. We say that I_{1} is additive if and only if:

(Def. 6) The family of I_{1} is additive.

We say that I_{1} is absolutely-additive if and only if: (Def. 7) The family of I_{1} is absolutely-additive.

We say that I_{1} is multiplicative if and only if: (Def. 8) The family of I_{1} is multiplicative.

We say that I_{1} is absolutely-multiplicative if and only if: (Def. 9) The family of I_{1} is absolutely-multiplicative.

We say that I_{1} is properly upper bound if and only if: (Def. 10) The family of I_{1} is properly upper bound.

We say that I_{1} is properly lower bound if and only if: (Def. 11) The family of I_{1} is properly lower bound.

Let us consider S, M_{1}. The functor MSFull(M_{1}) yields a many sorted closure system structure over S and is defined as follows:

(Def. 12) MSFull(M_{1}) = ⟨the sorts of M_{1}, 2^{^{the} ^{sorts} ^{of} M_{1}}⟩.

Let us consider S, M_{1}. One can check that MSFull(M_{1}) is strict additive absolutely-additive multiplicative absolutely-multiplicative properly upper bound and properly lower bound.

Let us consider S and let M_{1} be a non-empty many-sorted structure over S. One can check that MSFull(M_{1}) is non-empty.

Let us consider S. Observe that there exists a many sorted closure system structure over S which is strict non-empty additive absolutely-additive multiplicative absolutely-multiplicative properly upper bound and properly lower bound.

Let us consider S and let C_{1} be an additive many sorted closure system structure over S. Note that the family of C_{1} is additive.

Let us consider S and let C_{1} be an absolutely-additive many sorted closure system structure over S. Observe that the family of C_{1} is absolutely-additive.

Let us consider S and let C_{1} be a multiplicative many sorted closure system structure over S. One can verify that the family of C_{1} is multiplicative.

Let us consider S and let C_{1} be an absolutely-multiplicative many sorted closure system structure over S. One can check that the family of C_{1} is absolutelymultiplicative.

Let us consider S and let C_{1} be a properly upper bound many sorted closure system structure over S. One can check that the family of C_{1} is properly upper bound.

Let us consider S and let C_{1} be a properly lower bound many sorted closure system structure over S. Note that the family of C_{1} is properly lower bound.

Let us consider S, let M be a non-empty many sorted set indexed by the carrier of S, and let F be a subset family of M. Observe that ⟨M, F ⟩ is nonempty.

Let us consider S, M_{1} and let F be an additive subset family of the sorts of M_{1}. Observe that ⟨the sorts of M_{1}, F ⟩ is additive.

Let us consider S, M_{1} and let F be an absolutely-additive subset family of the sorts of M_{1}. One can check that ⟨the sorts of M_{1}, F ⟩ is absolutely-additive.

Let us consider S, M_{1} and let F be a multiplicative subset family of the sorts of M_{1}. Note that ⟨the sorts of M_{1}, F ⟩ is multiplicative.

Let us consider S, M_{1} and let F be an absolutely-multiplicative subset family of the sorts of M_{1}. Observe that ⟨the sorts of M_{1}, F ⟩ is absolutely-multiplicative.

Let us consider S, M_{1} and let F be a properly upper bound subset family of the sorts of M_{1}. One can verify that ⟨the sorts of M_{1}, F ⟩ is properly upper bound.

Let us consider S, M_{1} and let F be a properly lower bound subset family of the sorts of M_{1}. Observe that ⟨the sorts of M_{1}, F ⟩ is properly lower bound.

Let us consider S. Observe that every many sorted closure system structure over S which is absolutely-additive is also additive.

Let us consider S. One can check that every many sorted closure system structure over S which is absolutely-multiplicative is also multiplicative.

Let us consider S. Observe that every many sorted closure system structure over S which is absolutely-multiplicative is also properly upper bound.

Let us consider S. One can verify that every many sorted closure system structure over S which is absolutely-additive is also properly lower bound.

Let us consider S. A many sorted closure system of S is an absolutelymultiplicative many sorted closure system structure over S.

Let us consider I, M. A many sorted closure operator of M is a reflexive monotonic idempotent set many sorted operation in M.

Let us consider I, M and let F be a many sorted function from M into M. The functor FixPoints(F) yielding a many sorted subset of M is defined by:

(Def. 13) For every i such that i ∈ I holds x ∈ (FixPoints(F))(i) iff there exists

a function f such that f = F (i) and x ∈ dom f and f(x) = x. Let us consider I, let M be an empty yielding many sorted set indexed by

I, and let F be a many sorted function from M into M. One can verify that FixPoints(F) is empty yielding.

Next we state a number of propositions:

(28) For every many sorted function F from M into M holds A ∈ M and F A = A iff A ∈ FixPoints(F).

(29) FixPoints(id_{A}) = A.

(30) Let A be a many sorted set indexed by the carrier of S, and let J be a reflexive monotonic set many sorted operation in A, and let D be a subset family of A. If D = FixPoints(J), then ⟨A, D⟩ is a many sorted closure system of S.

(31) Let D be a properly upper bound subset family of M and let X be an element of 2^{M}. Then there exists a non-empty subset family S_{1} of M such that for every many sorted set Y indexed by I holds Y ∈ S_{1} if and only if the following conditions are satisfied:

(i) Y ∈ D, and (ii) X ⊆ Y.

(32) Let D be a properly upper bound subset family of M, and let X be an element of 2^{M}, and let S_{1} be a non-empty subset family of M. Suppose that for every many sorted set Y indexed by I holds Y ∈ S_{1} iff Y ∈ D and X ⊆ Y. Let i be arbitrary and let D_{1} be a non empty set. If i ∈ I and D_{1} = D(i), then S_{1}(i) = {z : z ranges over elements of D_{1}, X(i) ⊆ z}.

(33) Let D be a properly upper bound subset family of M. Then there exists a set many sorted operation J in M such that for every element X of 2^{M} and for every non-empty subset family S_{1} of M if for every many sorted set Y indexed by I holds Y ∈ S_{1} iff Y ∈ D and X ⊆ Y, then J X = ⋂ S_{1}.

(34) Let D be a properly upper bound subset family of M, and let A be an element of 2^{M}, and let J be a set many sorted operation in M. Suppose that

(i) A ∈ D, and (ii) for every element X of 2^{M} and for every non-empty subset family S_{1}

of M such that for every many sorted set Y indexed by I holds Y ∈ S_{1} iff Y ∈ D and X ⊆ Y holds J X = ⋂ S_{1}. Then J A = A.

(35) Let D be an absolutely-multiplicative subset family of M, and let A be an element of 2^{M}, and let J be a set many sorted operation in M. Suppose that

(i) J A = A, and (ii) for every element X of 2^{M} and for every non-empty subset family S_{1}

of M such that for every many sorted set Y indexed by I holds Y ∈ S_{1} iff Y ∈ D and X ⊆ Y holds J X = ⋂ S_{1}. Then A ∈ D.

(36) Let D be a properly upper bound subset family of M and let J be a set many sorted operation in M. Suppose that for every element X of 2^{M} and for every non-empty subset family S_{1} of M such that for every many sorted set Y indexed by I holds Y ∈ S_{1} iff Y ∈ D and X ⊆ Y holds

J X = ⋂ S_{1}. Then J is reflexive and monotonic.

(37) Let D be an absolutely-multiplicative subset family of M and let J be a set many sorted operation in M. Suppose that for every element X of 2^{M} and for every non-empty subset family S_{1} of M such that for every many sorted set Y indexed by I holds Y ∈ S_{1} iff Y ∈ D and X ⊆ Y holds J X = ⋂ S_{1}. Then J is idempotent.

(38) Let D be a many sorted closure system of S and let J be a set many sorted operation in the sorts of D. Suppose that for every element X of 2^{the sorts of D} and for every non-empty subset family S_{1} of the sorts of D such that for every many sorted set Y indexed by the carrier of S holds Y ∈ S_{1} iff Y ∈ the family of D and X ⊆ Y holds J X = ⋂ S_{1}. Then J is a many sorted closure operator of the sorts of D.

Let us consider S, let A be a many sorted set indexed by the carrier of S, and let C be a many sorted closure operator of A. The functor ClSys(C) yielding a many sorted closure system of S is defined as follows:

(Def. 14) There exists a subset family D of A such that D = FixPoints(C) and

ClSys(C) = ⟨A, D⟩. Let us consider S, let A be a many sorted set indexed by the carrier of S,

and let C be a many sorted closure operator of A. One can verify that ClSys(C) is strict.

Let us consider S, let A be a non-empty many sorted set indexed by the carrier of S, and let C be a many sorted closure operator of A. Note that ClSys(C) is non-empty.

Let us consider S and let D be a many sorted closure system of S. The functor ClOp(D) yielding a many sorted closure operator of the sorts of D is defined by the condition (Def. 15).

(Def. 15) Let X be an element of 2^{the sorts of D} and let S_{1} be a non-empty subset family of the sorts of D. Suppose that for every many sorted set Y indexed by the carrier of S holds Y ∈ S_{1} iff Y ∈ the family of D and X ⊆ Y. Then (ClOp(D)) X = ⋂ S_{1}.

The following two propositions are true:

(39) Let A be a many sorted set indexed by the carrier of S and let J be a many sorted closure operator of A. Then ClOp(ClSys(J)) = J.

(40) For every many sorted closure system D of S holds ClSys(ClOp(D)) = the many sorted closure system structure of D.

References

[1] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

[2] Ewa Burakowska. Subalgebras of many sorted algebra. Lattice of subalgebras. Formalized Mathematics, 5(1):47–54, 1996.

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

536 artur korniłowicz

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

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

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

[7] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

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

[9] Artur Korniłowicz. Certain facts about families of subsets of many sorted sets. Formalized Mathematics, 5(3):451–456, 1996.

[10] Artur Korniłowicz. Definitions and basic properties of boolean & union of many sorted sets. Formalized Mathematics, 5(2):279–281, 1996.

[11] Artur Korniłowicz. Extensions of mappings on generator set. Formalized Mathematics, 5(2):269–272, 1996.

[12] Małgorzata Korolkiewicz. Homomorphisms of many sorted algebras. Formalized Mathematics, 5(1):61–65, 1996.

[13] Beata Madras. Product of family of universal algebras. Formalized Mathematics, 4(1):103–108, 1993.

[14] Beata Madras. Products of many sorted algebras. Formalized Mathematics, 5(1):55–60, 1996.

[15] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, I. Formalized Mathematics, 5(2):167–172, 1996.

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

[17] Alexander Yu. Shibakov and Andrzej Trybulec. The Cantor set. Formalized Mathematics, 5(2):233–236, 1996.

[18] Andrzej Trybulec. Many sorted algebras. Formalized Mathematics, 5(1):37–42, 1996.

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

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

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

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

Computation in SCM_{FSA}

Andrzej Trybulec Warsaw University Białystok Yatsuka Nakamura Shinshu University Nagano

Summary. The properties of computations in SCM_{FSA} are investigated.

MML Identifier: SCMFSA 3.

The notation and terminology used in this paper have been introduced in the following articles: [23], [29], [2], [22], [13], [18], [21], [30], [7], [8], [9], [27], [14], [1], [10], [19], [5], [12], [3], [6], [28], [11], [15], [16], [24], [20], [17], [25], [4], and [26].

1. Preliminaries

One can prove the following propositions:

(1) IC_{SCM_{FSA}} ∉ Int-Locations .

(2) IC_{SCM_{FSA}} ∉ FinSeq-Locations .

(3) Let i be an instruction of SCM_{FSA} and let I be an instruction of SCM. Suppose i = I. Let s be a state of SCM_{FSA} and let S be a state of SCM. Suppose S = s (the objects of SCM)+·((the instruction locations of SCM) ⟼ (I)). Then Exec(i, s) = s+·Exec(I, S)+·s (the instruction locations of SCM_{FSA}).

(4) Let s_{1}, s_{2} be states of SCM_{FSA}. Suppose s_{1} (Int-Locations ∪ FinSeq-Locations ∪{IC_{SCM_{FSA}}}) = s_{2} (Int-Locations ∪ FinSeq-Locations ∪{IC_{SCM_{FSA}}}). Let l be an instruction of SCM_{FSA}. Then Exec(l, s_{1}) (Int-Locations ∪ FinSeq-Locations ∪{IC_{SCM_{FSA}}}) = Exec(l, s_{2}) (Int-Locations ∪ FinSeq-Locations ∪{IC_{SCM_{FSA}}}).

(5) Let N be a non empty set with non empty elements, and let S be a steady-programmed AMI over N, and let i be an instruction of S, and let s be a state of S. Then Exec(i, s) (the instruction locations of S) = s (the instruction locations of S).

2. Finite partial states of SCM_{FSA}

One can prove the following two propositions:

(6) For every finite partial state p of SCM_{FSA} holds DataPart(p) = p (Int-Locations ∪ FinSeq-Locations).

(7) For every finite partial state p of SCM_{FSA} holds p is data-only iff dom p ⊆ Int-Locations ∪ FinSeq-Locations .

Let us observe that there exists a finite partial state of SCM_{FSA} which is data-only.

We now state two propositions:

(8) For every finite partial state p of SCM_{FSA} holds dom DataPart(p) ⊆ Int-Locations ∪ FinSeq-Locations .

(9) For every finite partial state p of SCM_{FSA} holds dom ProgramPart(p) ⊆ the instruction locations of SCM_{FSA}.

Let I_{1} be a partial function from FinPartSt(SCM_{FSA}) to FinPartSt(SCM_{FSA}). We say that I_{1} is data-only if and only if the condition (Def. 1) is satisfied.

(Def. 1) Let p be a finite partial state of SCM_{FSA}. Suppose p ∈ dom I_{1}. Then p is data-only and for every finite partial state q of SCM_{FSA} such that q = I_{1}(p) holds q is data-only.

One can verify that there exists a partial function from FinPartSt(SCM_{FSA}) to FinPartSt(SCM_{FSA}) which is data-only.

One can prove the following four propositions:

(10) Let i be an instruction of SCM_{FSA}, and let s be a state of SCM_{FSA}, and let p be a programmed finite partial state of SCM_{FSA}. Then Exec(i, s+·p) = Exec(i, s)+·p.

(11) Let s be a state of SCM_{FSA}, and let i_{1} be an instruction-location of SCM_{FSA}, and let a be an integer location. Then s(a) = (s+· Start-At(i_{1}))(a).

(12) Let s be a state of SCM_{FSA}, and let i_{1} be an instruction-location of SCM_{FSA}, and let a be a finite sequence location. Then s(a) = (s+· Start-At(i_{1}))(a).

(13) For all states s, t of SCM_{FSA} holds s+·t (Int-Locations ∪ FinSeq-Locations) is a state of SCM_{FSA}.

3. Autonomic finite partial states of SCM_{FSA}

Let l_{1} be an integer location and let a be an integer. Then l_{1}⟼ . a is a finite partial state of SCM_{FSA}.

The following proposition is true

(14) For every autonomic finite partial state p of SCM_{FSA} such that

DataPart(p) ≠ ∅ holds IC_{SCM_{FSA}} ∈ dom p. Let us observe that there exists a finite partial state of SCM_{FSA} which is

autonomic and non programmed.

We now state a number of propositions:

(15) For every autonomic non programmed finite partial state p of SCM_{FSA} holds IC_{SCM_{FSA}} ∈ dom p.

(16) For every autonomic finite partial state p of SCM_{FSA} such that IC_{SCM_{FSA}} ∈ dom p holds IC_{p} ∈ dom p.

(17) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s be a state of SCM_{FSA}. If p ⊆ s, then for every natural number i holds IC_{(Computation(s))(i)} ∈ dom ProgramPart(p).

(18) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number. Then IC_{(Computation(s_{1}))(i)} = IC_{(Computation(s_{2}))(i)} and CurInstr((Computation(s_{1}))(i)) = CurInstr((Computation(s_{2}))(i)).

(19) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number and let d_{1}, d_{2} be integer locations. If CurInstr((Computation(s_{1}))(i)) = d_{1}:=d_{2} and d_{1} ∈ dom p, then (Computation(s_{1}))(i)(d_{2}) = (Computation(s_{2}))(i)(d_{2}).

(20) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number and let d_{1}, d_{2} be integer locations. If CurInstr((Computation(s_{1}))(i)) = AddTo(d_{1}, d_{2}) and d_{1} ∈ dom p, then (Computation(s_{1}))(i)(d_{1}) + (Computation(s_{1}))(i)(d_{2}) = (Computation(s_{2}))(i)(d_{1}) + (Computation(s_{2}))(i)(d_{2}).

(21) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number and let d_{1}, d_{2} be integer locations. If CurInstr((Computation(s_{1}))(i)) = SubFrom(d_{1}, d_{2}) and d_{1} ∈ dom p, then (Computation(s_{1}))(i)(d_{1}) − (Computation(s_{1}))(i)(d_{2}) = (Computation(s_{2}))(i)(d_{1}) − (Computation(s_{2}))(i)(d_{2}).

(22) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number and let d_{1}, d_{2} be integer locations. If CurInstr((Computation(s_{1}))(i)) = MultBy(d_{1}, d_{2}) and d_{1} ∈ dom p, then (Computation(s_{1}))(i)(d_{1}) · (Computation(s_{1}))(i)(d_{2}) = (Computation(s_{2}))(i)(d_{1}) · (Computation(s_{2}))(i)(d_{2}).

(23) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number and let d_{1}, d_{2} be integer locations. If CurInstr((Computation(s_{1}))(i)) = Divide(d_{1}, d_{2}) and d_{1} ∈ dom p and d_{1} ≠ d_{2}, then (Computation(s_{1}))(i)(d_{1}) ÷ (Computation(s_{1}))(i)(d_{2}) = (Computation(s_{2}))(i)(d_{1}) ÷ (Computation(s_{2}))(i)(d_{2}).

(24) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number and let d_{1}, d_{2} be integer locations. If CurInstr((Computation(s_{1}))(i)) = Divide(d_{1}, d_{2}) and d_{2} ∈ dom p and d_{1} ≠ d_{2}, then (Computation(s_{1}))(i)(d_{1}) mod (Computation(s_{1}))(i)(d_{2}) = (Computation(s_{2}))(i)(d_{1}) mod (Computation(s_{2}))(i)(d_{2}).

(25) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{1} be an integer location, and let l_{2} be an instruction-location of SCM_{FSA}. If CurInstr((Computation(s_{1}))(i)) = if d_{1} = 0 goto l_{2} and l_{2} ≠ Next(IC_{(Computation(s_{1}))(i)}), then (Computation(s_{1}))(i)(d_{1}) = 0 iff (Computation(s_{2}))(i)(d_{1}) = 0.

(26) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{1} be an integer location, and let l_{2} be an instruction-location of SCM_{FSA}. If CurInstr((Computation(s_{1}))(i)) = if d_{1} > 0 goto l_{2} and l_{2} ≠ Next(IC_{(Computation(s_{1}))(i)}), then (Computation(s_{1}))(i)(d_{1}) > 0 iff (Computation(s_{2}))(i)(d_{1}) > 0.

(27) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{1}, d_{2} be integer locations, and let f be a finite sequence location. Suppose CurInstr((Computation(s_{1}))(i)) = d_{1}:=f_{d_{2}} and d_{1} ∈ dom p. Let k_{1}, k_{2} be natural numbers. If k_{1} = |(Computation(s_{1}))(i)(d_{2})| and k_{2} = |(Computation(s_{2}))(i)(d_{2})|, then π_{k_{1}}(Computation(s_{1}))(i)(f) = π_{k_{2}}(Computation(s_{2}))(i)(f).

(28) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{1}, d_{2} be integer locations, and let f be a finite sequence location. Suppose CurInstr((Computation(s_{1}))(i)) = f_{d_{2}}:=d_{1} and f ∈ dom p. Let k_{1}, k_{2} be natural numbers. If k_{1} = |(Computation(s_{1}))(i)(d_{2})| and k_{2} = |(Computation(s_{2}))(i)(d_{2})|, then (Computation(s_{1}))(i)(f) +· (k_{1}, (Computation(s_{1}))(i)(d_{1})) = (Computation(s_{2}))(i)(f) +· (k_{2}, (Computation(s_{2}))(i)(d_{1})).

computation in SCM_{FSA} 541

(29) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{1} be an integer location, and let f be a finite sequence location. If CurInstr((Computation(s_{1}))(i)) = d_{1}:=lenf and d_{1} ∈ dom p, then len(Computation(s_{1}))(i)(f) = len(Computation(s_{2}))(i)(f).

(30) Let p be an autonomic non programmed finite partial state of SCM_{FSA} and let s_{1}, s_{2} be states of SCM_{FSA}. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{1} be an integer location, and let f be a finite sequence location. Suppose CurInstr((Computation(s_{1}))(i)) = f:=⟨\underbrace{0,…, 0}_{d_{1}}⟩ and f ∈ dom p. Let k_{1}, k_{2} be natural numbers. If k_{1} =

|(Computation(s_{1}))(i)(d_{1})| and k_{2} = |(Computation(s_{2}))(i)(d_{1})|, then k_{1} ↦ 0 = k_{2} ↦ 0.

References

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

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

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

[4] Grzegorz Bancerek and Andrzej Trybulec. Miscellaneous facts about functions. Formalized Mathematics, 5(4):485–492, 1996.

[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. Products and coproducts in categories. Formalized Mathematics, 2(5):701–709, 1991.

[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] Rafał Kwiatek and Grzegorz Zwara. The divisibility of integers and integer relative primes. Formalized Mathematics, 1(5):829–832, 1990.

[15] Yatsuka Nakamura and Andrzej Trybulec. A mathematical model of CPU. Formalized Mathematics, 3(2):151–160, 1992.

[16] Yatsuka Nakamura and Andrzej Trybulec. On a mathematical model of programs. Formalized Mathematics, 3(2):241–250, 1992.

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

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

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

[20] Yasushi Tanaka. On the decomposition of the states of SCM. Formalized Mathematics, 5(1):1–8, 1996.

542 andrzej trybulec and yatsuka nakamura

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

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

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

[24] Andrzej Trybulec and Yatsuka Nakamura. Some remarks on the simple concrete model of computer. Formalized Mathematics, 4(1):51–56, 1993.

[25] Andrzej Trybulec, Yatsuka Nakamura, and Piotr Rudnicki. An extension of SCM. Formalized Mathematics, 5(4):507–512, 1996.

[26] Andrzej Trybulec, Yatsuka Nakamura, and Piotr Rudnicki. The SCM_{FSA} computer. Formalized Mathematics, 5(4):519–528, 1996.

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

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

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

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

On the Closure Operator and the Closure System of Many Sorted Sets

Artur Korniłowicz Warsaw University Białystok

Summary. In this paper definitions of many sorted closure system and many sorted closure operator are introduced. These notations are also introduced in [11], but in another meaning. In this article closure system is absolutely multiplicative subset family of many sorted sets and in

[11] is many sorted absolutely multiplicative subset family of many sorted sets. Analogously, closure operator is function between many sorted sets and in [11] is many sorted function from a many sorted set into a many sorted set.

MML Identifier: CLOSURE2.

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

1. Preliminaries

For simplicity we follow a convention: I will denote a set, i, x will be arbitrary, A, B, M will denote many sorted sets indexed by I, and f, f_{1} will denote functions.

One can prove the following three propositions:

(1) For every non empty set M and for all elements X, Y of M such that X ⊆ Y holds id_{M}(X) ⊆ id_{M}(Y).

(2) If A ⊆ B, then A \ M ⊆ B.

(3) Let I be a non empty set, and let A be a many sorted set indexed by I, and let B be a many sorted subset of A. Then rng B ⊆ ⋃ rng(2^{A}).

One can check that every set which is empty is also functional. One can verify that there exists a set which is empty and functional. Let f, g be functions. Note that {f, g} is functional.

2. Set of Many Sorted Subsets of a Many Sorted Set

Let us consider I, M. The functor Bool(M) yields a set and is defined by: (Def. 1) x ∈ Bool(M) iff x is a many sorted subset of M.

Let us consider I, M. One can verify that Bool(M) is non empty and functional and has common domain.

Let us consider I, M. (Def. 2) A subset of Bool(M) is called a family of many sorted subsets of M.

Let us consider I, M. Then Bool(M) is a family of many sorted subsets of M.

Let us consider I, M. One can check that there exists a family of many sorted subsets of M which is non empty and functional and has common domain.

Let us consider I, M. One can check that there exists a family of many sorted subsets of M which is empty and finite.

In the sequel S_{1}, S_{2} will denote families of many sorted subsets of M. Let us consider I, M and let S be a non empty family of many sorted subsets

of M. We see that the element of S is a many sorted subset of M. We now state several propositions:

(4) S_{1} ∪ S_{2} is a family of many sorted subsets of M.

(5) S_{1} ∩ S_{2} is a family of many sorted subsets of M.

(6) S_{1} \ x is a family of many sorted subsets of M.

(7) S_{1}− . S_{2} is a family of many sorted subsets of M.

(8) If A ⊆ M, then {A} is a family of many sorted subsets of M.

(9) If A ⊆ M and B ⊆ M, then {A, B} is a family of many sorted subsets of M.

In the sequel E, T are elements of Bool(M). One can prove the following four propositions:

(10) E ∩ T ∈ Bool(M).

(11) E ∪ T ∈ Bool(M).

(12) E \ A ∈ Bool(M).

(13) E− . T ∈ Bool(M).

3. Many Sorted Operator corresponding to the Operator on Many Sorted Subsets

Let S be a functional set. The functor |S| yielding a function is defined as follows:

(Def. 3) (i) There exists a non empty functional set A such that A = S and dom |S| = ⋂{dom x : x ranges over elements of A} and for every i such that i ∈ dom |S| holds |S|(i) = {x(i) : x ranges over elements of A} if S ≠ ∅,

(ii) |S| = ∅, otherwise.

Next we state the proposition

(14) For every non empty family S_{1} of many sorted subsets of M holds

dom |S_{1}| = I. Let S be an empty functional set. Observe that |S| is empty. Let us consider I, M and let S be a family of many sorted subsets of M.

The functor |:S:| yielding a many sorted set indexed by I is defined as follows: (Def. 4) (i) |:S:| = |S| if S ≠ ∅,

(ii) |:S:| = ∅_{I}, otherwise.

Let us consider I, M and let S be an empty family of many sorted subsets of M. Note that |:S:| is empty yielding.

The following proposition is true

(15) If S_{1} is non empty, then for every i such that i ∈ I holds |:S_{1}:|(i) =

{x(i) : x ranges over elements of Bool(M), x ∈ S_{1}}. Let us consider I, M and let S_{1} be a non empty family of many sorted subsets

of M. Note that |:S_{1}:| is non-empty.

One can prove the following propositions:

(16) dom |{f}| = dom f.

(17) dom |{f, f_{1}}| = dom f ∩ dom f_{1}.

(18) If i ∈ dom f, then |{f}|(i) = {f(i)}.

(19) If i ∈ I and S_{1} = {f}, then |:S_{1}:|(i) = {f(i)}.

(20) If i ∈ dom |{f, f_{1}}|, then |{f, f_{1}}|(i) = {f(i), f_{1}(i)}.

(21) If i ∈ I and S_{1} = {f, f_{1}}, then |:S_{1}:|(i) = {f(i), f_{1}(i)}.

Let us consider I, M, S_{1}. Then |:S_{1}:| is a subset family of M.

We now state several propositions:

(22) If A ∈ S_{1}, then A ∈ |:S_{1}:|.

(23) If S_{1} = {A, B}, then ⋃ |:S_{1}:| = A ∪ B.

(24) If S_{1} = {E, T }, then ⋂ |:S_{1}:| = E ∩ T.

(25) Let Z be a many sorted subset of M. Suppose that for every many sorted set Z_{1} indexed by I such that Z_{1} ∈ S_{1} holds Z ⊆ Z_{1}. Then Z ⊆ ⋂ |:S_{1}:|.

(26) |: Bool(M):| = 2^{M}.

Let us consider I, M and let I_{1} be a family of many sorted subsets of M. We say that I_{1} is additive if and only if:

(Def. 5) For all A, B such that A ∈ I_{1} and B ∈ I_{1} holds A ∪ B ∈ I_{1}.

We say that I_{1} is absolutely-additive if and only if: (Def. 6) For every family F of many sorted subsets of M such that F ⊆ I_{1} holds

⋃ |:F:| ∈ I_{1}. We say that I_{1} is multiplicative if and only if:

(Def. 7) For all A, B such that A ∈ I_{1} and B ∈ I_{1} holds A ∩ B ∈ I_{1}.

We say that I_{1} is absolutely-multiplicative if and only if: (Def. 8) For every family F of many sorted subsets of M such that F ⊆ I_{1} holds

⋂ |:F:| ∈ I_{1}. We say that I_{1} is properly upper bound if and only if:

(Def. 9) M ∈ I_{1}.

We say that I_{1} is properly lower bound if and only if: (Def. 10) ∅_{I} ∈ I_{1}.

Let us consider I, M. Observe that there exists a family of many sorted subsets of M which is non empty functional additive absolutely-additive multiplicative absolutely-multiplicative properly upper bound and properly lower bound and has common domain.

Let us consider I, M. Then Bool(M) is an additive absolutely-additive multiplicative absolutely-multiplicative properly upper bound properly lower bound family of many sorted subsets of M.

Let us consider I, M. Observe that every family of many sorted subsets of M which is absolutely-additive is also additive.

Let us consider I, M. One can verify that every family of many sorted subsets of M which is absolutely-multiplicative is also multiplicative.

Let us consider I, M. One can check that every family of many sorted subsets of M which is absolutely-multiplicative is also properly upper bound.

Let us consider I, M. One can check that every family of many sorted subsets of M which is properly upper bound is also non empty.

Let us consider I, M. One can check that every family of many sorted subsets of M which is absolutely-additive is also properly lower bound.

Let us consider I, M. Note that every family of many sorted subsets of M which is properly lower bound is also non empty.

4. Properties of Closure Operators

Let us consider I, M. (Def. 11) A function from Bool(M) into Bool(M) is called a set operation in M.

Let us consider I, M, let f be a set operation in M, and let x be an element of Bool(M). Then f(x) is an element of Bool(M).

Let us consider I, M and let I_{1} be a set operation in M. We say that I_{1} is reflexive if and only if:

(Def. 12) For every element x of Bool(M) holds x ⊆ I_{1}(x).

We say that I_{1} is monotonic if and only if: (Def. 13) For all elements x, y of Bool(M) such that x ⊆ y holds I_{1}(x) ⊆ I_{1}(y).

We say that I_{1} is idempotent if and only if: (Def. 14) For every element x of Bool(M) holds I_{1}(x) = I_{1}(I_{1}(x)).

We say that I_{1} is topological if and only if: (Def. 15) For all elements x, y of Bool(M) holds I_{1}(x ∪ y) = I_{1}(x) ∪ I_{1}(y).

Let us consider I, M. Observe that there exists a set operation in M which is reflexive monotonic idempotent and topological.

Next we state four propositions:

(27) id_{Bool(A)} is a reflexive set operation in A.

(28) id_{Bool(A)} is a monotonic set operation in A.

(29) id_{Bool(A)} is an idempotent set operation in A.

(30) id_{Bool(A)} is a topological set operation in A.

In the sequel g, h are set operations in M.

One can prove the following three propositions:

(31) If E = M and g is reflexive, then E = g(E).

(32) If g is reflexive and for every element X of Bool(M) holds g(X) ⊆ X, then g is idempotent.

(33) For every element A of Bool(M) such that A = E ∩ T holds if g is

monotonic, then g(A) ⊆ g(E) ∩ g(T). Let us consider I, M. One can check that every set operation in M which is

topological is also monotonic.

Next we state the proposition

(34) For every element A of Bool(M) such that A = E \ T holds if g is

topological, then g(E) \ g(T) ⊆ g(A). Let us consider I, M, h, g. Then g · h is a set operation in M. The following four propositions are true:

(35) If g is reflexive and h is reflexive, then g · h is reflexive.

(36) If g is monotonic and h is monotonic, then g · h is monotonic.

(37) If g is idempotent and h is idempotent and g · h = h · g, then g · h is idempotent.

(38) If g is topological and h is topological, then g · h is topological.

5. On the Closure Operator and the Closure System

In the sequel S will be a 1-sorted structure.

Let us consider S. We consider closure system structures over S as extensions of many-sorted structure over S as systems

⟨ sorts, a family ⟩, where the sorts constitute a many sorted set indexed by the carrier of S and the family is a family of many sorted subsets of the sorts.

In the sequel M_{1} is a many-sorted structure over S.

Let us consider S and let I_{1} be a closure system structure over S. We say that I_{1} is additive if and only if:

(Def. 16) The family of I_{1} is additive.

We say that I_{1} is absolutely-additive if and only if: (Def. 17) The family of I_{1} is absolutely-additive.

We say that I_{1} is multiplicative if and only if: (Def. 18) The family of I_{1} is multiplicative.

We say that I_{1} is absolutely-multiplicative if and only if: (Def. 19) The family of I_{1} is absolutely-multiplicative.

We say that I_{1} is properly upper bound if and only if: (Def. 20) The family of I_{1} is properly upper bound.

We say that I_{1} is properly lower bound if and only if: (Def. 21) The family of I_{1} is properly lower bound.

Let us consider S, M_{1}. The functor Full(M_{1}) yielding a closure system structure over S is defined as follows:

(Def. 22) Full(M_{1}) = ⟨the sorts of M_{1}, Bool(the sorts of M_{1})⟩.

Let us consider S, M_{1}. Note that Full(M_{1}) is strict additive absolutelyadditive multiplicative absolutely-multiplicative properly upper bound and properly lower bound.

Let us consider S and let M_{1} be a non-empty many-sorted structure over S. Observe that Full(M_{1}) is non-empty.

Let us consider S. Note that there exists a closure system structure over S which is strict non-empty additive absolutely-additive multiplicative absolutelymultiplicative properly upper bound and properly lower bound.

Let us consider S and let C_{1} be an additive closure system structure over S. Note that the family of C_{1} is additive.

Let us consider S and let C_{1} be an absolutely-additive closure system structure over S. Note that the family of C_{1} is absolutely-additive.

Let us consider S and let C_{1} be a multiplicative closure system structure over S. Note that the family of C_{1} is multiplicative.

Let us consider S and let C_{1} be an absolutely-multiplicative closure system structure over S. Note that the family of C_{1} is absolutely-multiplicative.

Let us consider S and let C_{1} be a properly upper bound closure system structure over S. One can verify that the family of C_{1} is properly upper bound.

Let us consider S and let C_{1} be a properly lower bound closure system structure over S. Observe that the family of C_{1} is properly lower bound.

Let us consider S, let M be a non-empty many sorted set indexed by the carrier of S, and let F be a family of many sorted subsets of M. Note that ⟨M, F ⟩ is non-empty.

Let us consider S, M_{1} and let F be an additive family of many sorted subsets of the sorts of M_{1}. Note that ⟨the sorts of M_{1}, F ⟩ is additive.

Let us consider S, M_{1} and let F be an absolutely-additive family of many sorted subsets of the sorts of M_{1}. Note that ⟨the sorts of M_{1}, F ⟩ is absolutelyadditive.

Let us consider S, M_{1} and let F be a multiplicative family of many sorted subsets of the sorts of M_{1}. Observe that ⟨the sorts of M_{1}, F ⟩ is multiplicative.

Let us consider S, M_{1} and let F be an absolutely-multiplicative family of many sorted subsets of the sorts of M_{1}. One can check that ⟨the sorts of M_{1}, F ⟩ is absolutely-multiplicative.

Let us consider S, M_{1} and let F be a properly upper bound family of many sorted subsets of the sorts of M_{1}. Note that ⟨the sorts of M_{1}, F ⟩ is properly upper bound.

Let us consider S, M_{1} and let F be a properly lower bound family of many sorted subsets of the sorts of M_{1}. Note that ⟨the sorts of M_{1}, F ⟩ is properly lower bound.

Let us consider S. Observe that every closure system structure over S which is absolutely-additive is also additive.

Let us consider S. Note that every closure system structure over S which is absolutely-multiplicative is also multiplicative.

Let us consider S. Observe that every closure system structure over S which is absolutely-multiplicative is also properly upper bound.

Let us consider S. One can check that every closure system structure over S which is absolutely-additive is also properly lower bound.

Let us consider S. A closure system of S is an absolutely-multiplicative closure system structure over S.

Let us consider I, M. A closure operator of M is a reflexive monotonic idempotent set operation in M.

Next we state the proposition

(39) Let A be a many sorted set indexed by the carrier of S, and let f be a reflexive monotonic set operation in A, and let D be a family of many sorted subsets of A. Suppose D = {x : x ranges over elements of Bool(A), f(x) = x}. Then ⟨A, D⟩ is a closure system of S.

Let us consider S, let A be a many sorted set indexed by the carrier of S, and let g be a closure operator of A. The functor ClSys(g) yielding a strict closure system of S is defined by:

(Def. 23) The sorts of ClSys(g) = A and the family of ClSys(g) = {x : x ranges

over elements of Bool(A), g(x) = x}. Let us consider S, let A be a closure system of S, and let C be a many sorted

subset of the sorts of A. The functor \overline{C} yielding an element of Bool(the sorts of A) is defined by the condition (Def. 24).

(Def. 24) There exists a family F of many sorted subsets of the sorts of A such that \overline{C} = ⋂ |:F:| and F = \{X : X ranges over elements of Bool(the sorts of A), C ⊆ X ∧ X ∈ the family of A}.

One can prove the following propositions:

(40) Let D be a closure system of S, and let a be an element of Bool(the sorts of D), and let f be a set operation in the sorts of D. Suppose a ∈ the family of D and for every element x of Bool(the sorts of D) holds f(x) = \overline{x}. Then f(a) = a.

(41) Let D be a closure system of S, and let a be an element of Bool(the sorts of D), and let f be a set operation in the sorts of D. Suppose f(a) = a and for every element x of Bool(the sorts of D) holds f(x) = \overline{x}. Then a ∈ the family of D.

(42) Let D be a closure system of S and let f be a set operation in the sorts of D. Suppose that for every element x of Bool(the sorts of D) holds f(x) = \overline{x}. Then f is reflexive monotonic and idempotent.

Let us consider S and let D be a closure system of S. The functor ClOp(D) yields a closure operator of the sorts of D and is defined by:

(Def. 25) For every element x of Bool(the sorts of D) holds (ClOp(D))(x) = \overline{x}.

Next we state two propositions:

(43) For every many sorted set A indexed by the carrier of S and for every closure operator f of A holds ClOp(ClSys(f)) = f.

(44) For every closure system D of S holds ClSys(ClOp(D)) = the closure system structure of D.

References

[1] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

[2] Ewa Burakowska. Subalgebras of many sorted algebra. Lattice of subalgebras. Formalized Mathematics, 5(1):47–54, 1996.

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

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

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

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

[7] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

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

on the closure operator and the closure … 551

[9] Artur Korniłowicz. Certain facts about families of subsets of many sorted sets. Formalized Mathematics, 5(3):451–456, 1996.

[10] Artur Korniłowicz. Definitions and basic properties of boolean & union of many sorted sets. Formalized Mathematics, 5(2):279–281, 1996.

[11] Artur Korniłowicz. On the many sorted closure operator and the many sorted closure system. Formalized Mathematics, 5(4):529–536, 1996.

[12] Małgorzata Korolkiewicz. Homomorphisms of many sorted algebras. Formalized Mathematics, 5(1):61–65, 1996.

[13] Beata Madras. Product of family of universal algebras. Formalized Mathematics, 4(1):103–108, 1993.

[14] Beata Madras. Products of many sorted algebras. Formalized Mathematics, 5(1):55–60, 1996.

[15] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, I. Formalized Mathematics, 5(2):167–172, 1996.

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

[17] Alexander Yu. Shibakov and Andrzej Trybulec. The Cantor set. Formalized Mathematics, 5(2):233–236, 1996.

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

[19] Andrzej Trybulec. Many sorted algebras. Formalized Mathematics, 5(1):37–42, 1996.

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

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

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

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

552

Translations, Endomorphisms, and Stable Equational Theories

Grzegorz Bancerek Institute of Mathematics Polish Academy of Sciences

Summary. Equational theories of an algebra, i.e. the equivalence relation closed under translations and endomorphisms, are formalized. The correspondence between equational theories and term rewriting systems is discussed in the paper. We get as the main result that any pair of elements of an algebra belongs to the equational theory generated by a set A of axioms iff the elements are convertible w.r.t. term rewriting reduction determined by A.

The theory is developed according to [24].

MML Identifier: MSUALG 6.

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

1. Endomorphisms and translations

Let S be a non empty many sorted signature, let A be an algebra over S, and let s be a sort symbol of S. An element of A, s is an element of (the sorts of A)(s).

Let I be a set, let A be a many sorted set indexed by I, and let h_{1}, h_{2} be many sorted functions from A into A. Then h_{2} ∘ h_{1} is a many sorted function from A into A.

The following two propositions are true:

(1) Let S be a non empty non void many sorted signature, and let A be an algebra over S, and let o be an operation symbol of S, and let a be a set. If a ∈ Args(o, A), then a is a function.

(2) Let S be a non empty non void many sorted signature, and let A be an algebra over S, and let o be an operation symbol of S, and let a be a function. Suppose a ∈ Args(o, A). Then dom a = dom Arity(o) and for every natural number i such that i ∈ dom Arity(o) holds a(i) ∈ (the sorts of A)(π_{i} Arity(o)).

Let S be a non empty non void many sorted signature and let A be an algebra over S. We say that A is feasible if and only if:

(Def. 1) For every operation symbol o of S such that Args(o, A) ≠ ∅ holds

Result(o, A) ≠ ∅. Next we state the proposition

(3) Let S be a non empty non void many sorted signature, and let o be an operation symbol of S, and let A be an algebra over S. Then Args(o, A) ≠ ∅ if and only if for every natural number i such that i ∈ dom Arity(o) holds (the sorts of A)(π_{i} Arity(o)) ≠ ∅.

Let S be a non empty non void many sorted signature. One can check that every algebra over S which is non-empty is also feasible.

Let S be a non empty non void many sorted signature. One can check that there exists an algebra over S which is non-empty.

Let S be a non empty non void many sorted signature and let A be an algebra over S. A many sorted function from A into A is called an endomorphism of A if:

(Def. 2) It is a homomorphism of A into A.

In the sequel S is a non empty non void many sorted signature and A is an algebra over S.

Next we state three propositions:

(4) id_{(the sorts of A)} is an endomorphism of A.

(5) Let h_{1}, h_{2} be many sorted functions from A into A, and let o be an operation symbol of S, and let a be an element of Args(o, A). If a ∈ Args(o, A), then h_{2}#(h_{1}#a) = (h_{2} ∘ h_{1})#a.

(6) For all endomorphisms h_{1}, h_{2} of A holds h_{2} ∘ h_{1} is an endomorphism of A.

Let S be a non empty non void many sorted signature, let A be an algebra over S, and let h_{1}, h_{2} be endomorphisms of A. Then h_{2} ∘h_{1} is an endomorphism of A.

Let S be a non empty non void many sorted signature. The functor TranslRel(S) is a binary relation on the carrier of S and is defined by the condition (Def. 3).

(Def. 3) Let s_{1}, s_{2} be sort symbols of S. Then ⟨⟨s_{1}, s_{2}⟩⟩ ∈ TranslRel(S) if and only if there exists an operation symbol o of S such that the result sort of o = s_{2} and there exists a natural number i such that i ∈ dom Arity(o) and π_{i} Arity(o) = s_{1}.

We now state three propositions:

(7) Let S be a non empty non void many sorted signature, and let o be an operation symbol of S, and let A be an algebra over S, and let a be a function. Suppose a ∈ Args(o, A). Let i be a natural number and let x be an element of A, π_{i} Arity(o). Then a +· (i, x) ∈ Args(o, A).

(8) Let A_{1}, A_{2} be algebras over S, and let h be a many sorted function from A_{1} into A_{2}, and let o be an operation symbol of S. Suppose Args(o, A_{1}) ≠ ∅ and Args(o, A_{2}) ≠ ∅. Let i be a natural number. Suppose i ∈ dom Arity(o). Let x be an element of A_{1}, π_{i} Arity(o). Then h(π_{i} Arity(o))(x) ∈ (the sorts of A_{2})(π_{i} Arity(o)).

(9) Let S be a non empty non void many sorted signature, and let o be an operation symbol of S, and let i be a natural number. Suppose i ∈ dom Arity(o). Let A_{1}, A_{2} be algebras over S, and let h be a many sorted function from A_{1} into A_{2}, and let a, b be elements of Args(o, A_{1}). Suppose a ∈ Args(o, A_{1}) and h#a ∈ Args(o, A_{2}). Let f, g_{1}, g_{2} be functions. Suppose f = a and g_{1} = h#a and g_{2} = h#b. Let x be an element of A_{1}, π_{i} Arity(o). If b = f +· (i, x), then g_{2}(i) = h(π_{i} Arity(o))(x) and h#b = g_{1} +· (i, g_{2}(i)).

Let S be a non empty non void many sorted signature, let o be an operation symbol of S, let i be a natural number, let A be an algebra over S, and let a be a function. The functor o_{i}^{A}(a, −) yields a function and is defined by the conditions (Def. 4).

(Def. 4) (i) dom(o_{i}^{A}(a, −)) = (the sorts of A)(π_{i} Arity(o)), and

(ii) for every set x such that x ∈ (the sorts of A)(π_{i} Arity(o)) holds

o_{i}^{A}(a, −)(x) = (Den(o, A))(a +· (i, x)). One can prove the following proposition

(10) Let S be a non empty non void many sorted signature, and let o be an operation symbol of S, and let i be a natural number. Suppose i ∈ dom Arity(o). Let A be a feasible algebra over S and let a be a function. Suppose a ∈ Args(o, A). Then o_{i}^{A}(a, −) is a function from (the sorts of A)(π_{i} Arity(o)) into (the sorts of A)(the result sort of o).

Let S be a non empty non void many sorted signature, let s_{1}, s_{2} be sort symbols of S, let A be an algebra over S, and let f be a function. We say that f is an elementary translation in A from s_{1} into s_{2} if and only if the condition (Def. 5) is satisfied.

(Def. 5) There exists an operation symbol o of S such that (i) the result sort of o = s_{2}, and (ii) there exists a natural number i such that i ∈ dom Arity(o) and

π_{i} Arity(o) = s_{1} and there exists a function a such that a ∈ Args(o, A) and f = o_{i}^{A}(a, −).

One can prove the following propositions:

(11) Let S be a non empty non void many sorted signature, and let s_{1}, s_{2} be sort symbols of S, and let A be a feasible algebra over S, and let f be a function. Suppose f is an elementary translation in A from s_{1} into s_{2}.

Then

(i) f is a function from (the sorts of A)(s_{1}) into (the sorts of A)(s_{2}), (ii) (the sorts of A)(s_{1}) ≠ ∅, and (iii) (the sorts of A)(s_{2}) ≠ ∅.

(12) Let S be a non empty non void many sorted signature, and let s_{1}, s_{2} be sort symbols of S, and let A be an algebra over S, and let f be a function. If f is an elementary translation in A from s_{1} into s_{2}, then ⟨⟨s_{1}, s_{2}⟩⟩ ∈ TranslRel(S).

(13) Let S be a non empty non void many sorted signature, and let s_{1}, s_{2} be sort symbols of S, and let A be a non-empty algebra over S. If ⟨⟨s_{1}, s_{2}⟩⟩ ∈ TranslRel(S), then there exists function which is an elementary translation in A from s_{1} into s_{2}.

(14) Let S be a non empty non void many sorted signature, and let A be a feasible algebra over S, and let s_{1}, s_{2} be sort symbols of S. Suppose TranslRel(S) reduces s_{1} to s_{2}. Let q be a reduction sequence w.r.t. TranslRel(S) and let p be a function yielding finite sequence. Suppose that

(i) len q = len p + 1, (ii) s_{1} = q(1), (iii) s_{2} = q(len q), and (iv) for every natural number i and for every function f and for all sort

symbols s_{1}, s_{2} of S such that i ∈ dom p and f = p(i) and s_{1} = q(i) and s_{2} = q(i + 1) holds f is an elementary translation in A from s_{1} into s_{2}. Then

(v) compose_{(the sorts of A)(s_{1})} p is a function from (the sorts of A)(s_{1}) into (the sorts of A)(s_{2}), and

(vi) if p ≠ ∅, then (the sorts of A)(s_{1}) ≠ ∅ and (the sorts of A)(s_{2}) ≠ ∅. Let S be a non empty non void many sorted signature, let A be a non-

empty algebra over S, and let s_{1}, s_{2} be sort symbols of S. Let us assume that TranslRel(S) reduces s_{1} to s_{2}. A function from (the sorts of A)(s_{1}) into (the sorts of A)(s_{2}) is called a translation in A from s_{1} into s_{2} if it satisfies the condition (Def. 6).

(Def. 6) There exists a reduction sequence q w.r.t. TranslRel(S) and there exists

a function yielding finite sequence p such that

(i) it = compose_{(the sorts of A)(s_{1})} p, (ii) len q = len p + 1, (iii) s_{1} = q(1), (iv) s_{2} = q(len q), and

(v) for every natural number i and for every function f and for all sort symbols s_{1}, s_{2} of S such that i ∈ dom p and f = p(i) and s_{1} = q(i) and s_{2} = q(i + 1) holds f is an elementary translation in A from s_{1} into s_{2}.

We now state the proposition

(15) Let S be a non empty non void many sorted signature, and let A be a non-empty algebra over S, and let s_{1}, s_{2} be sort symbols of S. Suppose TranslRel(S) reduces s_{1} to s_{2}. Let q be a reduction sequence w.r.t. TranslRel(S) and let p be a function yielding finite sequence. Suppose that

(i) len q = len p + 1, (ii) s_{1} = q(1), (iii) s_{2} = q(len q), and (iv) for every natural number i and for every function f and for all sort

symbols s_{1}, s_{2} of S such that i ∈ dom p and f = p(i) and s_{1} = q(i) and s_{2} = q(i + 1) holds f is an elementary translation in A from s_{1} into s_{2}. Then compose_{(the sorts of A)(s_{1})} p is a translation in A from s_{1} into s_{2}.

In the sequel A is a non-empty algebra over S. The following propositions are true:

(16) For every sort symbol s of S holds id_{(the sorts of A)(s)} is a translation in A from s into s

(17) Let s_{1}, s_{2} be sort symbols of S and let f be a function. Suppose f is an elementary translation in A from s_{1} into s_{2}. Then TranslRel(S) reduces s_{1} to s_{2} and f is a translation in A from s_{1} into s_{2}.

(18) Let s_{1}, s_{2}, s_{3} be sort symbols of S. Suppose TranslRel(S) reduces s_{1} to s_{2} and TranslRel(S) reduces s_{2} to s_{3}. Let t_{1} be a translation in A from s_{1} into s_{2} and let t_{2} be a translation in A from s_{2} into s_{3}. Then t_{2} · t_{1} is a translation in A from s_{1} into s_{3}.

(19) Let s_{1}, s_{2}, s_{3} be sort symbols of S. Suppose TranslRel(S) reduces s_{1} to s_{2}. Let t be a translation in A from s_{1} into s_{2} and let f be a function. Suppose f is an elementary translation in A from s_{2} into s_{3}. Then f · t is a translation in A from s_{1} into s_{3}.

(20) Let s_{1}, s_{2}, s_{3} be sort symbols of S. Suppose TranslRel(S) reduces s_{2} to s_{3}. Let f be a function. Suppose f is an elementary translation in A from s_{1} into s_{2}. Let t be a translation in A from s_{2} into s_{3}. Then t · f is a translation in A from s_{1} into s_{3}

The scheme TranslationInd concerns a non empty non void many sorted signature A, a non-empty algebra B over A, and a ternary predicate P, and states that:

Let s_{1}, s_{2} be sort symbols of A. Suppose TranslRel(A) reduces s_{1} to s_{2}. Let t be a translation in B from s_{1} into s_{2}. Then P[t, s_{1}, s_{2}]

provided the parameters meet the following requirements:

• For every sort symbol s of A holds P[id_{(the sorts of B)(s)}, s, s],

• Let s_{1}, s_{2}, s_{3} be sort symbols of A. Suppose TranslRel(A) reduces s_{1} to s_{2}. Let t be a translation in B from s_{1} into s_{2}. Suppose P[t, s_{1}, s_{2}]. Let f be a function. If f is an elementary translation in B from s_{2} into s_{3}, then P[f · t, s_{1}, s_{3}].

The following propositions are true:

(21) Let A_{1}, A_{2} be non-empty algebras over S and let h be a many sorted function from A_{1} into A_{2}. Suppose h is a homomorphism of A_{1} into A_{2} Let o be an operation symbol of S and let i be a natural number. Suppose i ∈ dom Arity(o). Let a be an element of Args(o, A_{1}). Then h(the result sort of o) · o_{i}^{A_{1}}(a, −) = o_{i}^{A_{2}}(h#a, −) · h(π_{i} Arity(o)).

(22) Let h be an endomorphism of A, and let o be an operation symbol of S, and let i be a natural number. Suppose i ∈ dom Arity(o). Let a be an element of Args(o, A). Then h(the result sort of o) · o_{i}^{A}(a, −) = o_{i}^{A}(h#a, −) · h(π_{i} Arity(o)).

(23) Let A_{1}, A_{2} be non-empty algebras over S and let h be a many sorted function from A_{1} into A_{2}. Suppose h is a homomorphism of A_{1} into A_{2} Let s_{1}, s_{2} be sort symbols of S and let t be a function. Suppose t is an elementary translation in A_{1} from s_{1} into s_{2}. Then there exists a function T from (the sorts of A_{2})(s_{1}) into (the sorts of A_{2})(s_{2}) such that T is an elementary translation in A_{2} from s_{1} into s_{2} and T · h(s_{1}) = h(s_{2}) · t.

(24) Let h be an endomorphism of A, and let s_{1}, s_{2} be sort symbols of S, and let t be a function. Suppose t is an elementary translation in A from s_{1} into s_{2}. Then there exists a function T from (the sorts of A)(s_{1}) into (the sorts of A)(s_{2}) such that T is an elementary translation in A from s_{1} into s_{2} and T · h(s_{1}) = h(s_{2}) · t.

(25) Let A_{1}, A_{2} be non-empty algebras over S and let h be a many sorted function from A_{1} into A_{2}. Suppose h is a homomorphism of A_{1} into A_{2} Let s_{1}, s_{2} be sort symbols of S. Suppose TranslRel(S) reduces s_{1} to s_{2}. Let t be a translation in A_{1} from s_{1} into s_{2}. Then there exists a translation T in A_{2} from s_{1} into s_{2} such that T · h(s_{1}) = h(s_{2}) · t.

(26) Let h be an endomorphism of A and let s_{1}, s_{2} be sort symbols of S. Suppose TranslRel(S) reduces s_{1} to s_{2}. Let t be a translation in A from s_{1} into s_{2}. Then there exists a translation T in A from s_{1} into s_{2} such that T · h(s_{1}) = h(s_{2}) · t.

2. Compatibility, invariantness, and stability

Let S be a non empty non void many sorted signature, let A be an algebra over S, and let R be a many sorted relation of A. We say that R is compatible if and only if the condition (Def. 7) is satisfied.

(Def. 7) Let o be an operation symbol of S and let a, b be functions. Suppose a ∈ Args(o, A) and b ∈ Args(o, A) and for every natural number n such that n ∈ dom Arity(o) holds ⟨⟨a(n), b(n)⟩⟩ ∈ R(π_{n} Arity(o)). Then ⟨⟨(Den(o, A))(a), (Den(o, A))(b)⟩⟩ ∈ R(the result sort of o).

We say that R is invariant if and only if the condition (Def. 8) is satisfied. (Def. 8) Let s_{1}, s_{2} be sort symbols of S and let t be a function. Suppose t is

an elementary translation in A from s_{1} into s_{2}. Let a, b be sets. If ⟨⟨a, b⟩⟩ ∈ R(s_{1}), then ⟨⟨t(a), t(b)⟩⟩ ∈ R(s_{2}).

We say that R is stable if and only if the condition (Def. 9) is satisfied.

(Def. 9) Let h be an endomorphism of A, and let s be a sort symbol of S, and

let a, b be sets. If ⟨⟨a, b⟩⟩ ∈ R(s), then ⟨⟨h(s)(a), h(s)(b)⟩⟩ ∈ R(s). The following propositions are true:

(27) Let R be an equivalence many sorted relation of A. Then R is compatible if and only if R is a congruence of A.

(28) Let R be a many sorted relation of A. Then R is invariant if and only if for all sort symbols s_{1}, s_{2} of S such that TranslRel(S) reduces s_{1} to s_{2} and for every translation f in A from s_{1} into s_{2} and for all sets a, b such that ⟨⟨a, b⟩⟩ ∈ R(s_{1}) holds ⟨⟨f(a), f(b)⟩⟩ ∈ R(s_{2}).

Let S be a non empty non void many sorted signature and let A be a nonempty algebra over S. Note that every equivalence many sorted relation of A which is invariant is also compatible and every equivalence many sorted relation of A which is compatible is also invariant.

Let X be a non empty set. Note that △_{X} is non empty.

Now we present two schemes. The scheme MSRExistence deals with a non empty set A, a non-empty many sorted set B indexed by A, and a ternary predicate P, and states that:

There exists a many sorted relation R of B such that for every element i of A and for all elements a, b of B(i) holds ⟨⟨a, b⟩⟩ ∈ R(i) if and only if P[i, a, b]

for all values of the parameters.

The scheme MSRLambdaU deals with a set A, a many sorted set B indexed by A, and a unary functor F yielding a set, and states that:

(i) There exists a many sorted relation R of B such that for every set i such that i ∈ A holds R(i) = F(i), and (ii) for all many sorted relations R_{1}, R_{2} of B such that for every set i such that i ∈ A holds R_{1}(i) = F(i) and for every set i such that i ∈ A holds R_{2}(i) = F(i) holds R_{1} = R_{2}

provided the parameters meet the following requirement:

• For every set i such that i ∈ A holds F(i) is a relation between B(i) and B(i).

Let I be a set and let A be a many sorted set indexed by I. The functor △_{A}^{I} yielding a many sorted relation of A is defined by:

(Def. 10) For every set i such that i ∈ I holds (△_{A}^{I})(i) = △_{A(i)}.

Let S be a non empty non void many sorted signature and let A be a nonempty algebra over S. One can verify that every many sorted relation of A which is equivalence is also non-empty.

Let S be a non empty non void many sorted signature and let A be a nonempty algebra over S. Observe that there exists a many sorted relation of A which is invariant stable and equivalence.

3. Invariant, stable, and invariant stable closure

In the sequel S will denote a non empty non void many sorted signature, A will denote a non-empty algebra over S, and R will denote a many sorted relation of the sorts of A.

The scheme MSRelCl concerns a non empty non void many sorted signature A, a non-empty algebra B over A, many sorted relations Q, D of B, a unary predicate Q, and a ternary predicate P, and states that:

Q[D] and Q ⊆ D and for every many sorted relation P of B such that Q[P] and Q ⊆ P holds D ⊆ P

provided the following requirements are met:

• Let R be a many sorted relation of B. Then Q[R] if and only if for all sort symbols s_{1}, s_{2} of A and for every function f from (the sorts of B)(s_{1}) into (the sorts of B)(s_{2}) such that P[f, s_{1}, s_{2}] and for all sets a, b such that ⟨⟨a, b⟩⟩ ∈ R(s_{1}) holds ⟨⟨f(a), f(b)⟩⟩ ∈ R(s_{2}),

• Let s_{1}, s_{2}, s_{3} be sort symbols of A, and let f_{1} be a function from (the sorts of B)(s_{1}) into (the sorts of B)(s_{2}), and let f_{2} be a function from (the sorts of B)(s_{2}) into (the sorts of B)(s_{3}). If P[f_{1}, s_{1}, s_{2}] and P[f_{2}, s_{2}, s_{3}], then P[f_{2} · f_{1}, s_{1}, s_{3}],

• For every sort symbol s of A holds P[id_{(the sorts of B)(s)}, s, s],

• Let s be a sort symbol of A and let a, b be element of B, s. Then ⟨⟨a, b⟩⟩ ∈ D(s) if and only if there exists a sort symbol s′ of A and there exists a function f from (the sorts of B)(s′) into (the sorts of B)(s) and there exist element x, y of B, s′ such that P[f, s′, s] and ⟨⟨x, y⟩⟩ ∈ Q(s′) and a = f(x) and b = f(y).

Let S be a non empty non void many sorted signature, let A be a non-empty algebra over S, and let R be a many sorted relation of the sorts of A. The functor InvCl(R) is an invariant many sorted relation of A and is defined as follows:

(Def. 11) R ⊆ InvCl(R) and for every invariant many sorted relation Q of A such

that R ⊆ Q holds InvCl(R) ⊆ Q. The following propositions are true:

(29) Let R be a many sorted relation of the sorts of A, and let s be a sort symbol of S, and let a, b be element of A, s. Then ⟨⟨a, b⟩⟩ ∈ (InvCl(R))(s) if and only if there exists a sort symbol s′ of S and there exist element x, y of A, s′ and there exists a translation t in A from s′ into s such that TranslRel(S) reduces s′ to s and ⟨⟨x, y⟩⟩ ∈ R(s′) and a = t(x) and b = t(y).

(30) For every stable many sorted relation R of A holds InvCl(R) is stable. Let S be a non empty non void many sorted signature, let A be a non-empty

algebra over S, and let R be a many sorted relation of the sorts of A. The functor StabCl(R) is a stable many sorted relation of A and is defined by:

(Def. 12) R ⊆ StabCl(R) and for every stable many sorted relation Q of A such that R ⊆ Q holds StabCl(R) ⊆ Q.

We now state two propositions:

(31) Let R be a many sorted relation of the sorts of A, and let s be a sort symbol of S, and let a, b be element of A, s. Then ⟨⟨a, b⟩⟩ ∈ (StabCl(R))(s) if and only if there exist element x, y of A, s and there exists an endomorphism h of A such that ⟨⟨x, y⟩⟩ ∈ R(s) and a = h(s)(x) and b = h(s)(y).

(32) InvCl(StabCl(R)) is stable.

Let S be a non empty non void many sorted signature, let A be a non-empty algebra over S, and let R be a many sorted relation of the sorts of A. The functor TRS(R) is an invariant stable many sorted relation of A and is defined by:

(Def. 13) R ⊆ TRS(R) and for every invariant stable many sorted relation Q of

A such that R ⊆ Q holds TRS(R) ⊆ Q. Let S be a non empty non void many sorted signature, let A be a non-empty

algebra over S, and let R be a non-empty many sorted relation of A. One can check the following observations:

∗ InvCl(R) is non-empty,

∗ StabCl(R) is non-empty, and

∗ TRS(R) is non-empty. We now state several propositions:

(33) For every invariant many sorted relation R of A holds InvCl(R) = R.

(34) For every stable many sorted relation R of A holds StabCl(R) = R.

(35) For every invariant stable many sorted relation R of A holds TRS(R) = R.

(36) StabCl(R) ⊆ TRS(R) and InvCl(R) ⊆ TRS(R) and StabCl(InvCl(R)) ⊆ TRS(R).

(37) InvCl(StabCl(R)) = TRS(R).

(38) Let R be a many sorted relation of the sorts of A, and let s be a sort symbol of S, and let a, b be element of A, s. Then ⟨⟨a, b⟩⟩ ∈ (TRS(R))(s) if and only if there exists a sort symbol s′ of S such that TranslRel(S) reduces s′ to s and there exist element l, r of A, s′ and there exists an endomorphism h of A and there exists a translation t in A from s′ into s such that ⟨⟨l, r⟩⟩ ∈ R(s′) and a = t(h(s′)(l)) and b = t(h(s′)(r)).

4. Equational theory

One can prove the following propositions:

(39) Let A be a set and let R, E be binary relations on A. Suppose that for all sets a, b such that a ∈ A and b ∈ A holds ⟨⟨a, b⟩⟩ ∈ E iff a and b are convertible w.r.t. R. Then E is equivalence relation-like.

(40) Let A be a set, and let R be a binary relation on A, and let E be an equivalence relation of A. Suppose R ⊆ E. Let a, b be sets. If a ∈ A and b ∈ A and a and b are convertible w.r.t. R, then ⟨⟨a, b⟩⟩ ∈ E.

(41) Let A be a non empty set, and let R be a binary relation on A, and let a, b be elements of A. Then ⟨⟨a, b⟩⟩ ∈ EqCl(R) if and only if a and b are convertible w.r.t. R.

(42) Let S be a non empty set, and let A be a non-empty many sorted set indexed by S and let R be a many sorted relation of A, and let s be an element of S, and let a, b be elements of A(s). Then ⟨⟨a, b⟩⟩ ∈ (EqCl(R))(s) if and only if a and b are convertible w.r.t. R(s).

Let S be a non empty non void many sorted signature and let A be a nonempty algebra over S. An equational theory of A is a stable invariant equivalence many sorted relation of A. Let R be a many sorted relation of A. The functor EqCl(R, A) yielding an equivalence many sorted relation of A is defined as follows:

(Def. 14) EqCl(R, A) = EqCl(R).

We now state four propositions:

(43) For every many sorted relation R of A holds R ⊆ EqCl(R, A).

(44) Let R be a many sorted relation of A and let E be an equivalence many sorted relation of A. If R ⊆ E, then EqCl(R, A) ⊆ E.

(45) Let R be a stable many sorted relation of A, and let s be a sort symbol of S, and let a, b be element of A, s. Suppose a and b are convertible w.r.t. R(s). Let h be an endomorphism of A. Then h(s)(a) and h(s)(b) are convertible w.r.t. R(s).

(46) For every stable many sorted relation R of A holds EqCl(R, A) is stable. Let us consider S, A and let R be a stable many sorted relation of A. Note

that EqCl(R, A) is stable.

We now state two propositions:

(47) Let R be an invariant many sorted relation of A, and let s_{1}, s_{2} be sort symbols of S, and let a, b be element of A, s_{1}. Suppose a and b are convertible w.r.t. R(s_{1}). Let t be a function. Suppose t is an elementary translation in A from s_{1} into s_{2}. Then t(a) and t(b) are convertible w.r.t. R(s_{2}).

(48) For every invariant many sorted relation R of A holds EqCl(R, A) is

invariant. Let us consider S, A and let R be an invariant many sorted relation of A.

One can check that EqCl(R, A) is invariant.

Next we state three propositions:

(49) Let S be a non empty set, and let A be a non-empty many sorted set indexed by S, and let R, E be many sorted relations of A. Suppose that for every element s of S and for all elements a, b of A(s) holds ⟨⟨a, b⟩⟩ ∈ E(s) iff a and b are convertible w.r.t. R(s). Then E is equivalence.

translations, endomorphisms, and stable … 563

(50) Let R, E be many sorted relations of A. Suppose that for every sort symbol s of S and for all element a, b of A, s holds ⟨⟨a, b⟩⟩ ∈ E(s) iff a and b are convertible w.r.t. (TRS(R))(s). Then E is an equational theory of A.

(51) Let S be a non empty set, and let A be a non-empty many sorted set indexed by S and let R be a many sorted relation of A, and let E be an equivalence many sorted relation of A. Suppose R ⊆ E. Let s be an element of S and let a, b be elements of A(s). If a and b are convertible w.r.t. R(s), then ⟨⟨a, b⟩⟩ ∈ E(s).

Let S be a non empty non void many sorted signature, let A be a non-empty algebra over S, and let R be a many sorted relation of the sorts of A. The functor EqTh(R) is an equational theory of A and is defined by:

(Def. 15) R ⊆ EqTh(R) and for every equational theory Q of A such that R ⊆ Q

holds EqTh(R) ⊆ Q. Next we state three propositions:

(52) For every many sorted relation R of A holds EqCl(R, A) ⊆ EqTh(R) and InvCl(R) ⊆ EqTh(R) and StabCl(R) ⊆ EqTh(R) and TRS(R) ⊆ EqTh(R).

(53) Let R be a many sorted relation of A, and let s be a sort symbol of S, and let a, b be element of A, s. Then ⟨⟨a, b⟩⟩ ∈ (EqTh(R))(s) if and only if a and b are convertible w.r.t. (TRS(R))(s).

(54) For every many sorted relation R of A holds EqTh(R) = EqCl(TRS(R), A).

References

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

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

[3] Grzegorz Bancerek. Reduction relations. Formalized Mathematics, 5(4):469–478, 1996.

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

[5] Grzegorz Bancerek and Andrzej Trybulec. Miscellaneous facts about functions. Formalized Mathematics, 5(4):485–492, 1996.

[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] Krzysztof Hryniewiecki. Basic properties of real numbers. Formalized Mathematics, 1(1):35–40, 1990.

[11] Krzysztof Hryniewiecki. Relations of tolerance. Formalized Mathematics, 2(1):105–109, 1991.

[12] Małgorzata Korolkiewicz. Homomorphisms of many sorted algebras. Formalized Mathematics, 5(1):61–65, 1996.

[13] Małgorzata Korolkiewicz. Many sorted quotient algebra. Formalized Mathematics, 5(1):79–84, 1996.

564 grzegorz bancerek

[14] Jarosław Kotowicz, Beata Madras, and Małgorzata Korolkiewicz. Basic notation of universal algebra. Formalized Mathematics, 3(2):251–253, 1992.

[15] Beata Madras. Product of family of universal algebras. Formalized Mathematics, 4(1):103–108, 1993.

[16] Robert Milewski. Lattice of congruences in many sorted algebra. Formalized Mathematics, 5(4):479–483, 1996.

[17] Konrad Raczkowski and Paweł Sadowski. Equivalence relations and classes of abstraction. Formalized Mathematics, 1(3):441–444, 1990.

[18] Andrzej Trybulec. Many sorted algebras. Formalized Mathematics, 5(1):37–42, 1996.

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

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

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

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

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

[24] Wolfgang Wechler. Universal Algebra for Computer Scientists. Volume 25 of EATCS Monographs on TCS, Springer–Verlag, 1992.

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

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

More on the Lattice of Many Sorted Equivalence Relations

Robert Milewski Warsaw University Białystok

MML Identifier: MSUALG 7.

The notation and terminology used here are introduced in the following papers: [26], [28], [7], [2], [10], [27], [29], [30], [23], [5], [6], [21], [20], [4], [25], [31], [1], [8], [9], [17], [11], [24], [3], [15], [16], [18], [22], [19], [12], [14], and [13].

1. Lattice of Many Sorted Equivalence Relations is Complete

For simplicity we adopt the following convention: I will be a non empty set, M will be a many sorted set indexed by I, x will be arbitrary, and r_{1}, r_{2} will be real numbers.

We now state several propositions:

(1) For every set X holds x ∈ the carrier of EqRelLatt(X) iff x is an equivalence relation of X.

(2) id_{M} is an equivalence relation of M.

(3) [[M, M]] is an equivalence relation of M.

(4) ⊥_{EqRelLatt(M)} = id_{M}.

(5) ⊤_{EqRelLatt(M)} = [[M, M]]. Let us consider I, M. Note that EqRelLatt(M) is bounded. One can prove the following propositions:

(6) Every subset of the carrier of EqRelLatt(M) is a family of many sorted subsets of [[M, M]].

(7) Let a, b be elements of the carrier of EqRelLatt(M) and let A, B be equivalence relations of M. If a = A and b = B, then a ⊑ b iff A ⊆ B.

(8) Let X be a subset of the carrier of EqRelLatt(M) and let X_{1} be a family of many sorted subsets of [[M, M]]. Suppose X_{1} = X. Let a, b be equivalence relations of M. If a = ⋂ |:X_{1}:| and b ∈ X, then a ⊆ b.

(9) Let X be a subset of the carrier of EqRelLatt(M) and let X_{1} be a family of many sorted subsets of [[M, M]]. If X_{1} = X and X is non empty, then ⋂ |:X_{1}:| is an equivalence relation of M.

Let L be a non empty lattice structure. Let us observe that L is complete if and only if the condition (Def. 1) is satisfied.

(Def. 1) Let X be a subset of the carrier of L. Then there exists an element a of the carrier of L such that X ⊑ a and for every element b of the carrier of L such that X ⊑ b holds a ⊑ b.

Next we state the proposition

(10) EqRelLatt(M) is complete.

Let us consider I, M. Observe that EqRelLatt(M) is complete. We now state the proposition

(11) Let X be a subset of the carrier of EqRelLatt(M) and let X_{1} be a family of many sorted subsets of [[M, M]]. Suppose X_{1} = X and X is non empty. Let a, b be equivalence relations of M. If a = ⋂ |:X_{1}:| and b = ⌈−⌉_{EqRelLatt(M)}X, then a = b.

2. Sublattices inheriting SUP’s and INF’s

Let L be a lattice and let I_{1} be a sublattice of L. We say that I_{1} is ⌈−⌉- inheriting if and only if:

(Def. 2) For every subset X of the carrier of I_{1} holds ⌈−⌉_{L}X ∈ the carrier of I_{1}.

We say that I_{1} is ⨆-inheriting if and only if: (Def. 3) For every subset X of the carrier of I_{1} holds ⨆_{L} X ∈ the carrier of I_{1}.

The following propositions are true:

(12) Let L be a lattice, and let L′ be a sublattice of L, and let a, b be elements of the carrier of L, and let a′, b′ be elements of the carrier of L′. If a = a′ and b = b′, then a ⊔ b = a′ ⊔ b′ and a ⊓ b = a′ ⊓ b′.

(13) Let L be a lattice, and let L′ be a sublattice of L, and let X be a subset of the carrier of L′, and let a be an element of the carrier of L, and let a′ be an element of the carrier of L′. If a = a′, then a ⊑ X iff a′ ⊑ X.

(14) Let L be a lattice, and let L′ be a sublattice of L, and let X be a subset of the carrier of L′, and let a be an element of the carrier of L, and let a′ be an element of the carrier of L′. If a = a′, then X ⊑ a iff X ⊑ a′.

(15) Let L be a complete lattice and let L′ be a sublattice of L. If L′ is ⌈−⌉-inheriting, then L′ is complete.

(16) Let L be a complete lattice and let L′ be a sublattice of L. If L′ is ⨆-inheriting, then L′ is complete.

Let L be a complete lattice. Note that there exists a sublattice of L which is complete.

Let L be a complete lattice. One can verify that every sublattice of L which is ⌈−⌉-inheriting is also complete and every sublattice of L which is ⨆-inheriting is also complete.

Next we state four propositions:

(17) Let L be a complete lattice and let L′ be a sublattice of L. Suppose L′ is ⌈−⌉-inheriting. Let A′ be a subset of the carrier of L′. Then ⌈−⌉_{L}A′ = ⌈−⌉_{L′}A′.

(18) Let L be a complete lattice and let L′ be a sublattice of L. Suppose L′ is ⨆-inheriting. Let A′ be a subset of the carrier of L′. Then ⨆_{L} A′ = ⨆_{L′} A′.

(19) Let L be a complete lattice and let L′ be a sublattice of L. Suppose L′ is ⌈−⌉-inheriting. Let A be a subset of the carrier of L and let A′ be a subset of the carrier of L′. If A = A′, then ⌈−⌉A = ⌈−⌉A′.

(20) Let L be a complete lattice and let L′ be a sublattice of L. Suppose L′ is ⨆-inheriting. Let A be a subset of the carrier of L and let A′ be a subset of the carrier of L′. If A = A′, then ⨆ A = ⨆ A′.

3. Segment of Real Numbers as a Complete Lattice

Let us consider r_{1}, r_{2}. Let us assume that r_{1} ≤ r_{2}. The functor RealSubLatt(r_{1}, r_{2}) yields a strict lattice and is defined by the conditions (Def. 4).

(Def. 4) (i) The carrier of RealSubLatt(r_{1}, r_{2}) = [r_{1}, r_{2}],

(ii) the join operation of RealSubLatt(r_{1}, r_{2}) = max_{}([: [r_{1}, r_{2}],

[r_{1}, r_{2}] :] qua set), and (iii) the meet operation of RealSubLatt(r_{1}, r_{2}) = min_{}([: [r_{1}, r_{2}],

[r_{1}, r_{2}] :] qua set). One can prove the following propositions:

(21) For all r_{1}, r_{2} such that r_{1} ≤ r_{2} holds RealSubLatt(r_{1}, r_{2}) is complete.

(22) There exists sublattice of RealSubLatt(0, 1) which is ⨆-inheriting and non ⌈−⌉-inheriting.

(23) There exists a complete lattice L such that there exists sublattice of L which is ⨆-inheriting and non ⌈−⌉-inheriting.

(24) There exists sublattice of RealSubLatt(0, 1) which is ⌈−⌉-inheriting and non ⨆-inheriting.

(25) There exists a complete lattice L such that there exists sublattice of L which is ⌈−⌉-inheriting and non ⨆-inheriting.

References

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

[2] Józef Białas. Infimum and supremum of the set of real numbers. Measure theory. Formalized Mathematics, 2(1):163–171, 1991.

[3] Ewa Burakowska. Subalgebras of many sorted algebra. Lattice of subalgebras. Formalized Mathematics, 5(1):47–54, 1996.

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

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

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

[7] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

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

[9] Marek Chmur. The lattice of real numbers. The lattice of real functions. Formalized Mathematics, 1(4):681–684, 1990.

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

[11] Andrzej Iwaniuk. On the lattice of subspaces of a vector space. Formalized Mathematics, 5(3):305–308, 1996.

[12] Artur Korniłowicz. Certain facts about families of subsets of many sorted sets. Formalized Mathematics, 5(3):451–456, 1996.

[13] Artur Korniłowicz. On the closure operator and the closure system of many sorted sets. Formalized Mathematics, 5(4):543–551, 1996.

[14] Artur Korniłowicz. On the many sorted closure operator and the many sorted closure system. Formalized Mathematics, 5(4):529–536, 1996.

[15] Małgorzata Korolkiewicz. Homomorphisms of many sorted algebras. Formalized Mathematics, 5(1):61–65, 1996.

[16] Małgorzata Korolkiewicz. Many sorted quotient algebra. Formalized Mathematics, 5(1):79–84, 1996.

[17] Beata Madras. Products of many sorted algebras. Formalized Mathematics, 5(1):55–60, 1996.

[18] Robert Milewski. Lattice of congruences in many sorted algebra. Formalized Mathematics, 5(4):479–483, 1996.

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

[20] Konrad Raczkowski and Paweł Sadowski. Equivalence relations and classes of abstraction. Formalized Mathematics, 1(3):441–444, 1990.

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

[22] Alexander Yu. Shibakov and Andrzej Trybulec. The Cantor set. Formalized Mathematics, 5(2):233–236, 1996.

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

[24] Andrzej Trybulec. Many sorted algebras. Formalized Mathematics, 5(1):37–42, 1996.

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

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

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

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

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

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

more on the lattice of many sorted … 569

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

222, 1990.

Received February 9, 1996 570

Modifying Addresses of Instructions of

SCM_{FSA}

Andrzej Trybulec Warsaw University Białystok Yatsuka Nakamura Shinshu University Nagano

MML Identifier: SCMFSA 4.

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

1. Preliminaries

Let N be a non empty set with non empty elements and let S be an AMI over N. One can check that every finite partial state of S is finite.

Let N be a non empty set with non empty elements and let S be an AMI over N. One can verify that there exists a finite partial state of S which is programmed.

Next we state the proposition

(1) Let N be a non empty set with non empty elements, and let S be a definite AMI over N, and let p be a programmed finite partial state of S. Then rng p ⊆ the instructions of S.

Let N be a non empty set with non empty elements, let S be a definite AMI over N, and let I, J be programmed finite partial states of S. Then I+·J is a programmed finite partial state of S.

Next we state the proposition

(2) Let N be a non empty set with non empty elements, and let S be a definite AMI over N, and let f be a function from the instructions of S into the instructions of S, and let s be a programmed finite partial state of S. Then dom(f · s) = dom s.

2. Incrementing and decrementing the instruction locations

In the sequel i, k, l, m, n, p will denote natural numbers. Let l_{1} be an instruction-location of SCM_{FSA} and let k be a natural number.

The functor l_{1} + k yielding an instruction-location of SCM_{FSA} is defined by: (Def. 1) There exists a natural number m such that l_{1} = insloc(m) and l_{1} + k =

insloc(m + k). The functor l_{1} −′ k yields an instruction-location of SCM_{FSA} and is defined by:

(Def. 2) There exists a natural number m such that l_{1} = insloc(m) and l_{1} −′ k =

insloc(m −′ k). We now state two propositions:

(3) For every instruction-location l of SCM_{FSA} and for all m, n holds (l + m) + n = l + (m + n).

(4) For every instruction-location l_{1} of SCM_{FSA} and for every natural number k holds (l_{1} + k) −′ k = l_{1}.

In the sequel L will be an instruction-location of SCM and I will be an instruction of SCM.

The following three propositions are true:

(5) For every instruction-location l of SCM_{FSA} and for every L such that L = l holds l + k = L + k.

(6) For all instructions-locations l_{2}, l_{3} of SCM_{FSA} and for every natural number k holds Start-At(l_{2} + k) = Start-At(l_{3} + k) iff Start-At(l_{2}) = Start-At(l_{3}).

(7) For all instructions-locations l_{2}, l_{3} of SCM_{FSA} and for every natural number k such that Start-At(l_{2}) = Start-At(l_{3}) holds Start-At(l_{2} −′ k) = Start-At(l_{3} −′ k).

3. Incrementing addresses

Let i be an instruction of SCM_{FSA} and let k be a natural number. The functor IncAddr(i, k) yielding an instruction of SCM_{FSA} is defined as follows:

(Def. 3) (i) There exists an instruction I of SCM such that I = i and

IncAddr(i, k) = IncAddr(I, k) if InsCode(i) ∈ {6, 7, 8}, (ii) IncAddr(i, k) = i, otherwise. We now state a number of propositions:

(8) For every natural number k holds IncAddr(halt_{SCM_{FSA}}, k) = halt_{SCM_{FSA}}.

(9) For every natural number k and for all integer locations a, b holds IncAddr(a:=b, k) = a:=b.

(10) For every natural number k and for all integer locations a, b holds IncAddr(AddTo(a, b), k) = AddTo(a, b).

(11) For every natural number k and for all integer locations a, b holds IncAddr(SubFrom(a, b), k) = SubFrom(a, b).

(12) For every natural number k and for all integer locations a, b holds IncAddr(MultBy(a, b), k) = MultBy(a, b).

(13) For every natural number k and for all integer locations a, b holds IncAddr(Divide(a, b), k) = Divide(a, b).

(14) For every natural number k and for every instruction-location l_{1} of SCM_{FSA} holds IncAddr(goto l_{1}, k) = goto (l_{1} + k).

(15) Let k be a natural number, and let l_{1} be an instruction-location of SCM_{FSA}, and let a be an integer location. Then IncAddr(if a = 0 goto l_{1}, k) = if a = 0 goto l_{1} + k.

(16) Let k be a natural number, and let l_{1} be an instruction-location of SCM_{FSA}, and let a be an integer location. Then IncAddr(if a > 0 goto l_{1}, k) = if a > 0 goto l_{1} + k.

(17) Let k be a natural number, and let a, b be integer locations, and let f be a finite sequence location. Then IncAddr(b:=f_{a}, k) = b:=f_{a}.

(18) Let k be a natural number, and let a, b be integer locations, and let f be a finite sequence location. Then IncAddr(f_{a}:=b, k) = f_{a}:=b.

(19) Let k be a natural number, and let a be an integer location, and let f be a finite sequence location. Then IncAddr(a:=lenf, k) = a:=lenf.

(20) Let k be a natural number, and let a be an integer location, and let f be a finite sequence location. Then IncAddr(f:=⟨\underbrace{0,…, 0}_{a}⟩, k) =

f:=⟨\underbrace{0,…, 0}_{a}⟩.

(21) For every instruction i of SCM_{FSA} and for every I such that i = I holds IncAddr(i, k) = IncAddr(I, k).

(22) For every instruction I of SCM_{FSA} and for every natural number k holds InsCode(IncAddr(I, k)) = InsCode(I).

Let I_{1} be a finite partial state of SCM_{FSA}. We say that I_{1} is initial if and only if:

(Def. 4) For all m, n such that insloc(n) ∈ dom I_{1} and m < n holds insloc(m) ∈

dom I_{1}. The finite partial state Stop_{SCM_{FSA}} of SCM_{FSA} is defined as follows:

(Def. 5) Stop_{SCM_{FSA}} = insloc(0)⟼ . halt_{SCM_{FSA}}.

Let us note that Stop_{SCM_{FSA}} is non empty initial and programmed. One can verify that there exists a finite partial state of SCM_{FSA} which is

initial programmed and non empty. Let f be a function and let g be a finite function. Note that f · g is finite.

Let N be a non empty set with non empty elements, let S be a definite AMI over N, let s be a programmed finite partial state of S, and let f be a function from the instructions of S into the instructions of S. Then f ·s is a programmed finite partial state of S.

In the sequel i will denote an instruction of SCM_{FSA}. The following proposition is true

(23) IncAddr(IncAddr(i, m), n) = IncAddr(i, m + n).

4. Incremeting addresses in a finite partial state

Let p be a programmed finite partial state of SCM_{FSA} and let k be a natural number. The functor IncAddr(p, k) yielding a programmed finite partial state of SCM_{FSA} is defined by:

(Def. 6) dom IncAddr(p, k) = dom p and for every m such that insloc(m) ∈

dom p holds (IncAddr(p, k))(insloc(m)) = IncAddr(π_{insloc(m)}p, k). The following propositions are true:

(24) Let p be a programmed finite partial state of SCM_{FSA}, and let k be a natural number, and let l be an instruction-location of SCM_{FSA}. If l ∈ dom p, then (IncAddr(p, k))(l) = IncAddr(π_{l}p, k).

(25) For all programmed finite partial states I, J of SCM_{FSA} holds IncAddr(I+·J, n) = IncAddr(I, n)+· IncAddr(J, n).

(26) Let f be a function from the instructions of SCM_{FSA} into the instructions of SCM_{FSA}. Suppose f = id_{(the instructions of SCM_{FSA})}+·(halt_{SCM_{FSA}} ⟼ . i). Let s be a programmed finite partial state of SCM_{FSA}. Then IncAddr(f · s, n) = (id_{(the instructions of SCM_{FSA})}+·(halt_{SCM_{FSA}}⟼ . IncAddr(i, n))) · IncAddr(s, n).

(27) For every programmed finite partial state I of SCM_{FSA} holds IncAddr(IncAddr(I, m), n) = IncAddr(I, m + n).

(28) For every state s of SCM_{FSA} holds Exec(IncAddr(CurInstr(s), k), s+· Start-At(IC_{s} + k)) = Following(s)+· Start-At(IC_{Following(s)} + k).

(29) Let I_{2} be an instruction of SCM_{FSA}, and let s be a state of SCM_{FSA}, and let p be a finite partial state of SCM_{FSA}, and let i, j, k be natural numbers. If IC_{s} = insloc(j + k), then Exec(I_{2}, s+· Start-At(IC_{s} −′ k)) = Exec(IncAddr(I_{2}, k), s)+· Start-At(IC_{Exec(IncAddr(I_{2},k),s)} −′ k).

5. Shifting the finite partial state

Let p be a programmed finite partial state of SCM_{FSA} and let k be a natural number. The functor Shift(p, k) yields a programmed finite partial state of SCM_{FSA} and is defined as follows:

modifying addresses of instructions of … 575

(Def. 7) dom Shift(p, k) = {insloc(m + k) : insloc(m) ∈ dom p} and for every m such that insloc(m) ∈ dom p holds (Shift(p, k))(insloc(m + k)) = p(insloc(m)).

The following propositions are true:

(30) Let l be an instruction-location of SCM_{FSA}, and let k be a natural number, and let p be a programmed finite partial state of SCM_{FSA}. If l ∈ dom p, then (Shift(p, k))(l + k) = p(l).

(31) Let p be a programmed finite partial state of SCM_{FSA} and let k be a natural number. Then dom Shift(p, k) = {i_{1} + k : i_{1} ranges over instructions-locations of SCM_{FSA}, i_{1} ∈ dom p}.

(32) For every programmed finite partial state I of SCM_{FSA} holds Shift(Shift(I, m), n) = Shift(I, m + n).

(33) Let s be a programmed finite partial state of SCM_{FSA}, and let f be a function from the instructions of SCM_{FSA} into the instructions of SCM_{FSA}, and given n. Then Shift(f · s, n) = f · Shift(s, n).

(34) For all programmed finite partial states I, J of SCM_{FSA} holds Shift(I+·J, n) = Shift(I, n)+· Shift(J, n).

(35) For all natural numbers i, j and for every programmed finite partial state p of SCM_{FSA} holds Shift(IncAddr(p, i), j) = IncAddr(Shift(p, j), i).

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] Grzegorz Bancerek and Andrzej Trybulec. Miscellaneous facts about functions. Formalized Mathematics, 5(4):485–492, 1996.

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

[5] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 1990.

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

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

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

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

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

[11] Yatsuka Nakamura and Andrzej Trybulec. A mathematical model of CPU. Formalized Mathematics, 3(2):151–160, 1992.

[12] Yatsuka Nakamura and Andrzej Trybulec. On a mathematical model of programs. Formalized Mathematics, 3(2):241–250, 1992.

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

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

[15] Yasushi Tanaka. On the decomposition of the states of SCM. Formalized Mathematics, 5(1):1–8, 1996.

[16] Yasushi Tanaka. Relocatability. Formalized Mathematics, 5(1):103–108, 1996.

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

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

[19] Andrzej Trybulec and Yatsuka Nakamura. Some remarks on the simple concrete model of computer. Formalized Mathematics, 4(1):51–56, 1993.

[20] Andrzej Trybulec, Yatsuka Nakamura, and Piotr Rudnicki. The SCM_{FSA} computer. Formalized Mathematics, 5(4):519–528, 1996.

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

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

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

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

The Correspondence Between Monotonic Many Sorted Signatures and Well-Founded Graphs. Part I ^{1}

Czesław Byliński Warsaw University Białystok

Piotr Rudnicki University of Alberta Edmonton

Summary. We prove a number of auxiliary facts about graphs, mainly about vertex sequences of chains and oriented chains. Then we define a graph to be well-founded if for each vertex in the graph the length of oriented chains ending at the vertex is bounded. A well-founded graph does not have directed cycles or infinite descending chains. In the second part of the article we prove some auxiliary facts about free algebras and locally-finite algebras.

MML Identifier: MSSCYC 1.

The papers [32], [34], [17], [21], [3], [1], [27], [7], [35], [14], [16], [15], [29], [19], [11], [33], [22], [24], [20], [4], [6], [8], [2], [5], [18], [12], [31], [30], [13], [23], [28], [26], [25], [9], and [10] provide the notation and terminology for this paper.

1. Some properties of graphs

The following proposition is true

(1) For every finite function f such that for every set x such that x ∈ dom f holds f(x) is finite holds ∏ f is finite.

In the sequel G will denote a graph and m, n will denote natural numbers. Let G be a graph. Let us note that the chain of G can be characterized by

the following (equivalent) condition: (Def. 1) It is a finite sequence of elements of the edges of G and there exists

finite sequence of elements of the vertices of G which is vertex sequence of it.

1This work was partially supported by NSERC Grant OGP9207.

One can prove the following proposition

(2) For all finite sequences p, q such that 1 ≤ n and n ≤ len p holds ⟨p(1),…, p(n)⟩ = ⟨(p^{}q)(1),…, (p^{}q)(n)⟩.

Let G be a graph and let I_{1} be a chain of G. We introduce I_{1} is directed as a synonym of I_{1} is oriented.

Let G be a graph and let I_{1} be a chain of G. We say that I_{1} is cyclic if and only if:

(Def. 2) There exists a finite sequence p of elements of the vertices of G such

that p is vertex sequence of I_{1} and p(1) = p(len p). Let I_{1} be a graph. We say that I_{1} is empty if and only if:

(Def. 3) The edges of I_{1} is empty.

One can verify that there exists a graph which is empty. Next we state the proposition

(3) For every graph G holds rng (the source of G) ∪ rng (the target of G) ⊆ the vertices of G.

Let us observe that there exists a graph which is finite simple connected non empty and strict.

Let G be a non empty graph. Note that the edges of G is non empty. We now state two propositions:

(4) Let e be arbitrary. Suppose e ∈ the edges of G. Let s, t be elements of the vertices of G. Suppose s = (the source of G)(e) and t = (the target of G)(e). Then ⟨s, t⟩ is vertex sequence of ⟨e⟩.

(5) For arbitrary e such that e ∈ the edges of G holds ⟨e⟩ is a directed chain of G.

In the sequel G is a non empty graph. Let us consider G. Observe that there exists a chain of G which is directed

non empty and path-like.

The following propositions are true:

(6) Let c be a chain of G and let p be a finite sequence of elements of the vertices of G. If c is cyclic and p is vertex sequence of c, then p(1) = p(len p).

(7) Let G be a graph and let e be arbitrary. Suppose e ∈ the edges of G. Let f_{1} be a directed chain of G. If f_{1} = ⟨e⟩, then vertex-seq(f_{1}) = ⟨(the source of G)(e), (the target of G)(e)⟩.

(8) For every finite sequence f holds len⟨f(m),…, f(n)⟩ ≤ len f.

(9) For every directed chain c of G such that 1 ≤ m and m ≤ n and n ≤ len c holds ⟨c(m),…, c(n)⟩ is a directed chain of G.

(10) For every non empty directed chain o_{1} of G holds len vertex-seq(o_{1}) =

len o_{1} + 1. Let us consider G and let o_{1} be a directed non empty chain of G. Observe

that vertex-seq(o_{1}) is non empty. One can prove the following propositions:

(11) Let o_{1} be a directed non empty chain of G and given n. Suppose 1 ≤ n and n ≤ len o_{1}. Then (vertex-seq(o_{1}))(n) = (the source of G)(o_{1}(n)) and (vertex-seq(o_{1}))(n + 1) = (the target of G)(o_{1}(n)).

(12) For every non empty finite sequence f such that 1 ≤ m and m ≤ n and n ≤ len f holds ⟨f(m),…, f(n)⟩ is non empty.

(13) For all directed chains c, c_{1} of G such that 1 ≤ m and m ≤ n and n ≤ len c and c_{1} = ⟨c(m),…, c(n)⟩ holds vertex-seq(c_{1}) = ⟨(vertex-seq(c))(m),…, (vertex-seq(c))(n + 1)⟩.

(14) For every directed non empty chain o_{1} of G holds (vertex-seq(o_{1}))(len o_{1}+ 1) = (the target of G)(o_{1}(len o_{1})).

(15) For all directed non empty chains c_{1}, c_{2} of G holds (vertex-seq(c_{1}))(len c_{1}+ 1) = (vertex-seq(c_{2}))(1) iff c_{1} ^{}c_{2} is a directed non empty chain of G.

(16) For all directed non empty chains c, c_{1}, c_{2} of G such that c = c_{1}^{}c_{2} holds (vertex-seq(c))(1) = (vertex-seq(c_{1}))(1) and (vertex-seq(c))(len c + 1) = (vertex-seq(c_{2}))(len c_{2} + 1).

(17) For every directed non empty chain o_{1} of G such that o_{1} is cyclic holds (vertex-seq(o_{1}))(1) = (vertex-seq(o_{1}))(len o_{1} + 1).

(18) Let c be a directed non empty chain of G. Suppose c is cyclic. Given n. Then there exists a directed chain c_{3} of G such that len c_{3} = n and c_{3} ^{}c is a directed non empty chain of G.

Let I_{1} be a graph. We say that I_{1} is directed cycle-less if and only if:

(Def. 4) For every directed chain d_{1} of I_{1} such that d_{1} is non empty holds d_{1} is

non cyclic. We introduce I_{1} has directed cycle as an antonym of I_{1} is directed cycle-less.

Let us mention that every graph which is empty is also directed cycle-less. Let I_{1} be a graph. We say that I_{1} is well-founded if and only if the condition

(Def. 5) is satisfied.

(Def. 5) Let v be an element of the vertices of I_{1}. Then there exists n such that for every directed chain c of I_{1} if c is non empty and (vertex-seq(c))(len c+ 1) = v, then len c ≤ n.

Let G be an empty graph. Note that every chain of G is empty. One can check that every graph which is empty is also well-founded. Let us observe that every graph which is non well-founded is also non empty. One can check that there exists a graph which is well-founded. Let us note that every graph which is well-founded is also directed cycle-less. Let us note that there exists a graph which is non well-founded. One can verify that there exists a graph which is directed cycle-less. We now state the proposition

(19) For every decorated tree t and for every node p of t and for every natural number k holds p k is a node of t.

2. Some properties of many sorted algebras

Next we state two propositions:

(20) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set indexed by the carrier of S, and let t be a term of S over X. Suppose t is not root. Then there exists an operation symbol o of S such that t(ε) = ⟨⟨o, the carrier of S⟩⟩.

(21) Let S be a non void non empty many sorted signature, and let A be an algebra over S, and let G be a generator set of A, and let B be a subset of A. If G ⊆ B, then B is a generator set of A.

Let S be a non void non empty many sorted signature and let A be a finitelygenerated non-empty algebra over S. Note that there exists a generator set of A which is non-empty and locally-finite.

One can prove the following two propositions:

(22) Let S be a non void non empty many sorted signature, and let A be a non-empty algebra over S, and let X be a non-empty generator set of A. Then there exists many sorted function from Free(X) into A which is an epimorphism of Free(X) onto A

(23) Let S be a non void non empty many sorted signature, and let A be a non-empty algebra over S, and let X be a non-empty generator set of A. If A is non locally-finite, then Free(X) is non locally-finite.

Let S be a non void non empty many sorted signature, let X be a non-empty locally-finite many sorted set indexed by the carrier of S, and let v be a sort symbol of S. One can check that FreeGenerator(v, X) is finite.

One can prove the following propositions:

(24) Let S be a non void non empty many sorted signature, and let X be a non-empty locally-finite many sorted set indexed by the carrier of S, and let v be a sort symbol of S. Then FreeGenerator(v, X) is finite.

(25) Let S be a non void non empty many sorted signature, and let A be a non-empty algebra over S, and let o be an operation symbol of S. If (the arity of S)(o) = ε, then dom Den(o, A) = {ε}.

Let I_{1} be a non void non empty many sorted signature. We say that I_{1} is finitely operated if and only if:

(Def. 6) For every sort symbol s of I_{1} holds {o : o ranges over operation symbols

of I_{1}, the result sort of o = s} is finite. Next we state three propositions:

(26) Let S be a non void non empty many sorted signature, and let A be a non-empty algebra over S, and let v be a sort symbol of S. If S is finitely operated, then Constants(A, v) is finite.

(27) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set indexed by the carrier of S, and let v be a sort

the correspondence between monotonic many … 581

symbol of S Then {t : t ranges over elements of (the sorts of Free(X))(v), depth(t) = 0} = FreeGenerator(v, X) ∪ Constants(Free(X), v).

(28) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set indexed by the carrier of S, and let v, v_{1} be sort symbols of S, and let o be an operation symbol of S, and let t be an element of (the sorts of Free(X))(v), and let a be an argument sequence of Sym(o, X), and let k be a natural number, and let a_{1} be an element of (the sorts of Free(X))(v_{1}). If t = ⟨⟨o, the carrier of S⟩⟩-tree(a) and k ∈ dom a and a_{1} = a(k), then depth(a_{1}) < depth(t).

References

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

[2] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

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

[4] Grzegorz Bancerek. Introduction to trees. Formalized Mathematics, 1(2):421–427, 1990.

[5] Grzegorz Bancerek. Joining of decorated trees. Formalized Mathematics, 4(1):77–82, 1993.

[6] Grzegorz Bancerek. König’s lemma. Formalized Mathematics, 2(3):397–402, 1991.

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

[8] Grzegorz Bancerek. Sets and functions of trees and joining operations of trees. Formalized Mathematics, 3(2):195–204, 1992.

[9] Grzegorz Bancerek. Subtrees. Formalized Mathematics, 5(2):185–190, 1996.

[10] Grzegorz Bancerek. Terms over many sorted universal algebra. Formalized Mathematics, 5(2):191–198, 1996.

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

[12] Grzegorz Bancerek and Piotr Rudnicki. On defining functions on trees. Formalized Mathematics, 4(1):91–101, 1993.

[13] Ewa Burakowska. Subalgebras of many sorted algebra. Lattice of subalgebras. Formalized Mathematics, 5(1):47–54, 1996.

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

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

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

[17] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

[18] Patricia L. Carlson and Grzegorz Bancerek. Context-free grammar - part 1. Formalized Mathematics, 2(5):683–687, 1991.

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

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

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

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

[23] Małgorzata Korolkiewicz. Homomorphisms of many sorted algebras. Formalized Mathematics, 5(1):61–65, 1996.

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

[25] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, II. Formalized Mathematics, 5(2):215–220, 1996.

582 czesław byliński and piotr rudnicki

[26] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, I. Formalized Mathematics, 5(2):167–172, 1996.

[27] Andrzej Ne‘dzusiak. σ-fields and probability. Formalized Mathematics, 1(2):401–407, 1990.

[28] Beata Perkowska. Free many sorted universal algebra. Formalized Mathematics, 5(1):67– 74, 1996.

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

[30] Andrzej Trybulec. Many sorted algebras. Formalized Mathematics, 5(1):37–42, 1996.

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

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

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

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

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

Relocability for SCM_{FSA}

Andrzej Trybulec Warsaw University Białystok Yatsuka Nakamura Shinshu University Nagano

MML Identifier: SCMFSA 5.

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

1. Relocability

In this paper j, k will denote natural numbers. Let p be a finite partial state of SCM_{FSA} and let k be a natural number. The

functor Relocated(p, k) yields a finite partial state of SCM_{FSA} and is defined as follows:

(Def. 1) Relocated(p, k) = Start-At(IC_{p} + k)+· IncAddr(Shift(ProgramPart(p),

k), k)+· DataPart(p). We now state a number of propositions:

(1) For every finite partial state p of SCM_{FSA} and for every natural number k holds DataPart(Relocated(p, k)) = DataPart(p).

(2) For every finite partial state p of SCM_{FSA} and for every natural number k holds ProgramPart(Relocated(p, k)) = IncAddr(Shift(ProgramPart(p), k), k).

(3) For every finite partial state p of SCM_{FSA} holds dom ProgramPart (Relocated(p, k)) = {insloc(j + k) : insloc(j) ∈ dom ProgramPart(p)}.

(4) Let p be a finite partial state of SCM_{FSA}, and let k be a natural number, and let l be an instruction-location of SCM_{FSA}. Then l ∈ dom p if and only if l + k ∈ dom Relocated(p, k).

(5) For every finite partial state p of SCM_{FSA} and for every natural number k holds IC_{SCM_{FSA}} ∈ dom Relocated(p, k).

(6) For every finite partial state p of SCM_{FSA} and for every natural number k holds IC_{Relocated(p,k)} = IC_{p} + k.

(7) Let p be a finite partial state of SCM_{FSA}, and let k be a natural number, and let l_{1} be an instruction-location of SCM_{FSA}, and let I be an instruction of SCM_{FSA}. If l_{1} ∈ dom ProgramPart(p) and I = p(l_{1}), then IncAddr(I, k) = (Relocated(p, k))(l_{1} + k).

(8) For every finite partial state p of SCM_{FSA} and for every natural number k holds Start-At(IC_{p} + k) ⊆ Relocated(p, k).

(9) Let s be a data-only finite partial state of SCM_{FSA}, and let p be a finite partial state of SCM_{FSA}, and let k be a natural number. If IC_{SCM_{FSA}} ∈ dom p, then Relocated(p+·s, k) = Relocated(p, k)+·s.

(10) Let k be a natural number, and let p be an autonomic finite partial state of SCM_{FSA}, and let s_{1}, s_{2} be states of SCM_{FSA}. If p ⊆ s_{1} and Relocated(p, k) ⊆ s_{2}, then p ⊆ s_{1}+·s_{2} (Int-Locations ∪ FinSeq-Locations).

2. Main Theorems of Relocability

We now state several propositions:

(11) Let k be a natural number and let p be an autonomic finite partial state of SCM_{FSA}. Suppose IC_{SCM_{FSA}} ∈ dom p. Let s be a state of SCM_{FSA}. Suppose p ⊆ s. Let i be a natural number. Then (Computation(s+· Relocated(p, k)))(i) = (Computation(s))(i)+· Start-At(IC_{(Computation(s))(i)} + k)+· ProgramPart (Relocated(p, k)).

(12) Let k be a natural number, and let p be an autonomic finite partial state of SCM_{FSA}, and let s_{1}, s_{2}, s_{3} be states of SCM_{FSA}. Suppose IC_{SCM_{FSA}} ∈ dom p and p ⊆ s_{1} and Relocated(p, k) ⊆ s_{2} and s_{3} = s_{1}+·s_{2} (Int-Locations ∪ FinSeq-Locations). Let i be a natural number. Then IC_{(Computation(s_{1}))(i)} + k = IC_{(Computation(s_{2}))(i)} and IncAddr(CurInstr((Computation(s_{1}))(i)), k) = CurInstr((Computation(s_{2}))(i)) and (Computation(s_{1}))(i) dom DataPart (p) = (Computation(s_{2}))(i) dom DataPart(Relocated(p, k)) and (Computation(s_{3}))(i) (Int-Locations ∪ FinSeq-Locations) = (Computation(s_{2}))(i) (Int-Locations ∪ FinSeq-Locations).

(13) Let p be an autonomic finite partial state of SCM_{FSA} and let k be a natural number. If IC_{SCM_{FSA}} ∈ dom p, then p is halting iff Relocated(p, k) is halting.

(14) Let k be a natural number and let p be an autonomic finite partial state of SCM_{FSA}. Suppose IC_{SCM_{FSA}} ∈ dom p. Let s be a state of SCM_{FSA}. Suppose Relocated(p, k) ⊆

relocability for SCM_{FSA} 585

s. Let i be a natural number. Then (Computation(s))(i) = (Computation(s+·p))(i)+· Start-At(IC_{(Computation(s+·p))(i)} + k)+·s dom ProgramPart(p)+· ProgramPart(Relocated(p, k)).

(15) Let k be a natural number and let p be a finite partial state of SCM_{FSA}. Suppose IC_{SCM_{FSA}} ∈ dom p. Let s be a state of SCM_{FSA}. Suppose p ⊆ s and Relocated(p, k) is autonomic. Let i be a natural number. Then (Computation(s))(i) = (Computation(s+· Relocated(p, k)))(i)+· Start-At (IC_{(Computation(s+· Relocated(p,k)))(i)}−′k)+·s dom ProgramPart(Relocated(p, k))+· ProgramPart(p).

(16) Let p be a finite partial state of SCM_{FSA}. Suppose IC_{SCM_{FSA}} ∈ dom p. Let k be a natural number. Then p is autonomic if and only if Relocated(p, k) is autonomic.

(17) Let p be a halting autonomic finite partial state of SCM_{FSA}. If IC_{SCM_{FSA}} ∈ dom p, then for every natural number k holds DataPart(Result(p)) = DataPart(Result(Relocated(p, k))).

(18) Let F be a data-only partial function from FinPartSt(SCM_{FSA}) to FinPartSt(SCM_{FSA}) and let p be a finite partial state of SCM_{FSA}. Suppose IC_{SCM_{FSA}} ∈ dom p. Let k be a natural number. Then p computes F if and only if Relocated(p, k) computes F.

References

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

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

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

[4] Grzegorz Bancerek and Andrzej Trybulec. Miscellaneous facts about functions. Formalized Mathematics, 5(4):485–492, 1996.

[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] Agata Darmochwał. Finite sets. Formalized Mathematics, 1(1):165–167, 1990.

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

[13] Yatsuka Nakamura and Andrzej Trybulec. A mathematical model of CPU. Formalized Mathematics, 3(2):151–160, 1992.

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

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

[16] Yasushi Tanaka. On the decomposition of the states of SCM. Formalized Mathematics, 5(1):1–8, 1996.

[17] Yasushi Tanaka. Relocatability. Formalized Mathematics, 5(1):103–108, 1996.

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

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

[20] Andrzej Trybulec and Yatsuka Nakamura. Computation in SCM_{FSA}. Formalized Mathematics, 5(4):537–542, 1996.

[21] Andrzej Trybulec and Yatsuka Nakamura. Modifying addresses of instructions of SCM_{FSA}. Formalized Mathematics, 5(4):571–576, 1996.

[22] Andrzej Trybulec and Yatsuka Nakamura. Some remarks on the simple concrete model of computer. Formalized Mathematics, 4(1):51–56, 1993.

[23] Andrzej Trybulec, Yatsuka Nakamura, and Piotr Rudnicki. The SCM_{FSA} computer. Formalized Mathematics, 5(4):519–528, 1996.

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

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

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

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

More on the Lattice of Congruences in Many Sorted Algebra

Robert Milewski Warsaw University Białystok

MML Identifier: MSUALG 8.

The terminology and notation used in this paper have been introduced in the following articles: [25], [27], [11], [19], [28], [29], [3], [8], [22], [9], [10], [12], [7], [4], [26], [5], [20], [30], [1], [2], [24], [13], [21], [16], [23], [15], [17], [14], [6], and [18].

1. More on the Lattice of Equivalence Relations

For simplicity we follow a convention: Y denotes a set, I denotes a non empty set, M denotes a many sorted set indexed by I, x, y are arbitrary, k denotes a natural number, p denotes a finite sequence, S denotes a non void non empty many sorted signature, and A denotes a non-empty algebra over S.

The following proposition is true

(1) For every natural number n and for every finite sequence p holds 1 ≤ n and n < len p iff n ∈ dom p and n + 1 ∈ dom p.

The scheme NonUniqSeqEx concerns a natural number A and a binary predicate P, and states that:

There exists p such that dom p = Seg A and for every k such that k ∈ Seg A holds P[k, p(k)]

provided the following requirement is met:

• For every k such that k ∈ Seg A there exists x such that P[k, x].

The following three propositions are true:

(2) Let a, b be elements of the carrier of EqRelLatt(Y) and let A, B be equivalence relations of Y. If a = A and b = B, then a ⊑ b iff A ⊆ B.

(3) ⊥_{EqRelLatt(Y)} = △_{Y} .

(4) ⊤_{EqRelLatt(Y)} = ∇_{Y} . Let us consider Y. Note that EqRelLatt(Y) is bounded. Next we state the proposition

(5) EqRelLatt(Y) is complete. Let us consider Y. One can check that EqRelLatt(Y) is complete. The following propositions are true:

(6) For every set Y and for every subset X of the carrier of EqRelLatt(Y) holds ⋃ X is a binary relation on Y.

(7) For every set Y and for every subset X of the carrier of EqRelLatt(Y) holds ⋃ X ⊆ ⨆ X.

(8) Let Y be a set, and let X be a subset of the carrier of EqRelLatt(Y), and let R be a binary relation on Y. If R = ⋃ X, then ⨆ X = EqCl(R).

(9) Let Y be a set, and let X be a subset of the carrier of EqRelLatt(Y), and let R be a binary relation. If R = ⋃ X, then R = R^{}.

(10) Let Y be a set and let X be a subset of the carrier of EqRelLatt(Y). Suppose x ∈ Y and y ∈ Y. Then ⟨⟨x, y⟩⟩ ∈ ⨆ X if and only if there exists a finite sequence f such that 1 ≤ len f and x = f(1) and y = f(len f) and for every natural number i such that 1 ≤ i and i < len f holds ⟨⟨f(i), f(i + 1)⟩⟩ ∈ ⋃ X.

2. Lattice of Congruences in Many Sorted Algebra as Sublattice of Lattice of Many Sorted Equivalence Relations Inherited Sup’s

and Inf’s

The following proposition is true

(11) For every subset B of the carrier of CongrLatt(A) holds

⌈−⌉_{EqRelLatt(the sorts of A)}B is a congruence of A. Let us consider S, A and let E be an element of the carrier of EqRelLatt(the

sorts of A). The functor CongrCl(E) yields a congruence of A and is defined by the condition (Def. 1).

(Def. 1) CongrCl(E) = ⌈−⌉_{EqRelLatt(the sorts of A)}{x : x ranges over elements of the

carrier of EqRelLatt(the sorts of A), x is a congruence of A ∧ E ⊑ x}. Let us consider S, A and let X be a subset of the carrier of EqRelLatt(the

sorts of A). The functor CongrCl(X) yields a congruence of A and is defined by the condition (Def. 2).

(Def. 2) CongrCl(X) = ⌈−⌉_{EqRelLatt(the sorts of A)}{x : x ranges over elements of the

carrier of EqRelLatt(the sorts of A), x is a congruence of A ∧ X ⊑ x}. The following propositions are true:

(12) For every element C of the carrier of EqRelLatt(the sorts of A) such that C is a congruence of A holds CongrCl(C) = C.

(13) For every subset X of the carrier of EqRelLatt(the sorts of A) holds CongrCl(⨆_{EqRelLatt(the sorts of A)} X) = CongrCl(X).

(14) Let B_{1}, B_{2} be subsets of the carrier of CongrLatt(A) and let C_{1}, C_{2} be congruences of A. Suppose C_{1} = ⨆_{EqRelLatt(the sorts of A)} B_{1} and C_{2} = ⨆_{EqRelLatt(the sorts of A)} B_{2}. Then C_{1} ⊔ C_{2} = ⨆_{EqRelLatt(the sorts of A)}(B_{1} ∪ B_{2}).

(15) Let X be a subset of the carrier of CongrLatt(A). Then ⨆_{EqRelLatt(the sorts of A)} X = ⨆_{EqRelLatt(the sorts of A)}{⨆_{EqRelLatt(the sorts of A)} X_{0} : X_{0} ranges over subsets of the carrier of EqRelLatt(the sorts of A), X_{0} is a finite subset of X}.

(16) Let i be an element of I and let e be an equivalence relation of M(i). Then there exists an equivalence relation E of M such that E(i) = e and for every element j of I such that j ≠ i holds E(j) = ∇_{M(j)}.

Let I be a non empty set, let M be a many sorted set indexed by I, let i be an element of I, and let X be a subset of the carrier of EqRelLatt(M). Then π_{i}X is a subset of the carrier of EqRelLatt(M(i)) and it can be characterized by the condition:

(Def. 3) x ∈ π_{i}X iff there exists an equivalence relation E_{1} of M such that

x = E_{1}(i) and E_{1} ∈ X. We introduce EqRelSet(X, i) as a synonym of π_{i}X.

Next we state four propositions:

(17) Let i be an element of the carrier of S, and let X be a subset of the carrier of EqRelLatt(the sorts of A), and let B be an equivalence relation of the sorts of A. If B = ⨆ X, then B(i) = ⨆_{EqRelLatt((the sorts of A)(i))} EqRelSet(X, i).

(18) For every subset X of the carrier of CongrLatt(A) holds ⨆_{EqRelLatt(the sorts of A)} X is a congruence of A.

(19) CongrLatt(A) is ⌈−⌉-inheriting.

(20) CongrLatt(A) is ⨆-inheriting.

Let us consider S, A. Observe that CongrLatt(A) is ⌈−⌉-inheriting and ⨆- inheriting.

References

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

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

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

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

[5] Grzegorz Bancerek. Reduction relations. Formalized Mathematics, 5(4):469–478, 1996.

[6] Grzegorz Bancerek. Translations, endomorphisms, and stable equational theories. Formalized Mathematics, 5(4):553–564, 1996.

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

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

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

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

[11] Czesław Byliński. 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] Artur Korniłowicz. Certain facts about families of subsets of many sorted sets. Formalized Mathematics, 5(3):451–456, 1996.

[14] Artur Korniłowicz. On the closure operator and the closure system of many sorted sets. Formalized Mathematics, 5(4):543–551, 1996.

[15] Małgorzata Korolkiewicz. Many sorted quotient algebra. Formalized Mathematics, 5(1):79–84, 1996.

[16] Beata Madras. Products of many sorted algebras. Formalized Mathematics, 5(1):55–60, 1996.

[17] Robert Milewski. Lattice of congruences in many sorted algebra. Formalized Mathematics, 5(4):479–483, 1996.

[18] Robert Milewski. More on the lattice of many sorted equivalence relations. Formalized Mathematics, 5(4):565–569, 1996.

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

[20] Konrad Raczkowski and Paweł Sadowski. Equivalence relations and classes of abstraction. Formalized Mathematics, 1(3):441–444, 1990.

[21] Alexander Yu. Shibakov and Andrzej Trybulec. The Cantor set. Formalized Mathematics, 5(2):233–236, 1996.

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

[23] Andrzej Trybulec. Many sorted algebras. Formalized Mathematics, 5(1):37–42, 1996.

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

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

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

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

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

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

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

Received March 6, 1996

The Correspondence Between Monotonic Many Sorted Signatures and Well-Founded Graphs. Part II ^{1}

Czesław Byliński Warsaw University Białystok

Piotr Rudnicki University of Alberta Edmonton

Summary. The graph induced by a many sorted signature is defined as follows: the vertices are the symbols of sorts, and if a sort s is an argument of an operation with result sort t, then a directed edge [s, t] is in the graph. The key lemma states relationship between the depth of elements of a free many sorted algebra over a signature and the length of directed chains in the graph induced by the signature. Then we prove that a monotonic many sorted signature (every finitely-generated algebra over it is locally-finite) induces a well-founded graph. The converse holds with an additional assumption that the signature is finitely operated, i.e. there is only a finite number of operations with the given result sort.

MML Identifier: MSSCYC 2.

The articles [30], [33], [19], [2], [15], [31], [34], [12], [14], [13], [18], [21], [17], [10], [3], [5], [7], [1], [4], [26], [6], [32], [20], [22], [29], [28], [11], [27], [25], [24], [23], [8], [9], and [16] provide the terminology and notation for this paper.

In this paper n will be a natural number.

Let S be a many sorted signature. The functor InducedEdges(S) yields a set and is defined by the condition (Def. 1).

(Def. 1) Let x be a set. Then x ∈ InducedEdges(S) if and only if there exist sets o_{1}, v such that x = ⟨⟨o_{1}, v⟩⟩ and o_{1} ∈ the operation symbols of S and v ∈ the carrier of S and there exists a natural number n and there exists an element a_{1} of (the carrier of S)^{∗} such that (the arity of S)(o_{1}) = a_{1} and n ∈ dom a_{1} and a_{1}(n) = v.

Next we state the proposition (1) For every many sorted signature S holds InducedEdges(S) ⊆ [: the op-

1This work was partially supported by NSERC Grant OGP9207.

eration symbols of S, the carrier of S:]. Let S be a many sorted signature. The functor InducedSource(S) yields a

function from InducedEdges(S) into the carrier of S and is defined as follows: (Def. 2) For every set e such that e ∈ InducedEdges(S) holds (InducedSource(S))

(e) = e_{2}. The functor InducedTarget(S) yielding a function from InducedEdges(S) into the carrier of S is defined by:

(Def. 3) For every set e such that e ∈ InducedEdges(S) holds (InducedTarget(S))

(e) = (the result sort of S)(e_{1}). Let S be a non empty many sorted signature. The functor InducedGraph(S)

yields a graph and is defined by: (Def. 4) InducedGraph(S) = ⟨the carrier of S, InducedEdges(S), InducedSource

(S), InducedTarget(S)⟩. One can prove the following propositions:

(2) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set indexed by the carrier of S, and let v be a sort symbol of S, and given n. Suppose 1 ≤ n. Then there exists an element t of (the sorts of Free(X))(v) such that depth(t) = n if and only if there exists a directed chain c of InducedGraph(S) such that len c = n and (vertex-seq(c))(len c + 1) = v.

(3) For every void non empty many sorted signature S holds S is monotonic iff InducedGraph(S) is well-founded.

(4) For every non void non empty many sorted signature S such that S is monotonic holds InducedGraph(S) is well-founded.

(5) Let S be a non void non empty many sorted signature and let X be a non-empty locally-finite many sorted set indexed by the carrier of S. Suppose S is finitely operated. Let n be a natural number and let v be a sort symbol of S. Then {t : t ranges over elements of (the sorts of Free(X))(v), depth(t) ≤ n} is finite.

(6) Let S be a non void non empty many sorted signature. If S is finitely operated and InducedGraph(S) is well-founded, then S is monotonic.

References

[1] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

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

[3] Grzegorz Bancerek. Introduction to trees. Formalized Mathematics, 1(2):421–427, 1990.

[4] Grzegorz Bancerek. Joining of decorated trees. Formalized Mathematics, 4(1):77–82, 1993.

[5] Grzegorz Bancerek. König’s lemma. Formalized Mathematics, 2(3):397–402, 1991.

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

the correspondence between monotonic many … 593

[7] Grzegorz Bancerek. Sets and functions of trees and joining operations of trees. Formalized Mathematics, 3(2):195–204, 1992.

[8] Grzegorz Bancerek. Subtrees. Formalized Mathematics, 5(2):185–190, 1996.

[9] Grzegorz Bancerek. Terms over many sorted universal algebra. Formalized Mathematics, 5(2):191–198, 1996.

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

[11] Ewa Burakowska. Subalgebras of many sorted algebra. Lattice of subalgebras. Formalized Mathematics, 5(1):47–54, 1996.

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

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

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

[15] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

[16] Czesław Byliński and Piotr Rudnicki. The correspondence between monotonic many sorted signatures and well-founded graphs. Part I. Formalized Mathematics, 5(4):577– 582, 1996.

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

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

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

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

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

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

[23] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Introduction to circuits, I. Formalized Mathematics, 5(2):227–232, 1996.

[24] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, I. Formalized Mathematics, 5(2):167–172, 1996.

[25] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, II. Formalized Mathematics, 5(2):215–220, 1996.

[26] Andrzej Ne‘dzusiak. σ-fields and probability. Formalized Mathematics, 1(2):401–407, 1990.

[27] Beata Perkowska. Free many sorted universal algebra. Formalized Mathematics, 5(1):67– 74, 1996.

[28] Andrzej Trybulec. Many sorted algebras. Formalized Mathematics, 5(1):37–42, 1996.

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

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

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

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

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

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

594

Functors for Alternative Categories

Andrzej Trybulec Warsaw University Białystok

Summary. An attempt to define the concept of a functor covering both cases (covariant and contravariant) resulted in a structure consisting of two fields: the object map and the morphism map, the first one mapping the Cartesian squares of the set of objects rather than the set of objects. We start with an auxiliary notion of bifunction, i.e. a function mapping the Cartesian square of a set A into the Cartesian square of a set B. A bifunction f is said to be covariant if there is a function g from A into B that f is the Cartesian square of g and f is contravariant if there is a function g such that f(o_{1}, o_{2}) = ⟨g(o_{2}), g(o_{1})⟩. The term transformation, another auxiliary notion, might be misleading. It is not related to natural transformations. A transformation from a many sorted set A indexed by I into a many sorted set B indexed by J w.r.t. a function f from I into J is a (many sorted) function from A into B · f. Eventually, the morphism map of a functor from C_{1} into C_{2} is a transformation from the arrows of the category C_{1} into the composition of the object map of the functor and the arrows of C_{2}.

Several kinds of functor structures have been defined: one-to-one, faithful, onto, full and id-preserving. We were pressed to split property that the composition be preserved into two: comp-preserving (for covariant functors) and comp-reversing (for contravariant functors). We defined also some operation on functors, e.g. the composition, the inverse functor. In the last section it is defined what is meant that two categories are isomorphic (anti-isomorphic).

MML Identifier: FUNCTOR0.

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

1. Preliminaries

The scheme ValOnPair concerns a non empty set A, a function B, elements C, D of A, a binary functor F yielding arbitrary, and a binary predicate P, and states that:

B(C, D) = F(C, D) provided the following conditions are met:

• B = {⟨⟨⟨⟨o, o′⟩⟩, F(o, o′)⟩⟩ : o ranges over elements of A, o′ ranges over elements of A, P[o, o′]},

• P[C, D]. One can prove the following propositions:

(1) For every set A holds ∅ is a function from A into ∅.

(2) For every set A and for every function f from A into ∅ holds f = ∅.

(3) For every set I and for every many sorted set M indexed by I holds M · id_{I} = M.

Let f be an empty function. Note that f is empty. Let g be a function. One can verify that [: f, g:] is empty and [: g, f :] is empty.

The following propositions are true:

(4) For every set A and for every function f holds f^{∘}(id_{A}) = ( f)^{∘}(id_{A}).

(5) For all sets X, Y and for every function f from X into Y holds f is onto iff [: f, f :] is onto.

Let I_{1} be a set and let f, g be many sorted functions of I_{1}. Then g ∘ f is a many sorted function of I_{1}.

Let f be a function yielding function. One can verify that f is function yielding.

One can prove the following propositions:

(6) For all sets A, B and for arbitrary a holds ([: A, B:] ⟼ a) = [: B, A:] ⟼ a.

(7) For all functions f, g such that f is one-to-one and g is one-to-one holds [: f, g:]^{−1} = [: f^{−1}, g^{−1} :].

(8) For every function f such that [: f, f :] is one-to-one holds f is one-to-one.

(9) For every function f such that f is one-to-one holds f is one-to-one.

(10) For all functions f, g such that [: f, g:] is one-to-one holds [: g, f :] is one-to-one.

(11) For all functions f, g such that f is one-to-one and g is one-to-one holds ( [: f, g:])^{−1} = ([: g, f :]^{−1}).

(12) For all sets A, B and for every function f from A into B such that f is onto holds id_{B} ⊆ [: f, f :]^{∘}(id_{A}).

(13) For all function yielding functions F, G and for every function f holds

(G ∘ F) · f = (G · f) ∘ (F · f). Let A, B, C be sets and let f be a function from [: A, B:] into C. Then f

is a function from [: B, A:] into C.

Next we state two propositions:

(14) For all sets A, B, C and for every function f from [: A, B:] into C such that f is onto holds f is onto.

(15) For every set A and for every non empty set B and for every function f from A into B holds [: f, f :]^{∘}(id_{A}) ⊆ id_{B}.

2. Functions Between Cartesian Squares

Let A, B be sets. (Def. 1) A function from [: A, A:] into [: B, B:] is called a bifunction from A into

B. Let A, B be sets and let f be a bifunction from A into B. We say that f is

precovariant if and only if: (Def. 2) There exists a function g from A into B such that f = [: g, g:].

We say that f is precontravariant if and only if: (Def. 3) There exists a function g from A into B such that f = [: g, g:].

The following proposition is true

(16) Let A be a set, and let B be a non empty set, and let b be an element of B, and let f be a bifunction from A into B. If f = [: A, A:] ⟼ ⟨⟨b, b⟩⟩, then f is precovariant and precontravariant.

Let A, B be sets. Note that there exists a bifunction from A into B which is precovariant and precontravariant.

Next we state the proposition

(17) Let A, B be non empty sets and let f be a precovariant precontravariant bifunction from A into B. Then there exists an element b of B such that f = [: A, A:] ⟼ ⟨⟨b, b⟩⟩.

3. Unary Transformations

Let I_{1}, I_{2} be sets, let f be a function from I_{1} into I_{2}, let A be a many sorted set indexed by I_{1}, and let B be a many sorted set indexed by I_{2}. A many sorted set indexed by I_{1} is called a f-transformation from A to B if:

(Def. 4) (i) There exists a non empty set I′_{2} and there exists a many sorted set B′ indexed by I′_{2} and there exists a function f′ from I_{1} into I′_{2} such that f = f′ and B = B′ and it is a many sorted function from A into B′ · f′ if I_{2} ≠ ∅,

(ii) it = ∅_{(I_{1})}, otherwise. Let I_{1} be a set, let I_{2} be a non empty set, let f be a function from I_{1} into I_{2},

let A be a many sorted set indexed by I_{1}, and let B be a many sorted set indexed by I_{2}. Let us note that the f-transformation from A to B can be characterized by the following (equivalent) condition:

(Def. 5) It is a many sorted function from A into B · f.

Let I_{1}, I_{2} be sets, let f be a function from I_{1} into I_{2}, let A be a many sorted set indexed by I_{1}, and let B be a many sorted set indexed by I_{2}. Note that every f-transformation from A to B is function yielding.

We now state the proposition

(18) Let I_{1} be a set, and let I_{2}, I_{3} be non empty sets, and let f be a function from I_{1} into I_{2}, and let g be a function from I_{2} into I_{3}, and let B be a many sorted set indexed by I_{2} and let C be a many sorted set indexed by I_{3} and let G be a g-transformation from B to C. Then G · f is a g · f-transformation from B · f to C.

Let I_{1} be a set, let I_{2} be a non empty set, let f be a function from I_{1} into I_{2}, let A be a many sorted set indexed by [: I_{1}, I_{1} :], let B be a many sorted set indexed by [: I_{2}, I_{2} :], and let F be a [: f, f :]-transformation from A to B. Then F is a [: f, f :]-transformation from A to B.

One can prove the following two propositions:

(19) Let I_{1}, I_{2} be non empty sets, and let A be a many sorted set indexed by I_{1} and let B be a many sorted set indexed by I_{2} and let o be an element of I_{2}. Suppose B(o) ≠ ∅. Let m be an element of B(o) and let f be a function from I_{1} into I_{2}. Suppose f = I_{1} ⟼ o. Then {⟨⟨o′, A(o′) ⟼ m⟩⟩ : o′ ranges over elements of I_{1}} is a f-transformation from A to B.

(20) Let I_{1} be a set, and let I_{2}, I_{3} be non empty sets, and let f be a function from I_{1} into I_{2}, and let g be a function from I_{2} into I_{3}, and let A be a many sorted set indexed by I_{1} and let B be a many sorted set indexed by I_{2} and let C be a many sorted set indexed by I_{3} and let F be a ftransformation from A to B, and let G be a g ·f-transformation from B ·f to C. Suppose that for arbitrary i_{1} such that i_{1} ∈ I_{1} and (B · f)(i_{1}) = ∅ holds A(i_{1}) = ∅ or (C · (g · f))(i_{1}) = ∅. Then G ∘ (F qua function yielding function) is a g · f-transformation from A to C.

4. Functors

Let C_{1}, C_{2} be 1-sorted structures. We introduce bimap structures from C_{1} into C_{2} which are systems

⟨ an object map ⟩, where the object map is a bifunction from the carrier of C_{1} into the carrier of C_{2}.

Let C_{1}, C_{2} be non empty graphs, let F be a bimap structure from C_{1} into C_{2}, and let o be an object of C_{1}. The functor F (o) yields an object of C_{2} and is defined as follows:

(Def. 6) F (o) = (the object map of F)(o, o)_{1}.

Let A, B be 1-sorted structures and let F be a bimap structure from A into B. We say that F is one-to-one if and only if:

(Def. 7) The object map of F is one-to-one.

We say that F is onto if and only if: (Def. 8) The object map of F is onto.

We say that F is reflexive if and only if: (Def. 9) (The object map of F)^{∘}(id_{(the carrier of A)}) ⊆ id_{(the carrier of B)}.

We say that F is coreflexive if and only if: (Def. 10) id_{(the carrier of B)} ⊆ (the object map of F)^{∘}(id_{(the carrier of A)}).

Let A, B be non empty graphs and let F be a bimap structure from A into B. Let us observe that F is reflexive if and only if:

(Def. 11) For every object o of A holds (the object map of F)(o, o) = ⟨⟨F (o),

F (o)⟩⟩. We now state the proposition

(21) Let A, B be reflexive non empty graphs and let F be a bimap structure from A into B. Suppose F is coreflexive. Let o be an object of B. Then there exists an object o′ of A such that F (o′) = o.

Let C_{1}, C_{2} be non empty graphs and let F be a bimap structure from C_{1} into C_{2}. We say that F is feasible if and only if:

(Def. 12) For all objects o_{1}, o_{2} of C_{1} such that ⟨o_{1}, o_{2}⟩ ≠ ∅ holds (the arrows of

C_{2})((the object map of F)(o_{1}, o_{2})) ≠ ∅. Let C_{1}, C_{2} be graphs. We introduce functor structures from C_{1} to C_{2} which

are extensions of bimap structure from C_{1} into C_{2} and are systems

⟨ an object map, a morphism map ⟩, where the object map is a bifunction from the carrier of C_{1} into the carrier of C_{2} and the morphism map is a the object map-transformation from the arrows of C_{1} to the arrows of C_{2}.

Let C_{1}, C_{2} be 1-sorted structures and let I_{4} be a bimap structure from C_{1} into C_{2}. We say that I_{4} is precovariant if and only if:

(Def. 13) The object map of I_{4} is precovariant.

We say that I_{4} is precontravariant if and only if: (Def. 14) The object map of I_{4} is precontravariant.

Let C_{1}, C_{2} be graphs. One can verify that there exists a functor structure from C_{1} to C_{2} which is precovariant and there exists a functor structure from C_{1} to C_{2} which is precontravariant.

Let C_{1}, C_{2} be graphs, let F be a functor structure from C_{1} to C_{2}, and let o_{1}, o_{2} be objects of C_{1}. The functor Morph-Map_{F} (o_{1}, o_{2}) is defined as follows:

(Def. 15) Morph-Map_{F} (o_{1}, o_{2}) = (the morphism map of F)(o_{1}, o_{2}).

Let C_{1}, C_{2} be graphs, let F be a functor structure from C_{1} to C_{2}, and let o_{1}, o_{2} be objects of C_{1}. Observe that Morph-Map_{F} (o_{1}, o_{2}) is relation-like and function-like.

Let C_{1}, C_{2} be non empty graphs, let F be a precovariant functor structure from C_{1} to C_{2}, and let o_{1}, o_{2} be objects of C_{1}. Then Morph-Map_{F} (o_{1}, o_{2}) is a function from ⟨o_{1}, o_{2}⟩ into ⟨F (o_{1}), F (o_{2})⟩.

Let C_{1}, C_{2} be non empty graphs, let F be a precovariant functor structure from C_{1} to C_{2}, and let o_{1}, o_{2} be objects of C_{1}. Let us assume that ⟨o_{1}, o_{2}⟩ ≠ ∅ and ⟨F (o_{1}), F (o_{2})⟩ ≠ ∅. Let m be a morphism from o_{1} to o_{2}. The functor F (m) yielding a morphism from F (o_{1}) to F (o_{2}) is defined as follows:

(Def. 16) F (m) = (Morph-Map_{F} (o_{1}, o_{2}))(m).

Let C_{1}, C_{2} be non empty graphs, let F be a precontravariant functor structure from C_{1} to C_{2}, and let o_{1}, o_{2} be objects of C_{1}. Then Morph-Map_{F} (o_{1}, o_{2}) is a function from ⟨o_{1}, o_{2}⟩ into ⟨F (o_{2}), F (o_{1})⟩.

Let C_{1}, C_{2} be non empty graphs, let F be a precontravariant functor structure from C_{1} to C_{2}, and let o_{1}, o_{2} be objects of C_{1}. Let us assume that ⟨o_{1}, o_{2}⟩ ≠ ∅ and ⟨F (o_{2}), F (o_{1})⟩ ≠ ∅. Let m be a morphism from o_{1} to o_{2}. The functor F (m) yielding a morphism from F (o_{2}) to F (o_{1}) is defined as follows:

(Def. 17) F (m) = (Morph-Map_{F} (o_{1}, o_{2}))(m).

Let C_{1}, C_{2} be non empty graphs and let o be an object of C_{2}. Let us assume that ⟨o, o⟩ ≠ ∅. Let m be a morphism from o to o. The functor C_{1} ⟼ m yields a strict functor structure from C_{1} to C_{2} and is defined by the conditions (Def. 18).

(Def. 18) (i) The object map of C_{1} ⟼ m = [: the carrier of C_{1}, the carrier of

C_{1} :] ⟼ ⟨⟨o, o⟩⟩, and (ii) the morphism map of C_{1} ⟼ m = {⟨⟨⟨⟨o_{1}, o_{2}⟩⟩, (⟨o_{1}, o_{2}⟩) ⟼ m⟩⟩ : o_{1}

ranges over objects of C_{1}, o_{2} ranges over objects of C_{1}}. We now state the proposition

(22) Let C_{1}, C_{2} be non empty graphs and let o_{2} be an object of C_{2}. Suppose ⟨o_{2}, o_{2}⟩ ≠ ∅. Let m be a morphism from o_{2} to o_{2} and let o_{1} be an object of C_{1}. Then (C_{1} ⟼ m)(o_{1}) = o_{2}.

Let C_{1} be a non empty graph, let C_{2} be a non empty reflexive graph, let o be an object of C_{2}, and let m be a morphism from o to o. One can verify that C_{1} ⟼ m is precovariant precontravariant and feasible.

Let C_{1} be a non empty graph and let C_{2} be a non empty reflexive graph. One can check that there exists a functor structure from C_{1} to C_{2} which is feasible precovariant and precontravariant.

The following proposition is true

(23) Let C_{1}, C_{2} be non empty graphs, and let F be a precovariant functor structure from C_{1} to C_{2}, and let o_{1}, o_{2} be objects of C_{1} Then (the object map of F)(o_{1}, o_{2}) = ⟨⟨F (o_{1}), F (o_{2})⟩⟩.

Let C_{1}, C_{2} be non empty graphs and let F be a precovariant functor structure from C_{1} to C_{2}. Let us observe that F is feasible if and only if:

(Def. 19) For all objects o_{1}, o_{2} of C_{1} such that ⟨o_{1}, o_{2}⟩ ≠ ∅ holds ⟨F (o_{1}), F (o_{2})⟩ ≠

∅. One can prove the following proposition

(24) Let C_{1}, C_{2} be non empty graphs, and let F be a precontravariant functor structure from C_{1} to C_{2}, and let o_{1}, o_{2} be objects of C_{1} Then (the object map of F)(o_{1}, o_{2}) = ⟨⟨F (o_{2}), F (o_{1})⟩⟩.

Let C_{1}, C_{2} be non empty graphs and let F be a precontravariant functor structure from C_{1} to C_{2}. Let us observe that F is feasible if and only if:

(Def. 20) For all objects o_{1}, o_{2} of C_{1} such that ⟨o_{1}, o_{2}⟩ ≠ ∅ holds ⟨F (o_{2}), F (o_{1})⟩ ≠

∅. Let C_{1}, C_{2} be graphs and let F be a functor structure from C_{1} to C_{2}. Observe

that the morphism map of F is function yielding.

Let us note that there exists a category structure which is non empty and reflexive.

Let C_{1}, C_{2} be non empty category structures with units and let F be a functor structure from C_{1} to C_{2}. We say that F is id-preserving if and only if:

(Def. 21) For every object o of C_{1} holds (Morph-Map_{F} (o, o))(id_{o}) = id_{F (o)} .

We now state the proposition

(25) Let C_{1}, C_{2} be non empty graphs and let o_{2} be an object of C_{2}. Suppose ⟨o_{2}, o_{2}⟩ ≠ ∅. Let m be a morphism from o_{2} to o_{2}, and let o, o′ be objects of C_{1} and let f be a morphism from o to o′. If ⟨o, o′⟩ ≠ ∅, then (Morph-Map_{C_{1}⟼m}(o, o′))(f) = m.

One can check that every non empty category structure which has units is reflexive.

Let C_{1}, C_{2} be non empty category structures with units and let o_{2} be an object of C_{2}. Note that C_{1} ⟼ id_{(o_{2})} is id-preserving.

Let C_{1} be a non empty graph, let C_{2} be a non empty reflexive graph, let o_{2} be an object of C_{2}, and let m be a morphism from o_{2} to o_{2}. Observe that C_{1} ⟼ m is reflexive.

Let C_{1} be a non empty graph and let C_{2} be a non empty reflexive graph. Observe that there exists a functor structure from C_{1} to C_{2} which is feasible and reflexive.

Let C_{1}, C_{2} be non empty category structures with units. Note that there exists a functor structure from C_{1} to C_{2} which is id-preserving feasible reflexive and strict.

Let C_{1}, C_{2} be non empty category structures and let F be a functor structure from C_{1} to C_{2}. We say that F is comp-preserving if and only if the condition (Def. 22) is satisfied.

(Def. 22) Let o_{1}, o_{2}, o_{3} be objects of C_{1} Suppose ⟨o_{1}, o_{2}⟩ ≠ ∅ and ⟨o_{2}, o_{3}⟩ ≠ ∅. Let f be a morphism from o_{1} to o_{2} and let g be a morphism from o_{2} to o_{3}. Then there exists a morphism f′ from F (o_{1}) to F (o_{2}) and there exists a morphism g′ from F (o_{2}) to F (o_{3}) such that f′ = (Morph-Map_{F} (o_{1}, o_{2}))(f) and g′ = (Morph-Map_{F} (o_{2}, o_{3}))(g) and (Morph-Map_{F} (o_{1}, o_{3}))(g · f) = g′ · f′.

Let C_{1}, C_{2} be non empty category structures and let F be a functor structure from C_{1} to C_{2}. We say that F is comp-reversing if and only if the condition (Def. 23) is satisfied.

(Def. 23) Let o_{1}, o_{2}, o_{3} be objects of C_{1} Suppose ⟨o_{1}, o_{2}⟩ ≠ ∅ and ⟨o_{2}, o_{3}⟩ ≠ ∅. Let f be a morphism from o_{1} to o_{2} and let g be a morphism from o_{2} to o_{3}.

Then there exists a morphism f′ from F (o_{2}) to F (o_{1}) and there exists a morphism g′ from F (o_{3}) to F (o_{2}) such that f′ = (Morph-Map_{F} (o_{1}, o_{2}))(f) and g′ = (Morph-Map_{F} (o_{2}, o_{3}))(g) and (Morph-Map_{F} (o_{1}, o_{3}))(g · f) = f′ · g′.

Let C_{1} be a non empty transitive category structure, let C_{2} be a non empty reflexive category structure, and let F be a precovariant feasible functor structure from C_{1} to C_{2}. Let us observe that F is comp-preserving if and only if the condition (Def. 24) is satisfied.

(Def. 24) Let o_{1}, o_{2}, o_{3} be objects of C_{1} Suppose ⟨o_{1}, o_{2}⟩ ≠ ∅ and ⟨o_{2}, o_{3}⟩ ≠ ∅. Let f be a morphism from o_{1} to o_{2} and let g be a morphism from o_{2} to o_{3}. Then F (g · f) = F (g) · F (f).

Let C_{1} be a non empty transitive category structure, let C_{2} be a non empty reflexive category structure, and let F be a precontravariant feasible functor structure from C_{1} to C_{2}. Let us observe that F is comp-reversing if and only if the condition (Def. 25) is satisfied.

(Def. 25) Let o_{1}, o_{2}, o_{3} be objects of C_{1} Suppose ⟨o_{1}, o_{2}⟩ ≠ ∅ and ⟨o_{2}, o_{3}⟩ ≠ ∅. Let f be a morphism from o_{1} to o_{2} and let g be a morphism from o_{2} to o_{3}. Then F (g · f) = F (f) · F (g).

The following two propositions are true:

(26) Let C_{1} be a non empty graph, and let C_{2} be a non empty reflexive graph, and let o_{2} be an object of C_{2}, and let m be a morphism from o_{2} to o_{2}, and let F be a precovariant feasible functor structure from C_{1} to C_{2}. Suppose F = C_{1} ⟼ m. Let o, o′ be objects of C_{1} and let f be a morphism from o to o′. If ⟨o, o′⟩ ≠ ∅, then F (f) = m.

(27) Let C_{1} be a non empty graph, and let C_{2} be a non empty reflexive graph, and let o_{2} be an object of C_{2}, and let m be a morphism from o_{2} to o_{2}, and let o, o′ be objects of C_{1} and let f be a morphism from o to o′. If ⟨o, o′⟩ ≠ ∅, then (C_{1} ⟼ m)(f) = m.

Let C_{1} be a non empty transitive category structure, let C_{2} be a non empty category structure with units, and let o be an object of C_{2}. Note that C_{1} ⟼ id_{o} is comp-preserving and comp-reversing.

Let C_{1} be a transitive non empty category structure with units and let C_{2} be a non empty category structure with units. A functor structure from C_{1} to C_{2} is said to be a functor from C_{1} to C_{2} if:

(Def. 26) It is feasible and id-preserving but it is precovariant and comp-

preserving or it is precontravariant and comp-reversing. Let C_{1} be a transitive non empty category structure with units, let C_{2} be a

non empty category structure with units, and let F be a functor from C_{1} to C_{2}. We say that F is covariant if and only if:

(Def. 27) F is precovariant and comp-preserving.

We say that F is contravariant if and only if: (Def. 28) F is precontravariant and comp-reversing.

Let A be a category structure and let B be a substructure of A. The functor {B \atop ↪} yields a strict functor structure from B to A and is defined by the conditions (Def. 29).

(Def. 29) (i) The object map of {B \atop ↪} = id_{[: the carrier of B, the carrier of B:]}, and (ii) the morphism map of {B \atop ↪} = id_{(the arrows of B)}. Let A be a graph. The functor id_{A} yielding a strict functor structure from

A to A is defined by the conditions (Def. 30). (Def. 30) (i) The object map of id_{A} = id_{[: the carrier of A, the carrier of A:]}, and

(ii) the morphism map of id_{A} = id_{(the arrows of A)}. Let A be a category structure and let B be a substructure of A. Note that

{B \atop ↪} is precovariant.

One can prove the following propositions:

(28) Let A be a non empty category structure, and let B be a non empty substructure of A, and let o be an object of B. Then ({B \atop ↪})(o) = o.

(29) Let A be a non empty category structure, and let B be a non empty substructure of A, and let o_{1}, o_{2} be objects of B Then ⟨o_{1}, o_{2}⟩ ⊆ ⟨({B \atop ↪})(o_{1}), ({B \atop ↪})(o_{2})⟩.

Let A be a non empty category structure and let B be a non empty substructure of A. Observe that {B \atop ↪} is feasible.

Let A, B be graphs and let F be a functor structure from A to B. We say that F is faithful if and only if:

(Def. 31) The morphism map of F is “1-1”.

Let A, B be graphs and let F be a functor structure from A to B. We say that F is full if and only if the condition (Def. 32) is satisfied.

(Def. 32) There exists a many sorted set B′ indexed by [: the carrier of A, the carrier of A:] and there exists a many sorted function f from the arrows of A into B′ such that B′ = (the arrows of B) · (the object map of F) and f = the morphism map of F and f is onto.

Let A be a graph, let B be a non empty graph, and let F be a functor structure from A to B. Let us observe that F is full if and only if the condition (Def. 33) is satisfied.

(Def. 33) There exists a many sorted function f from the arrows of A into (the arrows of B) · (the object map of F) such that f = the morphism map of F and f is onto.

Let A, B be graphs and let F be a functor structure from A to B. We say that F is injective if and only if:

(Def. 34) F is one-to-one and faithful.

We say that F is surjective if and only if: (Def. 35) F is full and onto.

Let A, B be graphs and let F be a functor structure from A to B. We say that F is bijective if and only if:

(Def. 36) F is injective and surjective.

Let A, B be transitive non empty category structures with units. One can check that there exists a functor from A to B which is strict covariant contravariant and feasible.

The following two propositions are true:

(30) For every non empty graph A and for every object o of A holds id_{A}(o) = o.

(31) Let A be a non empty graph and let o_{1}, o_{2} be objects of A If ⟨o_{1}, o_{2}⟩ ≠ ∅, then for every morphism m from o_{1} to o_{2} holds (Morph-Map_{id_{A}}(o_{1}, o_{2}))(m) = m.

Let A be a non empty graph. Note that id_{A} is feasible and precovariant. Let A be a non empty graph. Note that there exists a functor structure from

A to A which is precovariant and feasible.

One can prove the following proposition

(32) Let A be a non empty graph and let o_{1}, o_{2} be objects of A Suppose ⟨o_{1}, o_{2}⟩ ≠ ∅. Let F be a precovariant feasible functor structure from A to A. If F = id_{A}, then for every morphism m from o_{1} to o_{2} holds F (m) = m.

Let A be a transitive non empty category structure with units. One can check that id_{A} is id-preserving and comp-preserving.

Let A be a transitive non empty category structure with units. Then id_{A} is a strict covariant functor from A to A.

Let A be a graph. One can verify that id_{A} is bijective.

5. The Composition of Functors

Let C_{1} be a non empty graph, let C_{2}, C_{3} be non empty reflexive graphs, let F be a feasible functor structure from C_{1} to C_{2}, and let G be a functor structure from C_{2} to C_{3}. The functor G · F yielding a strict functor structure from C_{1} to C_{3} is defined by the conditions (Def. 37).

(Def. 37) (i) The object map of G · F = (the object map of G) · (the object map

of F), and (ii) the morphism map of G · F = ((the morphism map of G) · (the object

map of F)) ∘ (the morphism map of F). Let C_{1} be a non empty graph, let C_{2}, C_{3} be non empty reflexive graphs, let

F be a precovariant feasible functor structure from C_{1} to C_{2}, and let G be a precovariant functor structure from C_{2} to C_{3}. Observe that G·F is precovariant.

Let C_{1} be a non empty graph, let C_{2}, C_{3} be non empty reflexive graphs, let F be a precontravariant feasible functor structure from C_{1} to C_{2}, and let G be a precovariant functor structure from C_{2} to C_{3}. Observe that G · F is precontravariant.

Let C_{1} be a non empty graph, let C_{2}, C_{3} be non empty reflexive graphs, let F be a precovariant feasible functor structure from C_{1} to C_{2}, and let G be a precontravariant functor structure from C_{2} to C_{3}. Observe that G · F is precontravariant.

Let C_{1} be a non empty graph, let C_{2}, C_{3} be non empty reflexive graphs, let F be a precontravariant feasible functor structure from C_{1} to C_{2}, and let G be a precontravariant functor structure from C_{2} to C_{3}. Observe that G · F is precovariant.

Let C_{1} be a non empty graph, let C_{2}, C_{3} be non empty reflexive graphs, let F be a feasible functor structure from C_{1} to C_{2}, and let G be a feasible functor structure from C_{2} to C_{3}. Note that G · F is feasible.

The following three propositions are true:

(33) Let C_{1} be a non empty graph, and let C_{2}, C_{3}, C_{4} be non empty reflexive graphs, and let F be a feasible functor structure from C_{1} to C_{2}, and let G be a feasible functor structure from C_{2} to C_{3}, and let H be a functor structure from C_{3} to C_{4}. Then (H · G) · F = H · (G · F).

(34) Let C_{1} be a non empty category structure, and let C_{2}, C_{3} be non empty reflexive category structures, and let F be a feasible reflexive functor structure from C_{1} to C_{2}, and let G be a functor structure from C_{2} to C_{3}, and let o be an object of C_{1}. Then (G · F)(o) = G(F (o)).

(35) Let C_{1} be a non empty graph, and let C_{2}, C_{3} be non empty reflexive graphs, and let F be a feasible reflexive functor structure from C_{1} to C_{2}, and let G be a functor structure from C_{2} to C_{3}, and let o be an object of C_{1}. Then Morph-Map_{G·F} (o, o) = Morph-Map_{G}(F (o), F (o)) · Morph-Map_{F} (o, o).

Let C_{1}, C_{2}, C_{3} be non empty category structures with units, let F be an id-preserving feasible reflexive functor structure from C_{1} to C_{2}, and let G be an id-preserving functor structure from C_{2} to C_{3}. Note that G · F is id-preserving.

Let A, C be non empty reflexive category structures, let B be a non empty substructure of A, and let F be a functor structure from A to C. The functor F B yielding a functor structure from B to C is defined as follows:

(Def. 38) F B = F · ({B \atop ↪}).

6. The Inverse Functor

Let A, B be non empty graphs and let F be a functor structure from A to B. Let us assume that F is bijective. The functor F^{−1} yielding a strict functor structure from B to A is defined by the conditions (Def. 39).

(Def. 39) (i) The object map of F^{−1} = (the object map of F)^{−1}, and

(ii) there exists a many sorted function f from the arrows of A into (the arrows of B) · (the object map of F) such that f = the morphism map of F and the morphism map of F^{−1} = f^{−1} · (the object map of F)^{−1}.

One can prove the following propositions:

(36) Let A, B be transitive non empty category structures with units and let F be a feasible functor structure from A to B. If F is bijective, then F^{−1} is bijective and feasible.

(37) Let A, B be transitive non empty category structures with units and let F be a feasible reflexive functor structure from A to B If F is bijective and coreflexive, then F^{−1} is reflexive.

(38) Let A, B be transitive non empty category structures with units and let F be a feasible reflexive id-preserving functor structure from A to B If F is bijective and coreflexive, then F^{−1} is id-preserving.

(39) Let A, B be transitive non empty category structures with units and let F be a feasible functor structure from A to B If F is bijective and precovariant, then F^{−1} is precovariant.

(40) Let A, B be transitive non empty category structures with units and let F be a feasible functor structure from A to B If F is bijective and precontravariant, then F^{−1} is precontravariant.

(41) Let A, B be transitive non empty category structures with units and let F be a feasible reflexive functor structure from A to B Suppose F is bijective coreflexive and precovariant. Let o_{1}, o_{2} be objects of B and let m be a morphism from o_{1} to o_{2}. If ⟨o_{1}, o_{2}⟩ ≠ ∅, then (Morph-Map_{F} (F^{−1}(o_{1}), F^{−1}(o_{2})))((Morph-Map_{F^{−1}}(o_{1}, o_{2}))(m)) = m.

(42) Let A, B be transitive non empty category structures with units and let F be a feasible reflexive functor structure from A to B Suppose F is bijective coreflexive and precontravariant. Let o_{1}, o_{2} be objects of B and let m be a morphism from o_{1} to o_{2}. If ⟨o_{1}, o_{2}⟩ ≠ ∅, then (Morph-Map_{F} (F^{−1}(o_{2}), F^{−1}(o_{1})))((Morph-Map_{F^{−1}}(o_{1}, o_{2}))(m)) = m.

(43) Let A, B be transitive non empty category structures with units and let F be a feasible reflexive functor structure from A to B Suppose F is bijective comp-preserving precovariant and coreflexive. Then F^{−1} is comp-preserving.

(44) Let A, B be transitive non empty category structures with units and let F be a feasible reflexive functor structure from A to B Suppose F is bijective comp-reversing precontravariant and coreflexive. Then F^{−1} is comp-reversing.

Let C_{1} be a 1-sorted structure and let C_{2} be a non empty 1-sorted structure. One can verify that every bimap structure from C_{1} into C_{2} which is precovariant is also reflexive.

Let C_{1} be a 1-sorted structure and let C_{2} be a non empty 1-sorted structure. One can verify that every bimap structure from C_{1} into C_{2} which is precontravariant is also reflexive.

Next we state two propositions:

(45) Let C_{1}, C_{2} be 1-sorted structures and let M be a bimap structure from C_{1} into C_{2}. If M is precovariant and onto, then M is coreflexive.

(46) Let C_{1}, C_{2} be 1-sorted structures and let M be a bimap structure from

C_{1} into C_{2}. If M is precontravariant and onto, then M is coreflexive. Let C_{1} be a transitive non empty category structure with units and let C_{2}

be a non empty category structure with units. Note that every functor from C_{1} to C_{2} which is covariant is also reflexive.

Let C_{1} be a transitive non empty category structure with units and let C_{2} be a non empty category structure with units. One can verify that every functor from C_{1} to C_{2} which is contravariant is also reflexive.

The following propositions are true:

(47) Let C_{1} be a transitive non empty category structure with units, and let C_{2} be a non empty category structure with units, and let F be a functor from C_{1} to C_{2}. If F is covariant and onto, then F is coreflexive.

(48) Let C_{1} be a transitive non empty category structure with units, and let C_{2} be a non empty category structure with units, and let F be a functor from C_{1} to C_{2}. If F is contravariant and onto, then F is coreflexive.

(49) Let A, B be transitive non empty category structures with units and let F be a covariant functor from A to B. Suppose F is bijective. Then there exists a functor G from B to A such that G = F^{−1} and G is bijective and covariant.

(50) Let A, B be transitive non empty category structures with units and let F be a contravariant functor from A to B. Suppose F is bijective. Then there exists a functor G from B to A such that G = F^{−1} and G is bijective and contravariant.

Let A, B be transitive non empty category structures with units. We say that A and B are isomorphic if and only if:

(Def. 40) There exists functor from A to B which is bijective and covariant. Let us observe that this predicate is reflexive and symmetric. We say that A, B are anti-isomorphic if and only if:

(Def. 41) There exists functor from A to B which is bijective and contravariant. Let us note that the predicate introduced above is symmetric.

References

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

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

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

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

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

[6] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

[7] Małgorzata Korolkiewicz. Homomorphisms of many sorted algebras. Formalized Mathematics, 5(1):61–65, 1996.

[8] Beata Madras. Product of family of universal algebras. Formalized Mathematics, 4(1):103–108, 1993.

[9] Yozo Toda. The formalization of simple graphs. Formalized Mathematics, 5(1):137–144, 1996.

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

[11] Andrzej Trybulec. Categories without uniqueness of cod and dom. Formalized Mathematics, 5(2):259–267, 1996.

[12] Andrzej Trybulec. Examples of category structures. Formalized Mathematics, 5(4):493– 500, 1996.

[13] Andrzej Trybulec. Many sorted algebras. Formalized Mathematics, 5(1):37–42, 1996.

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

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

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

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

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

Basic Properties of Functor Structures

Claus Zinn

University of Erlangen–Nürnberg

Wolfgang Jaksch University of Erlangen–Nürnberg

Summary. This article presents some theorems about functor structures. We start with some basic lemmata concerning the composition of functor structures. Then, two theorems about the restriction operator are formulated. Later, we show two theorems stating that the properties ’full’ and ’faithful’ of functor structures which are equivalent to the ’onto’ and ’one-to-one’ properties of their morphmaps, respectively. Furthermore, we prove some theorems about the inversion of functor structures.

MML Identifier: FUNCTOR1.

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

1. Definitions

In this paper X, Y denote sets and Z denotes a non empty set.

Let us mention that there exists a non empty category structure which is transitive and reflexive and has units.

Let A be a non empty reflexive category structure. One can verify that there exists a substructure of A which is non empty and reflexive.

Let C_{1}, C_{2} be non empty reflexive category structures, let F be a feasible functor structure from C_{1} to C_{2}, and let A be a non empty reflexive substructure of C_{1}. Observe that F A is feasible.

2. Theorems about sets and functions

We now state four propositions:

(1) For every set X holds id_{X} is onto.

(2) Let A be a non empty set, and let B, C be non empty subsets of A and let D be a non empty subset of B. If C = D, then {C \atop ↪} = ({B \atop ↪}) · ({D \atop ↪}).

(3) For every function f from X into Y such that f is bijective holds f^{−1} is a function from Y into X.

(4) Let f be a function from X into Y and let g be a function from Y into Z. Suppose f is bijective and g is bijective. Then there exists a function h from X into Z such that h = g · f and h is bijective.

3. Theorems about the composition of functor structures

The following propositions are true:

(5) Let A be a non empty reflexive category structure, and let B be a non empty reflexive substructure of A, and let C be a non empty substructure of A, and let D be a non empty substructure of B. If C = D, then {C \atop ↪} = ({B \atop ↪}) · ({D \atop ↪}).

(6) Let A, B be non empty category structures and let F be a functor structure from A to B. Suppose F is bijective. Then the object map of F is bijective and the morphism map of F is “1-1”.

(7) Let C_{1} be a non empty graph, and let C_{2}, C_{3} be non empty reflexive graphs, and let F be a feasible functor structure from C_{1} to C_{2}, and let G be a functor structure from C_{2} to C_{3}. If F is one-to-one and G is one-to-one, then G · F is one-to-one.

(8) Let C_{1} be a non empty graph, and let C_{2}, C_{3} be non empty reflexive graphs, and let F be a feasible functor structure from C_{1} to C_{2}, and let G be a functor structure from C_{2} to C_{3} If F is faithful and G is faithful, then G · F is faithful.

(9) Let C_{1} be a non empty graph, and let C_{2}, C_{3} be non empty reflexive graphs, and let F be a feasible functor structure from C_{1} to C_{2}, and let G be a functor structure from C_{2} to C_{3} If F is onto and G is onto, then G · F is onto.

(10) Let C_{1} be a non empty graph, and let C_{2}, C_{3} be non empty reflexive graphs, and let F be a feasible functor structure from C_{1} to C_{2}, and let G be a functor structure from C_{2} to C_{3} If F is full and G is full, then G · F is full.

(11) Let C_{1} be a non empty graph, and let C_{2}, C_{3} be non empty reflexive graphs, and let F be a feasible functor structure from C_{1} to C_{2}, and let G be a functor structure from C_{2} to C_{3} If F is injective and G is injective, then G · F is injective.

(12) Let C_{1} be a non empty graph, and let C_{2}, C_{3} be non empty reflexive graphs, and let F be a feasible functor structure from C_{1} to C_{2}, and let G be a functor structure from C_{2} to C_{3} If F is surjective and G is surjective, then G · F is surjective.

(13) Let C_{1} be a non empty graph, and let C_{2}, C_{3} be non empty reflexive graphs, and let F be a feasible functor structure from C_{1} to C_{2}, and let G be a functor structure from C_{2} to C_{3} If F is bijective and G is bijective, then G · F is bijective.

4. Theorems about the restriction and inclusion operator

We now state three propositions:

(14) Let A, I be non empty reflexive category structures, and let B be a non empty reflexive substructure of A, and let C be a non empty substructure of A, and let D be a non empty substructure of B. Suppose C = D. Let F be a functor structure from A to I. Then F C = F B D.

(15) Let C_{1}, C_{2}, C_{3} be non empty reflexive category structures, and let F be a feasible functor structure from C_{1} to C_{2}, and let G be a functor structure from C_{2} to C_{3} and let A be a non empty reflexive substructure of C_{1}. Then (G · F) A = G · (F A).

(17)^{1} Let A be a non empty category structure and let B be a non empty substructure of A. Then B is full if and only if {B \atop ↪} is full.

5. Theorems about ’full’ and ’faithful’ functor structures

Next we state two propositions:

(18) Let C_{1}, C_{2} be non empty category structures and let F be a precovariant functor structure from C_{1} to C_{2}. Then F is full if and only if for all objects o_{1}, o_{2} of C_{1} holds Morph-Map_{F} (o_{1}, o_{2}) is onto.

(19) Let C_{1}, C_{2} be non empty category structures and let F be a precovariant functor structure from C_{1} to C_{2}. Then F is faithful if and only if for all objects o_{1}, o_{2} of C_{1} holds Morph-Map_{F} (o_{1}, o_{2}) is one-to-one.

6. Theorems about the inversion of functor structures

One can prove the following propositions:

(20) For every transitive non empty category structure A with units holds (id_{A})^{−1} = id_{A}.

1The proposition (16) has been removed.

(21) Let A, B be transitive reflexive non empty category structures with units. Suppose A and B are isomorphic. Let F be a strict feasible functor structure from A to B. Suppose F is bijective. Let G be a strict feasible functor structure from B to A. If G = F^{−1}, then F · G = id_{B}.

(22) Let A, B be transitive reflexive non empty category structures with units. Suppose A and B are isomorphic. Let F be a strict feasible functor structure from A to B. If F is bijective, then F^{−1} · F = id_{A}.

(23) Let A, B be transitive reflexive non empty category structures with units. Suppose A and B are isomorphic. Let F be a strict feasible functor structure from A to B. If F is bijective, then (F^{−1})^{−1} = F.

(24) Let A, B, C be transitive reflexive non empty category structures with units, and let G be a strict feasible functor structure from A to B, and let F be a strict feasible functor structure from B to C, and let G_{1} be a strict feasible functor structure from B to A, and let F_{1} be a strict feasible functor structure from C to B. Suppose F is bijective and G is bijective and F_{1} is bijective and G_{1} is bijective and G_{1} = G^{−1} and F_{1} = F^{−1}. Then (F · G)^{−1} = G_{1} · F_{1}.

Acknowledgments

This article has been written during the four week internship of the authors in Białystok in order to get familiar with the MIZAR system. We would like to thank Andrzej Trybulec and the members of the MIZAR group for their invitation and their instructive support.

References

[1] Ewa Burakowska. Subalgebras of many sorted algebra. Lattice of subalgebras. Formalized Mathematics, 5(1):47–54, 1996.

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

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

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

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

[6] Czesław Byliński. Some basic properties of sets. Formalized Mathematics, 1(1):47–53, 1990.

[7] Artur Korniłowicz. On the group of automorphisms of universal algebra & many sorted algebra. Formalized Mathematics, 5(2):221–226, 1996.

[8] Małgorzata Korolkiewicz. Homomorphisms of many sorted algebras. Formalized Mathematics, 5(1):61–65, 1996.

[9] Beata Madras. Product of family of universal algebras. Formalized Mathematics, 4(1):103–108, 1993.

[10] Yozo Toda. The formalization of simple graphs. Formalized Mathematics, 5(1):137–144, 1996.

[11] Andrzej Trybulec. Categories without uniqueness of cod and dom. Formalized Mathematics, 5(2):259–267, 1996.

[12] Andrzej Trybulec. Examples of category structures. Formalized Mathematics, 5(4):493– 500, 1996.

basic properties of functor structures 613

[13] Andrzej Trybulec. Functors for alternative categories. Formalized Mathematics, 5(4):595–608, 1996.

[14] Andrzej Trybulec. Many sorted algebras. Formalized Mathematics, 5(1):37–42, 1996.

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

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

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

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

614

Some Multi Instructions Defined by Sequence of Instructions of SCM_{FSA}

Noriko Asamoto Ochanomizu University Tokyo

MML Identifier: SCMFSA 7.

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

In this paper m will be a natural number. Let us note that every finite partial state of SCM_{FSA} is finite. Let p be a finite sequence and let x, y be arbitrary. Note that p +· (x, y) is

finite sequence-like.

Let i be an integer. Then |i| is a natural number. Let D be a set. Note that D^{∗} is non empty. The following four propositions are true:

(1) For every natural number k holds |k| = k.

(2) For all natural numbers a, b, c such that a ≥ c and b ≥ c and a −′ c = b −′ c holds a = b.

(3) For all natural numbers a, b such that a ≥ b holds a −′ b = a − b.

(4) For all integers a, b such that a < b holds a ≤ b − 1. The scheme CardMono” concerns a set A, a non empty set B, and a unary

functor F yielding arbitrary, and states that:

A ≈ {F(d) : d ranges over elements of B, d ∈ A} provided the parameters satisfy the following conditions:

• A ⊆ B,

• For all elements d_{1}, d_{2} of B such that d_{1} ∈ A and d_{2} ∈ A and F(d_{1}) = F(d_{2}) holds d_{1} = d_{2}.

One can prove the following propositions:

(5) For all finite sequences p_{1}, p_{2}, q such that p_{1} ⊆ q and p_{2} ⊆ q and len p_{1} = len p_{2} holds p_{1} = p_{2}.

(6) For all finite sequences p, q such that p^{}q = p holds q = ε.

(7) For every finite sequence p and for arbitrary x holds len(p ^{}⟨x⟩) = len p + 1.

(8) For all finite sequences p, q such that p ⊆ q holds len p ≤ len q.

(9) For all finite sequences p, q and for every natural number i such that 1 ≤ i and i ≤ len p holds (p^{}q)(i) = p(i).

(10) For all finite sequences p, q and for every natural number i such that 1 ≤ i and i ≤ len q holds (p^{}q)(len p + i) = q(i).

(11) For every finite sequence p and for every natural number i holds i ∈ dom p iff 1 ≤ i and i ≤ len p.

(12) For every finite sequence p such that p ≠ ε holds len p ∈ dom p.

(13) For every set D holds Flat(ε_{D^{∗}}) = ε_{D}.

(14) For every set D and for all finite sequences F, G of elements of D^{∗} holds Flat(F ^{}G) = Flat(F)^{}Flat(G).

(15) For every set D and for all elements p, q of D^{∗} holds Flat(⟨p, q⟩) = p^{}q.

(16) For every set D and for all elements p, q, r of D^{∗} holds Flat(⟨p, q, r⟩) = p^{}q^{}r.

(17) Let D be a non empty set and let p, q be finite sequences of elements of D. If p ⊆ q, then there exists a finite sequence p′ of elements of D such that p^{}p′ = q.

(18) Let D be a non empty set, and let p, q be finite sequences of elements of D, and let i be a natural number. If p ⊆ q and 1 ≤ i and i ≤ len p, then q(i) = p(i).

(19) For every set D and for all finite sequences F, G of elements of D^{∗} such that F ⊆ G holds Flat(F) ⊆ Flat(G).

(20) For every finite sequence p holds p Seg 0 = ε.

(21) For all finite sequences f, g holds f Seg 0 = g Seg 0.

(22) For every non empty set D and for every element x of D holds ⟨x⟩ is a finite sequence of elements of D.

(23) Let D be a set and let p, q be finite sequences of elements of D. Then

p^{}q is a finite sequence of elements of D. Let f be a finite sequence of elements of the instructions of SCM_{FSA}. The

functor Load(f) yielding a finite partial state of SCM_{FSA} is defined by: (Def. 1) dom Load(f) = {insloc(m−′1) : m ∈ dom f} and for every natural num-

ber k such that insloc(k) ∈ dom Load(f) holds (Load(f))(insloc(k)) = π_{k+1}f.

The following propositions are true:

(24) Let f be a finite sequence of elements of the instructions of SCM_{FSA} and let k be a natural number. Then dom Load(f) = {insloc(m −′ 1) : m ∈ dom f}.

(25) For every finite sequence f of elements of the instructions of SCM_{FSA} holds card Load(f) = len f.

(26) Let p be a finite sequence of elements of the instructions of SCM_{FSA} and let k be a natural number. Then insloc(k) ∈ dom Load(p) if and only if k + 1 ∈ dom p.

(27) For all natural numbers k, n holds k < n iff 0 < k + 1 and k + 1 ≤ n.

(28) For all natural numbers k, n holds k < n iff 1 ≤ k + 1 and k + 1 ≤ n.

(29) Let p be a finite sequence of elements of the instructions of SCM_{FSA} and let k be a natural number. Then insloc(k) ∈ dom Load(p) if and only if k < len p.

(30) For every non empty finite sequence f of elements of the instructions of SCM_{FSA} holds 1 ∈ dom f and insloc(0) ∈ dom Load(f).

(31) For all finite sequences p, q of elements of the instructions of SCM_{FSA} holds Load(p) ⊆ Load(p^{}q).

(32) For all finite sequences p, q of elements of the instructions of SCM_{FSA}

such that p ⊆ q holds Load(p) ⊆ Load(q). Let a be an integer location and let k be an integer. The functor a:=k yields

a finite partial state of SCM_{FSA} and is defined as follows: (Def. 2) (i) There exists a natural number k_{1} such that k_{1} + 1 = k and a:=k =

Load(⟨a:= intloc(0)⟩^{}(k_{1} ↦ AddTo(a, intloc(0)))^{}⟨halt_{SCM_{FSA}}⟩) if k > 0,

(ii) there exists a natural number k_{1} such that k_{1} + k = 1 and a:=k = Load(⟨a:= intloc(0)⟩^{}(k_{1} ↦ SubFrom(a, intloc(0)))^{}⟨halt_{SCM_{FSA}}⟩), otherwise.

Let a be an integer location and let k be an integer. The functor aSeq(a, k) yielding a finite sequence of elements of the instructions of SCM_{FSA} is defined by:

(Def. 3) (i) There exists a natural number k_{1} such that k_{1} + 1 = k and

aSeq(a, k) = ⟨a:= intloc(0)⟩^{}(k_{1} ↦ AddTo(a, intloc(0))) if k > 0, (ii) there exists a natural number k_{1} such that k_{1} +k = 1 and aSeq(a, k) =

⟨a:= intloc(0)⟩^{}(k_{1} ↦ SubFrom(a, intloc(0))), otherwise. One can prove the following proposition

(33) For every integer location a and for every integer k holds a:=k =

Load((aSeq(a, k))^{}⟨halt_{SCM_{FSA}}⟩). Let f be a finite sequence location and let p be a finite sequence of elements of

. The functor aSeq(f, p) yields a finite sequence of elements of the instructions of SCM_{FSA} and is defined by the condition (Def. 4).

(Def. 4) There exists a finite sequence p_{3} of elements of

(the instructions of SCM_{FSA})^{∗} such that

(i) len p_{3} = len p, (ii) for every natural number k such that 1 ≤ k and k ≤ len p there

exists an integer i such that i = p(k) and p_{3}(k) = (aSeq(intloc(1), k))^{}

aSeq(intloc(2), i)^{}⟨f_{intloc(1)}:= intloc(2)⟩, and (iii) aSeq(f, p) = Flat(p_{3}). Let f be a finite sequence location and let p be a finite sequence of elements

of The functor f:=p yielding a finite partial state of SCM_{FSA} is defined by: (Def. 5) f:=p = Load((aSeq(intloc(1), len p)) ^{}⟨f:=⟨\underbrace{0,…, 0}_{intloc(1)}⟩⟩ ^{}aSeq(f, p) ^{}

⟨halt_{SCM_{FSA}}⟩). Next we state several propositions:

(34) For every integer location a holds a:=1 = Load(⟨a:= intloc(0)⟩ ^{} ⟨halt_{SCM_{FSA}}⟩).

(35) For every integer location a holds a:=0 = Load(⟨a:= intloc(0)⟩ ^{} ⟨SubFrom(a, intloc(0))⟩^{}⟨halt_{SCM_{FSA}}⟩).

(36) Let s be a state of SCM_{FSA}. Suppose s(intloc(0)) = 1. Let c_{0} be a natural number. Suppose IC_{s} = insloc(c_{0}). Let a be an integer location and let k be an integer. Suppose a ≠ intloc(0) and for every natural number c such that c ∈ dom aSeq(a, k) holds (aSeq(a, k))(c) = s(insloc((c_{0}+c)−′1)). Then

(i) for every natural number i such that i ≤ len aSeq(a, k) holds IC_{(Computation(s))(i)} = insloc(c_{0} + i) and for every integer location b such that b ≠ a holds (Computation(s))(i)(b) = s(b) and for every finite sequence location f holds (Computation(s))(i)(f) = s(f), and

(ii) (Computation(s))(len aSeq(a, k))(a) = k.

(37) Let s be a state of SCM_{FSA}. Suppose IC_{s} = insloc(0) and s(intloc(0)) = 1. Let a be an integer location and let k be an integer. Suppose Load(aSeq(a, k)) ⊆ s and a ≠ intloc(0). Then

(i) for every natural number i such that i ≤ len aSeq(a, k) holds IC_{(Computation(s))(i)} = insloc(i) and for every integer location b such that b ≠ a holds (Computation(s))(i)(b) = s(b) and for every finite sequence location f holds (Computation(s))(i)(f) = s(f), and

(ii) (Computation(s))(len aSeq(a, k))(a) = k.

(38) Let s be a state of SCM_{FSA}. Suppose IC_{s} = insloc(0) and s(intloc(0)) = 1. Let a be an integer location and let k be an integer. Suppose a:=k ⊆ s and a ≠ intloc(0). Then

(i) s is halting, (ii) (Result(s))(a) = k, (iii) for every integer location b such that b ≠ a holds (Result(s))(b) = s(b),

and (iv) for every finite sequence location f holds (Result(s))(f) = s(f).

(39) Let s be a state of SCM_{FSA}. Suppose IC_{s} = insloc(0) and s(intloc(0)) = 1. Let f be a finite sequence location and let p be a finite sequence of elements of . Suppose f:=p ⊆ s. Then

(i) s is halting, (ii) (Result(s))(f) = p,

some multi instructions defined by sequence … 619

(iii) for every integer location b such that b ≠ intloc(1) and b ≠ intloc(2)

holds (Result(s))(b) = s(b), and (iv) for every finite sequence location g such that g ≠ f holds

(Result(s))(g) = s(g).

References

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

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

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

[4] Grzegorz Bancerek and Piotr Rudnicki. On defining functions on trees. Formalized Mathematics, 4(1):91–101, 1993.

[5] Grzegorz Bancerek and Andrzej Trybulec. Miscellaneous facts about functions. Formalized Mathematics, 5(4):485–492, 1996.

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

[7] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 1990.

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

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

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

[11] Yatsuka Nakamura and Andrzej Trybulec. A mathematical model of CPU. Formalized Mathematics, 3(2):151–160, 1992.

[12] Yatsuka Nakamura and Andrzej Trybulec. On a mathematical model of programs. Formalized Mathematics, 3(2):241–250, 1992.

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

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

[15] Andrzej Trybulec. Semilattice operations on finite subsets. Formalized Mathematics, 1(2):369–376, 1990.

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

[17] Andrzej Trybulec, Yatsuka Nakamura, and Piotr Rudnicki. The SCM_{FSA} computer. Formalized Mathematics, 5(4):519–528, 1996.

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

[19] Wojciech A. Trybulec. Binary operations on finite sequences. Formalized Mathematics, 1(5):979–981, 1990.

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

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

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

620

More on Products of Many Sorted Algebras

Mariusz Giero Warsaw University Białystok

Summary. This article is continuation of an article defining products of many sorted algebras [12]. Some properties of notions such as commute, Frege, Args() are shown in this article. Notions of constant of operations in many sorted algebras and projection of products of family of many sorted algebras are defined. There is also introduced the notion of class of family of many sorted algebras. The main theorem states that product of family of many sorted algebras and product of class of family of many sorted algebras are isomorphic.

MML Identifier: PRALG 3.

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

1. Preliminaries

For simplicity we adopt the following convention: I denotes a non empty set, J denotes a many sorted set indexed by I, S denotes a non void non empty many sorted signature, i denotes an element of I, c denotes a set, A denotes an algebra family of I over S, E_{1} denotes an equivalence relation of I, U_{0}, U_{1}, U_{2} denote algebras over S, s denotes a sort symbol of S, o denotes an operation symbol of S, and f denotes a function.

Let I be a set, let us consider S, and let A_{1} be an algebra family of I over S. One can verify that ∏ A_{1} is non-empty.

Let I be a non empty set and let E_{1} be an equivalence relation of I. Note that Classes E_{1} is non empty.

Let I be a set. Then id_{I} is a many sorted set indexed by I.

Let us consider I, E_{1}. Note that Classes E_{1} has non empty elements. Let X be a set with non empty elements. Then id_{X} is a non-empty many

sorted set indexed by X. Next we state several propositions:

(1) For all functions f, F and for every set A such that f ∈ ∏ F holds f A ∈ ∏(F A).

(2) Let A be an algebra family of I over S, and let s be a sort symbol of S, and let a be a non empty subset of I, and let A_{2} be an algebra family of a over S. If A a = A_{2}, then Carrier(A_{2}, s) = Carrier(A, s) a.

(3) Let i be a set, and let I be a non empty set, and let E_{1} be an equivalence relation of I, and let c_{1}, c_{2} be elements of Classes E_{1}. If i ∈ c_{1} and i ∈ c_{2}, then c_{1} = c_{2}.

(4) For all sets X, Y and for every function f such that f ∈ Y^{X} holds dom f = X and rng f ⊆ Y.

(5) Let D be a non empty set, and let F be a many sorted function of D, and let C be a functional non empty set with common domain. Suppose C = rng F. Let d be an element of D and let e be a set. If d ∈ dom F and e ∈ DOM(C), then F (d)(e) = (commute(F))(e)(d).

2. Constants of Many Sorted Algebras

Let us consider S, U_{0} and let o be an operation symbol of S. The functor const(o, U_{0}) is defined by:

(Def. 1) const(o, U_{0}) = (Den(o, U_{0}))(ε). Next we state four propositions:

(6) If Arity(o) = ε and Result(o, U_{0}) ≠ ∅, then const(o, U_{0}) ∈ Result(o, U_{0}).

(7) Suppose (the sorts of U_{0})(s) ≠ ∅. Then Constants(U_{0}, s) = {const(o, U_{0}) : o ranges over elements of the operation symbols of S, the result sort of o = s ∧ Arity(o) = ε}.

(8) If Arity(o) = ε, then (commute(OPER(A)))(o) ∈ ((⋃{Result(o, A(i′)) : i′ ranges over elements of I})^{{ }} )^{I}.

(9) If Arity(o) = ε, then const(o, ∏ A) ∈ (⋃{Result(o, A(i′)) : i′ ranges over elements of I})^{I}.

Let us consider S, I, o, A. Observe that const(o, ∏ A) is relation-like and function-like.

One can prove the following three propositions:

(10) For every operation symbol o of S such that Arity(o) = ε holds (const(o, ∏ A))(i) = const(o, A(i)).

(11) If Arity(o) = ε and dom f = I and for every element i of I holds f(i) = const(o, A(i)), then f = const(o, ∏ A).

(12) Let e be an element of Args(o, U_{1}). Suppose e = ε and Arity(o) = ε and Args(o, U_{1}) ≠ ∅ and Args(o, U_{2}) ≠ ∅. Let F be a many sorted function from U_{1} into U_{2}. Then F #e = ε.

3. Properties of Arguments of Operations in Many Sorted Algebras

Next we state a number of propositions:

(13) Let U_{1}, U_{2} be non-empty algebras over S, and let F be a many sorted function from U_{1} into U_{2}, and let x be an element of Args(o, U_{1}). Then x ∈ ∏(dom_{κ}(F · Arity(o))(κ)).

(14) Let U_{1}, U_{2} be non-empty algebras over S, and let F be a many sorted function from U_{1} into U_{2}, and let x be an element of Args(o, U_{1}), and let n be a set. If n ∈ dom Arity(o), then (F #x)(n) = F (π_{n} Arity(o))(x(n)).

(15) Let x be an element of Args(o, ∏ A). Then x ∈ ((⋃{(the sorts of A(i′))(s′) : i′ ranges over elements of I, s′ ranges over elements of the carrier of S})^{I})^{dom Arity(o)}.

(16) For every element x of Args(o, ∏ A) and for every set n such that n ∈ dom Arity(o) holds x(n) ∈ ∏ Carrier(A, π_{n} Arity(o)).

(17) Let i be an element of I and let n be a set. Suppose n ∈ dom Arity(o). Let s be a sort symbol of S. Suppose s = Arity(o)(n). Let y be an element of Args(o, ∏ A) and let g be a function. If g = y(n), then g(i) ∈ (the sorts of A(i))(s).

(18) For every element y of Args(o, ∏ A) such that Arity(o) ≠ ε holds commute(y) ∈ ∏(dom_{κ} A(o)(κ)).

(19) For every element y of Args(o, ∏ A) such that Arity(o) ≠ ε holds y ∈ dom commute(Frege(A(o))).

(20) Given I, S, A, o and let s be a sort symbol of S. Suppose s = the result sort of o. Let x be an element of Args(o, ∏ A). Then (Den(o, ∏ A))(x) ∈ ∏ Carrier(A, s).

(21) Given I, S, A, i and let o be an operation symbol of S. Suppose Arity(o) ≠ ε. Let U_{1} be a non-empty algebra over S, and let x be an element of Args(o, ∏ A), and let F be a many sorted function from ∏ A into U_{1}. Then (commute(x))(i) is an element of Args(o, A(i)).

(22) Given I, S, A, i, o, and let x be an element of Args(o, ∏ A), and let n be a set. If n ∈ dom Arity(o), then for every function f such that f = x(n) holds (commute(x))(i)(n) = f(i).

(23) Let o be an operation symbol of S. Suppose Arity(o) ≠ ∅. Let y be an element of Args(o, ∏ A), and let i′ be an element of I, and let g be a function. If g = (Den(o, ∏ A))(y), then g(i′) = (Den(o, A(i′)))((commute(y))(i′)).

4. The Projection of Family of Many Sorted Algebras

Let f be a function and let x be a set. The functor proj(f, x) yields a function and is defined as follows:

(Def. 2) dom proj(f, x) = ∏ f and for every function y such that y ∈

dom proj(f, x) holds (proj(f, x))(y) = y(x). Let us consider I, S, let A be an algebra family of I over S, and let i be an

element of I. The functor proj(A, i) yielding a many sorted function from ∏ A into A(i) is defined by:

(Def. 3) For every element s of the carrier of S holds (proj(A, i))(s) =

proj(Carrier(A, s), i). Next we state several propositions:

(24) For every element x of Args(o, ∏ A) such that Args(o, ∏ A) ≠ ε and Arity(o) ≠ ∅ and for every element i of I holds proj(A, i)#x = (commute(x))(i).

(25) For every element i of I and for every algebra family A of I over S holds proj(A, i) is a homomorphism of ∏ A into A(i).

(26) Let U_{1} be a non-empty algebra over S and let F be a many sorted function of I. Suppose that for every element i of I there exists a many sorted function F_{1} from U_{1} into A(i) such that F_{1} = F (i) and F_{1} is a homomorphism of U_{1} into A(i) Then F ∈ ({F (i′)(s_{1}) : s_{1} ranges over sort symbols of S, i′ ranges over elements of I}^{the carrier of S})^{I} and (commute(F))(s)(i) = F (i)(s).

(27) Let U_{1} be a non-empty algebra over S and let F be a many sorted function of I. Suppose that for every element i of I there exists a many sorted function F_{1} from U_{1} into A(i) such that F_{1} = F (i) and F_{1} is a homomorphism of U_{1} into A(i) Then (commute(F))(s) ∈ ((⋃{(the sorts of A(i′))(s_{1}) : i′ ranges over elements of I, s_{1} ranges over sort symbols of S})^{(the sorts of U_{1})(s)})^{I}.

(28) Let U_{1} be a non-empty algebra over S and let F be a many sorted function of I. Suppose that for every element i of I there exists a many sorted function F_{1} from U_{1} into A(i) such that F_{1} = F (i) and F_{1} is a homomorphism of U_{1} into A(i) Let F′ be a many sorted function from U_{1} into A(i). Suppose F′ = F (i). Let x be a set. Suppose x ∈ (the sorts of U_{1})(s). Let f be a function. If f = (commute((commute(F))(s)))(x), then f(i) = F′(s)(x).

(29) Let U_{1} be a non-empty algebra over S and let F be a many sorted function of I. Suppose that for every element i of I there exists a many sorted function F_{1} from U_{1} into A(i) such that F_{1} = F (i) and F_{1} is a homomorphism of U_{1} into A(i) Let x be a set. If x ∈ (the sorts of U_{1})(s), then (commute((commute(F))(s)))(x) ∈ ∏ Carrier(A, s).

(30) Let U_{1} be a non-empty algebra over S and let F be a many sorted function of I. Suppose that for every element i of I there exists a many sorted function F_{1} from U_{1} into A(i) such that F_{1} = F (i) and F_{1} is a homomorphism of U_{1} into A(i) Then there exists a many sorted function H from U_{1} into ∏ A such that H is a homomorphism of U_{1} into ∏ A and for every element i of I holds proj(A, i) ∘ H = F (i).

5. The Class of Family of Many Sorted Algebras

Let us consider I, J, S. A many sorted set indexed by I is said to be a MSAlgebra-Class of S, J if:

(Def. 4) For every set i such that i ∈ I holds it(i) is an algebra family of J(i)

over S. Let us consider I, S, A, E_{1}. The functor \frac{A}{E_{1}} yields a MSAlgebra-Class of S,

id_{Classes E_{1}} and is defined by: (Def. 5) For every c such that c ∈ Classes E_{1} holds (\frac{A}{E_{1}} )(c) = A c.

Let us consider I, S, let J be a non-empty many sorted set indexed by I, and let C be a MSAlgebra-Class of S, J. The functor ∏ C yields an algebra family of I over S and is defined by the condition (Def. 6).

(Def. 6) Given i. Suppose i ∈ I. Then there exists a non empty set J_{1} and there exists an algebra family C_{1} of J_{1} over S such that J_{1} = J(i) and C_{1} = C(i) and (∏ C)(i) = ∏ C_{1}.

We now state the proposition

(31) Let A be an algebra family of I over S and let E_{1} be an equivalence relation of I. Then ∏ A and ∏ ∏(\frac{A}{E_{1}} ) are isomorphic.

Acknowledgments

I would like to thank Professor A.Trybulec for his help in preparation of the article.

References

[1] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

[2] Grzegorz Bancerek. Curried and uncurried functions. Formalized Mathematics, 1(3):537–541, 1990.

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

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

[5] Ewa Burakowska. Subalgebras of many sorted algebra. Lattice of subalgebras. Formalized Mathematics, 5(1):47–54, 1996.

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

626 mariusz giero

[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] Małgorzata Korolkiewicz. Homomorphisms of many sorted algebras. Formalized Mathematics, 5(1):61–65, 1996.

[11] Beata Madras. Product of family of universal algebras. Formalized Mathematics, 4(1):103–108, 1993.

[12] Beata Madras. Products of many sorted algebras. Formalized Mathematics, 5(1):55–60, 1996.

[13] Yatsuka Nakamura and Andrzej Trybulec. A mathematical model of CPU. Formalized Mathematics, 3(2):151–160, 1992.

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

[15] Konrad Raczkowski and Paweł Sadowski. Equivalence relations and classes of abstraction. Formalized Mathematics, 1(3):441–444, 1990.

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

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

[18] Andrzej Trybulec. Many sorted algebras. Formalized Mathematics, 5(1):37–42, 1996.

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

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

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

[22] Zinaida Trybulec and Halina Świe‘czkowska. Boolean properties of sets. Formalized Mathematics, 1(1):17–23, 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.

more on products of many sorted algebras 627

alalalalalal alalalalalalal

Index of MML Identifiers

ALTCAT 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 CLOSURE1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 CLOSURE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 CONNSP 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 FUNCTOR0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 FUNCTOR1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 FUNCT 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 GOBOARD9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 MSSCYC 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 MSSCYC 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591 MSUALG 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 MSUALG 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553 MSUALG 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 MSUALG 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587 ORDERS 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501 PRALG 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621 REWRITE1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 SCMFSA 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 SCMFSA 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 SCMFSA 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 SCMFSA 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 SCMFSA 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583 SCMFSA 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615

628

Contents Formaliz. Math. 5 (4)

Left and Right Component of the Complement of a Special Closed Curve

By Andrzej Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

Reduction Relations

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469

Lattice of Congruences in Many Sorted Algebra

By Robert Milewski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479

Miscellaneous Facts about Functions

By Grzegorz Bancerek and Andrzej Trybulec . . . . . . . . . 485

Examples of Category Structures

By Andrzej Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493

On the Category of Posets

By Adam Grabowski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501

An Extension of SCM

By Andrzej Trybulec et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

Components and Unions of Components

By Yatsuka Nakamura and Andrzej Trybulec . . . . . . . . . . 513

The SCM_{FSA} Computer

By Andrzej Trybulec et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519

On the Many Sorted Closure Operator and the Many Sorted Closure System

By Artur Korniłowicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529

Computation in SCM_{FSA}

By Andrzej Trybulec and Yatsuka Nakamura . . . . . . . . . . 537

Continued on inside back cover

On the Closure Operator and the Closure System of Many Sorted Sets

By Artur Korniłowicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543

Translations, Endomorphisms, and Stable Equational Theories

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553

More on the Lattice of Many Sorted Equivalence Relations

By Robert Milewski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565

Modifying Addresses of Instructions of SCM_{FSA}

By Andrzej Trybulec and Yatsuka Nakamura . . . . . . . . . . 571

The Correspondence Between Monotonic Many Sorted Signatures and Well-Founded Graphs. Part I

By Czesław Byliński and Piotr Rudnicki . . . . . . . . . . . . . . . . 577

Relocability for SCM_{FSA}

By Andrzej Trybulec and Yatsuka Nakamura . . . . . . . . . . 583

More on the Lattice of Congruences in Many Sorted Algebra

By Robert Milewski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587

The Correspondence Between Monotonic Many Sorted Signatures and Well-Founded Graphs. Part II

By Czesław Byliński and Piotr Rudnicki . . . . . . . . . . . . . . . . 591

Functors for Alternative Categories

By Andrzej Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595

Basic Properties of Functor Structures

By Claus Zinn and Wolfgang Jaksch . . . . . . . . . . . . . . . . . . . . . 609

Some Multi Instructions Defined by Sequence of Instructions of

SCM_{FSA}
By Noriko Asamoto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615

More on Products of Many Sorted Algebras

By Mariusz Giero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621

Index of MML Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628