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

On the Decomposition of the States of SCM

Yasushi Tanaka Shinshu University Information Engineering Dept. Nagano

Summary. This article continues the development of the basic terminology for the SCM as defined in [11,12,18]. There is developed of the terminology for discussing static properties of instructions (i.e. not related to execution), for data locations, instruction locations, as well as for states and partial states of SCM. The main contribution of the article consists in characterizing SCM computations starting in states containing autonomic finite partial states.

MML Identifier: AMI 5.

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

1. Preliminaries

The following propositions are true:

(1) For all sets A, B, X, Y such that A ⊆ X and B ⊆ Y and X ∩ Y = ∅ holds A ∩ B = ∅.

(2) For all sets X, Y, Z such that X ⊆ Y holds X ⊆ Z ∪Y and X ⊆ Y ∪Z.

(3) For all natural numbers m, k such that k ≠ 0 holds m · k ÷ k = m.

(4) For all natural numbers i, j such that i ≥ j holds i −′ j + j = i.

(5) For all functions f, g and for all sets A, B such that A ⊆ B and f B = g B holds f A = g A.

(6) For all functions p, q and for every set A holds (p+·q) A = p A+·q A.

(7) For all functions f, g and for every set A such that A misses dom g holds (f +· g) A = f A.

(8) For all functions f, g and for every set A such that dom f misses A holds (f +· g) A = g A.

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

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

(11) For every function f and for every set A holds f +· f A = f.

(12) For all functions f, g and for all sets B, C such that dom f ⊆ B and dom g ⊆ C and B misses C holds (f +· g) B = f and (f +· g) C = g.

(13) For all functions p, q and for every set A such that dom p ⊆ A and dom q misses A holds (p +· q) A = p.

(14) For every function f and for all sets A, B holds f (A∪B) = f A+·f B.

2. Total states of SCM

One can prove the following propositions:

(15) Let a be a data-location and let s be a state of SCM. Then (Exec(Divide(a, a), s))(IC_{SCM}) = Next(IC_{s}) and (Exec(Divide(a, a), s))

(a) = s(a) mod s(a) and for every data-location c such that c ≠ a holds (Exec(Divide(a, a), s))(c) = s(c).

(16) For arbitrary x such that x ∈ Data-Loc_{SCM} holds x is a data-location.

(17) For arbitrary x such that x ∈ Instr-Loc_{SCM} holds x is an instructionlocation of SCM.

(18) For every data-location d_{1} there exists a natural number i such that d_{1} = d_{i}.

(19) For every instruction-location i_{1} of SCM there exists a natural number i such that i_{1} = i_{i}.

(20) For every data-location d_{1} holds d_{1} ≠ IC_{SCM}.

(21) For every instruction-location i_{1} of SCM holds i_{1} ≠ IC_{SCM}.

(22) For every instruction-location i_{1} of SCM and for every data-location d_{1} holds i_{1} ≠ d_{1}.

(23) The objects of SCM = {IC_{SCM}} ∪ Data-Loc_{SCM} ∪ Instr-Loc_{SCM}.

(24) Let s be a state of SCM, and let d be a data-location, and let l be an instruction-location of SCM. Then d ∈ dom s and l ∈ dom s.

(25) For every state s of SCM holds IC_{SCM} ∈ dom s.

(26) Let s_{1}, s_{2} be states of SCM. Suppose IC_{(s_{1})} = IC_{(s_{2})} and for every data-location a holds s_{1}(a) = s_{2}(a) and for every instruction-location i of SCM holds s_{1}(i) = s_{2}(i). Then s_{1} = s_{2}.

(27) For every state s of SCM holds Data-Loc_{SCM} ⊆ dom s.

(28) For every state s of SCM holds Instr-Loc_{SCM} ⊆ dom s.

(29) For every state s of SCM holds dom(s Data-Loc_{SCM}) = Data-Loc_{SCM}.

(30) For every state s of SCM holds dom(s Instr-Loc_{SCM}) = Instr-Loc_{SCM}.

(31) Data-Loc_{SCM} is finite.

(32) The instruction locations of SCM is finite.

(33) Data-Loc_{SCM} misses Instr-Loc_{SCM}.

(34) For every state s of SCM holds Start-At(IC_{s}) = s {IC_{SCM}}.

(35) For every instruction-location l of SCM holds Start-At(l) = {⟨⟨IC_{SCM},

l⟩⟩}. Let I be an instruction of SCM. The functor InsCode(I) yields a natural

number and is defined as follows: (Def.1) InsCode(I) = I_{1}. The functor ^{@}I yielding an element of Instr_{SCM} is defined by: (Def.2) ^{@}I = I.

Let l_{1} be an element of Instr-Loc_{SCM}. The functor l_{1}^{T} yields an instructionlocation of SCM and is defined as follows: (Def.3) l_{1}^{T} = l_{1}.

Let l_{1} be an element of Data-Loc_{SCM}. The functor l_{1}^{T} yielding a datalocation is defined as follows: (Def.4) l_{1}^{T} = l_{1}.

One can prove the following proposition

(36) For every instruction l of SCM holds InsCode(l) ≤ 8.

In the sequel a, b are data-locations and l_{1} is an instruction-location of SCM. One can prove the following propositions:

(37) InsCode(halt_{SCM}) = 0.

(38) InsCode(a:=b) = 1.

(39) InsCode(AddTo(a, b)) = 2.

(40) InsCode(SubFrom(a, b)) = 3.

(41) InsCode(MultBy(a, b)) = 4.

(42) InsCode(Divide(a, b)) = 5.

(43) InsCode(goto l_{1}) = 6.

(44) InsCode(if a = 0 goto l_{1}) = 7.

(45) InsCode(if a > 0 goto l_{1}) = 8.

In the sequel d_{2}, d_{3} denote data-locations and l_{1} denotes an instructionlocation of SCM.

We now state a number of propositions:

(46) For every instruction i_{2} of SCM such that InsCode(i_{2}) = 0 holds i_{2} = halt_{SCM}.

(47) For every instruction i_{2} of SCM such that InsCode(i_{2}) = 1 there exist d_{2}, d_{3} such that i_{2} = d_{2}:=d_{3}.

(48) For every instruction i_{2} of SCM such that InsCode(i_{2}) = 2 there exist d_{2}, d_{3} such that i_{2} = AddTo(d_{2}, d_{3}).

(49) For every instruction i_{2} of SCM such that InsCode(i_{2}) = 3 there exist d_{2}, d_{3} such that i_{2} = SubFrom(d_{2}, d_{3}).

(50) For every instruction i_{2} of SCM such that InsCode(i_{2}) = 4 there exist d_{2}, d_{3} such that i_{2} = MultBy(d_{2}, d_{3}).

(51) For every instruction i_{2} of SCM such that InsCode(i_{2}) = 5 there exist d_{2}, d_{3} such that i_{2} = Divide(d_{2}, d_{3}).

(52) For every instruction i_{2} of SCM such that InsCode(i_{2}) = 6 there exists l_{1} such that i_{2} = goto l_{1}.

(53) For every instruction i_{2} of SCM such that InsCode(i_{2}) = 7 there exist l_{1}, d_{2} such that i_{2} = if d_{2} = 0 goto l_{1}.

(54) For every instruction i_{2} of SCM such that InsCode(i_{2}) = 8 there exist l_{1}, d_{2} such that i_{2} = if d_{2} > 0 goto l_{1}.

(55) For every instruction-location l_{1} of SCM holds (^{@}goto l_{1})address_{j} = l_{1}.

(56) For every instruction-location l_{1} of SCM and for every datalocation a holds (^{@}(if a = 0 goto l_{1}))address_{j} = l_{1} and (^{@}(if a = 0 goto l_{1}))address_{c} = a.

(57) For every instruction-location l_{1} of SCM and for every datalocation a holds (^{@}(if a > 0 goto l_{1}))address_{j} = l_{1} and (^{@}(if a > 0 goto l_{1}))address_{c} = a.

(58) For all states s_{1}, s_{2} of SCM such that s_{1} (Data-Loc_{SCM}∪{IC_{SCM}}) = s_{2} (Data-Loc_{SCM} ∪ {IC_{SCM}}) and for every instruction l of SCM holds Exec(l, s_{1}) (Data-Loc_{SCM} ∪ {IC_{SCM}}) = Exec(l, s_{2}) (Data-Loc_{SCM} ∪ {IC_{SCM}}).

(59) For every instruction i of SCM and for every state s of SCM holds Exec(i, s) Instr-Loc_{SCM} = s Instr-Loc_{SCM}.

3. Finite partial states of SCM

The following proposition is true

(60) For every finite partial state p of SCM and for every state s of SCM

such that IC_{SCM} ∈ dom p and p ⊆ s holds IC_{p} = IC_{s}. Let p be a finite partial state of SCM and let l_{1} be an instruction-location of

SCM. Let us assume that l_{1} ∈ dom p. The functor π_{l_{1}}p yielding an instruction of SCM is defined by: (Def.5) π_{l_{1}}p = p(l_{1}).

The following proposition is true

(61) Let x be arbitrary and let p be a finite partial state of SCM. If x ⊆ p,

then x is a finite partial state of SCM. Let p be a finite partial state of SCM. The functor ProgramPart(p) yields

a programmed finite partial state of SCM and is defined by: (Def.6) ProgramPart(p) = p (the instruction locations of SCM).

The functor DataPart(p) yielding a finite partial state of SCM is defined as follows: (Def.7) DataPart(p) = p Data-Loc_{SCM}.

A finite partial state of SCM is data-only if: (Def.8) dom it ⊆ Data-Loc_{SCM}.

Next we state a number of propositions:

(62) For every finite partial state p of SCM holds DataPart(p) ⊆ p.

(63) For every finite partial state p of SCM holds ProgramPart(p) ⊆ p.

(64) Let p be a finite partial state of SCM and let s be a state of SCM. If p ⊆ s, then for every natural number i holds ProgramPart(p) ⊆ (Computation(s))(i).

(65) For every finite partial state p of SCM holds IC_{SCM} ∉ dom DataPart(p).

(66) For every finite partial state p of SCM holds IC_{SCM} ∉ dom ProgramPart(p).

(67) For every finite partial state p of SCM holds {IC_{SCM}} misses dom DataPart(p).

(68) For every finite partial state p of SCM holds {IC_{SCM}} misses dom ProgramPart(p).

(69) For every finite partial state p of SCM holds dom DataPart(p) ⊆ Data-Loc_{SCM}.

(70) For every finite partial state p of SCM holds dom ProgramPart(p) ⊆ Instr-Loc_{SCM}.

(71) For all finite partial states p, q of SCM holds dom DataPart(p) misses dom ProgramPart(q).

(72) For every programmed finite partial state p of SCM holds ProgramPart(p) = p.

(73) For every finite partial state p of SCM and for every instructionlocation l of SCM such that l ∈ dom p holds l ∈ dom ProgramPart(p).

(74) Let p be a data-only finite partial state of SCM and let q be a finite partial state of SCM. Then p ⊆ q if and only if p ⊆ DataPart(q).

(75) For every finite partial state p of SCM such that IC_{SCM} ∈ dom p holds

p = Start-At(IC_{p}) +· ProgramPart(p) +· DataPart(p). A partial function from FinPartSt(SCM) to FinPartSt(SCM) is data-only

if it satisfies the condition (Def.9). (Def.9) Let p be a finite partial state of SCM. Suppose p ∈ dom it. Then p is

data-only and for every finite partial state q of SCM such that q = it(p) holds q is data-only.

Next we state the proposition

(76) For every finite partial state p of SCM such that IC_{SCM} ∈ dom p holds p is not programmed.

Let s be a state of SCM and let p be a finite partial state of SCM. Then s +· p is a state of SCM.

Next we state several propositions:

(77) Let i be an instruction of SCM, and let s be a state of SCM, and let p be a programmed finite partial state of SCM. Then Exec(i, s +· p) = Exec(i, s) +· p.

(78) For every finite partial state p of SCM such that IC_{SCM} ∈ dom p holds Start-At(IC_{p}) ⊆ p.

(79) For every state s of SCM and for every instruction-location i_{3} of SCM holds IC_{s+·Start-At(i_{3})} = i_{3}.

(80) For every state s of SCM and for every instruction-location i_{3} of SCM and for every data-location a holds s(a) = (s +· Start-At(i_{3}))(a).

(81) Let s be a state of SCM, and let i_{3} be an instruction-location of SCM, and let a be an instruction-location of SCM. Then s(a) = (s +· Start-At(i_{3}))(a).

(82) For all states s, t of SCM holds s+·t Data-Loc_{SCM} is a state of SCM.

4. Autonomic finite partial states of SCM

The following proposition is true

(83) For every autonomic finite partial state p of SCM such that

DataPart(p) ≠ ∅ holds IC_{SCM} ∈ dom p. One can check that there exists a finite partial state of SCM which is auto-

nomic and non programmed.

We now state a number of propositions:

(84) For every autonomic non programmed finite partial state p of SCM holds IC_{SCM} ∈ dom p.

(85) For every autonomic finite partial state p of SCM such that IC_{SCM} ∈ dom p holds IC_{p} ∈ dom p.

(86) Let p be an autonomic non programmed finite partial state of SCM and let s be a state of SCM. If p ⊆ s, then for every natural number i holds IC_{(Computation(s))(i)} ∈ dom ProgramPart(p).

(87) Let p be an autonomic non programmed finite partial state of SCM and let s_{1}, s_{2} be states of SCM. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{2}, d_{3} be data-locations, and let l_{1} be an instruction-location of SCM, and let I be an instruction of SCM. If I = CurInstr((Computation(s_{1}))(i)), then IC_{(Computation(s_{1}))(i)} = IC_{(Computation(s_{2}))(i)} and I = CurInstr((Computation(s_{2}))(i)).

(88) Let p be an autonomic non programmed finite partial state of SCM and let s_{1}, s_{2} be states of SCM. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{2}, d_{3} be data-locations, and let l_{1} be an instruction-location of SCM, and let I be an instruction of SCM. If I = CurInstr((Computation(s_{1}))(i)), then if I = d_{2}:=d_{3} and d_{2} ∈ dom p, then (Computation(s_{1}))(i)(d_{3}) = (Computation(s_{2}))(i)(d_{3}).

(89) Let p be an autonomic non programmed finite partial state of SCM and let s_{1}, s_{2} be states of SCM. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{2}, d_{3} be data-locations, and let l_{1} be an instruction-location of SCM, and let I be an instruction of SCM. Suppose I = CurInstr((Computation(s_{1}))(i)). If I = AddTo(d_{2}, d_{3}) and d_{2} ∈ dom p, then (Computation(s_{1}))(i)(d_{2}) + (Computation(s_{1}))(i)(d_{3}) = (Computation(s_{2}))(i)(d_{2}) + (Computation(s_{2}))(i)(d_{3}).

(90) Let p be an autonomic non programmed finite partial state of SCM and let s_{1}, s_{2} be states of SCM. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{2}, d_{3} be data-locations, and let l_{1} be an instruction-location of SCM, and let I be an instruction of SCM. Suppose I = CurInstr((Computation(s_{1}))(i)). If I = SubFrom(d_{2}, d_{3}) and d_{2} ∈ dom p, then (Computation(s_{1}))(i)(d_{2}) − (Computation(s_{1}))(i)(d_{3}) = (Computation(s_{2}))(i)(d_{2}) − (Computation(s_{2}))(i)(d_{3}).

(91) Let p be an autonomic non programmed finite partial state of SCM and let s_{1}, s_{2} be states of SCM. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{2}, d_{3} be data-locations, and let l_{1} be an instruction-location of SCM, and let I be an instruction of SCM. Suppose I = CurInstr((Computation(s_{1}))(i)). If I = MultBy(d_{2}, d_{3}) and d_{2} ∈ dom p, then (Computation(s_{1}))(i)(d_{2}) · (Computation(s_{1}))(i)(d_{3}) = (Computation(s_{2}))(i)(d_{2}) · (Computation(s_{2}))(i)(d_{3}).

(92) Let p be an autonomic non programmed finite partial state of SCM and let s_{1}, s_{2} be states of SCM. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{2}, d_{3} be data-locations, and let l_{1} be an instructionlocation of SCM, and let I be an instruction of SCM. Suppose I = CurInstr((Computation(s_{1}))(i)). If I = Divide(d_{2}, d_{3}) and d_{2} ∈ dom p and d_{2} ≠ d_{3}, then (Computation(s_{1}))(i)(d_{2})÷(Computation(s_{1}))(i)(d_{3}) = (Computation(s_{2}))(i)(d_{2}) ÷ (Computation(s_{2}))(i)(d_{3}).

(93) Let p be an autonomic non programmed finite partial state of SCM and let s_{1}, s_{2} be states of SCM. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{2}, d_{3} be data-locations, and let l_{1} be an instructionlocation of SCM, and let I be an instruction of SCM. Suppose I = CurInstr((Computation(s_{1}))(i)). If I = Divide(d_{2}, d_{3}) and d_{3} ∈ dom p and d_{2} ≠ d_{3}, then (Computation(s_{1}))(i)(d_{2}) mod (Computation(s_{1}))(i)(d_{3}) = (Computation(s_{2}))(i)(d_{2}) mod (Computation(s_{2}))(i)(d_{3}).

(94) Let p be an autonomic non programmed finite partial state of SCM and let s_{1}, s_{2} be states of SCM. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{2}, d_{3} be data-locations, and let l_{1} be an instruction-location of SCM, and let I be an instruction of SCM. Suppose I = CurInstr((Computation(s_{1}))(i)). If I = if d_{2} = 0 goto l_{1} and l_{1} ≠ Next(IC_{(Computation(s_{1}))(i)}), then (Computation(s_{1}))(i)(d_{2}) = 0 8 yasushi tanaka

iff (Computation(s_{2}))(i)(d_{2}) = 0.

(95) Let p be an autonomic non programmed finite partial state of SCM and let s_{1}, s_{2} be states of SCM. Suppose p ⊆ s_{1} and p ⊆ s_{2}. Let i be a natural number, and let d_{2}, d_{3} be data-locations, and let l_{1} be an instruction-location of SCM, and let I be an instruction of SCM. Suppose I = CurInstr((Computation(s_{1}))(i)). If I = if d_{2} > 0 goto l_{1} and l_{1} ≠ Next(IC_{(Computation(s_{1}))(i)}), then (Computation(s_{1}))(i)(d_{2}) > 0 iff (Computation(s_{2}))(i)(d_{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] Czesław Byliński. A classical first order language. Formalized Mathematics, 1(4):669– 676, 1990.

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

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

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

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

[9] 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] Dariusz Surowik. Cyclic groups and some of their properties - part I. Formalized Mathematics, 2(5):623–627, 1991.

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

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

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

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

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

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

Received November 23, 1993

On Defining Functions on Binary Trees ^{1}

Grzegorz Bancerek Polish Academy of Sciences Institute of Mathematics

Warsaw

Piotr Rudnicki University of Alberta Department of Computing Science Edmonton

Summary. This article is a continuation of an article on defining functions on trees (see [6]). In this article we develop terminology specialized for binary trees, first defining binary trees and binary grammars. We recast the induction principle for the set of parse trees of binary grammars and the scheme of defining functions inductively with the set as domain. We conclude with defining the scheme of defining such functions by lambda-like expressions.

MML Identifier: BINTREE1.

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

Let D be a non empty set and let t be a tree decorated with elements of D. The root label of t is an element of D and is defined by: (Def.1) The root label of t = t(ε).

One can prove the following two propositions:

(1) Let D be a non empty set and let t be a tree decorated with elements of D. Then the roots of ⟨t⟩ = ⟨the root label of t⟩.

(2) Let D be a non empty set and let t_{1}, t_{2} be trees decorated with elements of D. Then the roots of ⟨t_{1}, t_{2}⟩ = ⟨the root label of t_{1}, the root label of t_{2}⟩.

A tree is binary if: (Def.2) For every element t of it such that t ∉ Leaves(it) holds succ t = {t ^{}

⟨0⟩, t^{}⟨1⟩}. The following propositions are true:

1This work was partially supported by NSERC Grant OGP9207 while the first author visited University of Alberta, May-June 1993.

(3) For every tree T and for every element t of T holds t ∈ Leaves(T) iff t^{}⟨0⟩ ∉ T.

(4) For every tree T and for every element t of T holds t ∈ Leaves(T) iff it is not true that there exists a natural number n such that t^{}⟨n⟩ ∈ T.

(5) For every tree T and for every element t of T holds succ t = ∅ iff t ∈ Leaves(T).

(6) The elementary tree of 0 is binary.

(7) The elementary tree of 2 is binary. Let us note that there exists a tree which is binary and finite. A decorated tree is binary if:

(Def.3) dom it is binary.

Let D be a non empty set. Observe that there exists a tree decorated with elements of D which is binary and finite.

Let us mention that there exists a decorated tree which is binary and finite. Let us observe that every tree which is binary is also finite-order. We now state four propositions:

(8) Let T_{0}, T_{1} be trees and let t be an element of \overbrace{T_{0}, T_{1}}. Then

(i) for every element p of T_{0} such that t = ⟨0⟩^{}p holds t ∈ Leaves(\overbrace{T_{0}, T_{1}}) iff p ∈ Leaves(T_{0}), and

(ii) for every element p of T_{1} such that t = ⟨1⟩^{}p holds t ∈ Leaves(\overbrace{T_{0}, T_{1}}) iff p ∈ Leaves(T_{1}).

(9) Let T_{0}, T_{1} be trees and let t be an element of \overbrace{T_{0}, T_{1}}. Then

(i) if t = ε, then succ t = {t^{}⟨0⟩, t^{}⟨1⟩}, (ii) for every element p of T_{0} such that t = ⟨0⟩ ^{}p and for every finite

sequence s_{1} holds s_{1} ∈ succ p iff ⟨0⟩^{}s_{1} ∈ succ t, and (iii) for every element p of T_{1} such that t = ⟨1⟩ ^{}p and for every finite

sequence s_{1} holds s_{1} ∈ succ p iff ⟨1⟩^{}s_{1} ∈ succ t.

(10) For all trees T_{1}, T_{2} holds T_{1} is binary and T_{2} is binary iff \overbrace{T_{1}, T_{2}} is binary.

(11) For all decorated trees T_{1}, T_{2} and for arbitrary x holds T_{1} is binary and

T_{2} is binary iff x-tree(T_{1}, T_{2}) is binary. Let D be a non empty set, let x be an element of D, and let T_{1}, T_{2} be binary

finite trees decorated with elements of D. Then x-tree(T_{1}, T_{2}) is a binary finite tree decorated with elements of D.

A non empty tree construction structure is binary if: (Def.4) For every symbol s of it and for every finite sequence p such that s ⇒ p

there exist symbols x_{1}, x_{2} of it such that p = ⟨x_{1}, x_{2}⟩. One can check that there exists a non empty tree construction structure which

is binary and strict and has terminals, nonterminals, and useful nonterminals.

The scheme BinDTConstrStrEx concerns a non empty set A and a ternary predicate P, and states that:

There exists a binary strict non empty tree construction structure G such that the carrier of G = A and for all symbols x, y, z of G holds x ⇒ ⟨y, z⟩ iff P[x, y, z]

for all values of the parameters.

One can prove the following proposition

(12) Let G be a binary non empty tree construction structure with terminals and nonterminals, and let t_{3} be a finite sequence of elements of TS(G), and let n_{1} be a symbol of G. Suppose n_{1} ⇒ the roots of t_{3}. Then

(i) n_{1} is a nonterminal of G, (ii) dom t_{3} = {1, 2}, (iii) 1 ∈ dom t_{3}, (iv) 2 ∈ dom t_{3}, and

(v) there exist elements t_{4}, t_{5} of TS(G) such that the roots of t_{3} = ⟨the root label of t_{4}, the root label of t_{5}⟩ and t_{4} = t_{3}(1) and t_{5} = t_{3}(2) and n_{1}-tree(t_{3}) = n_{1}-tree(t_{4}, t_{5}) and t_{4} ∈ rng t_{3} and t_{5} ∈ rng t_{3}.

Now we present three schemes. The scheme BinDTConstrInd concerns a binary non empty tree construction structure A with terminals and nonterminals and a unary predicate P, and states that:

For every element t of TS(A) holds P[t] provided the parameters have the following properties:

• For every terminal s of A holds P[the root tree of s],

• Let n_{1} be a nonterminal of A and let t_{4}, t_{5} be elements of TS(A). Suppose n_{1} ⇒ ⟨the root label of t_{4}, the root label of t_{5}⟩ and P[t_{4}] and P[t_{5}]. Then P[n_{1}-tree(t_{4}, t_{5})].

The scheme BinDTConstrIndDef concerns a binary non empty tree construction structure A with terminals, nonterminals, and useful nonterminals, a non empty set B, a unary functor F yielding an element of B, and a 5-ary functor G yielding an element of B, and states that:

There exists a function f from TS(A) into B such that

(i) for every terminal t of A holds f(the root tree of t) = F(t), and (ii) for every nonterminal n_{1} of A and for all elements t_{4}, t_{5} of TS(A) and for all symbols r_{1}, r_{2} of A such that r_{1} = the root label of t_{4} and r_{2} = the root label of t_{5} and n_{1} ⇒ ⟨r_{1}, r_{2}⟩ and for all elements x_{3}, x_{4} of B such that x_{3} = f(t_{4}) and x_{4} = f(t_{5}) holds f(n_{1}-tree(t_{4}, t_{5})) = G(n_{1}, r_{1}, r_{2}, x_{3}, x_{4})

for all values of the parameters.

The scheme BinDTConstrUniqDef deals with a binary non empty tree construction structure A with terminals, nonterminals, and useful nonterminals, a non empty set B, functions C, D from TS(A) into B, a unary functor F yielding an element of B, and a 5-ary functor G yielding an element of B, and states that:

C = D provided the following requirements are met:

• (i) For every terminal t of A holds C(the root tree of t) = F(t), and (ii) for every nonterminal n_{1} of A and for all elements t_{4}, t_{5} of TS(A) and for all symbols r_{1}, r_{2} of A such that r_{1} = the root label of t_{4} and r_{2} = the root label of t_{5} and n_{1} ⇒ ⟨r_{1}, r_{2}⟩ and for all elements x_{3}, x_{4} of B such that x_{3} = C(t_{4}) and x_{4} = C(t_{5}) holds C(n_{1}-tree(t_{4}, t_{5})) = G(n_{1}, r_{1}, r_{2}, x_{3}, x_{4}),

• (i) For every terminal t of A holds D(the root tree of t) = F(t), and (ii) for every nonterminal n_{1} of A and for all elements t_{4}, t_{5} of TS(A) and for all symbols r_{1}, r_{2} of A such that r_{1} = the root label of t_{4} and r_{2} = the root label of t_{5} and n_{1} ⇒ ⟨r_{1}, r_{2}⟩ and for all elements x_{3}, x_{4} of B such that x_{3} = D(t_{4}) and x_{4} = D(t_{5}) holds D(n_{1}-tree(t_{4}, t_{5})) = G(n_{1}, r_{1}, r_{2}, x_{3}, x_{4}).

Let A, B, C be non empty sets, let a be an element of A, let b be an element of B, and let c be an element of C. Then ⟨⟨a, b, c⟩⟩ is an element of [: A, B, C:].

Now we present two schemes. The scheme BinDTC DefLambda deals with a binary non empty tree construction structure A with terminals, nonterminals, and useful nonterminals, non empty sets B, C, a binary functor F yielding an element of C, and a 4-ary functor G yielding an element of C, and states that:

There exists a function f from TS(A) into C^{B} such that

(i) for every terminal t of A there exists a function g from B into C such that g = f(the root tree of t) and for every element a of B holds g(a) = F(t, a), and (ii) for every nonterminal n_{1} of A and for all elements t_{1}, t_{2} of TS(A) and for all symbols r_{1}, r_{2} of A such that r_{1} = the root label of t_{1} and r_{2} = the root label of t_{2} and n_{1} ⇒ ⟨r_{1}, r_{2}⟩ there exist functions g, f_{1}, f_{2} from B into C such that g = f(n_{1}-tree(t_{1}, t_{2})) and f_{1} = f(t_{1}) and f_{2} = f(t_{2}) and for every element a of B holds g(a) = G(n_{1}, f_{1}, f_{2}, a)

for all values of the parameters.

The scheme BinDTC DefLambdaUniq deals with a binary non empty tree construction structure A with terminals, nonterminals, and useful nonterminals, non empty sets B, C, functions D, E from TS(A) into C^{B}, a binary functor F yielding an element of C, and a 4-ary functor G yielding an element of C, and states that:

D = E provided the parameters satisfy the following conditions:

• (i) For every terminal t of A there exists a function g from B into C such that g = D(the root tree of t) and for every element a of B holds g(a) = F(t, a), and (ii) for every nonterminal n_{1} of A and for all elements t_{1}, t_{2} of TS(A) and for all symbols r_{1}, r_{2} of A such that r_{1} = the root label of t_{1} and r_{2} = the root label of t_{2} and n_{1} ⇒ ⟨r_{1}, r_{2}⟩ there exist functions g, f_{1}, f_{2} from B into C such that g = D(n_{1}-tree(t_{1}, t_{2}))

on defining functions on binary trees 13

and f_{1} = D(t_{1}) and f_{2} = D(t_{2}) and for every element a of B holds g(a) = G(n_{1}, f_{1}, f_{2}, a),

• (i) For every terminal t of A there exists a function g from B into C such that g = E(the root tree of t) and for every element a of B holds g(a) = F(t, a), and (ii) for every nonterminal n_{1} of A and for all elements t_{1}, t_{2} of TS(A) and for all symbols r_{1}, r_{2} of A such that r_{1} = the root label of t_{1} and r_{2} = the root label of t_{2} and n_{1} ⇒ ⟨r_{1}, r_{2}⟩ there exist functions g, f_{1}, f_{2} from B into C such that g = E(n_{1}-tree(t_{1}, t_{2})) and f_{1} = E(t_{1}) and f_{2} = E(t_{2}) and for every element a of B holds g(a) = G(n_{1}, f_{1}, f_{2}, a).

Let G be a binary non empty tree construction structure with terminals and nonterminals. Note that every element of TS(G) is binary.

References

[1] Grzegorz Bancerek. Introduction to trees. Formalized Mathematics, 1(2):421–427, 1990.

[2] Grzegorz Bancerek. Joining of decorated trees. Formalized Mathematics, 4(1):77–82, 1993.

[3] Grzegorz Bancerek. König’s lemma. Formalized Mathematics, 2(3):397–402, 1991.

[4] Grzegorz Bancerek. Sets and functions of trees and joining operations of trees. Formalized Mathematics, 3(2):195–204, 1992.

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

[6] Grzegorz Bancerek and Piotr Rudnicki. On defining functions on trees. Formalized Mathematics, 4(1):91–101, 1993.

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

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

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

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

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

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

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

Received December 30, 1993 14

A Compiler of Arithmetic Expressions for SCM ^{1}

Grzegorz Bancerek Polish Academy of Sciences Institute of Mathematics

Warsaw

Piotr Rudnicki University of Alberta Department of Computing Science Edmonton

Summary. We define a set of binary arithmetic expressions with the following operations: +, −, ·, mod, and div and formalize the common meaning of the expressions in the set of integers. Then, we define a compile function that for a given expression results in a program for the SCM machine defined by Nakamura and Trybulec in [13]. We prove that the generated program when loaded into the machine and executed computes the value of the expression. The program uses additional memory and runs in time linear in length of the expression.

MML Identifier: SCM COMP.

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

The following two propositions are true:

(1) Let I_{1}, I_{2} be finite sequences of elements of the instructions of SCM, and let D be a finite sequence of elements of , and let i_{1}, p_{1}, d_{1} be natural numbers. Then every state with instruction counter on i_{1}, with I_{1} ^{}I_{2} located from p_{1}, and D from d_{1} is a state with instruction counter on i_{1}, with I_{1} located from p_{1}, and D from d_{1} and a state with instruction counter on i_{1}, with I_{2} located from p_{1} + len I_{1}, and D from d_{1}.

(2) Let I_{1}, I_{2} be finite sequences of elements of the instructions of SCM, and let i_{1}, p_{1}, d_{1}, k, i_{2} be natural numbers, and let s be a state with instruction counter on i_{1}, with I_{1} ^{}I_{2} located from p_{1}, and ε_{}from d_{1}, and let u be a state of SCM. Suppose u = (Computation(s))(k) and i_{(i_{2})} = IC_{u}. Then u is a state with instruction counter on i_{2}, with I_{2} located from p_{1} + len I_{1}, and ε_{}from d_{1}.

1This work was partially supported by NSERC Grant OGP9207 while the first author visited University of Alberta, May-June 1993.

The binary strict non empty tree construction structure AE_{SCM} with terminals, nonterminals, and useful nonterminals is defined by the conditions (Def.1). (Def.1) (i) The terminals of AE_{SCM} = Data-Loc_{SCM},

(ii) the nonterminals of AE_{SCM} = [: 1, 5 :], and (iii) for all symbols x, y, z of AE_{SCM} holds x ⇒ ⟨y, z⟩ iff x ∈ [: 1, 5 :]. A binary term is an element of TS(AE_{SCM}). Let n_{1} be a nonterminal of AE_{SCM} and let t_{1}, t_{2} be binary terms. Then

n_{1}-tree(t_{1}, t_{2}) is a binary term.

Let t be a terminal of AE_{SCM}. Then the root tree of t is a binary term. Let t be a terminal of AE_{SCM}. The functor ^{@}t yielding a data-location is

defined as follows: (Def.2) ^{@}t = t.

One can prove the following propositions:

(3) For every nonterminal n_{1} of AE_{SCM} holds n_{1} = ⟨⟨0, 0⟩⟩ or n_{1} = ⟨⟨0, 1⟩⟩ or n_{1} = ⟨⟨0, 2⟩⟩ or n_{1} = ⟨⟨0, 3⟩⟩ or n_{1} = ⟨⟨0, 4⟩⟩.

(4) (i) ⟨⟨0, 0⟩⟩ is a nonterminal of AE_{SCM}, (ii) ⟨⟨0, 1⟩⟩ is a nonterminal of AE_{SCM}, (iii) ⟨⟨0, 2⟩⟩ is a nonterminal of AE_{SCM}, (iv) ⟨⟨0, 3⟩⟩ is a nonterminal of AE_{SCM}, and

(v) ⟨⟨0, 4⟩⟩ is a nonterminal of AE_{SCM}. Let t_{3}, t_{4} be binary terms. The functor t_{3} + t_{4} yields a binary term and is

defined as follows: (Def.3) t_{3} + t_{4} = ⟨⟨0, 0⟩⟩-tree(t_{3}, t_{4}). The functor t_{3} − t_{4} yielding a binary term is defined as follows: (Def.4) t_{3} − t_{4} = ⟨⟨0, 1⟩⟩-tree(t_{3}, t_{4}). The functor t_{3} · t_{4} yields a binary term and is defined by: (Def.5) t_{3} · t_{4} = ⟨⟨0, 2⟩⟩-tree(t_{3}, t_{4}). The functor t_{3} ÷ t_{4} yields a binary term and is defined by: (Def.6) t_{3} ÷ t_{4} = ⟨⟨0, 3⟩⟩-tree(t_{3}, t_{4}). The functor t_{3} mod t_{4} yielding a binary term is defined as follows: (Def.7) t_{3} mod t_{4} = ⟨⟨0, 4⟩⟩-tree(t_{3}, t_{4}).

We now state the proposition

(5) Let t_{5} be a binary term. Then

(i) there exists a terminal t of AE_{SCM} such that t_{5} = the root tree of t, or (ii) there exist binary terms t_{1}, t_{2} such that t_{5} = t_{1} + t_{2} or t_{5} = t_{1} − t_{2} or

t_{5} = t_{1} · t_{2} or t_{5} = t_{1} ÷ t_{2} or t_{5} = t_{1} mod t_{2}. Let o be a nonterminal of AE_{SCM} and let i, j be integers. The functor o(i, j)

yielding an integer is defined as follows:

(Def.8) (i) o(i, j) = i + j if o = ⟨⟨0, 0⟩⟩, (ii) o(i, j) = i − j if o = ⟨⟨0, 1⟩⟩, (iii) o(i, j) = i · j if o = ⟨⟨0, 2⟩⟩, (iv) o(i, j) = i ÷ j if o = ⟨⟨0, 3⟩⟩,

(v) o(i, j) = i mod j if o = ⟨⟨0, 4⟩⟩. Let s be a state of SCM and let t be a terminal of AE_{SCM}. Then s(t) is an

integer.

is a non empty subset of . One can verify that every element of is integer. Let D be a non empty set, let f be a function from into D, and let x be

an integer. Then f(x) is an element of D.

Let s be a state of SCM and let t_{5} be a binary term. The functor t_{5} ^{@} s yields an integer and is defined by the condition (Def.9). (Def.9) There exists a function f from TS(AE_{SCM}) into such that

(i) t_{5} ^{@} s = f(t_{5}), (ii) for every terminal t of AE_{SCM} holds f(the root tree of t) = s(t), and (iii) for every nonterminal n_{1} of AE_{SCM} and for all binary terms t_{1}, t_{2} and

for all symbols r_{1}, r_{2} of AE_{SCM} such that r_{1} = the root label of t_{1} and r_{2} = the root label of t_{2} and n_{1} ⇒ ⟨r_{1}, r_{2}⟩ and for all elements x_{1}, x_{2} of such that x_{1} = f(t_{1}) and x_{2} = f(t_{2}) holds f(n_{1}-tree(t_{1}, t_{2})) = n_{1}(x_{1}, x_{2}).

One can prove the following three propositions:

(6) For every state s of SCM and for every terminal t of AE_{SCM} holds (the root tree of t)^{@} s = s(t).

(7) For every state s of SCM and for every nonterminal n_{1} of AE_{SCM} and for all binary terms t_{1}, t_{2} holds (n_{1}-tree(t_{1}, t_{2}))^{@} s = n_{1}(t_{1} ^{@} s, t_{2} ^{@} s).

(8) Let s be a state of SCM and let t_{1}, t_{2} be binary terms. Then (t_{1} + t_{2}) ^{@} s = (t_{1} ^{@} s) + (t_{2} ^{@} s) and (t_{1} − t_{2}) ^{@} s = (t_{1} ^{@} s) − (t_{2} ^{@} s) and t_{1} · t_{2} ^{@} s = (t_{1} ^{@} s) · (t_{2} ^{@} s) and (t_{1} ÷ t_{2}) ^{@} s = (t_{1} ^{@} s) ÷ (t_{2} ^{@} s) and (t_{1} mod t_{2})^{@} s = (t_{1} ^{@} s) mod (t_{2} ^{@} s).

Let n_{1} be a nonterminal of AE_{SCM} and let n be a natural number. The functor Selfwork(n_{1}, n) yielding an element of (the instructions of SCM qua set)^{∗} is defined as follows:

(Def.10) (i) Selfwork(n_{1}, n) = ⟨AddTo(d_{n}, d_{n+1})⟩ if n_{1} = ⟨⟨0, 0⟩⟩, (ii) Selfwork(n_{1}, n) = ⟨SubFrom(d_{n}, d_{n+1})⟩ if n_{1} = ⟨⟨0, 1⟩⟩, (iii) Selfwork(n_{1}, n) = ⟨MultBy(d_{n}, d_{n+1})⟩ if n_{1} = ⟨⟨0, 2⟩⟩, (iv) Selfwork(n_{1}, n) = ⟨Divide(d_{n}, d_{n+1})⟩ if n_{1} = ⟨⟨0, 3⟩⟩,

(v) Selfwork(n_{1}, n) = ⟨Divide(d_{n}, d_{n+1}), d_{n}:=d_{n+1}⟩ if n_{1} = ⟨⟨0, 4⟩⟩. Let t_{5} be a binary term and let a_{1} be a natural number. The functor

Compile(t_{5}, a_{1}) yielding a finite sequence of elements of the instructions of SCM is defined by the condition (Def.11).

(Def.11) There exists a function f from TS(AE_{SCM}) into ((the instructions of

SCM qua set)^{∗})^{}such that

(i) Compile(t_{5}, a_{1}) = (f(t_{5}) qua element of ((the instructions of SCM

qua set)^{∗})^{})(a_{1}), (ii) for every terminal t of AE_{SCM} there exists a function g from into

(the instructions of SCM qua set)^{∗} such that g = f(the root tree of t) and for every natural number n holds g(n) = ⟨d_{n}:=^{@}t⟩, and

(iii) for every nonterminal n_{1} of AE_{SCM} and for all binary terms t_{3}, t_{4} and for all symbols r_{1}, r_{2} of AE_{SCM} such that r_{1} = the root label of t_{3} and r_{2} = the root label of t_{4} and n_{1} ⇒ ⟨r_{1}, r_{2}⟩ there exist functions g, f_{1}, f_{2} from into (the instructions of SCM qua set)^{∗} such that g = f(n_{1}-tree(t_{3}, t_{4})) and f_{1} = f(t_{3}) and f_{2} = f(t_{4}) and for every natural number n holds g(n) = f_{1}(n)^{}f_{2}(n + 1)^{}Selfwork(n_{1}, n).

One can prove the following propositions:

(9) For every terminal t of AE_{SCM} and for every natural number n holds Compile(the root tree of t, n) = ⟨d_{n}:=^{@}t⟩.

(10) Let n_{1} be a nonterminal of AE_{SCM}, and let t_{3}, t_{4} be binary terms, and let n be a natural number, and let r_{1}, r_{2} be symbols of AE_{SCM}. Suppose r_{1} = the root label of t_{3} and r_{2} = the root label of t_{4} and n_{1} ⇒ ⟨r_{1}, r_{2}⟩. Then Compile(n_{1}-tree(t_{3}, t_{4}), n) = (Compile(t_{3}, n))^{}Compile(t_{4}, n + 1)^{} Selfwork(n_{1}, n).

Let t be a terminal of AE_{SCM}. The functor d^{−1}(t) yielding a natural number is defined as follows:

(Def.12) d_{d^{−1}(t)} = t.

Let n_{2}, n_{3} be natural numbers. Then max(n_{2}, n_{3}) is a natural number. Let t_{5} be a binary term. The functor max_{DL}(t_{5}) yielding a natural number

is defined by the condition (Def.13). (Def.13) There exists a function f from TS(AE_{SCM}) into such that

(i) max_{DL}(t_{5}) = f(t_{5}), (ii) for every terminal t of AE_{SCM} holds f(the root tree of t) = d^{−1}(t),

and (iii) for every nonterminal n_{1} of AE_{SCM} and for all binary terms t_{1}, t_{2} and

for all symbols r_{1}, r_{2} of AE_{SCM} such that r_{1} = the root label of t_{1} and r_{2} = the root label of t_{2} and n_{1} ⇒ ⟨r_{1}, r_{2}⟩ and for all natural numbers x_{1}, x_{2} such that x_{1} = f(t_{1}) and x_{2} = f(t_{2}) holds f(n_{1}-tree(t_{1}, t_{2})) = max(x_{1}, x_{2}).

One can prove the following propositions:

(11) For every terminal t of AE_{SCM} holds max_{DL}(the root tree of t) = d^{−1}(t).

(12) For every nonterminal n_{1} of AE_{SCM} and for all binary terms t_{1}, t_{2} holds max_{DL}(n_{1}-tree(t_{1}, t_{2})) = max(max_{DL}(t_{1}), max_{DL}(t_{2})).

(13) Let t_{5} be a binary term and let s_{1}, s_{2} be states of SCM. Suppose that for every natural number d_{2} such that d_{2} ≤ max_{DL}(t_{5}) holds s_{1}(d_{(d_{2})}) = s_{2}(d_{(d_{2})}). Then t_{5} ^{@} s_{1} = t_{5} ^{@} s_{2}.

(14) Let t_{5} be a binary term, and let a_{1}, n, k be natural numbers, and let s be a state with instruction counter on n, with Compile(t_{5}, a_{1}) located

a compiler of arithmetic expressions for … 19

from n, and ε_{}from k. Suppose a_{1} > max_{DL}(t_{5}). Then there exists a natural number i and there exists a state u of SCM such that

(i) u = (Computation(s))(i + 1), (ii) i + 1 = len Compile(t_{5}, a_{1}), (iii) IC_{(Computation(s))(i)} = i_{n+i}, (iv) IC_{u} = i_{n+(i+1)},

(v) u(d_{(a_{1})}) = t_{5} ^{@} s, and (vi) for every natural number d_{2} such that d_{2} < a_{1} holds s(d_{(d_{2})}) = u(d_{(d_{2})}).

(15) Let t_{5} be a binary term, and let a_{1}, n, k be natural numbers, and let s be a state with instruction counter on n, with (Compile(t_{5}, a_{1})) ^{} ⟨halt_{SCM}⟩ located from n, and ε_{}from k. Suppose a_{1} > max_{DL}(t_{5}). Then s is halting and (Result(s))(d_{(a_{1})}) = t_{5} ^{@} s and the complexity of s = len Compile(t_{5}, a_{1}).

References

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

[2] Grzegorz Bancerek. Joining of decorated trees. Formalized Mathematics, 4(1):77–82, 1993.

[3] Grzegorz Bancerek. König’s lemma. Formalized Mathematics, 2(3):397–402, 1991.

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

[5] Grzegorz Bancerek and Piotr Rudnicki. Development of terminology for SCM. Formalized Mathematics, 4(1):61–67, 1993.

[6] Grzegorz Bancerek and Piotr Rudnicki. On defining functions on binary trees. Formalized Mathematics, 5(1):9–13, 1996.

[7] Grzegorz Bancerek and Piotr Rudnicki. On defining functions on trees. Formalized Mathematics, 4(1):91–101, 1993.

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

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

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

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

[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] Yatsuka Nakamura and Andrzej Trybulec. On a mathematical model of programs. Formalized Mathematics, 3(2):241–250, 1992.

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

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

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

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

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

20 grzegorz bancerek and piotr rudnicki

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

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

Received December 30, 1993

Some Properties of the Intervals

Józef Białas Łódź University

MML Identifier: MEASURE6.

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

The scheme FunctXD YD concerns a non empty set A, a non empty set B, and a binary predicate P, and states that:

There exists a function F from A into B such that for every element x of A holds P[x, F (x)]

provided the following condition is satisfied:

• For every element x of A there exists an element y of B such that P[x, y].

Let X, Y be non empty sets. Note that Y^{X} is non empty. We now state a number of propositions:

(1) There exists a function F from into [: , :] such that F is one-to-one and dom F = and rng F = [: , :].

(2) For every function F from into \overline{}such that F is non-negative holds 0\overline{}≤ ∑ F.

(3) Let F be a function from into \overline{}and let x be a Real number. Suppose there exists a natural number n such that x ≤ F (n) and F is non-negative. Then x ≤ ∑ F.

(4) For every Real number x such that there exists a Real number y such that y < x holds x ≠ −∞.

(5) For every Real number x such that there exists a Real number y such that x < y holds x ≠ +∞.

(6) For all Real numbers x, y holds x ≤ y iff x < y or x = y.

(7) Let x, y be Real numbers and let p, q be real numbers. If x = p and y = q, then p ≤ q iff x ≤ y.

(8) For all Real numbers x, y such that x is a real number holds (y−x)+x = y and (y + x) − x = y.

(9) For all Real numbers x, y such that x ∈ holds x + y = y + x.

(10) For all Real numbers x, y, z such that z ∈ and y < x holds (z + x) − (z + y) = x − y.

(11) For all Real numbers x, y, z such that z ∈ and x ≤ y holds z+x ≤ z+y and x + z ≤ y + z and x − z ≤ y − z.

(12) For all Real numbers x, y, z such that z ∈ and x < y holds z+x < z+y

and x + z < y + z and x − z < y − z. Let x be a real number. The functor \overline{}(x) yields a Real number and is defined

as follows: (Def.1) \overline{}(x) = x.

The following propositions are true:

(13) For all real numbers x, y holds x ≤ y iff \overline{}(x) ≤ \overline{}(y).

(14) For all real numbers x, y holds x < y iff \overline{}(x) < \overline{}(y).

(15) For all Real numbers x, y, z such that x < y and y < z holds y is a real number.

(16) Let x, y, z be Real numbers. Suppose x is a real number and z is a real number and x ≤ y and y ≤ z. Then y is a real number.

(17) For all Real numbers x, y, z such that x is a real number and x ≤ y and y < z holds y is a real number.

(18) For all Real numbers x, y, z such that x < y and y ≤ z and z is a real number holds y is a real number.

(19) For all Real numbers x, y such that 0\overline{}< x and x < y holds 0\overline{}< y − x.

(20) For all Real numbers x, y, z such that 0\overline{}≤ x and 0\overline{}≤ z and z + x < y holds z < y − x.

(21) For every Real number x holds x − 0\overline{}= x.

(22) For all Real numbers x, y, z such that 0\overline{}≤ x and 0\overline{}≤ z and z + x < y holds z ≤ y.

(23) For every Real number x such that 0\overline{}< x there exists a Real number y such that 0\overline{}< y and y < x.

(24) Let x, z be Real numbers. Suppose 0\overline{}< x and x < z. Then there exists a Real number y such that 0\overline{}< y and x + y < z and y ∈ .

(25) Let x, z be Real numbers. Suppose 0\overline{}≤ x and x < z. Then there exists a Real number y such that 0\overline{}< y and x + y < z and y ∈ .

(26) For every Real number x such that 0\overline{}< x there exists a Real number y

such that 0\overline{}< y and y + y < x. Let x be a Real number. Let us assume that 0\overline{}< x. The functor Seg x yields

a non empty subset of \overline{}and is defined by: (Def.2) For every Real number y holds y ∈ Seg x iff 0\overline{}< y and y + y < x.

Let x be a Real number. Let us assume that 0\overline{}< x. The functor len x yielding a Real number is defined as follows: (Def.3) len x = sup Seg x.

Next we state several propositions:

(27) For every Real number x such that 0\overline{}< x holds 0\overline{}< len x.

(28) For every Real number x such that 0\overline{}< x holds len x ≤ x.

(29) For every Real number x such that 0\overline{}< x and x < +∞ holds len x is a real number.

(30) For every Real number x such that 0\overline{}< x holds len x + len x ≤ x.

(31) Let e_{1} be a Real number. Suppose 0\overline{}< e_{1}. Then there exists a function F from into \overline{}such that for every natural number n holds 0\overline{}< F (n) and ∑ F < e_{1}.

(32) Let e_{1} be a Real number and let X be a non empty subset of \overline{}. Suppose 0\overline{}< e_{1} and inf X is a real number. Then there exists a Real number x such that x ∈ X and x < inf X + e_{1}.

(33) Let e_{1} be a Real number and let X be a non empty subset of \overline{}. Suppose 0\overline{}< e_{1} and sup X is a real number. Then there exists a Real number x such that x ∈ X and sup X − e_{1} < x.

(34) Let F be a function from into \overline{}. Suppose F is non-negative and

∑ F < +∞. Let n be a natural number. Then F (n) ∈ . −∞ is a Real number. +∞ is a Real number. We now state a number of propositions:

(35) is an interval and = ]−∞, +∞[ and = [−∞, +∞] and = [−∞, +∞[ and = ]−∞, +∞].

(36) For all Real numbers a, b such that b = −∞ holds ]a, b[ = ∅ and [a, b] = ∅ and [a, b[ = ∅ and ]a, b] = ∅.

(37) For all Real numbers a, b such that a = +∞ holds ]a, b[ = ∅ and [a, b] = ∅ and [a, b[ = ∅ and ]a, b] = ∅.

(38) Let A be an interval and let a, b be Real numbers. Suppose A = ]a, b[. Let c, d be real numbers. Suppose c ∈ A and d ∈ A. Let e be a real number. If c ≤ e and e ≤ d, then e ∈ A.

(39) Let A be an interval and let a, b be Real numbers. Suppose A = [a, b]. Let c, d be real numbers. Suppose c ∈ A and d ∈ A. Let e be a real number. If c ≤ e and e ≤ d, then e ∈ A.

(40) Let A be an interval and let a, b be Real numbers. Suppose A = ]a, b]. Let c, d be real numbers. Suppose c ∈ A and d ∈ A. Let e be a real number. If c ≤ e and e ≤ d, then e ∈ A.

(41) Let A be an interval and let a, b be Real numbers. Suppose A = [a, b[. Let c, d be real numbers. Suppose c ∈ A and d ∈ A. Let e be a real number. If c ≤ e and e ≤ d, then e ∈ A.

(42) Let A be a non empty subset of \overline{}and let m, M be Real numbers.

Suppose m = inf A and M = sup A. Suppose that

(i) for all real numbers c, d such that c ∈ A and d ∈ A and for every real number e such that c ≤ e and e ≤ d holds e ∈ A,

(ii) m ∉ A, and (iii) M ∉ A.

Then A = ]m, M[.

(43) Let A be a non empty subset of \overline{}and let m, M be Real numbers.

Suppose m = inf A and M = sup A. Suppose that

(i) for all real numbers c, d such that c ∈ A and d ∈ A and for every real number e such that c ≤ e and e ≤ d holds e ∈ A,

(ii) m ∈ A, (iii) M ∈ A, and (iv) A ⊆ .

Then A = [m, M].

(44) Let A be a non empty subset of \overline{}and let m, M be Real numbers.

Suppose m = inf A and M = sup A. Suppose that

(i) for all real numbers c, d such that c ∈ A and d ∈ A and for every real number e such that c ≤ e and e ≤ d holds e ∈ A,

(ii) m ∈ A, (iii) M ∉ A, and (iv) A ⊆ .

Then A = [m, M[.

(45) Let A be a non empty subset of \overline{}and let m, M be Real numbers.

Suppose m = inf A and M = sup A. Suppose that

(i) for all real numbers c, d such that c ∈ A and d ∈ A and for every real number e such that c ≤ e and e ≤ d holds e ∈ A,

(ii) m ∉ A, (iii) M ∈ A, and (iv) A ⊆ .

Then A = ]m, M].

(46) Let A be a subset of . Then A is an interval if and only if for all real numbers a, b such that a ∈ A and b ∈ A and for every real number c such that a ≤ c and c ≤ b holds c ∈ A.

Let A, B be intervals. Then A ∪ B is a subset of . Next we state the proposition

(47) For all intervals A, B such that A ∩ B ≠ ∅ holds A ∪ B is an interval. Let A be an interval. Let us assume that A ≠ ∅. The functor inf A yields a

Real number and is defined as follows: (Def.4) There exists a Real number b such that inf A ≤ b but A = ]inf A, b[ or

A = ]inf A, b] or A = [inf A, b] or A = [inf A, b[. Let A be an interval. Let us assume that A ≠ ∅. The functor sup A yielding

a Real number is defined as follows: (Def.5) There exists a Real number a such that a ≤ sup A but A = ]a, sup A[ or

A = ]a, sup A] or A = [a, sup A] or A = [a, sup A[. Next we state a number of propositions:

(48) For every interval A such that A is open interval and A ≠ ∅ holds inf A ≤ sup A and A = ]inf A, sup A[.

(49) For every interval A such that A is closed interval and A ≠ ∅ holds inf A ≤ sup A and A = [inf A, sup A].

(50) For every interval A such that A is right open interval and A ≠ ∅ holds inf A ≤ sup A and A = [inf A, sup A[.

(51) For every interval A such that A is left open interval and A ≠ ∅ holds inf A ≤ sup A and A = ]inf A, sup A].

(52) For every interval A such that A ≠ ∅ holds inf A ≤ sup A but A = ]inf A, sup A[ or A = ]inf A, sup A] or A = [inf A, sup A] or A = [inf A, sup A[.

(53) For all intervals A, B such that A = ∅ or B = ∅ holds A ∪ B is an interval.

(54) For every interval A and for every real number a such that a ∈ A holds inf A ≤ \overline{}(a) and \overline{}(a) ≤ sup A.

(55) For all intervals A, B and for all real numbers a, b such that a ∈ A and b ∈ B holds if sup A ≤ inf B, then a ≤ b.

(56) For every interval A and for every Real number a such that a ∈ A holds inf A ≤ a and a ≤ sup A.

(57) For every interval A such that A ≠ ∅ and for every Real number a such that inf A < a and a < sup A holds a ∈ A.

(58) For all intervals A, B such that sup A = inf B but sup A ∈ A or inf B ∈

B holds A ∪ B is an interval. Let A be a subset of and let x be a real number. The functor x + A yields

a subset of and is defined by: (Def.6) For every real number y holds y ∈ x + A iff there exists a real number

z such that z ∈ A and y = x + z. One can prove the following propositions:

(59) For every subset A of and for every real number x holds −x+(x+A) = A.

(60) For every real number x and for every subset A of such that A = holds x + A = A.

(61) For every real number x holds x + ∅ = ∅.

(62) For every interval A and for every real number x holds A is open interval iff x + A is open interval.

(63) For every interval A and for every real number x holds A is closed interval iff x + A is closed interval.

(64) Let A be an interval and let x be a real number. Then A is right open interval if and only if x + A is right open interval.

(65) Let A be an interval and let x be a real number. Then A is left open interval if and only if x + A is left open interval.

(66) For every interval A and for every real number x holds x + A is an interval.

26 józef białas

Let A be an interval and let x be a real number. Note that x + A is interval. The following proposition is true

(67) For every interval A and for every real number x holds vol(A) = vol(x+ A).

References

[1] Józef Białas. Infimum and supremum of the set of real numbers. Measure theory. Formalized Mathematics, 2(1):163–171, 1991.

[2] Józef Białas. Series of positive real numbers. Measure theory. Formalized Mathematics, 2(1):173–183, 1991.

[3] Józef Białas. The σ-additive measure theory. Formalized Mathematics, 2(2):263–270, 1991.

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

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

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

[7] Białas Józef. Properties of the intervals of real numbers. Formalized Mathematics, 3(2):263–269, 1992.

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

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

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

Received February 5, 1994

Binary Arithmetics, Addition and Subtraction of Integers

Yasuho Mizuhara Shinshu University

Information Engineering Dept. Nagano Takaya Nishiyama Shinshu University Information Engineering Dept. Nagano

Summary. This article is a continuation of [6] and presents the concepts of binary arithmetic operations for integers. There is introduced 2’s complement representation of integers and natural numbers to integers are expanded. The binary addition and subtraction for integers are defined and theorems on the relationship between binary and numerical operations presented.

MML Identifier: BINARI 2.

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

Let X be a non empty set, let D be a non empty subset of X, let x, y be arbitrary, and let a, b be elements of D. Then (x = y → a, b) is an element of D.

We follow the rules: i will be a natural number, n will be a non empty natural number, and x, y, z_{1}, z_{2} will be tuples of n and Boolean.

Let us consider n. The functor Bin1(n) yielding a tuple of n and Boolean is defined by: (Def.1) For every i such that i ∈ Seg n holds π_{i} Bin1(n) = (i = 1 → true, false).

Let us consider n, x. The functor Neg2(x) yielding a tuple of n and Boolean is defined by: (Def.2) Neg2(x) = ¬x + Bin1(n).

Let us consider n, x. The functor Intval(x) yielding an integer is defined by: (Def.3) (i) Intval(x) = Absval(x) if π_{n}x = false,

(ii) Intval(x) = Absval(x) − (the n-th power of 2), otherwise.

Let us consider n, z_{1}, z_{2}. The functor Int add ovfl(z_{1}, z_{2}) yields an element of Boolean and is defined by:

(Def.4) Int add ovfl(z_{1}, z_{2}) = ¬π_{n}z_{1} ∧ ¬π_{n}z_{2} ∧ π_{n} carry(z_{1}, z_{2}).

Let us consider n, z_{1}, z_{2}. The functor Int add udfl(z_{1}, z_{2}) yields an element of Boolean and is defined by: (Def.5) Int add udfl(z_{1}, z_{2}) = π_{n}z_{1} ∧ π_{n}z_{2} ∧ ¬π_{n} carry(z_{1}, z_{2}).

The following propositions are true:

(1) For every tuple z_{1} of 1 and Boolean such that z_{1} = ⟨false⟩ holds Absval(z_{1}) = 0.

(2) For every tuple z_{1} of 1 and Boolean such that z_{1} = ⟨true⟩ holds Absval(z_{1}) = 1.

(3) For every tuple z_{1} of 2 and Boolean such that z_{1} = ⟨false⟩^{}⟨false⟩ holds Intval(z_{1}) = 0.

(4) For every tuple z_{1} of 2 and Boolean such that z_{1} = ⟨true⟩^{}⟨false⟩ holds Intval(z_{1}) = 1.

(5) For every tuple z_{1} of 2 and Boolean such that z_{1} = ⟨false⟩^{}⟨true⟩ holds Intval(z_{1}) = −2.

(6) For every tuple z_{1} of 2 and Boolean such that z_{1} = ⟨true⟩^{}⟨true⟩ holds Intval(z_{1}) = −1.

(7) For every i such that i ∈ Seg n and i = 1 holds π_{i} Bin1(n) = true.

(8) For every i such that i ∈ Seg n and i ≠ 1 holds π_{i} Bin1(n) = false.

(9) For every n holds Bin1(n + 1) = (Bin1(n))^{}⟨false⟩.

(10) For every n holds Intval((Bin1(n))^{}⟨false⟩) = 1.

(11) For every n and for every tuple z of n and Boolean and for every element d of Boolean holds ¬(z ^{}⟨d⟩) = (¬z)^{}⟨¬d⟩.

(12) Given n, and let z be a tuple of n and Boolean, and let d be an element of Boolean. Then Intval(z ^{}⟨d⟩) = Absval(z) − ((d = false → 0, the n-th power of 2) qua natural number).

(13) Given n, and let z_{1}, z_{2} be tuples of n and Boolean, and let d_{1}, d_{2} be elements of Boolean. Then (Intval(z_{1}^{}⟨d_{1}⟩+z_{2}^{}⟨d_{2}⟩)+(Int add ovfl(z_{1}^{} ⟨d_{1}⟩, z_{2} ^{}⟨d_{2}⟩) = false → 0, the n + 1-th power of 2)) −(Int add udfl(z_{1} ^{} ⟨d_{1}⟩, z_{2} ^{}⟨d_{2}⟩) = false → 0, the n + 1-th power of 2) = Intval(z_{1} ^{}⟨d_{1}⟩) + Intval(z_{2} ^{}⟨d_{2}⟩).

(14) Given n, and let z_{1}, z_{2} be tuples of n and Boolean, and let d_{1}, d_{2} be elements of Boolean. Then Intval(z_{1} ^{}⟨d_{1}⟩ + z_{2} ^{}⟨d_{2}⟩) = ((Intval(z_{1} ^{} ⟨d_{1}⟩)+Intval(z_{2}^{}⟨d_{2}⟩))−(Int add ovfl(z_{1}^{}⟨d_{1}⟩, z_{2}^{}⟨d_{2}⟩) = false → 0, the n + 1-th power of 2)) +(Int add udfl(z_{1} ^{}⟨d_{1}⟩, z_{2} ^{}⟨d_{2}⟩) = false → 0, the n + 1-th power of 2).

(15) For every n and for every tuple x of n and Boolean holds Absval(¬x) = (−Absval(x) + (the n-th power of 2)) −1.

(16) For every n and for every tuple z of n and Boolean and for every element d of Boolean holds Neg2(z ^{}⟨d⟩) = (Neg2(z)) ^{}⟨¬d ⊕ add ovfl(¬z, Bin1(n))⟩.

(17) Given n, and let z be a tuple of n and Boolean, and let d be an element of Boolean. Then Intval(Neg2(z^{}⟨d⟩))+(Int add ovfl(¬(z^{}⟨d⟩), Bin1(n+ 1)) = false → 0, the n + 1-th power of 2) = −Intval(z ^{}⟨d⟩).

(18) For every n and for every tuple z of n and Boolean and for every element d of Boolean holds Neg2(Neg2(z ^{}⟨d⟩)) = z ^{}⟨d⟩.

Let us consider n, x, y. The functor x − y yielding a tuple of n and Boolean is defined as follows: (Def.6) For every i such that i ∈ Seg n holds π_{i}(x − y) = π_{i}x ⊕ π_{i} Neg2(y) ⊕

π_{i} carry(x, Neg2(y)). One can prove the following three propositions:

(19) For every n and for all tuples x, y of n and Boolean holds x − y = x + Neg2(y).

(20) For every n and for all tuples z_{1}, z_{2} of n and Boolean and for all elements d_{1}, d_{2} of Boolean holds z_{1}^{}⟨d_{1}⟩−z_{2}^{}⟨d_{2}⟩ = (z_{1} +Neg2(z_{2}))^{}⟨d_{1} ⊕¬d_{2} ⊕ add ovfl(¬z_{2}, Bin1(n)) ⊕ add ovfl(z_{1}, Neg2(z_{2}))⟩.

(21) Given n, and let z_{1}, z_{2} be tuples of n and Boolean, and let d_{1}, d_{2} be elements of Boolean. Then ((Intval(z_{1} ^{}⟨d_{1}⟩ − z_{2} ^{}⟨d_{2}⟩) + (Int add ovfl(z_{1} ^{}⟨d_{1}⟩, Neg2(z_{2} ^{}⟨d_{2}⟩)) = false → 0, the n + 1-th power of 2)) −(Int add udfl(z_{1} ^{}⟨d_{1}⟩, Neg2(z_{2} ^{}⟨d_{2}⟩)) = false → 0, the n + 1-th power of 2)) +(Int add ovfl(¬(z_{2} ^{}⟨d_{2}⟩), Bin1(n + 1)) = false → 0, the n + 1-th power of 2) = Intval(z_{1} ^{}⟨d_{1}⟩) − Intval(z_{2} ^{}⟨d_{2}⟩).

References

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

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

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

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

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

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

[7] Konrad Raczkowski and Andrzej Ne‘dzusiak. Serieses. Formalized Mathematics, 2(4):449–452, 1991.

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

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

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

[11] Edmund Woronowicz. Many–argument relations. Formalized Mathematics, 1(4):733– 737, 1990.

Received March 18, 1994 30

Boolean Properties of Lattices

Agnieszka Julia Marasik Warsaw University Białystok

MML Identifier: BOOLEALG.

The article [1] provides the terminology and notation for this paper.

1. General lattice

We follow the rules: L will be a lattice and X, Y, Z, V will be elements of the carrier of L.

Let us consider L, X, Y. The functor X \Y yielding an element of the carrier of L is defined by: (Def.1) X \ Y = X ⊓ Y^{c}.

Let us consider L, X, Y. The functor X− . Y yields an element of the carrier of L and is defined by: (Def.2) X− . Y = (X \ Y) ⊔ (Y \ X).

Let us consider L, X, Y. Let us observe that X = Y if and only if: (Def.3) X ⊑ Y and Y ⊑ X.

Let us consider L, X, Y. We say that X meets Y if and only if: (Def.4) X ⊓ Y ≠ ⊥_{L}. We introduce X misses Y as an antonym of X meets Y.

We now state a number of propositions:

(1) X ⊑ X ⊔ Y and Y ⊑ X ⊔ Y. (3)^{1} If X ⊔ Y ⊑ Z, then X ⊑ Z and Y ⊑ Z.

(4) X ⊓ Y ⊑ X ⊔ Z.

(5) If X ⊑ Y, then X ⊓ Z ⊑ Y ⊓ Z and Z ⊓ X ⊑ Z ⊓ Y.

(6) If X ⊑ Z, then X \ Y ⊑ Z.

1The proposition (2) has been removed.

(7) If X ⊑ Y, then X \ Z ⊑ Y \ Z.

(8) X \ Y ⊑ X.

(9) X \ Y ⊑ X− . Y.

(10) If X \ Y ⊑ Z and Y \ X ⊑ Z, then X− . Y ⊑ Z.

(11) X = Y ⊔ Z iff Y ⊑ X and Z ⊑ X and for every V such that Y ⊑ V and Z ⊑ V holds X ⊑ V.

(12) X = Y ⊓ Z iff X ⊑ Y and X ⊑ Z and for every V such that V ⊑ Y and V ⊑ Z holds V ⊑ X.

(13) If X ⊔ Y = Y or Y ⊔ X = Y, then X ⊑ Y.

(14) X ⊓ (Y \ Z) = X ⊓ Y \ Z.

(15) If X meets Y, then Y meets X.

(16) X meets X iff X ≠ ⊥_{L}.

(17) X− . Y = Y − . X.

2. Modular lattice

In the sequel L will denote a modular lattice and X, Y will denote elements of the carrier of L.

The following three propositions are true:

(18) If Y ⊑ X and X ⊓ Y = ⊥_{L}, then Y = ⊥_{L}. (20)^{2} If X ⊑ Y, then X ⊔ Y = Y and Y ⊔ X = Y.

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

3. Distributive lattice

In the sequel L will denote a distributive lattice and X, Y, Z will denote elements of the carrier of L.

Next we state three propositions:

(22) If X ⊓ Y ⊔ X ⊓ Z = X, then X ⊑ Y ⊔ Z.

(23) X ⊓ Y ⊔ Y ⊓ Z ⊔ Z ⊓ X = (X ⊔ Y) ⊓ (Y ⊔ Z) ⊓ (Z ⊔ X).

(24) (X ⊔ Y) \ Z = (X \ Z) ⊔ (Y \ Z).

2The proposition (19) has been removed.

4. Distributive lower bounded lattice

In the sequel L will denote a lower bound lattice and X, Y, Z will denote elements of the carrier of L.

The following propositions are true:

(25) If X ⊑ ⊥_{L}, then X = ⊥_{L}.

(26) If X ⊑ Y and X ⊑ Z and Y ⊓ Z = ⊥_{L}, then X = ⊥_{L}.

(27) X ⊔ Y = ⊥_{L} iff X = ⊥_{L} and Y = ⊥_{L}.

(28) If X ⊑ Y and Y ⊓ Z = ⊥_{L}, then X ⊓ Z = ⊥_{L}.

(29) ⊥_{L} \ X = ⊥_{L}.

(30) If X meets Y and Y ⊑ Z, then X meets Z.

(31) If X meets Y ⊓ Z, then X meets Y and X meets Z.

(32) If X meets Y \ Z, then X meets Y.

(33) X misses ⊥_{L}.

(34) If X misses Z and Y ⊑ Z, then X misses Y.

(35) If X misses Y or X misses Z, then X misses Y ⊓ Z.

(36) If X ⊑ Y and X ⊑ Z and Y misses Z, then X = ⊥_{L}.

(37) If X misses Y, then Z ⊓ X misses Z ⊓ Y and X ⊓ Z misses Y ⊓ Z.

5. Boolean lattice

We follow a convention: L will be a Boolean lattice and X, Y, Z, V will be elements of the carrier of L.

Next we state a number of propositions:

(38) If X \ Y ⊑ Z, then X ⊑ Y ⊔ Z.

(39) If X ⊑ Y, then Z \ Y ⊑ Z \ X.

(40) If X ⊑ Y and Z ⊑ V, then X \ V ⊑ Y \ Z.

(41) If X ⊑ Y ⊔ Z, then X \ Y ⊑ Z and X \ Z ⊑ Y.

(42) X^{c} ⊑ (X ⊓ Y)^{c} and Y^{c} ⊑ (X ⊓ Y)^{c}.

(43) (X ⊔ Y)^{c} ⊑ X^{c} and (X ⊔ Y)^{c} ⊑ Y^{c}.

(44) If X ⊑ Y \ X, then X = ⊥_{L}.

(45) If X ⊑ Y, then Y = X ⊔ (Y \ X) and Y = (Y \ X) ⊔ X.

(46) X \ Y = ⊥_{L} iff X ⊑ Y.

(47) If X ⊑ Y ⊔ Z and X ⊓ Z = ⊥_{L}, then X ⊑ Y.

(48) X ⊔ Y = (X \ Y) ⊔ Y.

(49) X \ (X ⊔ Y) = ⊥_{L} and X \ (Y ⊔ X) = ⊥_{L}.

(50) X \ X ⊓ Y = X \ Y and X \ Y ⊓ X = X \ Y.

(51) (X \ Y) ⊓ Y = ⊥_{L} and Y ⊓ (X \ Y) = ⊥_{L}.

(52) X ⊔ (Y \ X) = X ⊔ Y and (Y \ X) ⊔ X = Y ⊔ X.

(53) X ⊓ Y ⊔ (X \ Y) = X and (X \ Y) ⊔ X ⊓ Y = X.

(54) X \ (Y \ Z) = (X \ Y) ⊔ X ⊓ Z.

(55) X \ (X \ Y) = X ⊓ Y.

(56) (X ⊔ Y) \ Y = X \ Y.

(57) X ⊓ Y = ⊥_{L} iff X \ Y = X.

(58) X \ (Y ⊔ Z) = (X \ Y) ⊓ (X \ Z).

(59) X \ Y ⊓ Z = (X \ Y) ⊔ (X \ Z).

(60) X ⊓ (Y \ Z) = X ⊓ Y \ X ⊓ Z and (Y \ Z) ⊓ X = Y ⊓ X \ Z ⊓ X.

(61) (X ⊔ Y) \ X ⊓ Y = (X \ Y) ⊔ (Y \ X).

(62) X \ Y \ Z = X \ (Y ⊔ Z).

(63) If X \ Y = Y \ X, then X = Y.

(64) (⊥_{L})^{c} = ⊤_{L}.

(65) (⊤_{L})^{c} = ⊥_{L}.

(66) X \ X = ⊥_{L}.

(67) X \ ⊥_{L} = X.

(68) (X \ Y)^{c} = X^{c} ⊔ Y.

(69) X meets Y ⊔ Z iff X meets Y or X meets Z.

(70) X ⊓ Y misses X \ Y.

(71) X misses Y ⊔ Z iff X misses Y and X misses Z.

(72) X \ Y misses Y.

(73) If X misses Y, then (X ⊔ Y) \ Y = X and (X ⊔ Y) \ X = Y.

(74) If X^{c} ⊔ Y^{c} = X ⊔ Y and X misses X^{c} and Y misses Y^{c}, then X = Y^{c} and Y = X^{c}.

(75) If X^{c} ⊔ Y^{c} = X ⊔ Y and Y misses X^{c} and X misses Y^{c}, then X = X^{c} and Y = Y^{c}.

(76) X− . ⊥_{L} = X and ⊥_{L}− . X = X.

(77) X− . X = ⊥_{L}.

(78) X ⊓ Y misses X− . Y.

(79) X ⊔ Y = X− . (Y \ X).

(80) X− . X ⊓ Y = X \ Y.

(81) X ⊔ Y = (X− . Y) ⊔ X ⊓ Y.

(82) X− . Y − . X ⊓ Y = X ⊔ Y.

(83) X− . Y − . (X ⊔ Y) = X ⊓ Y.

(84) X− . Y = (X ⊔ Y) \ X ⊓ Y.

(85) (X− . Y) \ Z = (X \ (Y ⊔ Z)) ⊔ (Y \ (X ⊔ Z)).

(86) X \ (Y − . Z) = (X \ (Y ⊔ Z)) ⊔ X ⊓ Y ⊓ Z.

(87) (X− . Y)− . Z = X− . (Y − . Z).

(88) (X− . Y)^{c} = X ⊓ Y ⊔ X^{c} ⊓ Y^{c}. boolean properties of lattices 35

References

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

222, 1990.

Received March 28, 1994 36

Many Sorted Algebras

Andrzej Trybulec Warsaw University Białystok

Summary. The basic purpose of the paper is to prepare preliminaries of the theory of many sorted algebras. The concept of the signature of a many sorted algebra is introduced as well as the concept of many sorted algebra itself. Some auxiliary related notions are defined. The correspondence between (1 sorted) universal algebras [9] and many sorted algebras with one sort only is described by introducing two functors mapping one into the other. The construction is done this way that the composition of both functors is the identity on universal algebras.

MML Identifier: MSUALG 1.

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

1. Preliminaries

In this paper i, j are arbitrary and I is a set.

Next we state the proposition

(1) It is not true that there exists a non-empty many sorted set M of I such that ∅ ∈ rng M.

In this article we present several logical schemes. The scheme MSSEx deals with a set A and a binary predicate P, and states that:

There exists a many sorted set f of A such that for every i such that i ∈ A holds P[i, f(i)]

provided the following condition is met:

• For every i such that i ∈ A there exists j such that P[i, j].

The scheme MSSLambda concerns a set A and a unary functor F yielding arbitrary, and states that:

There exists a many sorted set f of A such that for every i such that i ∈ A holds f(i) = F(i)

for all values of the parameters.

Let I be a set and let M be a many sorted set of I. A component of M is an element of rng M.

Next we state two propositions:

(2) Let I be a non empty set, and let M be a many sorted set of I, and let A be a component of M. Then there exists i such that i ∈ I and A = M(i).

(3) For every many sorted set M of I and for every i such that i ∈ I holds M(i) is a component of M.

Let us consider I and let B be a many sorted set of I. A many sorted set of I is said to be an element of B if: (Def.1) For every i such that i ∈ I holds it(i) is an element of B(i).

2. Auxiliary functors

Let us consider I, let A be a many sorted set of I, and let B be a many sorted set of I. A many sorted set of I is called a many sorted function from A into B if: (Def.2) For every i such that i ∈ I holds it(i) is a function from A(i) into B(i).

Let us consider I, let A be a many sorted set of I, and let B be a many sorted set of I. Note that every many sorted function from A into B is function yielding.

Let I be a set and let M be a many sorted set of I. The functor M^{#} yielding a many sorted set of I^{∗} is defined by: (Def.3) For every element i of I^{∗} holds M^{#}(i) = ∏(M · i).

Let I be a set and let M be a non-empty many sorted set of I. Note that M^{#} is non-empty.

Let us consider I, let J be a non empty set, let O be a function from I into J, and let F be a many sorted set of J. Then F · O is a many sorted set of I.

Let us consider I, let J be a non empty set, let O be a function from I into J, and let F be a non-empty many sorted set of J. Then F · O is a non-empty many sorted set of I.

Let a be arbitrary. The functor ⟼ a yields a function from into {a}^{∗} and is defined as follows: (Def.4) For every natural number n holds ( ⟼ a)(n) = n ↦ a.

In the sequel D denotes a non empty set and n denotes a natural number. The following propositions are true:

(4) For arbitrary a, b holds ({a} ⟼ b) · (n ↦ a) = n ↦ b.

(5) For arbitrary a and for every many sorted set M of {a} such that M = {a} ⟼ D holds (M^{#} · ( ⟼ a))(n) = D^{Seg n}.

Let us consider I, i. Then I ⟼ i is a function from I into {i}.

Let C be a set, let A, B be non empty sets, let F be a partial function from C to A, and let G be a function from A into B. Then G · F is a function from dom F into B.

3. Many sorted signatures

We introduce many sorted signatures which are extensions of 1-sorted structure and are systems

⟨ a carrier, operation symbols, an arity, a result sort ⟩, where the carrier is a set, the operation symbols constitute a set, the arity is a function from the operation symbols into the carrier^{∗}, and the result sort is a function from the operation symbols into the carrier.

A many sorted signature is void if: (Def.5) The operation symbols of it = ∅.

One can verify that there exists a many sorted signature which is void strict and non empty and there exists a many sorted signature which is non void strict and non empty.

In the sequel S is a non empty many sorted signature.

Let us consider S. A sort symbol of S is an element of the carrier of S. An operation symbol of S is an element of the operation symbols of S.

Let S be a non void non empty many sorted signature and let o be an operation symbol of S. The functor Arity(o) yields an element of (the carrier of S)^{∗} and is defined as follows: (Def.6) Arity(o) = (the arity of S)(o). The result sort of o yielding an element of the carrier of S is defined by: (Def.7) The result sort of o = (the result sort of S)(o).

4. Many sorted algebras

Let S be a 1-sorted structure. We consider many-sorted structures over S as systems

⟨ sorts ⟩, where the sorts constitute a many sorted set of the carrier of S.

Let us consider S. We consider algebras over S as extensions of many-sorted structure over S as systems

⟨ sorts, a characteristics ⟩, where the sorts constitute a many sorted set of the carrier of S and the characteristics is a many sorted function from the sorts^{#} · (the arity of S) into (the sorts) ·(the result sort of S).

Let us consider S and let A be an algebra over S. We say that A is non-empty if and only if:

(Def.8) The sorts of A is non-empty.

Let us consider S. Observe that there exists an algebra over S which is strict and non-empty.

Let us consider S and let A be a non-empty algebra over S. One can verify that the sorts of A is non-empty.

Let us consider S and let A be a non-empty algebra over S. One can check that every component of the sorts of A is non empty and every component of the sorts of A ^{#} is non empty.

Let S be a non void non empty many sorted signature, let o be an operation symbol of S, and let A be an algebra over S. The functor Args(o, A) yielding a component of (the sorts of A)^{#} is defined by: (Def.9) Args(o, A) = ((the sorts of A)^{#} · (the arity of S))(o). The functor Result(o, A) yields a component of the sorts of A and is defined as follows:

(Def.10) Result(o, A) = ((the sorts of A) · (the result sort of S))(o).

Let S be a non void non empty many sorted signature, let o be an operation symbol of S, and let A be an algebra over S. The functor Den(o, A) yielding a function from Args(o, A) into Result(o, A) is defined as follows:

(Def.11) Den(o, A) = (the characteristics of A)(o).

The following proposition is true

(6) Let S be a non void non empty many sorted signature, and let o be an operation symbol of S, and let A be a non-empty algebra over S. Then Den(o, A) is non empty.

5. Universal algebras as many sorted

We now state two propositions:

(8)^{1} For every homogeneous quasi total non empty partial function h from

D^{∗} to D holds dom h = D^{Seg arity h}.

(9) For every universal algebra A holds signature A is non empty.

6. Universal algebras for many sorted algebras with one sort

Let A be a universal algebra. Then signature A is a finite sequence of elements of .

A many sorted signature is segmental if: (Def.12) There exists n such that the operation symbols of it = Seg n.

The following proposition is true (10) Let S be a non empty many sorted signature. Suppose S is trivial. Let

1The proposition (7) has been removed.

A be an algebra over S and let c_{1}, c_{2} be components of the sorts of A. Then c_{1} = c_{2}.

Let us mention that there exists a many sorted signature which is segmental trivial non void strict and non empty.

Let A be a universal algebra. The functor MSSign(A) yields a non void strict segmental trivial many sorted signature and is defined by:

(Def.13) MSSign(A) = ⟨{0}, dom signature A, ( ⟼ 0) · signature A,

dom signature A ⟼ 0⟩. Let A be a universal algebra. One can check that MSSign(A) is non empty. Let A be a universal algebra. The functor MSSorts(A) yields a non-empty

many sorted set of the carrier of MSSign(A) and is defined as follows: (Def.14) MSSorts(A) = {0} ⟼ the carrier of A.

Let A be a universal algebra. The functor MSCharact(A) yields a many sorted function from (MSSorts(A))^{#}·(the arity of MSSign(A)) into MSSorts(A)· (the result sort of MSSign(A)) and is defined by:

(Def.15) MSCharact(A) = the characteristic of A.

Let A be a universal algebra. The functor MSAlg(A) yielding a strict algebra over MSSign(A) is defined by:

(Def.16) MSAlg(A) = ⟨MSSorts(A), MSCharact(A)⟩.

Let A be a universal algebra. Note that MSAlg(A) is non-empty. Let M_{1} be a trivial non empty many sorted signature and let A be an algebra

over M_{1}. The sort of A yielding a set is defined as follows: (Def.17) There exists a component c of the sorts of A such that the sort of A = c.

Let M_{1} be a trivial non empty many sorted signature and let A be a nonempty algebra over M_{1}. Observe that the sort of A is non empty.

We now state four propositions:

(11) Let M_{1} be a segmental trivial non void non empty many sorted signature, and let i be an operation symbol of M_{1}, and let A be a non-empty algebra over M_{1}. Then Args(i, A) = (the sort of A)^{len Arity(i)}.

(12) For every non empty set A and for every n holds A^{n} ⊆ A^{∗}.

(13) Let M_{1} be a segmental trivial non void non empty many sorted signature, and let i be an operation symbol of M_{1}, and let A be a non-empty algebra over M_{1}. Then Args(i, A) ⊆ (the sort of A)^{∗}.

(14) Let M_{1} be a segmental trivial non void non empty many sorted signature and let A be a non-empty algebra over M_{1}. Then the characteristics of A is a finite sequence of elements of (the sort of A)^{∗} ˙→the sort of A.

Let M_{1} be a segmental trivial non void non empty many sorted signature and let A be a non-empty algebra over M_{1}. The functor charact(A) yielding a finite sequence of operational functions of the sort of A is defined by:

(Def.18) charact(A) = the characteristics of A.

42 andrzej trybulec

In the sequel M_{1} will denote a segmental trivial non void non empty many sorted signature and A will denote a non-empty algebra over M_{1}.

Let us consider M_{1}, A. The functor Alg_{1}(A) yields a non-empty strict universal algebra and is defined as follows:

(Def.19) Alg_{1}(A) = ⟨the sort of A, charact(A)⟩. We now state the proposition

(15) For every strict universal algebra A holds A = Alg_{1}(MSAlg(A)).

Acknowledgments

I would like to express my gratitude to Czesław Byliński, whose remarks enabled me to enhance the paper.

References

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

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

[3] Józef Białas. Group and field definitions. Formalized Mathematics, 1(3):433–439, 1990.

[4] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 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. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

[8] Zbigniew Karno. Maximal discrete subspaces of almost discrete topological spaces. Formalized Mathematics, 4(1):125–135, 1993.

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

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

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

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

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

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

On the Group of Inner Automorphisms

Artur Korniłowicz Warsaw University Białystok

MML Identifier: AUTGROUP.

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

For simplicity we adopt the following rules: G denotes a strict group, H denotes a subgroup of G, a, b, x denote elements of G, and h denotes a homomorphism from G to G.

One can prove the following proposition

(1) For all a, b such that b is an element of H holds b^{a} ∈ H iff H is normal. Let us consider G. One can verify that Z(G) is normal. Let us consider G. The functor Aut(G) yields a non empty set of functions

from the carrier of G to the carrier of G and is defined as follows: (Def.1) Every element of Aut(G) is a homomorphism from G to G and for every

h holds h ∈ Aut(G) iff h is one-to-one and an epimorphism. We now state several propositions:

(2) For every h holds h ∈ Aut(G) iff h is one-to-one and an epimorphism.

(3) Aut(G) ⊆ (the carrier of G)^{the carrier of G}.

(4) id_{(the carrier of G)} is an element of Aut(G).

(5) For every h holds h ∈ Aut(G) iff h is an isomorphism.

(6) For every element f of Aut(G) holds f^{−1} is a homomorphism from G to G.

(7) For every element f of Aut(G) holds f^{−1} is an element of Aut(G).

(8) For all elements f_{1}, f_{2} of Aut(G) holds f_{1} · f_{2} is an element of Aut(G). Let us consider G. The functor AutComp(G) yielding a binary operation on

Aut(G) is defined as follows: (Def.2) For all elements x, y of Aut(G) holds (AutComp(G))(x, y) = x · y.

Let us consider G. The functor AutGroup(G) yields a strict group and is defined by:

(Def.3) AutGroup(G) = ⟨Aut(G), AutComp(G)⟩.

The following three propositions are true:

(9) For all elements x, y of AutGroup(G) and for all elements f, g of Aut(G) such that x = f and y = g holds x · y = f · g.

(10) id_{(the carrier of G)} = 1_{AutGroup(G)}.

(11) For every element f of Aut(G) and for every element g of AutGroup(G)

such that f = g holds f^{−1} = g^{−1}. Let us consider G. The functor InnAut(G) yields a non empty set of functions

from the carrier of G to the carrier of G and is defined by the condition (Def.4). (Def.4) Let f be an element of (the carrier of G)^{the carrier of G}. Then f ∈

InnAut(G) if and only if there exists a such that for every x holds f(x) = x^{a}.

Next we state several propositions:

(12) InnAut(G) ⊆ (the carrier of G)^{the carrier of G}.

(13) Every element of InnAut(G) is an element of Aut(G).

(14) InnAut(G) ⊆ Aut(G).

(15) For all elements f, g of InnAut(G) holds (AutComp(G))(f, g) = f · g.

(16) id_{(the carrier of G)} is an element of InnAut(G).

(17) For every element f of InnAut(G) holds f^{−1} is an element of InnAut(G).

(18) For all elements f, g of InnAut(G) holds f ·g is an element of InnAut(G). Let us consider G. The functor InnAutGroup(G) yields a normal strict

subgroup of AutGroup(G) and is defined by: (Def.5) The carrier of InnAutGroup(G) = InnAut(G).

Next we state three propositions: (20)^{1} For all elements x, y of InnAutGroup(G) and for all elements f, g of

InnAut(G) such that x = f and y = g holds x · y = f · g.

(21) id_{(the carrier of G)} = 1_{InnAutGroup(G)}.

(22) For every element f of InnAut(G) and for every element g of

InnAutGroup(G) such that f = g holds f^{−1} = g^{−1}. Let us consider G, b. The functor Conjugate(b) yields an element of

InnAut(G) and is defined by: (Def.6) For every a holds (Conjugate(b))(a) = a^{b}.

The following propositions are true:

(23) For all a, b holds Conjugate(a · b) = Conjugate(b) · Conjugate(a).

(24) Conjugate(1_{G}) = id_{(the carrier of G)}.

(25) For every a holds (Conjugate(1_{G}))(a) = a.

(26) For every a holds Conjugate(a) · Conjugate(a^{−1}) = Conjugate(1_{G}).

(27) For every a holds Conjugate(a^{−1}) · Conjugate(a) = Conjugate(1_{G}).

(28) For every a holds Conjugate(a^{−1}) = (Conjugate(a))^{−1}.

1The proposition (19) has been removed.

on the group of inner automorphisms 45

(29) For every a holds Conjugate(a) · Conjugate(1_{G}) = Conjugate(a) and Conjugate(1_{G}) · Conjugate(a) = Conjugate(a).

(30) For every element f of InnAut(G) holds f · Conjugate(1_{G}) = f and Conjugate(1_{G}) · f = f.

(31) For every G holds InnAutGroup(G) and ^{G}/_{Z(G)} are isomorphic.

(32) For every G such that G is a commutative group and for every element f of InnAutGroup(G) holds f = 1_{InnAutGroup(G)}.

References

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

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

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

[4] Eugeniusz Kusak, Wojciech Leończuk, and Michał Muzalewski. Abelian groups, fields and vector spaces. Formalized Mathematics, 1(2):335–342, 1990.

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

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

[7] Wojciech A. Trybulec. Classes of conjugation. Normal subgroups. Formalized Mathematics, 1(5):955–962, 1990.

[8] Wojciech A. Trybulec. Commutator and center of a group. Formalized Mathematics, 2(4):461–466, 1991.

[9] Wojciech A. Trybulec. Groups. Formalized Mathematics, 1(5):821–827, 1990.

[10] Wojciech A. Trybulec. Subgroup and cosets of subgroups. Formalized Mathematics, 1(5):855–864, 1990.

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

[12] Wojciech A. Trybulec and Michał J. Trybulec. Homomorphisms and isomorphisms of groups. Quotient group. Formalized Mathematics, 2(4):573–578, 1991.

46

Subalgebras of Many Sorted Algebra. Lattice of Subalgebras

Ewa Burakowska Warsaw University Białystok

MML Identifier: MSUALG 2.

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

1. Auxilary Facts about Many Sorted Sets

In this paper x will be arbitrary.

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

There exists a function f such that dom f = A and for every element d of A holds f(d) = F(d)

for all values of the parameters.

Let I be a set, let X be a many sorted set of I, and let Y be a non-empty many sorted set of I. Observe that X ∪Y is non-empty and Y ∪X is non-empty.

Next we state two propositions:

(1) Let I be a set, and let X be a many sorted set of I, and let Y be a non-empty many sorted set of I. Then X ∪ Y is non-empty and Y ∪ X is non-empty.

(2) For every non empty set I and for all many sorted sets X, Y of I and for every element i of I^{∗} holds ∏((X ∩ Y) · i) = ∏(X · i) ∩ ∏(Y · i).

Let I be a set and let M be a many sorted set of I. A many sorted set of I is said to be a many sorted subset of M if: (Def.1) It ⊆ M.

Let I be a set and let M be a non-empty many sorted set of I. Observe that there exists a many sorted subset of M which is non-empty.

2. Constants of a Many Sorted Algebra

We follow the rules: S will denote a non void non empty many sorted signature, o will denote an operation symbol of S, and U_{0}, U_{1}, U_{2} will denote algebras over S.

Let S be a non empty many sorted signature and let U_{0} be an algebra over S. A subset of U_{0} is a many sorted subset of the sorts of U_{0}.

Let S be a non empty many sorted signature. A sort symbol of S has constants if: (Def.2) There exists an operation symbol o of S such that (the arity of S)(o) = ε

and (the result sort of S)(o) = it. A non empty many sorted signature has constant operations if:

(Def.3) Every sort symbol of it has constants.

Let A be a non empty set, let B be a set, let a be a function from B into A^{∗}, and let r be a function from B into A. Note that ⟨A, B, a, r⟩ is non empty.

Let us observe that there exists a non empty many sorted signature which is non void and strict and has constant operations.

Let S be a non void non empty many sorted signature, let U_{0} be an algebra over S, and let s be a sort symbol of S. The functor Constants(U_{0}, s) yielding a subset of (the sorts of U_{0})(s) is defined by: (Def.4) (i) There exists a non empty set A such that A = (the sorts of U_{0})(s)

and Constants(U_{0}, s) = {a : a ranges over elements of A, ⋁_{o} (the arity of S)(o) = ε ∧ (the result sort of S)(o) = s ∧ a ∈ rng Den(o, U_{0})} if (the sorts of U_{0})(s) ≠ ∅,

(ii) Constants(U_{0}, s) = ∅, otherwise.

Let S be a non void non empty many sorted signature and let U_{0} be an algebra over S. The functor Constants(U_{0}) yielding a subset of U_{0} is defined as follows: (Def.5) For every sort symbol s of S holds (Constants(U_{0}))(s) =

Constants(U_{0}, s). Let S be a non void non empty many sorted signature with constant oper-

ations, let U_{0} be a non-empty algebra over S, and let s be a sort symbol of S. One can verify that Constants(U_{0}, s) is non empty.

Let S be a non void non empty many sorted signature with constant operations and let U_{0} be a non-empty algebra over S. One can verify that Constants(U_{0}) is non-empty.

3. Subalgebras of a Many Sorted Algebra

Let S be a non void non empty many sorted signature, let U_{0} be an algebra over S, let o be an operation symbol of S, and let A be a subset of U_{0}. We say that A is closed on o if and only if:

(Def.6) rng(Den(o, U_{0}) (A^{#} · (the arity of S))(o)) ⊆ (A · (the result sort of

S))(o). Let S be a non void non empty many sorted signature, let U_{0} be an algebra

over S, and let A be a subset of U_{0}. We say that A is operations closed if and only if: (Def.7) For every operation symbol o of S holds A is closed on o.

One can prove the following proposition

(3) Let S be a non void non empty many sorted signature, and let o be an operation symbol of S, and let U_{0} be an algebra over S, and let B_{0}, B_{1} be subsets of U_{0}. If B_{0} ⊆ B_{1}, then (B_{0}^{#} · (the arity of S))(o) ⊆ (B_{1}^{#} · (the arity of S))(o).

Let S be a non void non empty many sorted signature, let U_{0} be an algebra over S, let o be an operation symbol of S, and let A be a subset of U_{0}. Let us assume that A is closed on o. The functor o_{A} yielding a function from (A^{#} ·(the arity of S))(o) into (A · (the result sort of S))(o) is defined as follows: (Def.8) o_{A} = Den(o, U_{0}) (A^{#} · (the arity of S))(o).

Let S be a non void non empty many sorted signature, let U_{0} be an algebra over S, and let A be a subset of U_{0}. The functor Opers(U_{0}, A) yielding a many sorted function from A^{#} · (the arity of S) into A · (the result sort of S) is defined by: (Def.9) For every operation symbol o of S holds (Opers(U_{0}, A))(o) = o_{A}.

Next we state two propositions:

(4) Let U_{0} be an algebra over S and let B be a subset of U_{0}. Suppose B = the sorts of U_{0}. Then B is operations closed and for every o holds o_{B} = Den(o, U_{0}).

(5) For every subset B of U_{0} such that B = the sorts of U_{0} holds Opers(U_{0}, B) = the characteristics of U_{0}.

Let S be a non void non empty many sorted signature and let U_{0} be an algebra over S. An algebra over S is called a subalgebra of U_{0} if it satisfies the conditions (Def.10).

(Def.10) (i) The sorts of it is a subset of U_{0}, and

(ii) for every subset B of U_{0} such that B = the sorts of it holds B is

operations closed and the characteristics of it = Opers(U_{0}, B). Let S be a non void non empty many sorted signature and let U_{0} be an

algebra over S. One can check that there exists a subalgebra of U_{0} which is strict.

Let S be a non void non empty many sorted signature and let U_{0} be a nonempty algebra over S. Observe that there exists a subalgebra of U_{0} which is non-empty and strict.

One can prove the following propositions:

(6) U_{0} is a subalgebra of U_{0}.

(7) If U_{0} is a subalgebra of U_{1} and U_{1} is a subalgebra of U_{2}, then U_{0} is a subalgebra of U_{2}.

(8) If U_{1} is a strict subalgebra of U_{2} and U_{2} is a strict subalgebra of U_{1}, then U_{1} = U_{2}.

(9) For all subalgebras U_{1}, U_{2} of U_{0} such that the sorts of U_{1} ⊆ the sorts of U_{2} holds U_{1} is a subalgebra of U_{2}.

(10) For all strict subalgebras U_{1}, U_{2} of U_{0} such that the sorts of U_{1} = the sorts of U_{2} holds U_{1} = U_{2}.

(11) Let S be a non void non empty many sorted signature, and let U_{0} be an algebra over S, and let U_{1} be a subalgebra of U_{0}. Then Constants(U_{0}) is a subset of U_{1}.

(12) Let S be a non void non empty many sorted signature with constant operations, and let U_{0} be a non-empty algebra over S, and let U_{1} be a non-empty subalgebra of U_{0}. Then Constants(U_{0}) is a non-empty subset of U_{1}.

(13) Let S be a non void non empty many sorted signature with constant operations, and let U_{0} be a non-empty algebra over S, and let U_{1}, U_{2} be non-empty subalgebras of U_{0}. Then (the sorts of U_{1}) ∩ (the sorts of U_{2}) is non-empty.

4. Many Sorted Subsets of Many Sorted Algebra

Let S be a non void non empty many sorted signature, let U_{0} be an algebra over S, and let A be a subset of U_{0}. The functor SubSorts(A) yielding a non empty set is defined by the condition (Def.11).

(Def.11) Let x be arbitrary. Then x ∈ SubSorts(A) if and only if the following

conditions are satisfied:

(i) x ∈ (2^{⋃ (the sorts of U_{0})})^{the carrier of S}, (ii) x is a subset of U_{0}, and (iii) for every subset B of U_{0} such that B = x holds B is operations closed

and Constants(U_{0}) ⊆ B and A ⊆ B. Let S be a non void non empty many sorted signature and let U_{0} be an

algebra over S. The functor SubSorts(U_{0}) yields a non empty set and is defined by the condition (Def.12).

(Def.12) Let x be arbitrary. Then x ∈ SubSorts(U_{0}) if and only if the following

conditions are satisfied:

(i) x ∈ (2^{⋃ (the sorts of U_{0})})^{the carrier of S}, (ii) x is a subset of U_{0}, and (iii) for every subset B of U_{0} such that B = x holds B is operations closed. Let S be a non void non empty many sorted signature, let U_{0} be an algebra

over S, and let e be an element of SubSorts(U_{0}). The functor ^{@}e yielding a subset of U_{0} is defined as follows:

(Def.13) ^{@}e = e.

Next we state two propositions:

(14) For all subsets A, B of U_{0} holds B ∈ SubSorts(A) iff B is operations closed and Constants(U_{0}) ⊆ B and A ⊆ B.

(15) For every subset B of U_{0} holds B ∈ SubSorts(U_{0}) iff B is operations

closed. Let S be a non void non empty many sorted signature, let U_{0} be an algebra

over S, let A be a subset of U_{0}, and let s be a sort symbol of S. The functor SubSort(A, s) yields a non empty set and is defined as follows:

(Def.14) For arbitrary x holds x ∈ SubSort(A, s) iff there exists a subset B of

U_{0} such that B ∈ SubSorts(A) and x = B(s). Let S be a non void non empty many sorted signature, let U_{0} be an algebra

over S, and let A be a subset of U_{0}. The functor MSSubSort(A) yields a subset of U_{0} and is defined as follows:

(Def.15) For every sort symbol s of S holds (MSSubSort(A))(s) =

⋂ SubSort(A, s). We now state several propositions:

(16) For every subset A of U_{0} holds Constants(U_{0}) ∪ A ⊆ MSSubSort(A).

(17) For every subset A of U_{0} such that Constants(U_{0}) ∪ A is non-empty holds MSSubSort(A) is non-empty.

(18) Let A be a subset of U_{0} and let B be a subset of U_{0}. If B ∈ SubSorts(A), then ((MSSubSort(A))^{#} · (the arity of S))(o) ⊆ (B^{#} · (the arity of S))(o).

(19) Let A be a subset of U_{0} and let B be a subset of U_{0}. Suppose B ∈ SubSorts(A). Then rng(Den(o, U_{0}) ((MSSubSort(A))^{#} · (the arity of S))(o)) ⊆ (B · (the result sort of S))(o).

(20) For every subset A of U_{0} holds rng(Den(o, U_{0}) ((MSSubSort(A))^{#}·(the arity of S))(o)) ⊆ (MSSubSort(A) · (the result sort of S))(o).

(21) For every subset A of U_{0} holds MSSubSort(A) is operations closed and A ⊆ MSSubSort(A).

5. Operations on Many Sorted Algebra and its Subalgebras

Let S be a non void non empty many sorted signature, let U_{0} be an algebra over S, and let A be a subset of U_{0}. Let us assume that A is operations closed. The functor U_{0} A yields a strict subalgebra of U_{0} and is defined as follows:

(Def.16) U_{0} A = ⟨A, (Opers(U_{0}, A) qua many sorted function from A^{#} · (the

arity of S) into A · (the result sort of S))⟩. Let S be a non void non empty many sorted signature, let U_{0} be an algebra

over S, and let U_{1}, U_{2} be subalgebras of U_{0}. The functor U_{1} ∩ U_{2} yielding a strict subalgebra of U_{0} is defined by the conditions (Def.17).

(Def.17) (i) The sorts of U_{1} ∩ U_{2} = (the sorts of U_{1}) ∩ (the sorts of U_{2}), and

(ii) for every subset B of U_{0} such that B = the sorts of U_{1} ∩ U_{2} holds B is

operations closed and the characteristics of U_{1} ∩ U_{2} = Opers(U_{0}, B). Let S be a non void non empty many sorted signature, let U_{0} be an alge-

bra over S, and let A be a subset of U_{0}. The functor Gen(A) yields a strict subalgebra of U_{0} and is defined by the conditions (Def.18).

(Def.18) (i) A is a subset of Gen(A), and

(ii) for every subalgebra U_{1} of U_{0} such that A is a subset of U_{1} holds

Gen(A) is a subalgebra of U_{1}. Let S be a non void non empty many sorted signature, let U_{0} be a non-empty

algebra over S, and let A be a non-empty subset of U_{0}. Observe that Gen(A) is non-empty.

We now state three propositions:

(22) Let S be a non void non empty many sorted signature, and let U_{0} be a strict algebra over S, and let B be a subset of U_{0}. If B = the sorts of U_{0}, then Gen(B) = U_{0}.

(23) Let S be a non void non empty many sorted signature, and let U_{0} be an algebra over S, and let U_{1} be a strict subalgebra of U_{0}, and let B be a subset of U_{0}. If B = the sorts of U_{1}, then Gen(B) = U_{1}.

(24) Let S be a non void non empty many sorted signature with constant operations, and let U_{0} be a non-empty algebra over S, and let U_{1} be a subalgebra of U_{0}. Then Gen(Constants(U_{0})) ∩ U_{1} = Gen(Constants(U_{0})).

Let S be a non void non empty many sorted signature, let U_{0} be a nonempty algebra over S, and let U_{1}, U_{2} be subalgebras of U_{0}. The functor U_{1} ⨆ U_{2} yielding a strict subalgebra of U_{0} is defined as follows:

(Def.19) For every subset A of U_{0} such that A = (the sorts of U_{1}) ∪ (the sorts of

U_{2}) holds U_{1} ⨆ U_{2} = Gen(A). Next we state several propositions:

(25) Let S be a non void non empty many sorted signature, and let U_{0} be a non-empty algebra over S, and let U_{1} be a subalgebra of U_{0}, and let A, B be subsets of U_{0}. If B = A∪the sorts of U_{1}, then Gen(A) ⨆ U_{1} = Gen(B).

(26) Let S be a non void non empty many sorted signature, and let U_{0} be a non-empty algebra over S, and let U_{1} be a subalgebra of U_{0}, and let B be a subset of U_{0}. If B = the sorts of U_{0}, then Gen(B) ⨆ U_{1} = Gen(B).

(27) Let S be a non void non empty many sorted signature, and let U_{0} be a non-empty algebra over S, and let U_{1}, U_{2} be subalgebras of U_{0}. Then U_{1} ⨆ U_{2} = U_{2} ⨆ U_{1}.

(28) Let S be a non void non empty many sorted signature, and let U_{0} be a non-empty algebra over S, and let U_{1}, U_{2} be strict subalgebras of U_{0}. Then U_{1} ∩ (U_{1} ⨆ U_{2}) = U_{1}.

(29) Let S be a non void non empty many sorted signature with constant operations, and let U_{0} be a non-empty algebra over S, and let U_{1}, U_{2} be strict subalgebras of U_{0}. Then U_{1} ∩ U_{2} ⨆ U_{2} = U_{2}.

6. Lattice of Subalgebras of Many Sorted Algebra

Let S be a non void non empty many sorted signature and let U_{0} be an algebra over S. The functor Subalgebras(U_{0}) yielding a non empty set is defined as follows:

(Def.20) For every x holds x ∈ Subalgebras(U_{0}) iff x is a strict subalgebra of U_{0}.

Let S be a non void non empty many sorted signature and let U_{0} be a nonempty algebra over S. The functor MSAlgJoin(U_{0}) yields a binary operation on Subalgebras(U_{0}) and is defined by:

(Def.21) For all elements x, y of Subalgebras(U_{0}) and for all strict subalgebras U_{1}, U_{2} of U_{0} such that x = U_{1} and y = U_{2} holds (MSAlgJoin(U_{0}))(x,

y) = U_{1} ⨆ U_{2}. Let S be a non void non empty many sorted signature and let U_{0} be a non-

empty algebra over S. The functor MSAlgMeet(U_{0}) yielding a binary operation on Subalgebras(U_{0}) is defined by:

(Def.22) For all elements x, y of Subalgebras(U_{0}) and for all strict subalgebras U_{1}, U_{2} of U_{0} such that x = U_{1} and y = U_{2} holds (MSAlgMeet(U_{0}))(x,

y) = U_{1} ∩ U_{2}. In the sequel U_{0} is a non-empty algebra over S. We now state four propositions:

(30) MSAlgJoin(U_{0}) is commutative.

(31) MSAlgJoin(U_{0}) is associative.

(32) Let S be a non void non empty many sorted signature with constant operations and let U_{0} be a non-empty algebra over S. Then MSAlgMeet(U_{0}) is commutative.

(33) Let S be a non void non empty many sorted signature with constant operations and let U_{0} be a non-empty algebra over S. Then MSAlgMeet(U_{0}) is associative.

Let S be a non void non empty many sorted signature with constant operations and let U_{0} be a non-empty algebra over S. The lattice of subalgebras of U_{0} yields a strict lattice and is defined as follows:

(Def.23) The lattice of subalgebras of U_{0} = ⟨Subalgebras(U_{0}), MSAlgJoin(U_{0}),

MSAlgMeet(U_{0})⟩. The following proposition is true

(34) Let S be a non void non empty many sorted signature with constant operations and let U_{0} be a non-empty algebra over S. Then the lattice of subalgebras of U_{0} is bounded.

Let S be a non void non empty many sorted signature with constant operations and let U_{0} be a non-empty algebra over S. Note that the lattice of subalgebras of U_{0} is bounded.

We now state three propositions:

54 ewa burakowska

(35) Let S be a non void non empty many sorted signature with constant operations and let U_{0} be a non-empty algebra over S. Then ⊥_{_{the} _{lattice} _{of} _{subalgebras} _{of} U_{0}} = Gen(Constants(U_{0})).

(36) Let S be a non void non empty many sorted signature with constant operations, and let U_{0} be a non-empty algebra over S, and let B be a subset of U_{0}. If B = the sorts of U_{0}, then ⊤_{_{the} _{lattice} _{of} _{subalgebras} _{of} U_{0}} = Gen(B).

(37) Let S be a non void non empty many sorted signature with constant operations and let U_{0} be a strict non-empty algebra over S. Then ⊤_{_{the} _{lattice} _{of} _{subalgebras} _{of} U_{0}} = U_{0}.

References

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

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

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

[4] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 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. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

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

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

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

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

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

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

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

Products of Many Sorted Algebras

Beata Madras Warsaw University Białystok

Summary. Product of two many sorted universal algebras and product of family of many sorted universal algebras are defined in this article. Operations on functions, such that commute, Frege, are also introduced.

MML Identifier: PRALG 2.

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

1. Preliminaries

For simplicity we follow the rules: I, J denote sets, A, B denote many sorted sets of I, i, j, x are arbitrary, and S denotes a non empty many sorted signature.

A set has common domain if: (Def.1) For all functions f, g such that f ∈ it and g ∈ it holds dom f = dom g.

Let us mention that there exists a set which is functional and non empty and has common domain.

The following proposition is true

(1) {∅} is a functional set with common domain. Let X be a functional set with common domain. The functor DOM(X)

yielding a set is defined as follows: (Def.2) (i) For every function x such that x ∈ X holds DOM(X) = dom x if

X ≠ ∅, (ii) DOM(X) = ∅, otherwise. We now state the proposition

(2) For every functional set X with common domain such that X = {∅} holds DOM(X) = ∅.

Let I be a set and let M be a non-empty many sorted set of I. Observe that ∏ M is functional and non empty and has common domain.

2. Operations on Functions

The scheme LambdaDMS deals with a non empty set A and a unary functor F yielding arbitrary, and states that:

There exists a many sorted set X of A such that for every element d of A holds X(d) = F(d)

for all values of the parameters.

Let f be a function. The functor commute(f) yields a function yielding function and is defined as follows: (Def.5)^{1} commute(f) = curry′ uncurry f.

We now state several propositions:

(3) For every function f and for arbitrary x such that x ∈ dom commute(f) holds (commute(f))(x) is a function.

(4) For all sets A, B, C and for every function f such that A ≠ ∅ and B ≠ ∅ and f ∈ (C^{B})^{A} holds commute(f) ∈ (C^{A})^{B}.

(5) Let A, B, C be sets and let f be a function. Suppose A ≠ ∅ and B ≠ ∅ and f ∈ (C^{B})^{A}. Let g, h be functions and let x, y be arbitrary. Suppose x ∈ A and y ∈ B and f(x) = g and (commute(f))(y) = h. Then h(x) = g(y) and dom h = A and dom g = B and rng h ⊆ C and rng g ⊆ C.

(6) For all sets A, B, C and for every function f such that A ≠ ∅ and B ≠ ∅ and f ∈ (C^{B})^{A} holds commute(commute(f)) = f.

(7) commute( ) = . Let F be a function. The functor commute(F) yielding a function is defined

by the conditions (Def.6). (Def.6) (i) For every x holds x ∈ dom commute(F) iff there exists a function

f such that f ∈ dom F and x = commute(f), and (ii) for every function f such that f ∈ dom commute(F) holds

( commute(F))(f) = F (commute(f)). The following proposition is true

(8) For every function F such that dom F = {∅} holds commute(F) = F. Let F be a function yielding function and let f be a function. The functor

F f yielding a function is defined by: (Def.7) dom(F f) = dom F and for arbitrary x and for every function g such

that x ∈ dom F and g = F (x) holds (F f)(x) = g(f(x)). Let f be a function yielding function. The functor Frege(f) yields a many

sorted function of ∏(dom_{κ} f(κ)) and is defined as follows:

1The definitions (Def.3) and (Def.4) have been removed.

(Def.8) For every function g such that g ∈ ∏(dom_{κ} f(κ)) holds (Frege(f))(g) =

f g. Let us consider I, A, B. The functor [[A, B]] yielding a many sorted set of I

is defined by: (Def.9) For every i such that i ∈ I holds [[A, B]](i) = [: A(i), B(i) :].

Let us consider I and let A, B be non-empty many sorted sets of I. Note that [[A, B]] is non-empty.

Next we state the proposition

(9) Let I be a non empty set, and let J be a set, and let A, B be many sorted sets of I, and let f be a function from J into I. Then [[A, B]] · f = [[A · f, B · f]].

Let I be a non empty set, let us consider J, let A, B be non-empty many sorted sets of I, let p be a function from J into I^{∗}, let r be a function from J into I, let j be arbitrary, let f be a function from (A^{#} · p)(j) into (A · r)(j), and let g be a function from (B^{#} · p)(j) into (B · r)(j). Let us assume that j ∈ J. The functor ⌉⌉f, g⌈⌈ yields a function from ([[A, B]]^{#} · p)(j) into ([[A, B]] · r)(j) and is defined as follows:

(Def.10) For every function h such that h ∈ ([[A, B]]^{#} · p)(j) holds ⌉⌉f, g⌈⌈(h) =

⟨⟨f(pr1(h)), g(pr2(h))⟩⟩. Let I be a non empty set, let us consider J, let A, B be non-empty many

sorted sets of I, let p be a function from J into I^{∗}, let r be a function from J into I, let F be a many sorted function from A^{#} · p into A · r, and let G be a many sorted function from B^{#} · p into B · r. The functor ⌉⌉F, G⌈⌈ yielding a many sorted function from [[A, B]]^{#} · p into [[A, B]] · r is defined by the condition (Def.11).

(Def.11) Given j. Suppose j ∈ J. Let f be a function from (A^{#} · p)(j) into (A · r)(j) and let g be a function from (B^{#} · p)(j) into (B · r)(j). If

f = F (j) and g = G(j), then ⌉⌉F, G⌈⌈(j) =⌉⌉f, g⌈⌈.

3. Family of Many Sorted Universal Algebras

Let us consider I, S. A many sorted set of I is said to be an algebra family of I over S if:

(Def.12) For every i such that i ∈ I holds it(i) is a non-empty algebra over S.

Let I be a non empty set, let us consider S, let A be an algebra family of I over S, and let i be an element of I. Then A(i) is a non-empty algebra over S.

Let S be a non empty many sorted signature and let U_{1} be a non-empty algebra over S. The functor |U_{1}| yields a non empty set and is defined as follows:

(Def.13) |U_{1}| = ⋃ rng (the sorts of U_{1}).

Let I be a non empty set, let S be a non empty many sorted signature, and let A be an algebra family of I over S. The functor |A| yields a non empty set and is defined as follows:

(Def.14) |A| = ⋃{|A(i)| : i ranges over elements of I}.

4. Product of Many Sorted Universal Algebras

We now state two propositions:

(10) Let S be a non void non empty many sorted signature, and let U_{0} be an algebra over S, and let o be an operation symbol of S. Then Args(o, U_{0}) = ∏((the sorts of U_{0}) · Arity(o)) and dom((the sorts of U_{0}) · Arity(o)) = dom Arity(o) and Result(o, U_{0}) = (the sorts of U_{0})(the result sort of o).

(11) Let S be a non void non empty many sorted signature, and let U_{0} be an algebra over S, and let o be an operation symbol of S. If Arity(o) = ε, then Args(o, U_{0}) = { }.

Let us consider S and let U_{1}, U_{2} be non-empty algebras over S. The functor [: U_{1}, U_{2} :] yields a strict algebra over S and is defined as follows:

(Def.15) [: U_{1}, U_{2} :] = ⟨[[the sorts of U_{1}, the sorts of U_{2}]], ⌉⌉the characteristics of

U_{1}, (the characteristics of U_{2})⌈⌈⟩. Let I be a non empty set, let us consider S, let s be a sort symbol of S,

and let A be an algebra family of I over S. The functor Carrier(A, s) yielding a non-empty many sorted set of I is defined as follows:

(Def.16) For every element i of I holds (Carrier(A, s))(i) = (the sorts of A(i))(s).

Let I be a non empty set, let us consider S, and let A be an algebra family of I over S. The functor SORTS(A) yields a non-empty many sorted set of the carrier of S and is defined as follows:

(Def.17) For every sort symbol s of S holds (SORTS(A))(s) = ∏ Carrier(A, s).

Let I be a non empty set, let S be a non empty many sorted signature, and let A be an algebra family of I over S. The functor OPER(A) yields a many sorted function of I and is defined by:

(Def.18) For every element i of I holds (OPER(A))(i) = the characteristics of

A(i). We now state two propositions:

(12) Let I be a non empty set, and let S be a non empty many sorted signature, and let A be an algebra family of I over S. Then dom uncurry OPER(A) = [: I, the operation symbols of S:].

(13) Let I be a non empty set, and let S be a non void non empty many sorted signature, and let A be an algebra family of I over S, and let o be an operation symbol of S. Then commute(OPER(A)) ∈ ((rng uncurry OPER(A))^{I})^{the operation symbols of S}.

Let I be a non empty set, let S be a non void non empty many sorted signature, let A be an algebra family of I over S, and let o be an operation symbol of S. The functor A(o) yielding a many sorted function of I is defined by:

(Def.19) A(o) = (commute(OPER(A)))(o).

We now state several propositions:

(14) Let I be a non empty set, and let i be an element of I, and let S be a non void non empty many sorted signature, and let A be an algebra family of I over S, and let o be an operation symbol of S. Then A(o)(i) = Den(o, A(i)).

(15) Let I be a non empty set, and let S be a non void non empty many sorted signature, and let A be an algebra family of I over S, and let o be an operation symbol of S, and let x be arbitrary. If x ∈ rng Frege(A(o)), then x is a function.

(16) Let I be a non empty set, and let S be a non void non empty many sorted signature, and let A be an algebra family of I over S, and let o be an operation symbol of S, and let f be a function. If f ∈ rng Frege(A(o)), then dom f = I and for every element i of I holds f(i) ∈ Result(o, A(i)).

(17) Let I be a non empty set, and let S be a non void non empty many sorted signature, and let A be an algebra family of I over S, and let o be an operation symbol of S, and let f be a function. Suppose f ∈ dom Frege(A(o)). Then dom f = I and for every element i of I holds f(i) ∈ Args(o, A(i)) and rng f ⊆ |A|^{dom Arity(o)}.

(18) Let I be a non empty set, and let S be a non void non empty many sorted signature, and let A be an algebra family of I over S, and let o be an operation symbol of S. Then dom(dom_{κ} A(o)(κ)) = I and for every element i of I holds (dom_{κ} A(o)(κ))(i) = Args(o, A(i)).

Let I be a non empty set, let S be a non void non empty many sorted signature, and let A be an algebra family of I over S. The functor OPS(A) yielding a many sorted function from (SORTS(A))^{#} ·(the arity of S) into SORTS(A)·(the result sort of S) is defined by:

(Def.20) For every operation symbol o of S holds (OPS(A))(o) = (Arity(o) =

ε → commute(A(o)), commute(Frege(A(o)))). Let I be a non empty set, let S be a non void non empty many sorted

signature, and let A be an algebra family of I over S. The functor ∏ A yields a strict algebra over S and is defined as follows:

(Def.21) ∏ A = ⟨SORTS(A), OPS(A)⟩.

We now state two propositions:

(19) Let I be a non empty set, and let S be a non void non empty many sorted signature, and let A be an algebra family of I over S. Then ∏ A = ⟨SORTS(A), OPS(A)⟩.

(20) Let I be a non empty set, and let S be a non void non empty many sorted signature, and let A be an algebra family of I over S. Then the 60 beata madras

sorts of ∏ A = SORTS(A) and the characteristics of ∏ A = OPS(A).

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] Grzegorz Bancerek and Piotr Rudnicki. On defining functions on trees. Formalized Mathematics, 4(1):91–101, 1993.

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

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

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

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

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

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

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

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

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

[15] Andrzej Trybulec. 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] Edmund Woronowicz. Relations and their basic properties. Formalized Mathematics, 1(1):73–83, 1990.

Homomorphisms of Many Sorted Algebras

Małgorzata Korolkiewicz Warsaw University Białystok

Summary. The aim of this article is to present the definition and some properties of homomorphisms of many sorted algebras. Some auxiliary properties of many sorted functions also have been shown.

MML Identifier: MSUALG 3.

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

1. Preliminaries

For simplicity we follow the rules: S is a non void non empty many sorted signature, U_{1}, U_{2}, U_{3} are non-empty algebras over S, o is an operation symbol of S, and n is a natural number.

Let I be a non empty set, let A, B be non-empty many sorted sets of I, let F be a many sorted function from A into B, and let i be an element of I. Then F (i) is a function from A(i) into B(i).

Let us consider S, U_{1}, U_{2}. A many sorted function from U_{1} into U_{2} is a many sorted function from the sorts of U_{1} into the sorts of U_{2}.

Let I be a set and let A be a many sorted set of I. The functor id_{A} yields a many sorted function from A into A and is defined as follows: (Def.1) For arbitrary i such that i ∈ I holds id_{A}(i) = id_{A(i)}.

A function is “1-1” if: (Def.2) For arbitrary i and for every function f such that i ∈ dom it and it(i) =

f holds f is one-to-one. Let I be a set. Observe that there exists a many sorted function of I which

is “1-1”.

We now state the proposition (1) Let I be a set and let F be a many sorted function of I. Then F is

“1-1” if and only if for arbitrary i and for every function f such that i ∈ I and F (i) = f holds f is one-to-one.

Let I be a set and let A, B be many sorted sets of I. A many sorted function from A into B is “onto” if:

(Def.3) For arbitrary i and for every function f from A(i) into B(i) such that

i ∈ I and it(i) = f holds rng f = B(i). Let F, G be function yielding functions. The functor G∘F yielding a function

yielding function is defined by the conditions (Def.4).

(Def.4) (i) dom(G ∘ F) = dom F ∩ dom G, and

(ii) for arbitrary i and for every function f and for every function g such

that i ∈ dom(G ∘ F) and f = F (i) and g = G(i) holds (G ∘ F)(i) = g · f. We now state the proposition

(2) Let I be a set, and let A be a many sorted set of I, and let B, C be non-empty many sorted sets of I, and let F be a many sorted function from A into B, and let G be a many sorted function from B into C. Then

(i) dom(G ∘ F) = I, and (ii) for arbitrary i and for every function f from A(i) into B(i) and for

every function g from B(i) into C(i) such that i ∈ I and f = F (i) and g = G(i) holds (G ∘ F)(i) = g · f.

Let I be a set, let A be a many sorted set of I, let B, C be non-empty many sorted sets of I, 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.

Next we state two propositions:

(3) Let I be a set, and let A, B be non-empty many sorted sets of I, and let F be a many sorted function from A into B. Then F ∘ id_{A} = F.

(4) Let I be a set, and let A be a many sorted set of I, and let B be a non-empty many sorted set of I, and let F be a many sorted function from A into B. Then id_{B} ∘ F = F.

Let I be a set, let A, B be non-empty many sorted sets of I, and let F be a many sorted function from A into B. Let us assume that F is “1-1” and “onto”. The functor F^{−1} yielding a many sorted function from B into A is defined as follows:

(Def.5) For arbitrary i and for every function f from A(i) into B(i) such that

i ∈ I and f = F (i) holds F^{−1}(i) = f^{−1}. We now state the proposition

(5) Let I be a set, and let A, B be non-empty many sorted sets of I, and let H be a many sorted function from A into B, and let H_{1} be a many sorted function from B into A. If H is “1-1” and “onto” and H_{1} = H^{−1}, then H ∘ H_{1} = id_{B} and H_{1} ∘ H = id_{A}.

Let I be a set, let A be a many sorted set of I, and let F be a many sorted function of I. The functor F ^{∘} A yields a many sorted set of I and is defined as follows: (Def.6) For arbitrary i and for every function f such that i ∈ I and f = F (i)

holds (F ^{∘} A)(i) = f^{∘}A(i). Let us consider S, U_{1}, o. Observe that every element of Args(o, U_{1}) is

function-like and relation-like.

2. Homomorphisms of Many Sorted Algebras

One can prove the following proposition

(6) Let x be an element of Args(o, U_{1}). Then dom x = dom Arity(o) and for arbitrary y such that y ∈ dom((the sorts of U_{1}) · Arity(o)) holds x(y) ∈ ((the sorts of U_{1}) · Arity(o))(y).

Let us consider S, U_{1}, U_{2}, o, let F be a many sorted function from U_{1} into U_{2}, and let x be an element of Args(o, U_{1}). The functor F #x yielding an element of Args(o, U_{2}) is defined by: (Def.7) For every n such that n ∈ dom x holds (F #x)(n) =

F (π_{n} Arity(o))(x(n)). The following two propositions are true:

(7) For all S, o, U_{1} and for every element x of Args(o, U_{1}) holds x = id_{(the sorts of U_{1})}#x.

(8) Let H_{1} be a many sorted function from U_{1} into U_{2}, and let H_{2} be a many sorted function from U_{2} into U_{3}, and let x be an element of Args(o, U_{1}). Then (H_{2} ∘ H_{1})#x = H_{2}#(H_{1}#x).

Let us consider S, U_{1}, U_{2} and let F be a many sorted function from U_{1} into U_{2}. We say that F is a homomorphism of U_{1} into U_{2} if and only if: (Def.8) For every operation symbol o of S and for every element x of Args(o, U_{1})

holds F (the result sort of o)((Den(o, U_{1}))(x)) = (Den(o, U_{2}))(F #x). Next we state two propositions:

(9) id_{(the sorts of U_{1})} is a homomorphism of U_{1} into U_{1}.

(10) Let H_{1} be a many sorted function from U_{1} into U_{2} and let H_{2} be a many sorted function from U_{2} into U_{3}. Suppose H_{1} is a homomorphism of U_{1} into U_{2} and H_{2} is a homomorphism of U_{2} into U_{3}. Then H_{2} ∘ H_{1} is a homomorphism of U_{1} into U_{3}.

Let us consider S, U_{1}, U_{2} and let F be a many sorted function from U_{1} into U_{2}. We say that F is an epimorphism of U_{1} onto U_{2} if and only if: (Def.9) F is a homomorphism of U_{1} into U_{2} and “onto”.

One can prove the following proposition (11) Let F be a many sorted function from U_{1} into U_{2} and let G be a many

sorted function from U_{2} into U_{3}. Suppose F is an epimorphism of U_{1} onto U_{2} and G is an epimorphism of U_{2} onto U_{3}. Then G∘F is an epimorphism of U_{1} onto U_{3}.

Let us consider S, U_{1}, U_{2} and let F be a many sorted function from U_{1} into U_{2}. We say that F is a monomorphism of U_{1} into U_{2} if and only if:

(Def.10) F is a homomorphism of U_{1} into U_{2} and “1-1”.

The following proposition is true

(12) Let F be a many sorted function from U_{1} into U_{2} and let G be a many sorted function from U_{2} into U_{3}. Suppose F is a monomorphism of U_{1} into U_{2} and G is a monomorphism of U_{2} into U_{3}. Then G ∘ F is a monomorphism of U_{1} into U_{3}.

Let us consider S, U_{1}, U_{2} and let F be a many sorted function from U_{1} into U_{2}. We say that F is an isomorphism of U_{1} and U_{2} if and only if:

(Def.11) F is an epimorphism of U_{1} onto U_{2} and a monomorphism of U_{1} into U_{2}.

The following propositions are true:

(13) Let F be a many sorted function from U_{1} into U_{2}. Then F is an isomorphism of U_{1} and U_{2} if and only if F is a homomorphism of U_{1} into U_{2} “onto” and “1-1”.

(14) Let H be a many sorted function from U_{1} into U_{2} and let H_{1} be a many sorted function from U_{2} into U_{1}. Suppose H is an isomorphism of U_{1} and U_{2} and H_{1} = H^{−1}. Then H_{1} is an isomorphism of U_{2} and U_{1}.

(15) Let H be a many sorted function from U_{1} into U_{2} and let H_{1} be a many sorted function from U_{2} into U_{3}. Suppose H is an isomorphism of U_{1} and U_{2} and H_{1} is an isomorphism of U_{2} and U_{3}. Then H_{1} ∘ H is an isomorphism of U_{1} and U_{3}.

Let us consider S, U_{1}, U_{2}. We say that U_{1} and U_{2} are isomorphic if and only if:

(Def.12) There exists many sorted function from U_{1} into U_{2} which is an isomor-

phism of U_{1} and U_{2}. Next we state three propositions:

(16) U_{1} and U_{1} are isomorphic.

(17) If U_{1} and U_{2} are isomorphic, then U_{2} and U_{1} are isomorphic.

(18) If U_{1} and U_{2} are isomorphic and U_{2} and U_{3} are isomorphic, then U_{1} and U_{3} are isomorphic.

Let us consider S, U_{1}, U_{2} and let F be a many sorted function from U_{1} into U_{2}. Let us assume that F is a homomorphism of U_{1} into U_{2}. The functor Im F yields a strict non-empty subalgebra of U_{2} and is defined as follows:

(Def.13) The sorts of Im F = F ^{∘} (the sorts of U_{1}).

We now state several propositions:

homomorphisms of many sorted algebras 65

(19) Let U_{2} be a strict non-empty algebra over S and let F be a many sorted function from U_{1} into U_{2}. Suppose F is a homomorphism of U_{1} into U_{2}. Then F is an epimorphism of U_{1} onto U_{2} if and only if Im F = U_{2}.

(20) Let F be a many sorted function from U_{1} into U_{2} and let G be a many sorted function from U_{1} into Im F. Suppose F = G and F is a homomorphism of U_{1} into U_{2}. Then G is an epimorphism of U_{1} onto Im F.

(21) Let F be a many sorted function from U_{1} into U_{2}. Suppose F is a homomorphism of U_{1} into U_{2}. Then there exists a many sorted function G from U_{1} into Im F such that F = G and G is an epimorphism of U_{1} onto Im F.

(22) Let U_{2} be a strict non-empty subalgebra of U_{1} and let G be a many sorted function from U_{2} into U_{1}. If G = id_{(the sorts of U_{2})}, then G is a monomorphism of U_{2} into U_{1}.

(23) Let F be a many sorted function from U_{1} into U_{2}. Suppose F is a homomorphism of U_{1} into U_{2}. Then there exists a many sorted function F_{1} from U_{1} into Im F and there exists a many sorted function F_{2} from Im F into U_{2} such that F_{1} is an epimorphism of U_{1} onto Im F and F_{2} is a monomorphism of Im F into U_{2} and F = F_{2} ∘ F_{1}.

References

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

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

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

[4] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 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] Beata Madras. Product of family of universal algebras. Formalized Mathematics, 4(1):103–108, 1993.

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

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

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

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

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

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

66

Free Many Sorted Universal Algebra

Beata Perkowska Warsaw University Białystok

MML Identifier: MSAFREE.

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

1. Preliminaries

The following proposition is true

(1) Let I be a set, and let J be a non empty set, and let f be a function from I into J^{∗}, and let X be a many sorted set of J, and let p be an element of J^{∗}, and let x be arbitrary. If x ∈ I and p = f(x), then (X^{#} · f)(x) = ∏(X · p).

Let I be a set, let A, B be many sorted sets of I, let C be a many sorted subset of A, and let F be a many sorted function from A into B. The functor F C yielding a many sorted function from C into B is defined as follows: (Def.1) For arbitrary i such that i ∈ I and for every function f from A(i) into

B(i) such that f = F (i) holds (F C)(i) = f C(i). Let I be a set, let X be a many sorted set of I, and let i be arbitrary. Let

us assume that i ∈ I. The functor coprod(i, X) yields a set and is defined as follows: (Def.2) For arbitrary x holds x ∈ coprod(i, X) iff there exists arbitrary a such

that a ∈ X(i) and x = ⟨⟨a, i⟩⟩. Let I be a set and let X be a many sorted set of I. Then disjoint X is a

many sorted set of I and it can be characterized by the condition: (Def.3) For arbitrary i such that i ∈ I holds (disjoint X)(i) = coprod(i, X).

We introduce coprod(X) as a synonym of disjoint X.

Let I be a non empty set and let X be a non-empty many sorted set of I. One can verify that coprod(X) is non-empty.

Let I be a non empty set and let X be a non-empty many sorted set of I. One can check that ⋃ X is non empty.

We now state the proposition

(2) Let I be a set, and let X be a many sorted set of I, and let i be arbitrary. If i ∈ I, then X(i) ≠ ∅ iff (coprod(X))(i) ≠ ∅.

2. Free Many Sorted Universal Algebra - General Notions

Let S be a non void non empty many sorted signature and let U_{0} be an algebra over S. A subset of U_{0} is said to be a generator set of U_{0} if: (Def.4) The sorts of Gen(it) = the sorts of U_{0}.

Next we state the proposition

(3) Let S be a non void non empty many sorted signature, and let U_{0} be a strict non-empty algebra over S, and let A be a subset of U_{0}. Then A is a generator set of U_{0} if and only if Gen(A) = U_{0}.

Let S be a non void non empty many sorted signature and let U_{0} be a nonempty algebra over S. A generator set of U_{0} is free if it satisfies the condition (Def.5). (Def.5) Let U_{1} be a non-empty algebra over S and let f be a many sorted

function from it into the sorts of U_{1}. Then there exists a many sorted function h from U_{0} into U_{1} such that h is a homomorphism of U_{0} into U_{1} and h it = f.

Let S be a non void non empty many sorted signature. A non-empty algebra over S is free if: (Def.6) There exists generator set of it which is free.

The following proposition is true

(4) Let S be a non void non empty many sorted signature and let X be a many sorted set of the carrier of S. Then ⋃ coprod(X) ∩ [: the operation symbols of S, {the carrier of S}:] = ∅.

3. Semidisjoint Many Sorted Signature

Let S be a non void many sorted signature. Note that the operation symbols of S is non empty.

Let S be a non void non empty many sorted signature and let X be a many sorted set of the carrier of S. The functor REL(X) yields a relation between [: the operation symbols of S, {the carrier of S}:] ∪ ⋃ coprod(X) and ([: the operation symbols of S, {the carrier of S}:] ∪ ⋃ coprod(X))^{∗} and is defined by the condition (Def.9). (Def.9)^{1} Let a be an element of [: the operation symbols of S,

{the carrier of S}:] ∪ ⋃ coprod(X) and let b be an element of ([: the operation symbols of S, {the carrier of S}:] ∪ ⋃ coprod(X))^{∗}. Then ⟨⟨a, b⟩⟩ ∈ REL(X) if and only if the following conditions are satisfied:

(i) a ∈ [: the operation symbols of S, {the carrier of S}:], and (ii) for every operation symbol o of S such that ⟨⟨o, the carrier of S⟩⟩ = a

holds len b = len Arity(o) and for arbitrary x such that x ∈ dom b holds if b(x) ∈ [: the operation symbols of S, {the carrier of S}:], then for every operation symbol o_{1} of S such that ⟨⟨o_{1}, the carrier of S⟩⟩ = b(x) holds the result sort of o_{1} = Arity(o)(x) and if b(x) ∈ ⋃ coprod(X), then b(x) ∈ coprod(Arity(o)(x), X).

In the sequel S will be a non void non empty many sorted signature, X will be a many sorted set of the carrier of S, o will be an operation symbol of S, and b will be an element of ([: the operation symbols of S, {the carrier of S}:] ∪ ⋃ coprod(X))^{∗}.

Next we state the proposition

(5) ⟨⟨⟨⟨o, the carrier of S⟩⟩, b⟩⟩ ∈ REL(X) if and only if the following conditions are satisfied:

(i) len b = len Arity(o), and (ii) for arbitrary x such that x ∈ dom b holds if b(x) ∈ [: the operation sym-

bols of S, {the carrier of S}:], then for every operation symbol o_{1} of S such that ⟨⟨o_{1}, the carrier of S⟩⟩ = b(x) holds the result sort of o_{1} = Arity(o)(x) and if b(x) ∈ ⋃ coprod(X), then b(x) ∈ coprod(Arity(o)(x), X).

Let S be a non void non empty many sorted signature and let X be a many sorted set of the carrier of S. The functor DTConMSA(X) yielding a strict tree construction structure is defined as follows:

(Def.10) DTConMSA(X) = ⟨[: the operation symbols of S, {the carrier of S}:] ∪

⋃ coprod(X), REL(X)⟩. Let S be a non void non empty many sorted signature and let X be a many

sorted set of the carrier of S. Observe that DTConMSA(X) is non empty. We now state the proposition

(6) Let S be a non void non empty many sorted signature and let X be a non-empty many sorted set of the carrier of S. Then the nonterminals of DTConMSA(X) = [: the operation symbols of S, {the carrier of S}:] and the terminals of DTConMSA(X) = ⋃ coprod(X).

Let S be a non void non empty many sorted signature and let X be a nonempty many sorted set of the carrier of S. Observe that DTConMSA(X) has terminals, nonterminals, and useful nonterminals.

One can prove the following proposition (7) Let S be a non void non empty many sorted signature, and let X be

1The definitions (Def.7) and (Def.8) have been removed.

a non-empty many sorted set of the carrier of S, and let t be arbitrary. Then t ∈ the terminals of DTConMSA(X) if and only if there exists a sort symbol s of S and there exists arbitrary x such that x ∈ X(s) and t = ⟨⟨x, s⟩⟩.

Let S be a non void non empty many sorted signature, let X be a non-empty many sorted set of the carrier of S, and let o be an operation symbol of S. The functor Sym(o, X) yielding a symbol of DTConMSA(X) is defined by:

(Def.11) Sym(o, X) = ⟨⟨o, the carrier of S⟩⟩.

Let S be a non void non empty many sorted signature, let X be a non-empty many sorted set of the carrier of S, and let s be a sort symbol of S. The functor FreeSort(X, s) yielding a non empty subset of TS(DTConMSA(X)) is defined by the condition (Def.12).

(Def.12) FreeSort(X, s) = {a : a ranges over elements of TS(DTConMSA(X)), ⋁_{x} x ∈ X(s) ∧ a = the root tree of ⟨⟨x, s⟩⟩ ∨ ⋁_{o} ⟨⟨o, the carrier of S⟩⟩ = a(ε) ∧ the result sort of o = s}.

Let S be a non void non empty many sorted signature and let X be a nonempty many sorted set of the carrier of S. The functor FreeSorts(X) yielding a non-empty many sorted set of the carrier of S is defined by:

(Def.13) For every sort symbol s of S holds (FreeSorts(X))(s) = FreeSort(X, s). The following propositions are true:

(8) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set of the carrier of S, and let o be an operation symbol of S, and let x be arbitrary. Suppose x ∈ ((FreeSorts(X))^{#} · (the arity of S))(o). Then x is a finite sequence of elements of TS(DTConMSA(X)).

(9) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set of the carrier of S, and let o be an operation symbol of S, and let p be a finite sequence of elements of TS(DTConMSA(X)). Then p ∈ ((FreeSorts(X))^{#} · (the arity of S))(o) if and only if dom p = dom Arity(o) and for every natural number n such that n ∈ dom p holds p(n) ∈ FreeSort(X, π_{n} Arity(o)).

(10) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set of the carrier of S, and let o be an operation symbol of S, and let p be a finite sequence of elements of TS(DTConMSA(X)). Then Sym(o, X) ⇒ the roots of p if and only if p ∈ ((FreeSorts(X))^{#} · (the arity of S))(o).

(11) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set of the carrier of S, and let o be an operation symbol of S. Then (FreeSorts(X) · (the result sort of S))(o) ≠ ∅.

(12) Let S be a non void non empty many sorted signature and let X be a non-empty many sorted set of the carrier of S. Then ⋃ rng FreeSorts(X) = TS(DTConMSA(X)).

(13) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set of the carrier of S, and let s_{1}, s_{2} be sort symbols of S. If s_{1} ≠ s_{2}, then (FreeSorts(X))(s_{1}) ∩ (FreeSorts(X))(s_{2}) = ∅.

Let S be a non void non empty many sorted signature, let X be a non-empty many sorted set of the carrier of S, and let o be an operation symbol of S. The functor DenOp(o, X) yielding a function from ((FreeSorts(X))^{#} · (the arity of S))(o) into (FreeSorts(X) · (the result sort of S))(o) is defined by:

(Def.14) For every finite sequence p of elements of TS(DTConMSA(X)) such that

Sym(o, X) ⇒ the roots of p holds (DenOp(o, X))(p) = Sym(o, X)-tree(p). Let S be a non void non empty many sorted signature and let X be a non-

empty many sorted set of the carrier of S. The functor FreeOperations(X) yielding a many sorted function from (FreeSorts(X))^{#} · (the arity of S) into FreeSorts(X) · (the result sort of S) is defined as follows:

(Def.15) For every operation symbol o of S holds (FreeOperations(X))(o) =

DenOp(o, X). Let S be a non void non empty many sorted signature and let X be a non-

empty many sorted set of the carrier of S. The functor Free(X) yields a strict non-empty algebra over S and is defined by:

(Def.16) Free(X) = ⟨FreeSorts(X), FreeOperations(X)⟩.

Let S be a non void non empty many sorted signature, let X be a nonempty many sorted set of the carrier of S, and let s be a sort symbol of S. The functor FreeGenerator(s, X) yields a non empty subset of (FreeSorts(X))(s) and is defined as follows:

(Def.17) For arbitrary x holds x ∈ FreeGenerator(s, X) iff there exists arbitrary

a such that a ∈ X(s) and x = the root tree of ⟨⟨a, s⟩⟩. The following proposition is true

(14) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set of the carrier of S, and let s be a sort symbol of S. Then FreeGenerator(s, X) = {the root tree of t: t ranges over symbols of DTConMSA(X), t ∈ the terminals of DTConMSA(X) ∧ t_{2} = s}.

Let S be a non void non empty many sorted signature and let X be a nonempty many sorted set of the carrier of S. The functor FreeGenerator(X) yielding a generator set of Free(X) is defined as follows:

(Def.18) For every sort symbol s of S holds (FreeGenerator(X))(s) =

FreeGenerator(s, X). We now state two propositions:

(15) Let S be a non void non empty many sorted signature and let X be a non-empty many sorted set of the carrier of S. Then FreeGenerator(X) is non-empty.

(16) Let S be a non void non empty many sorted signature and let X be a non-empty many sorted set of the carrier of S. Then ⋃ rng FreeGenerator(X) = {the root tree of t: t ranges over symbols of DTConMSA(X), t ∈ the terminals of DTConMSA(X)}.

Let S be a non void non empty many sorted signature, let X be a non-empty many sorted set of the carrier of S, and let s be a sort symbol of S. The functor Reverse(s, X) yielding a function from FreeGenerator(s, X) into X(s) is defined as follows:

(Def.19) For every symbol t of DTConMSA(X) such that the root tree of t ∈

FreeGenerator(s, X) holds (Reverse(s, X))(the root tree of t) = t_{1}. Let S be a non void non empty many sorted signature and let X be a non-

empty many sorted set of the carrier of S. The functor Reverse(X) yielding a many sorted function from FreeGenerator(X) into X is defined by:

(Def.20) For every sort symbol s of S holds (Reverse(X))(s) = Reverse(s, X).

Let S be a non void non empty many sorted signature, let X be a non-empty many sorted set of the carrier of S, let A be a non-empty many sorted set of the carrier of S, let F be a many sorted function from FreeGenerator(X) into A, and let t be a symbol of DTConMSA(X). Let us assume that t ∈ the terminals of DTConMSA(X). The functor π(F, A, t) yielding an element of ⋃ A is defined as follows:

(Def.21) For every function f such that f = F (t_{2}) holds π(F, A, t) = f(the root

tree of t). Let S be a non void non empty many sorted signature, let X be a non-empty

many sorted set of the carrier of S, and let t be a symbol of DTConMSA(X). Let us assume that there exists a finite sequence p such that t ⇒ p. The functor @(X, t) yielding an operation symbol of S is defined by:

(Def.22) ⟨⟨^{@}(X, t), the carrier of S⟩⟩ = t.

Let S be a non void non empty many sorted signature, let U_{0} be a non-empty algebra over S, let o be an operation symbol of S, and let p be a finite sequence. Let us assume that p ∈ Args(o, U_{0}). The functor π(o, U_{0}, p) yielding an element of ⋃ (the sorts of U_{0}) is defined by:

(Def.23) π(o, U_{0}, p) = (Den(o, U_{0}))(p).

Next we state two propositions:

(17) Let S be a non void non empty many sorted signature and let X be a non-empty many sorted set of the carrier of S. Then FreeGenerator(X) is free.

(18) Let S be a non void non empty many sorted signature and let X be a

non-empty many sorted set of the carrier of S. Then Free(X) is free. Let S be a non void non empty many sorted signature. One can check that

there exists a non-empty algebra over S which is free and strict.

Let S be a non void non empty many sorted signature and let U_{0} be a free non-empty algebra over S. One can verify that there exists a generator set of U_{0} which is free.

One can prove the following propositions:

free many sorted universal algebra 73

(19) Let S be a non void non empty many sorted signature and let U_{1} be a non-empty algebra over S. Then there exists a strict free non-empty algebra U_{0} over S such that there exists many sorted function from U_{0} into U_{1} which is an epimorphism of U_{0} onto U_{1}.

(20) Let S be a non void non empty many sorted signature and let U_{1} be a strict non-empty algebra over S. Then there exists a strict free non-empty algebra U_{0} over S and there exists a many sorted function F from U_{0} into U_{1} such that F is an epimorphism of U_{0} onto U_{1} and Im F = U_{1}.

References

[1] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

[2] Grzegorz Bancerek. Introduction to trees. Formalized Mathematics, 1(2):421–427, 1990.

[3] Grzegorz Bancerek. Joining of decorated trees. Formalized Mathematics, 4(1):77–82, 1993.

[4] Grzegorz Bancerek. König’s lemma. Formalized Mathematics, 2(3):397–402, 1991.

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

[6] Grzegorz Bancerek. Sets and functions of trees and joining operations of trees. Formalized Mathematics, 3(2):195–204, 1992.

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

[8] Grzegorz Bancerek and Piotr Rudnicki. On defining functions on trees. Formalized Mathematics, 4(1):91–101, 1993.

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

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

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

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

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

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

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

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

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

[18] Andrzej Trybulec. Binary operations applied to functions. Formalized Mathematics, 1(2):329–334, 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] Andrzej Trybulec. Tuples, projections and Cartesian products. Formalized Mathematics, 1(1):97–105, 1990.

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

74 beata perkowska

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

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

T_{0} Topological Spaces

Mariusz Żynel Warsaw University Białystok Adam Guzowski Warsaw University Białystok

MML Identifier: T 0TOPSP.

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

The following two propositions are true:

(1) Let A, B be non empty sets and let R_{1}, R_{2} be relations between A and B. Suppose that for every element x of A and for every element y of B holds ⟨⟨x, y⟩⟩ ∈ R_{1} iff ⟨⟨x, y⟩⟩ ∈ R_{2}. Then R_{1} = R_{2}.

(2) Let X, Y be non empty sets, and let f be a function from X into Y, and let A be a subset of X. Suppose that for all elements x_{1}, x_{2} of X such that x_{1} ∈ A and f(x_{1}) = f(x_{2}) holds x_{2} ∈ A. Then f ^{−1} f^{∘}A = A.

Let T, S be topological spaces. We say that T and S are homeomorphic if and only if: (Def.1) There exists map from T into S which is a homeomorphism.

Let T, S be topological spaces and let f be a map from T into S. We say that f is open if and only if: (Def.2) For every subset A of T such that A is open holds f^{∘}A is open.

Let T be a topological space. The functor Indiscernibility(T) yielding an equivalence relation of the carrier of T is defined by the condition (Def.3). (Def.3) Let p, q be points of T. Then ⟨⟨p, q⟩⟩ ∈ Indiscernibility(T) if and only if

for every subset A of T such that A is open holds p ∈ A iff q ∈ A. Let T be a topological space. The functor T_{/ Indiscernibility T} yields a non empty

partition of the carrier of T and is defined as follows: (Def.4) T_{/ Indiscernibility T} = Classes Indiscernibility(T).

Let T be a topological space. The functor T_{0}-reflex(T) yields a topological space and is defined as follows: (Def.5) T_{0}-reflex(T) = the decomposition space of T_{/ Indiscernibility T}.

Let T be a topological space. The functor T_{0}-map(T) yielding a continuous map from T into T_{0}-reflex(T) is defined as follows:

(Def.6) T_{0}-map(T) = the projection onto T_{/ Indiscernibility T}.

One can prove the following propositions:

(3) For every topological space T and for every point p of T holds p ∈ (T_{0}-map(T))(p).

(4) For every topological space T holds dom T_{0}-map(T) = the carrier of T and rng T_{0}-map(T) ⊆ the carrier of T_{0}-reflex(T).

(5) Let T be a topological space. Then the carrier of T_{0}-reflex(T) = T_{/ Indiscernibility T} and the topology of T_{0}-reflex(T) = {A : A ranges over subsets of T_{/ Indiscernibility T}, ⋃ A ∈ the topology of T }.

(6) For every topological space T and for every subset V of T_{0}-reflex(T) holds V is open iff ⋃ V ∈ the topology of T.

(7) Let T be a topological space and let C be arbitrary. Then C is a point of T_{0}-reflex(T) if and only if there exists a point p of T such that C = [p]_{Indiscernibility(T)}.

(8) For every topological space T and for every point p of T holds (T_{0}-map(T))(p) = [p]_{Indiscernibility(T)}.

(9) For every topological space T and for all points p, q of T holds (T_{0}-map(T))(q) = (T_{0}-map(T))(p) iff ⟨⟨q, p⟩⟩ ∈ Indiscernibility(T).

(10) Let T be a topological space and let A be a subset of T. Suppose A is open. Let p, q be points of T. If p ∈ A and (T_{0}-map(T))(p) = (T_{0}-map(T))(q), then q ∈ A.

(11) Let T be a topological space and let A be a subset of T. Suppose A is open. Let C be a subset of T. If C ∈ T_{/ Indiscernibility T} and C meets A, then C ⊆ A.

(12) For every topological space T holds T_{0}-map(T) is open.

A topological structure is discernible if it satisfies the condition (Def.7).

(Def.7) Let x, y be points of it. Suppose x ≠ y. Then there exists a subset V

of it such that V is open but x ∈ V and y ∉ V or y ∈ V and x ∉ V. Let us note that there exists a topological space which is discernible. A T_{0}-space is a discernible topological space. One can prove the following propositions:

(13) For every topological space T holds T_{0}-reflex(T) is a T_{0}-space.

(14) Let T, S be topological spaces. Given a map h from T_{0}-reflex(S) into T_{0}-reflex(T) such that h is a homeomorphism and T_{0}-map(T) and h · T_{0}-map(S) are fiberwise equipotent. Then T and S are homeomorphic.

(15) Let T be a topological space, and let T_{0} be a T_{0}-space, and let f be a continuous map from T into T_{0}, and let p, q be points of T. If ⟨⟨p, q⟩⟩ ∈ Indiscernibility(T), then f(p) = f(q).

T_{0} topological spaces 77

(16) Let T be a topological space, and let T_{0} be a T_{0}-space, and let f be a continuous map from T into T_{0}, and let p be a point of T. Then f^{∘}([p]_{Indiscernibility(T)}) = {f(p)}.

(17) Let T be a topological space, and let T_{0} be a T_{0}-space, and let f be a continuous map from T into T_{0}. Then there exists a continuous map h from T_{0}-reflex(T) into T_{0} such that f = h · T_{0}-map(T).

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] Agata Darmochwał. Families of subsets, subspaces and mappings in topological spaces. Formalized Mathematics, 1(2):257–261, 1990.

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

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

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

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

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

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

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

78

Many Sorted Quotient Algebra

Małgorzata Korolkiewicz Warsaw University Białystok

Summary. This article introduces the construction of a many sorted quotient algebra. A few preliminary notions such as a many sorted relation, a many sorted equivalence relation, a many sorted congruence and the set of all classes of a many sorted relation are also formulated.

MML Identifier: MSUALG 4.

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

1. Many Sorted Relation

In this paper S will be a non void non empty many sorted signature and o will be an operation symbol of S.

A function is binary relation yielding if: (Def.1) For arbitrary x such that x ∈ dom it holds it(x) is a binary relation.

Let I be a set. Observe that there exists a many sorted set of I which is binary relation yielding.

Let I be a set. A many sorted relation of I is a binary relation yielding many sorted set of I.

Let I be a set and let A, B be many sorted sets of I. A many sorted set of I is said to be a many sorted relation between A and B if: (Def.2) For arbitrary i such that i ∈ I holds it(i) is a relation between A(i) and

B(i). Let I be a set and let A, B be many sorted sets of I. Note that every many

sorted relation between A and B is binary relation yielding.

Let I be a set and let A be a many sorted set of I. A many sorted relation of A is a many sorted relation between A and A.

Let I be a set and let A be a many sorted set of I. A many sorted relation of A is equivalence if it satisfies the condition (Def.3). (Def.3) Let i be arbitrary and let R be a binary relation on A(i). If i ∈ I and

it(i) = R, then R is an equivalence relation of A(i). Let I be a non empty set, let A, B be many sorted sets of I, let F be a many

sorted relation between A and B, and let i be an element of I. Then F (i) is a relation between A(i) and B(i).

Let S be a non empty many sorted signature and let U_{1} be an algebra over S. (Def.4) A many sorted relation of the sorts of U_{1} is said to be a many sorted

relation of U_{1}. Let S be a non empty many sorted signature and let U_{1} be an algebra over

S. A many sorted relation of U_{1} is equivalence if: (Def.5) It is equivalence.

Let S be a non void non empty many sorted signature and let U_{1} be an algebra over S. Note that there exists a many sorted relation of U_{1} which is equivalence.

One can prove the following proposition

(1) Let S be a non void non empty many sorted signature, and let U_{1} be an algebra over S, and let R be an equivalence many sorted relation of U_{1}, and let s be a sort symbol of S. Then R(s) is an equivalence relation of (the sorts of U_{1})(s).

Let S be a non void non empty many sorted signature and let U_{1} be a nonempty algebra over S. An equivalence many sorted relation of U_{1} is called a congruence of U_{1} if it satisfies the condition (Def.6). (Def.6) Let o be an operation symbol of S and let x, y be elements of

Args(o, U_{1}). Suppose that for every natural number n such that n ∈ dom x holds ⟨⟨x(n), y(n)⟩⟩ ∈ it(π_{n} Arity(o)). Then ⟨⟨(Den(o, U_{1}))(x), (Den(o, U_{1}))(y)⟩⟩ ∈ it(the result sort of o).

Let S be a non void non empty many sorted signature, let U_{1} be an algebra over S, let R be an equivalence many sorted relation of U_{1}, and let i be an element of the carrier of S. Then R(i) is an equivalence relation of (the sorts of U_{1})(i).

Let S be a non void non empty many sorted signature, let U_{1} be an algebra over S, let R be an equivalence many sorted relation of U_{1}, let i be an element of the carrier of S, and let x be an element of (the sorts of U_{1})(i). The functor [x]_{R} yields a subset of (the sorts of U_{1})(i) and is defined by: (Def.7) [x]_{R} = [x]_{R(i)}.

Let us consider S, let U_{1} be a non-empty algebra over S, and let R be a congruence of U_{1}. The functor Classes R yields a non-empty many sorted set of the carrier of S and is defined by: (Def.8) For every element s of the carrier of S holds (Classes R)(s) =

Classes R(s).

2. Many Sorted Quotient Algebra

Let us consider S, let M_{1}, M_{2} be many sorted sets of the operation symbols of S, let F be a many sorted function from M_{1} into M_{2}, and let o be an operation symbol of S. Then F (o) is a function from M_{1}(o) into M_{2}(o).

Let I be a non empty set, let p be a finite sequence of elements of I, and let X be a non-empty many sorted set of I. Then X ·p is a non-empty many sorted set of dom p.

Let us consider S, o, let A be a non-empty algebra over S, let R be a congruence of A, and let x be an element of Args(o, A). The functor R#x yields an element of ∏(Classes R · Arity(o)) and is defined as follows:

(Def.9) For every natural number n such that n ∈ dom Arity(o) holds

(R#x)(n) = [x(n)]_{R(π_{n} Arity(o))}. Let us consider S, o, let A be a non-empty algebra over S, and let R be

a congruence of A. The functor QuotRes(R, o) yielding a function from ((the sorts of A) · (the result sort of S))(o) into (Classes R · (the result sort of S))(o) is defined as follows:

(Def.10) For every element x of (the sorts of A)(the result sort of o) holds

(QuotRes(R, o))(x) = [x]_{R}. The functor QuotArgs(R, o) yielding a function from ((the sorts of A)^{#} · (the arity of S))(o) into ((Classes R)^{#} · (the arity of S))(o) is defined as follows:

(Def.11) For every element x of Args(o, A) holds (QuotArgs(R, o))(x) = R#x.

Let us consider S, let A be a non-empty algebra over S, and let R be a congruence of A. The functor QuotRes(R) yielding a many sorted function from (the sorts of A) · (the result sort of S) into Classes R · (the result sort of S) is defined as follows:

(Def.12) For every operation symbol o of S holds (QuotRes(R))(o) =

QuotRes(R, o). The functor QuotArgs(R) yielding a many sorted function from (the sorts of A)^{#} · (the arity of S) into (Classes R)^{#} · (the arity of S) is defined as follows:

(Def.13) For every operation symbol o of S holds (QuotArgs(R))(o) =

QuotArgs(R, o). Next we state the proposition

(2) Let A be a non-empty algebra over S, and let R be a congruence of A, and let x be arbitrary. Suppose x ∈ ((Classes R)^{#} · (the arity of S))(o). Then there exists an element a of Args(o, A) such that x = R#a.

Let us consider S, o, let A be a non-empty algebra over S, and let R be a congruence of A. The functor QuotCharact(R, o) yields a function from ((Classes R)^{#} · (the arity of S))(o) into (Classes R · (the result sort of S))(o) and is defined as follows:

(Def.14) For every element a of Args(o, A) such that R#a ∈ ((Classes R)^{#} · (the arity of S))(o) holds (QuotCharact(R, o))(R#a) = (QuotRes(R, o) · Den(o, A))(a).

Let us consider S, let A be a non-empty algebra over S, and let R be a congruence of A. The functor QuotCharact(R) yielding a many sorted function from (Classes R)^{#}·(the arity of S) into Classes R·(the result sort of S) is defined as follows:

(Def.15) For every operation symbol o of S holds (QuotCharact(R))(o) =

QuotCharact(R, o). Let us consider S, let U_{1} be a non-empty algebra over S, and let R be

a congruence of U_{1}. The functor QuotMSAlg(R) yielding a strict non-empty algebra over S is defined by:

(Def.16) QuotMSAlg(R) = ⟨Classes R, QuotCharact(R)⟩.

Let us consider S, let U_{1} be a non-empty algebra over S, let R be a congruence of U_{1}, and let s be a sort symbol of S. The functor MSNatHom(U_{1}, R, s) yielding a function from (the sorts of U_{1})(s) into (Classes R)(s) is defined as follows:

(Def.17) For arbitrary x such that x ∈ (the sorts of U_{1})(s) holds

(MSNatHom(U_{1}, R, s))(x) = [x]_{R(s)}. Let us consider S, let U_{1} be a non-empty algebra over S, and let R be

a congruence of U_{1}. The functor MSNatHom(U_{1}, R) yielding a many sorted function from U_{1} into QuotMSAlg(R) is defined by:

(Def.18) For every sort symbol s of S holds (MSNatHom(U_{1}, R))(s) =

MSNatHom(U_{1}, R, s). Next we state the proposition

(3) Let S be a non void non empty many sorted signature, and let U_{1} be a non-empty algebra over S, and let R be a congruence of U_{1}. Then MSNatHom(U_{1}, R) is an epimorphism of U_{1} onto QuotMSAlg(R).

Let us consider S, let U_{1}, U_{2} be non-empty algebras over S, let F be a many sorted function from U_{1} into U_{2}, and let s be a sort symbol of S. The functor Congruence(F, s) yields an equivalence relation of (the sorts of U_{1})(s) and is defined as follows:

(Def.19) For all elements x, y of (the sorts of U_{1})(s) holds ⟨⟨x, y⟩⟩ ∈

Congruence(F, s) iff F (s)(x) = F (s)(y). Let us consider S, 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}. Let us assume that F is a homomorphism of U_{1} into U_{2}. The functor Congruence(F) yielding a congruence of U_{1} is defined by:

(Def.20) For every sort symbol s of S holds (Congruence(F))(s) =

Congruence(F, s). Let us consider S, let U_{1}, U_{2} be non-empty algebras over S, let F be a many

sorted function from U_{1} into U_{2}, and let s be a sort symbol of S. Let us assume that F is a homomorphism of U_{1} into U_{2}. The functor MSHomQuot(F, s) yields a function from (the sorts of QuotMSAlg(Congruence(F)))(s) into (the sorts of U_{2})(s) and is defined as follows:

(Def.21) For every element x of (the sorts of U_{1})(s) holds (MSHomQuot(F, s)) ([x]_{Congruence(F,s)}) = F (s)(x).

Let us consider S, 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}. Let us assume that F is a homomorphism of U_{1} into U_{2}. The functor MSHomQuot(F) yields a many sorted function from QuotMSAlg(Congruence(F)) into U_{2} and is defined by:

(Def.22) For every sort symbol s of S holds (MSHomQuot(F))(s) = MSHomQuot(F, s).

The following propositions are true:

(4) Let S be a non void non empty many sorted signature, and 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}. Suppose F is a homomorphism of U_{1} into U_{2}. Then MSHomQuot(F) is a monomorphism of QuotMSAlg(Congruence(F)) into U_{2}.

(5) Let S be a non void non empty many sorted signature, and 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}. Suppose F is an epimorphism of U_{1} onto U_{2}. Then MSHomQuot(F) is an isomorphism of QuotMSAlg(Congruence(F)) and U_{2}.

(6) Let S be a non void non empty many sorted signature, and 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}. If F is an epimorphism of U_{1} onto U_{2}, then QuotMSAlg(Congruence(F)) and U_{2} are isomorphic.

References

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

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

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

[4] Czesław Byliński. Finite sequences and tuples of elements of a non-empty sets. Formalized Mathematics, 1(3):529–536, 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] 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] Beata Madras. Products of many sorted algebras. Formalized Mathematics, 5(1):55–60, 1996.

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

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

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

84 małgorzata korolkiewicz

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

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

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

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

Quantales

Grzegorz Bancerek Institute of Mathematics Polish Academy of Sciences

Summary. The concepts of Girard quantales (see [10] and [15]) and Blikle nets (see [5]) are introduced.

MML Identifier: QUANTAL1.

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

Let X be a set and let Y be a subset of 2^{X}. Then ⋃ Y is a subset of X. In this article we present several logical schemes. The scheme DenestFraenkel

concerns a non empty set A, a non empty set B, a unary functor F yielding arbitrary, a unary functor G yielding an element of B, and a unary predicate P, and states that:

{F(a) : a ranges over elements of B, a ∈ {G(b) : b ranges over elements of A, P[b]}} = {F(G(a)) : a ranges over elements of A, P[a]}

for all values of the parameters.

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

{F(a) : a ranges over elements of A, P[a]} = ∅ provided the following requirement is met:

• It is not true that there exists an element a of A such that P[a]. We now state two propositions:

(1) Let L_{1}, L_{2} be non empty lattice structures. Suppose the lattice structure of L_{1} = the lattice structure of L_{2}. Let a_{1}, b_{1} be elements of L_{1}, and let a_{2}, b_{2} be elements of L_{2}, and let X be a set. Suppose a_{1} = a_{2} and b_{1} = b_{2}. Then a_{1} ⊔ b_{1} = a_{2} ⊔ b_{2} and a_{1} ⊓ b_{1} = a_{2} ⊓ b_{2} and a_{1} ⊑ b_{1} iff a_{2} ⊑ b_{2}.

(2) Let L_{1}, L_{2} be non empty lattice structures. Suppose the lattice structure of L_{1} = the lattice structure of L_{2}. Let a be an element of L_{1}, and let b be an element of L_{2}, and let X be a set. If a = b, then a ⊑ X iff b ⊑ X and a ⊒ X iff b ⊒ X.

Let L be a 1-sorted structure. A binary operation on L is a binary operation on the carrier of L. A unary operation on L is a unary operation on the carrier of L.

Let L be a non empty lattice structure and let X be a subset of L. We say that X is directed if and only if: (Def.1) For every finite subset Y of X there exists an element x of L such that

⨆_{L} Y ⊑ x and x ∈ X. The following proposition is true

(3) For every non empty lattice structure L and for every subset X of L such that X is directed holds X is non empty.

We introduce quantale structures which are extensions of lattice structure and half group structure and are systems

⟨ a carrier, a join operation, a meet operation, a multiplication ⟩, where the carrier is a set and the join operation, the meet operation, and the multiplication are binary operations on the carrier.

Let us mention that there exists a quantale structure which is non empty. We consider quasinet structures as extensions of quantale structure and mul-

tiplicative loop structure as systems

⟨ a carrier, a join operation, a meet operation, a multiplication, a unity ⟩, where the carrier is a set, the join operation, the meet operation, and the multiplication are binary operations on the carrier, and the unity is an element of the carrier.

Let us note that there exists a quasinet structure which is non empty. A non empty half group structure has left-zero if:

(Def.2) There exists an element a of it such that for every element b of it holds

a · b = a. A non empty half group structure has right-zero if: (Def.3) There exists an element b of it such that for every element a of it holds

a · b = b. A non empty half group structure has zero if:

(Def.4) It has left-zero and right-zero.

One can verify that every non empty half group structure which has zero has also left-zero and right-zero and every non empty half group structure which has left-zero and right-zero has also zero.

Let us note that there exists a non empty half group structure has zero. A non empty quantale structure is right-distributive if:

(Def.5) For every element a of it and for every set X holds a⊗⨆_{it} X = ⨆_{it}{a⊗b :

b ranges over elements of it, b ∈ X}. A non empty quantale structure is left-distributive if: (Def.6) For every element a of it and for every set X holds ⨆_{it} X⊗a = ⨆_{it}{b⊗a :

b ranges over elements of it, b ∈ X}.

A non empty quantale structure is ⊗-additive if: (Def.7) For all elements a, b, c of it holds (a ⊔ b) ⊗ c = a ⊗ c ⊔ b ⊗ c and

c ⊗ (a ⊔ b) = c ⊗ a ⊔ c ⊗ b. A non empty quantale structure is ⊗-continuous if it satisfies the condition (Def.8). (Def.8) Let X_{1}, X_{2} be subsets of it. Suppose X_{1} is directed and X_{2} is directed.

Then ⨆ X_{1} ⊗ ⨆ X_{2} = ⨆_{it}{a ⊗ b : a ranges over elements of it, b ranges over elements of it, a ∈ X_{1} ∧ b ∈ X_{2}}.

The following proposition is true

(4) Let Q be a non empty quantale structure. Suppose the lattice structure of Q = the lattice of subsets of ∅. Then Q is associative commutative unital complete right-distributive left-distributive and lattice-like and has zero.

Let A be a non empty set and let b_{1}, b_{2}, b_{3} be binary operations on A. Note that ⟨A, b_{1}, b_{2}, b_{3}⟩ is non empty.

Let us observe that there exists a non empty quantale structure which is associative commutative unital left-distributive right-distributive complete and lattice-like and has zero.

The scheme LUBFraenkelDistr deals with a complete lattice-like non empty quantale structure A, a binary functor F yielding an element of A, and sets B, C, and states that:

⨆_{A}{⨆_{A}{F(a, b) : b ranges over elements of A, b ∈ C} : a ranges over elements of A, a ∈ B} = ⨆_{A}{F(a, b) : a ranges over elements of A, b ranges over elements of A, a ∈ B ∧ b ∈ C}

for all values of the parameters.

In the sequel Q denotes a left-distributive right-distributive complete latticelike non empty quantale structure and a, b, c denote elements of Q.

Next we state two propositions:

(5) For every Q and for all sets X, Y holds ⨆_{Q} X ⊗ ⨆_{Q} Y = ⨆_{Q}{a ⊗ b : a ∈ X ∧ b ∈ Y }.

(6) (a ⊔ b) ⊗ c = a ⊗ c ⊔ b ⊗ c and c ⊗ (a ⊔ b) = c ⊗ a ⊔ c ⊗ b.

Let A be a non empty set, let b_{1}, b_{2}, b_{3} be binary operations on A, and let e be an element of A. Observe that ⟨A, b_{1}, b_{2}, b_{3}, e⟩ is non empty.

One can verify that there exists a non empty quasinet structure which is complete and lattice-like.

Let us note that every complete lattice-like non empty quasinet structure which is left-distributive and right-distributive is also ⊗-continuous and ⊗- additive.

Let us observe that there exists a non empty quasinet structure which is associative commutative well unital left-distributive right-distributive complete and lattice-like and has zero and left-zero.

A quantale is an associative left-distributive right-distributive complete lattice-like non empty quantale structure. A quasinet is a well unital associative ⊗-continuous ⊗-additive complete lattice-like non empty quasinet structure with left-zero.

A Blikle net is a non empty quasinet with zero.

The following proposition is true

(7) For every well unital non empty quasinet structure Q such that Q is a quantale holds Q is a Blikle net.

We adopt the following rules: Q will be a quantale and a, b, c, d, D will be elements of Q.

The following propositions are true:

(8) If a ⊑ b, then a ⊗ c ⊑ b ⊗ c and c ⊗ a ⊑ c ⊗ b.

(9) If a ⊑ b and c ⊑ d, then a ⊗ c ⊑ b ⊗ d.

Let A be a non empty set. A unary operation on A is idempotent if: (Def.9) For every element a of A holds it(it(a)) = it(a).

Let L be a non empty lattice structure. A unary operation on L is inflationary if:

(Def.10) For every element p of L holds p ⊑ it(p).

A unary operation on L is deflationary if: (Def.11) For every element p of L holds it(p) ⊑ p.

A unary operation on L is monotone if: (Def.12) For all elements p, q of L such that p ⊑ q holds it(p) ⊑ it(q).

A unary operation on L is ⨆ -distributive if: (Def.13) For every subset X of L holds it(⨆ X) ⊑ ⨆_{L}{it(a) : a ranges over

elements of L, a ∈ X}. We now state the proposition

(10) Let L be a complete lattice and let j be a unary operation on L. Suppose j is monotone. Then j is ⨆ -distributive if and only if for every subset X of L holds j(⨆ X) = ⨆_{L}{j(a) : a ranges over elements of L, a ∈ X}.

Let Q be a non empty quantale structure. A unary operation on Q is ⊗- monotone if:

(Def.14) For all elements a, b of Q holds it(a) ⊗ it(b) ⊑ it(a ⊗ b).

Let Q be a non empty quantale structure and let a, b be elements of Q. The functor a →_{r} b yields an element of Q and is defined by:

(Def.15) a →_{r} b = ⨆_{Q}{c : c ranges over elements of Q, c ⊗ a ⊑ b}.

The functor a →_{l} b yields an element of Q and is defined by: (Def.16) a →_{l} b = ⨆_{Q}{c : c ranges over elements of Q, a ⊗ c ⊑ b}.

One can prove the following propositions:

(11) a ⊗ b ⊑ c iff b ⊑ a →_{l} c.

(12) a ⊗ b ⊑ c iff a ⊑ b →_{r} c.

(13) For every quantale Q and for all elements s, a, b of Q such that a ⊑ b holds b →_{r} s ⊑ a →_{r} s and b →_{l} s ⊑ a →_{l} s.

(14) Let Q be a quantale, and let s be an element of Q, and let j be a unary operation on Q. If for every element a of Q holds j(a) = (a →_{r} s) →_{r} s, then j is monotone.

Let Q be a non empty quantale structure. An element of Q is dualizing if: (Def.17) For every element a of Q holds (a →_{r} it) →_{l} it = a and (a →_{l} it) →_{r}

it = a. An element of Q is cyclic if:

(Def.18) For every element a of Q holds a →_{r} it = a →_{l} it.

We now state several propositions:

(15) c is cyclic iff for all a, b such that a ⊗ b ⊑ c holds b ⊗ a ⊑ c.

(16) For every quantale Q and for all elements s, a of Q such that s is cyclic holds a ⊑ (a →_{r} s) →_{r} s and a ⊑ (a →_{l} s) →_{l} s.

(17) For every quantale Q and for all elements s, a of Q such that s is cyclic holds a →_{r} s = ((a →_{r} s) →_{r} s) →_{r} s and a →_{l} s = ((a →_{l} s) →_{l} s) →_{l} s.

(18) For every quantale Q and for all elements s, a, b of Q such that s is cyclic holds ((a →_{r} s) →_{r} s) ⊗ ((b →_{r} s) →_{r} s) ⊑ (a ⊗ b →_{r} s) →_{r} s.

(19) If D is dualizing, then Q is unital and 1_{the multiplication of Q} = D →_{r} D and 1_{the multiplication of Q} = D →_{l} D.

(20) If a is dualizing, then b →_{r} c = b ⊗ (c →_{l} a) →_{r} a and b →_{l} c = (c →_{r}

a) ⊗ b →_{l} a. We introduce Girard quantale structures which are extensions of quasinet

structure and are systems

⟨ a carrier, a join operation, a meet operation, a multiplication, a unity, absurd ⟩, where the carrier is a set, the join operation, the meet operation, and the multiplication are binary operations on the carrier, and the unity and the absurd constitute elements of the carrier.

One can check that there exists a Girard quantale structure which is non empty.

A non empty Girard quantale structure is cyclic if: (Def.19) The absurd of it is cyclic.

A non empty Girard quantale structure is dualized if: (Def.20) The absurd of it is dualizing.

The following proposition is true

(21) Let Q be a non empty Girard quantale structure. Suppose the lattice

structure of Q = the lattice of subsets of ∅. Then Q is cyclic and dualized. Let A be a non empty set, let b_{1}, b_{2}, b_{3} be binary operations on A, and let

e_{1}, e_{2} be elements of A. One can verify that ⟨A, b_{1}, b_{2}, b_{3}, e_{1}, e_{2}⟩ is non empty.

Let us note that there exists a non empty Girard quantale structure which is associative commutative well unital left-distributive right-distributive complete lattice-like cyclic dualized and strict.

A Girard quantale is an associative well unital left-distributive rightdistributive complete lattice-like cyclic dualized non empty Girard quantale structure.

Let G be a Girard quantale structure. The functor ⊥_{G} yielding an element of G is defined as follows:

(Def.21) ⊥_{G} = the absurd of G.

Let G be a non empty Girard quantale structure. The functor ⊤_{G} yielding an element of G is defined by:

(Def.22) ⊤_{G} = ⊥_{G} →_{r} ⊥_{G}.

Let a be an element of G. The functor ⊥_{a} yielding an element of G is defined by:

(Def.23) ⊥_{a} = a →_{r} ⊥_{G}.

Let G be a non empty Girard quantale structure. The functor Negation(G) yields a unary operation on G and is defined as follows:

(Def.24) For every element a of G holds (Negation(G))(a) = ⊥_{a}.

Let G be a non empty Girard quantale structure and let u be a unary operation on G. The functor ⊥_{u} yielding a unary operation on G is defined by:

(Def.25) ⊥_{u} = Negation(G) · u.

Let G be a non empty Girard quantale structure and let o be a binary operation on G. The functor ⊥_{o} yields a binary operation on G and is defined as follows:

(Def.26) ⊥_{o} = Negation(G) · o.

We adopt the following convention: Q denotes a Girard quantale, a, a_{1}, a_{2}, b, b_{1}, b_{2}, c denote elements of Q, and X denotes a set.

We now state several propositions:

(22) ⊥_{⊥_{a}} = a.

(23) If a ⊑ b, then ⊥_{b} ⊑ ⊥_{a}.

(24) ⊥_{⨆_{Q} X} = ⌈−⌉_{Q}{⊥_{a} : a ∈ X}.

(25) ⊥_{⌈−⌉_{Q}X} = ⨆_{Q}{⊥_{a} : a ∈ X}.

(26) ⊥_{a⊔b} = ⊥_{a} ⊓ ⊥_{b} and ⊥_{a⊓b} = ⊥_{a} ⊔ ⊥_{b}.

Let us consider Q, a, b. The functor a ℘ b yields an element of Q and is defined as follows:

(Def.27) a ℘ b = ⊥_{⊥_{a}⊗⊥_{b}}.

We now state several propositions:

(27) a ⊗ ⨆_{Q} X = ⨆_{Q}{a ⊗ b : b ∈ X} and a ℘ ⌈−⌉_{Q}X = ⌈−⌉_{Q}{a ℘ c : c ∈ X}.

(28) ⨆_{Q} X ⊗ a = ⨆_{Q}{b ⊗ a : b ∈ X} and ⌈−⌉_{Q}X ℘ a = ⌈−⌉_{Q}{c ℘ a : c ∈ X}.

(29) a ℘ b ⊓ c = (a ℘ b) ⊓ (a ℘ c) and b ⊓ c ℘ a = (b ℘ a) ⊓ (c ℘ a).

(30) If a_{1} ⊑ b_{1} and a_{2} ⊑ b_{2}, then a_{1} ℘ a_{2} ⊑ b_{1} ℘ b_{2}.

(31) (a ℘ b) ℘ c = a ℘ (b ℘ c).

(32) a ⊗ ⊤_{Q} = a and ⊤_{Q} ⊗ a = a.

quantales 91

(33) a ℘ ⊥_{Q} = a and ⊥_{Q} ℘ a = a.

(34) Let Q be a quantale and let j be a unary operation on Q. Suppose j is monotone idempotent and ⨆ -distributive. Then there exists a complete lattice L such that the carrier of L = rng j and for every subset X of L holds ⨆ X = j(⨆_{Q} X).

References

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

[2] Grzegorz Bancerek. Filters - part I. Formalized Mathematics, 1(5):813–819, 1990.

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

[4] Grzegorz Bancerek. Monoids. Formalized Mathematics, 3(2):213–225, 1992.

[5] A. Blikle. An analysis of programs by algebraic means. Banach Center Publications, 2:167–213.

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

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

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

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

[10] J.-Y. Girard. Liniear logic. Theoretical Computer Science, 50(1):1–102, 1987.

[11] Eugeniusz Kusak, Wojciech Leończuk, and Michał Muzalewski. Abelian groups, fields and vector spaces. Formalized Mathematics, 1(2):335–342, 1990.

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

[13] Wojciech A. Trybulec. Groups. Formalized Mathematics, 1(5):821–827, 1990.

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

[15] Davide N. Yetter. Quantales and (noncommutative) linear logic. The Journal of Symbolic Logic, 55(1):41–64, March 1990.

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

92

Sequences in E_{T}^{N}

Agnieszka Sakowicz Warsaw University

Białystok Jarosław Gryko Warsaw University Białystok Adam Grabowski Warsaw University Białystok

MML Identifier: TOPRNS 1.

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

For simplicity we adopt the following rules: f denotes a function, N, n, m denote natural numbers, q, r, r_{1}, r_{2} denote real numbers, x is arbitrary, and w, w_{1}, w_{2}, g denote points of E_{T}^{N}.

Let us consider N. A sequence in E_{T}^{N} is a function from into the carrier of E_{T}^{N}.

In the sequel s_{1}, s_{2}, s_{3}, s_{4}, s′_{1} are sequences in E_{T}^{N} . Next we state two propositions:

(1) f is a sequence in E_{T}^{N} if and only if dom f = and for every x such that x ∈ holds f(x) is a point of E_{T}^{N}.

(2) f is a sequence in E_{T}^{N} iff dom f = and for every n holds f(n) is a point of E_{T}^{N}.

Let us consider N, s_{1}, n. Then s_{1}(n) is a point of E_{T}^{N}. Let us consider N. A sequence in E_{T}^{N} is non-zero if:

(Def.1) rng it ⊆ (the carrier of E_{T}^{N}) \ {0_{E_{T}^{N}} }. We now state several propositions:

(3) s_{1} is non-zero iff for every x such that x ∈ holds s_{1}(x) ≠ 0_{E_{T}^{N}} .

(4) s_{1} is non-zero iff for every n holds s_{1}(n) ≠ 0_{E_{T}^{N}} .

(5) For all N, s_{1}, s_{2} such that for every x such that x ∈ holds s_{1}(x) = s_{2}(x) holds s_{1} = s_{2}.

(6) For all N, s_{1}, s_{2} such that for every n holds s_{1}(n) = s_{2}(n) holds s_{1} = s_{2}.

(7) For every point w of E_{T}^{N} there exists s_{1} such that rng s_{1} = {w}. The scheme ExTopRealNSeq deals with a natural number A and a unary

functor F yielding a point of E_{T}^{A}, and states that:

There exists a sequence s_{1} in E_{T}^{A} such that for every n holds s_{1}(n) = F(n)

for all values of the parameters.

Let us consider N, s_{2}, s_{3}. The functor s_{2} + s_{3} yielding a sequence in E_{T}^{N} is defined by: (Def.2) For every n holds (s_{2} + s_{3})(n) = s_{2}(n) + s_{3}(n).

Let us consider r, N, s_{1}. The functor r · s_{1} yields a sequence in E_{T}^{N} and is defined by: (Def.3) For every n holds (r · s_{1})(n) = r · s_{1}(n).

Let us consider N, s_{1}. The functor −s_{1} yields a sequence in E_{T}^{N} and is defined as follows: (Def.4) For every n holds (−s_{1})(n) = −s_{1}(n).

Let us consider N, s_{2}, s_{3}. The functor s_{2} − s_{3} yields a sequence in E_{T}^{N} and is defined by: (Def.5) s_{2} − s_{3} = s_{2} + −s_{3}.

Let us consider N and let x be a point of E_{T}^{N}. The functor |x| yields a real number and is defined by: (Def.6) There exists a finite sequence y of elements of such that x = y and

|x| = |y|. Let us consider N, s_{1}. The functor |s_{1}| yielding a sequence of real numbers

is defined by: (Def.7) For every n holds |s_{1}|(n) = |s_{1}(n)|.

We now state a number of propositions:

(8) |r| · |w| = |r · w|.

(9) |r · s_{1}| = |r| |s_{1}|.

(10) s_{2} + s_{3} = s_{3} + s_{2}.

(11) (s_{2} + s_{3}) + s_{4} = s_{2} + (s_{3} + s_{4}).

(12) −s_{1} = (−1) · s_{1}.

(13) r · (s_{2} + s_{3}) = r · s_{2} + r · s_{3}.

(14) (r · q) · s_{1} = r · (q · s_{1}).

(15) r · (s_{2} − s_{3}) = r · s_{2} − r · s_{3}.

(16) s_{2} − (s_{3} + s_{4}) = s_{2} − s_{3} − s_{4}.

(17) 1 · s_{1} = s_{1}.

(18) −−s_{1} = s_{1}.

(19) s_{2} − −s_{3} = s_{2} + s_{3}.

(20) s_{2} − (s_{3} − s_{4}) = (s_{2} − s_{3}) + s_{4}.

(21) s_{2} + (s_{3} − s_{4}) = (s_{2} + s_{3}) − s_{4}.

(22) If r ≠ 0 and s_{1} is non-zero, then r · s_{1} is non-zero.

(23) If s_{1} is non-zero, then −s_{1} is non-zero.

(24) |0_{E_{T}^{N}} | = 0.

sequences in E_{T}^{n} 95

(25) If |w| = 0, then w = 0_{E_{T}^{N}} .

(26) |w| ≥ 0.

(27) |−w| = |w|.

(28) |w_{1} − w_{2}| = |w_{2} − w_{1}|.

(29) |w_{1} − w_{2}| = 0 iff w_{1} = w_{2}.

(30) |w_{1} + w_{2}| ≤ |w_{1}| + |w_{2}|.

(31) |w_{1} − w_{2}| ≤ |w_{1}| + |w_{2}|.

(32) |w_{1}| − |w_{2}| ≤ |w_{1} + w_{2}|.

(33) |w_{1}| − |w_{2}| ≤ |w_{1} − w_{2}|.

(34) If w_{1} ≠ w_{2}, then |w_{1} − w_{2}| > 0.

(35) |w_{1} − w_{2}| ≤ |w_{1} − w| + |w − w_{2}|.

(36) If 0 ≤ |w_{1}| and 0 ≤ r_{1} and |w_{1}| < |w_{2}| and r_{1} < r_{2}, then |w_{1}| · r_{1} < |w_{2}| · r_{2}.

(38)^{1} −|w| < r and r < |w| iff |r| < |w|.

Let us consider N. A sequence in E_{T}^{N} is bounded if: (Def.8) There exists r such that for every n holds |it(n)| < r.

The following proposition is true

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

m ≤ n holds |s_{1}(m)| < r. Let us consider N. A sequence in E_{T}^{N} is convergent if:

(Def.9) There exists g such that for every r such that 0 < r there exists n such

that for every m such that n ≤ m holds |it(m) − g| < r. Let us consider N, s_{1}. Let us assume that s_{1} is convergent. The functor

lim s_{1} yields a point of E_{T}^{N} and is defined by: (Def.10) For every r such that 0 < r there exists n such that for every m such

that n ≤ m holds |s_{1}(m) − lim s_{1}| < r. The following propositions are true:

(40) Suppose s_{1} is convergent. Then lim s_{1} = g if and only if for every r such that 0 < r there exists n such that for every m such that n ≤ m holds |s_{1}(m) − g| < r.

(41) If s_{1} is convergent and s′_{1} is convergent, then s_{1} + s′_{1} is convergent.

(42) If s_{1} is convergent and s′_{1} is convergent, then lim(s_{1} + s′_{1}) = lim s_{1} + lim s′_{1}.

(43) If s_{1} is convergent, then r · s_{1} is convergent.

(44) If s_{1} is convergent, then lim(r · s_{1}) = r · lim s_{1}.

(45) If s_{1} is convergent, then −s_{1} is convergent.

(46) If s_{1} is convergent, then lim(−s_{1}) = −lim s_{1}.

(47) If s_{1} is convergent and s′_{1} is convergent, then s_{1} − s′_{1} is convergent.

1The proposition (37) has been removed.

96 agnieszka sakowicz et al.

(48) If s_{1} is convergent and s′_{1} is convergent, then lim(s_{1} − s′_{1}) = lim s_{1} − lim s′_{1}.

(50)^{2} If s_{1} is convergent, then s_{1} is bounded.

(51) If s_{1} is convergent, then if lim s_{1} ≠ 0_{E_{T}^{N}} , then there exists n such that

for every m such that n ≤ m holds \frac{| lim s_{1}|}{2} < |s_{1}(m)|.

References

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

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

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

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

[5] Czesław Byliński. The sum and product of finite sequences of real numbers. Formalized Mathematics, 1(4):661–668, 1990.

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

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

[8] Jarosław Kotowicz. Real sequences and basic operations on them. Formalized Mathematics, 1(2):269–272, 1990.

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

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

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

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

Received May 10, 1994

2The proposition (49) has been removed.

Extremal Properties of Vertices on Special Polygons, Part I

Yatsuka Nakamura Shinshu University Nagano Czesław Byliński Warsaw University Białystok

Summary. First, extremal properties of endpoints of line segments in n-dimensional Euclidean space are discussed. Some topological properties of line segments are also discussed. Secondly, extremal properties of vertices of special polygons which consist of horizontal and vertical line segments in 2-dimensional Euclidean space, are also derived.

MML Identifier: SPPOL 1.

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

1. Preliminaries

One can prove the following propositions:

(1) For every finite sequence f holds f is trivial iff len f < 2.

(2) For every finite set A holds A is trivial iff card A < 2.

(3) For every set A holds A is non trivial iff there exist arbitrary a_{1}, a_{2} such that a_{1} ∈ A and a_{2} ∈ A and a_{1} ≠ a_{2}.

(4) Let D be a non empty set and let A be a subset of D. Then A is non trivial if and only if there exist elements d_{1}, d_{2} of D such that d_{1} ∈ A and d_{2} ∈ A and d_{1} ≠ d_{2}.

We follow a convention: n, i, k, m will denote natural numbers and r, r_{1}, r_{2}, s, s_{1}, s_{2} will denote real numbers.

Next we state a number of propositions:

(5) If n ≤ k, then n − 1 ≤ k and n − 1 < k and n ≤ k + 1 and n < k + 1.

(6) If n < k, then n − 1 ≤ k and n − 1 < k and n + 1 ≤ k and n ≤ k − 1 and n ≤ k + 1 and n < k + 1.

(7) If 1 ≤ k − m and k − m ≤ n, then k − m ∈ Seg n and k − m is a natural number.

(8) If r_{1} ≥ 0 and r_{2} ≥ 0 and r_{1} + r_{2} = 0, then r_{1} = 0 and r_{2} = 0.

(9) If r_{1} ≤ 0 and r_{2} ≤ 0 and r_{1} + r_{2} = 0, then r_{1} = 0 and r_{2} = 0.

(10) If 0 ≤ r_{1} and r_{1} ≤ 1 and 0 ≤ r_{2} and r_{2} ≤ 1 and r_{1} · r_{2} = 1, then r_{1} = 1 and r_{2} = 1.

(11) If r_{1} ≥ 0 and r_{2} ≥ 0 and s_{1} ≥ 0 and s_{2} ≥ 0 and r_{1} · s_{1} + r_{2} · s_{2} = 0, then r_{1} = 0 or s_{1} = 0 but r_{2} = 0 or s_{2} = 0.

(12) If 0 ≤ r and r ≤ 1 and s_{1} ≥ 0 and s_{2} ≥ 0 and r · s_{1} + (1 − r) · s_{2} = 0, then r = 0 and s_{2} = 0 or r = 1 and s_{1} = 0 or s_{1} = 0 and s_{2} = 0.

(13) If r < r_{1} and r < r_{2}, then r < min(r_{1}, r_{2}).

(14) If r > r_{1} and r > r_{2}, then r > max(r_{1}, r_{2}).

In this article we present several logical schemes. The scheme FinSeqFam deals with a non empty set A, a finite sequence B of elements of A, a binary functor F yielding a set, and a unary predicate P, and states that:

{F(B, i) : i ∈ dom B ∧ P[i]} is finite for all values of the parameters.

The scheme FinSeqFam’ concerns a non empty set A, a finite sequence B of elements of A, a binary functor F yielding a set, and a unary predicate P, and states that:

{F(B, i) : 1 ≤ i ∧ i ≤ len B ∧ P[i]} is finite for all values of the parameters.

Next we state several propositions:

(15) For all elements x_{1}, x_{2}, x_{3} of R^{n} holds |x_{1} − x_{2}| − |x_{2} − x_{3}| ≤ |x_{1} − x_{3}|.

(16) For all elements x_{1}, x_{2}, x_{3} of R^{n} holds |x_{2} − x_{1}| − |x_{2} − x_{3}| ≤ |x_{3} − x_{1}|.

(17) Every point of E_{T}^{n} is an element of R^{n} and a point of E^{n}.

(18) Every point of E^{n} is an element of R^{n} and a point of E_{T}^{n}.

(19) Every element of R^{n} is a point of E^{n} and a point of E_{T}^{n}.

2. Properties of line segments

In the sequel p, p_{1}, p_{2}, q_{1}, q_{2} will denote points of E_{T}^{n}.

One can prove the following propositions:

(20) For all points u_{1}, u_{2} of E^{n} and for all elements v_{1}, v_{2} of R^{n} such that v_{1} = u_{1} and v_{2} = u_{2} holds ρ(u_{1}, u_{2}) = |v_{1} − v_{2}|.

(21) For all p, p_{1}, p_{2} such that p ∈ L(p_{1}, p_{2}) there exists r such that 0 ≤ r and r ≤ 1 and p = (1 − r) · p_{1} + r · p_{2}.

(22) For all p_{1}, p_{2}, r such that 0 ≤ r and r ≤ 1 holds (1 − r) · p_{1} + r · p_{2} ∈ L(p_{1}, p_{2}).

(23) Given p_{1}, p_{2} and let P be a non empty subset of E_{T}^{n}. Suppose P is closed and P ⊆ L(p_{1}, p_{2}). Then there exists s such that (1 − s) · p_{1} + s · p_{2} ∈ P and for every r such that 0 ≤ r and r ≤ 1 and (1 − r) · p_{1} + r · p_{2} ∈ P holds s ≤ r.

(24) For all p_{1}, p_{2}, q_{1}, q_{2} such that L(q_{1}, q_{2}) ⊆ L(p_{1}, p_{2}) and p_{1} ∈ L(q_{1}, q_{2}) holds p_{1} = q_{1} or p_{1} = q_{2}.

(25) For all p_{1}, p_{2}, q_{1}, q_{2} such that L(p_{1}, p_{2}) = L(q_{1}, q_{2}) holds p_{1} = q_{1} and p_{2} = q_{2} or p_{1} = q_{2} and p_{2} = q_{1}.

(26) E_{T}^{n} is a T_{2} space.

(27) {p} is closed.

(28) L(p_{1}, p_{2}) is compact.

(29) L(p_{1}, p_{2}) is closed.

Let us consider n, p and let P be a subset of E_{T}^{n}. We say that p is extremal in P if and only if: (Def.1) p ∈ P and for all p_{1}, p_{2} such that p ∈ L(p_{1}, p_{2}) and L(p_{1}, p_{2}) ⊆ P holds

p = p_{1} or p = p_{2}. We now state several propositions:

(30) For all subsets P, Q of E_{T}^{n} such that p is extremal in P and Q ⊆ P and p ∈ Q holds p is extremal in Q.

(31) p is extremal in {p}.

(32) p_{1} is extremal in L(p_{1}, p_{2}).

(33) p_{2} is extremal in L(p_{1}, p_{2}).

(34) If p is extremal in L(p_{1}, p_{2}), then p = p_{1} or p = p_{2}.

3. Alternating special sequences

We follow the rules: P, Q will be subsets of E_{T}^{2}, f, f_{1}, f_{2} will be finite sequences of elements of the carrier of E_{T}^{2}, and p, p_{1}, p_{2}, p_{3}, q will be points of E_{T}^{2}.

The following proposition is true

(35) For all p_{1}, p_{2} such that (p_{1})_{1} ≠ (p_{2})_{1} and (p_{1})_{2} ≠ (p_{2})_{2} there exists p such that p ∈ L(p_{1}, p_{2}) and p_{1} ≠ (p_{1})_{1} and p_{1} ≠ (p_{2})_{1} and p_{2} ≠ (p_{1})_{2} and p_{2} ≠ (p_{2})_{2}.

Let us consider P. We say that P is horizontal if and only if: (Def.2) For all p, q such that p ∈ P and q ∈ P holds p_{2} = q_{2}. We say that P is vertical if and only if: (Def.3) For all p, q such that p ∈ P and q ∈ P holds p_{1} = q_{1}.

Let us observe that every subset of E_{T}^{2} which is non trivial and horizontal is also non vertical and every subset of E_{T}^{2} which is non trivial and vertical is also non horizontal.

Next we state a number of propositions:

(36) p_{2} = q_{2} iff L(p, q) is horizontal.

(37) p_{1} = q_{1} iff L(p, q) is vertical.

(38) If p_{1} ∈ L(p, q) and p_{2} ∈ L(p, q) and (p_{1})_{1} ≠ (p_{2})_{1} and (p_{1})_{2} = (p_{2})_{2}, then L(p, q) is horizontal.

(39) If p_{1} ∈ L(p, q) and p_{2} ∈ L(p, q) and (p_{1})_{2} ≠ (p_{2})_{2} and (p_{1})_{1} = (p_{2})_{1}, then L(p, q) is vertical.

(40) L(f, i) is closed.

(41) If f is special, then L(f, i) is vertical or L(f, i) is horizontal.

(42) If f is one-to-one and 1 ≤ i and i + 1 ≤ len f, then L(f, i) is non trivial.

(43) If f is one-to-one and 1 ≤ i and i + 1 ≤ len f and L(f, i) is vertical, then L(f, i) is non horizontal.

(44) For every f holds {L(f, i) : 1 ≤ i ∧ i ≤ len f} is finite.

(45) For every f holds {L(f, i) : 1 ≤ i ∧ i + 1 ≤ len f} is finite.

(46) For every f holds {L(f, i) : 1 ≤ i ∧ i ≤ len f} is a family of subsets of E_{T}^{2}.

(47) For every f holds {L(f, i) : 1 ≤ i ∧ i + 1 ≤ len f} is a family of subsets of E_{T}^{2}.

(48) For every f such that Q = ⋃{L(f, i) : 1 ≤ i ∧ i + 1 ≤ len f} holds Q is closed.

(49) L̃(f) is closed.

A finite sequence of elements of E_{T}^{2} is alternating if: (Def.4) For every i such that 1 ≤ i and i + 2 ≤ len it holds (π_{i}it)_{1} ≠ (π_{i+2}it)_{1}

and (π_{i}it)_{2} ≠ (π_{i+2}it)_{2}. One can prove the following propositions:

(50) If f is special and alternating and 1 ≤ i and i + 2 ≤ len f and (π_{i}f)_{1} = (π_{i+1}f)_{1}, then (π_{i+1}f)_{2} = (π_{i+2}f)_{2}.

(51) If f is special and alternating and 1 ≤ i and i + 2 ≤ len f and (π_{i}f)_{2} = (π_{i+1}f)_{2}, then (π_{i+1}f)_{1} = (π_{i+2}f)_{1}.

(52) Suppose f is special and alternating and 1 ≤ i and i + 2 ≤ len f and p_{1} = π_{i}f and p_{2} = π_{i+1}f and p_{3} = π_{i+2}f. Then (p_{1})_{1} = (p_{2})_{1} and (p_{3})_{1} ≠ (p_{2})_{1} or (p_{1})_{2} = (p_{2})_{2} and (p_{3})_{2} ≠ (p_{2})_{2}.

(53) Suppose f is special and alternating and 1 ≤ i and i + 2 ≤ len f and p_{1} = π_{i}f and p_{2} = π_{i+1}f and p_{3} = π_{i+2}f. Then (p_{2})_{1} = (p_{3})_{1} and (p_{1})_{1} ≠ (p_{2})_{1} or (p_{2})_{2} = (p_{3})_{2} and (p_{1})_{2} ≠ (p_{2})_{2}.

(54) If f is special and alternating and 1 ≤ i and i + 2 ≤ len f, then L(π_{i}f, π_{i+2}f) ⊈ L(f, i) ∪ L(f, i + 1).

(55) If f is special and alternating and 1 ≤ i and i + 2 ≤ len f and L(f, i) is vertical, then L(f, i + 1) is horizontal.

(56) If f is special and alternating and 1 ≤ i and i + 2 ≤ len f and L(f, i) is horizontal, then L(f, i + 1) is vertical.

extremal properties of vertices on special … 101

(57) Suppose f is special and alternating and 1 ≤ i and i + 2 ≤ len f. Then L(f, i) is vertical and L(f, i + 1) is horizontal or L(f, i) is horizontal and L(f, i + 1) is vertical.

(58) Suppose f is special and alternating and 1 ≤ i and i + 2 ≤ len f and π_{i+1}f ∈ L(p, q) and L(p, q) ⊆ L(f, i) ∪ L(f, i + 1). Then π_{i+1}f = p or π_{i+1}f = q.

(59) If f is special and alternating and 1 ≤ i and i + 2 ≤ len f, then π_{i+1}f is extremal in L(f, i) ∪ L(f, i + 1).

(60) Let u be a point of E^{2}. Suppose f is special and alternating and 1 ≤ i and i + 2 ≤ len f and u = π_{i+1}f and π_{i+1}f ∈ L(p, q) and π_{i+1}f ≠ q and p ∉ L(f, i) ∪ L(f, i + 1). Given s. If s > 0, then there exists p_{3} such that p_{3} ∉ L(f, i) ∪ L(f, i + 1) and p_{3} ∈ L(p, q) and p_{3} ∈ Ball(u, s).

Let us consider f_{1}, f_{2}, P. We say that f_{1} and f_{2} are generators of P if and only if the conditions (Def.5) are satisfied. (Def.5) (i) f_{1} is alternating,

(ii) f_{2} is alternating, (iii) π_{1}f_{1} = π_{1}f_{2}, (iv) π_{len f_{1}}f_{1} = π_{len f_{2}}f_{2},

(v) ⟨π_{2}f_{1}, π_{1}f_{1}, π_{2}f_{2}⟩ is alternating, (vi) ⟨π_{len f_{1}−1}f_{1}, π_{len f_{1}}f_{1}, π_{len f_{2}−1}f_{2}⟩ is alternating, (vii) π_{1}f_{1} ≠ π_{len f_{1}}f_{1}, (viii) L̃(f_{1}) ∩ L̃(f_{2}) = {π_{1}f_{1}, π_{len f_{1}}f_{1}}, and (ix) P = L̃(f_{1}) ∪ L̃(f_{2}). Next we state the proposition

(61) If f_{1} and f_{2} are generators of P and 1 < i and i < len f_{1}, then π_{i}f_{1} is extremal in P.

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] Józef Białas. Group and field definitions. Formalized Mathematics, 1(3):433–439, 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] Agata Darmochwał. Compact spaces. Formalized Mathematics, 1(2):383–386, 1990.

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

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

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

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

102 yatsuka nakamura and czesław byliński

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

[14] Zbigniew Karno. Maximal discrete subspaces of almost discrete topological spaces. Formalized Mathematics, 4(1):125–135, 1993.

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

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

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

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

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

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

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

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

Relocatability ^{1}

Yasushi Tanaka Shinshu University Information Engineering Dept. Nagano

Summary. This article defines the concept of relocating the program part of a finite partial state of SCM (data part stays intact). The relocated program differs from the original program in that all jump instructions are adjusted by the relocation factor and other instructions remain unchanged. The main theorem states that if a program computes a function then the relocated program computes the same function, and vice versa.

MML Identifier: RELOC.

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

1. Relocatability

In this paper j, k, m will be natural numbers.

Let l_{1} be an instruction-location of SCM and let k be a natural number. The functor l_{1} +k yielding an instruction-location of SCM is defined as follows: (Def.1) There exists a natural number m such that l_{1} = i_{m} and l_{1} + k = i_{m+k}. The functor l_{1} −′ k yields an instruction-location of SCM and is defined as follows: (Def.2) There exists a natural number m such that l_{1} = i_{m} and l_{1} −′ k = i_{m−′k}.

The following three propositions are true:

(1) For every instruction-location l_{1} of SCM and for every natural number k holds (l_{1} + k) −′ k = l_{1}.

1This work was done under guidance and supervision of A. Trybulec and P. Rudnicki.

(2) For all instructions-locations l_{2}, l_{3} of SCM 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}).

(3) For all instructions-locations l_{2}, l_{3} of SCM 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).

Let I be an instruction of SCM and let k be a natural number. The functor IncAddr(I, k) yields an instruction of SCM and is defined as follows: (Def.3) (i) IncAddr(I, k) = goto ((^{@}I)address_{j}^{T} + k) if InsCode(I) = 6,

(ii) IncAddr(I, k) = if (^{@}I)address_{c}^{T} = 0 goto (^{@}I)address_{j}^{T} + k if

InsCode(I) = 7, (iii) IncAddr(I, k) = if (^{@}I)address_{c}^{T} > 0 goto (^{@}I)address_{j}^{T} + k if

InsCode(I) = 8, (iv) IncAddr(I, k) = I, otherwise. One can prove the following propositions:

(4) For every natural number k holds IncAddr(halt_{SCM}, k) = halt_{SCM}.

(5) For every natural number k and for all data-locations a, b holds IncAddr(a:=b, k) = a:=b.

(6) For every natural number k and for all data-locations a, b holds IncAddr(AddTo(a, b), k) = AddTo(a, b).

(7) For every natural number k and for all data-locations a, b holds IncAddr(SubFrom(a, b), k) = SubFrom(a, b).

(8) For every natural number k and for all data-locations a, b holds IncAddr(MultBy(a, b), k) = MultBy(a, b).

(9) For every natural number k and for all data-locations a, b holds IncAddr(Divide(a, b), k) = Divide(a, b).

(10) For every natural number k and for every instruction-location l_{1} of SCM holds IncAddr(goto l_{1}, k) = goto (l_{1} + k).

(11) Let k be a natural number, and let l_{1} be an instruction-location of SCM, and let a be a data-location. Then IncAddr(if a = 0 goto l_{1}, k) = if a = 0 goto l_{1} + k.

(12) Let k be a natural number, and let l_{1} be an instruction-location of SCM, and let a be a data-location. Then IncAddr(if a > 0 goto l_{1}, k) = if a > 0 goto l_{1} + k.

(13) For every instruction I of SCM and for every natural number k holds InsCode(IncAddr(I, k)) = InsCode(I).

(14) Let I_{1}, I be instructions of SCM and let k be a natural number. Suppose InsCode(I) = 0 or InsCode(I) = 1 or InsCode(I) = 2 or InsCode(I) = 3 or InsCode(I) = 4 or InsCode(I) = 5 but IncAddr(I_{1}, k) = I. Then I_{1} = I.

Let p be a programmed finite partial state of SCM and let k be a natural number. The functor Shift(p, k) yielding a programmed finite partial state of SCM is defined by: (Def.4) dom Shift(p, k) = {i_{m+k} : i_{m} ∈ dom p} and for every m such that

i_{m} ∈ dom p holds (Shift(p, k))(i_{m+k}) = p(i_{m}). We now state three propositions:

(15) Let l be an instruction-location of SCM, and let k be a natural number, and let p be a programmed finite partial state of SCM. If l ∈ dom p, then (Shift(p, k))(l + k) = p(l).

(16) Let p be a programmed finite partial state of SCM and let k be a natural number. Then dom Shift(p, k) = {i_{1} + k : i_{1} ranges over instructionslocations of SCM, i_{1} ∈ dom p}.

(17) Let p be a programmed finite partial state of SCM and let k be a natural

number. Then dom Shift(p, k) ⊆ the instruction locations of SCM. Let p be a programmed finite partial state of SCM and let k be a natural

number. The functor IncAddr(p, k) yielding a programmed finite partial state of SCM is defined as follows: (Def.5) dom IncAddr(p, k) = dom p and for every m such that i_{m} ∈ dom p holds

(IncAddr(p, k))(i_{m}) = IncAddr(π_{i_{m}}p, k). One can prove the following two propositions:

(18) Let p be a programmed finite partial state of SCM, and let k be a natural number, and let l be an instruction-location of SCM. If l ∈ dom p, then (IncAddr(p, k))(l) = IncAddr(π_{l}p, k).

(19) For every natural number i and for every programmed finite partial

state p of SCM holds Shift(IncAddr(p, i), i) = IncAddr(Shift(p, i), i). Let p be a finite partial state of SCM and let k be a natural number. The

functor Relocated(p, k) yielding a finite partial state of SCM is defined as follows: (Def.6) Relocated(p, k) = Start-At(IC_{p} + k) +· IncAddr(Shift(ProgramPart(p),

k), k) +· DataPart(p). Next we state a number of propositions:

(20) For every finite partial state p of SCM holds dom IncAddr(Shift(ProgramPart(p), k), k) ⊆ Instr-Loc_{SCM}.

(21) For every finite partial state p of SCM and for every natural number k holds DataPart(Relocated(p, k)) = DataPart(p).

(22) For every finite partial state p of SCM and for every natural number k holds ProgramPart(Relocated(p, k)) = IncAddr(Shift(ProgramPart(p), k), k).

(23) For every finite partial state p of SCM holds dom ProgramPart(Relocated(p, k)) = {i_{j+k} : i_{j} ∈ dom ProgramPart(p)}.

(24) Let p be a finite partial state of SCM, and let k be a natural number, and let l be an instruction-location of SCM. Then l ∈ dom p if and only if l + k ∈ dom Relocated(p, k).

(25) For every finite partial state p of SCM and for every natural number k holds IC_{SCM} ∈ dom Relocated(p, k).

(26) For every finite partial state p of SCM and for every natural number k holds IC_{Relocated(p,k)} = IC_{p} + k.

(27) Let p be a finite partial state of SCM, and let k be a natural number, and let l_{1} be an instruction-location of SCM, and let I be an instruction of SCM. If l_{1} ∈ dom ProgramPart(p) and I = p(l_{1}), then IncAddr(I, k) = (Relocated(p, k))(l_{1} + k).

(28) For every finite partial state p of SCM and for every natural number k holds Start-At(IC_{p} + k) ⊆ Relocated(p, k).

(29) Let s be a data-only finite partial state of SCM, and let p be a finite partial state of SCM, and let k be a natural number. If IC_{SCM} ∈ dom p, then Relocated(p +· s, k) = Relocated(p, k) +· s.

(30) Let k be a natural number, and let p be an autonomic finite partial state of SCM, and let s_{1}, s_{2} be states of SCM. If p ⊆ s_{1} and Relocated(p, k) ⊆ s_{2}, then p ⊆ s_{1} +· s_{2} Data-Loc_{SCM}.

(31) For every state s of SCM holds Exec(IncAddr(CurInstr(s), k), s +· Start-At(IC_{s} + k)) = Following(s) +· Start-At(IC_{Following(s)} + k).

(32) Let I_{2} be an instruction of SCM, and let s be a state of SCM, and let p be a finite partial state of SCM, and let i, j, k be natural numbers. If IC_{s} = i_{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).

2. Main theorems of Relocatability

Next we state several propositions:

(33) Let k be a natural number and let p be an autonomic finite partial state of SCM. Suppose IC_{SCM} ∈ dom p. Let s be a state of SCM. 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)).

(34) Let k be a natural number, and let p be an autonomic finite partial state of SCM, and let s_{1}, s_{2}, s_{3} be states of SCM. Suppose IC_{SCM} ∈ dom p and p ⊆ s_{1} and Relocated(p, k) ⊆ s_{2} and s_{3} = s_{1} +· s_{2} Data-Loc_{SCM}. 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) Data-Loc_{SCM} = (Computation(s_{2}))(i) Data-Loc_{SCM}.

(35) Let p be an autonomic finite partial state of SCM and let k be a natural number. If IC_{SCM} ∈ dom p, then p is halting iff Relocated(p, k) is halting.

(36) Let k be a natural number and let p be an autonomic finite partial state of SCM. Suppose IC_{SCM} ∈ dom p. Let s be a

relocatability 107

state of SCM. Suppose Relocated(p, k) ⊆ 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)).

(37) Let k be a natural number and let p be a finite partial state of SCM. Suppose IC_{SCM} ∈ dom p. Let s be a state of SCM. 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).

(38) Let p be a finite partial state of SCM. Suppose IC_{SCM} ∈ dom p. Let k be a natural number. Then p is autonomic if and only if Relocated(p, k) is autonomic.

(39) Let p be a halting autonomic finite partial state of SCM. If IC_{SCM} ∈ dom p, then for every natural number k holds DataPart(Result(p)) = DataPart(Result(Relocated(p, k))).

(40) Let F be a data-only partial function from FinPartSt(SCM) to FinPartSt(SCM) and let p be a finite partial state of SCM. Suppose IC_{SCM} ∈ 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] Czesław Byliński. A classical first order language. Formalized Mathematics, 1(4):669– 676, 1990.

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

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

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

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

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

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

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

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

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

[14] Yasushi Tanaka. On the decomposition of the states of SCM. Formalized Mathematics, 5(1):1–8, 1996.

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

108 yasushi tanaka

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

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

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

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

Received June 16, 1994

Maximal Anti-Discrete Subspaces of Topological Spaces

Zbigniew Karno Warsaw University Białystok

Summary. Let X be a topological space and let A be a subset of X. A is said to be anti-discrete provided for every open subset G of X either A ∩ G = ∅ or A ⊆ G; equivalently, for every closed subset F of X either A ∩ F = ∅ or A ⊆ F. An anti-discrete subset M of X is said to be maximal anti-discrete provided for every anti-discrete subset A of X if M ⊆ A then M = A. A subspace of X is maximal antidiscrete iff its carrier is maximal anti-discrete in X. The purpose is to list a few properties of maximal anti-discrete sets and subspaces in Mizar formalism.

It is shown that every x ∈ X is contained in a unique maximal antidiscrete subset M(x) of X, denoted in the text by MaxADSet(x). Such subset can be defined by

M(x) = ⋂ {S ⊆ X : x ∈ S, and S is open or closed in X}.

It has the following remarkable properties: (1) y ∈ M(x) iff M(y) = M(x), (2) either M(x) ∩ M(y) = ∅ or M(x) = M(y), (3) M(x) = M(y) iff \overline{\{x\}} = \overline{\{y\}}, and (4) M(x) ∩ M(y) = ∅ iff \overline{\{x\}} ≠ \overline{\{y\}}. It follows from these properties that {M(x) : x ∈ X} is the T_{0}-partition of X defined by M.H. Stone in [7].

Moreover, it is shown that the operation M defined on all subsets of X by

M(A) = ⋃ {M(x) : x ∈ A},

denoted in the text by MaxADSet(A), satisfies the Kuratowski closure axioms (see e.g., [4]), i.e., (1) M(A ∪ B) = M(A) ∪ M(B), (2) M(A) = M(M(A)), (3) A ⊆ M(A),and (4) M(∅) = ∅. Note that this operation commutes with the usual closure operation of X, and if A is an open (or a closed) subset of X, then M(A) = A.

MML Identifier: TEX 4.

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

1. Properties of the Closure and the Interior Operations

Let X be a topological space and let A be a non empty subset of X. Observe that \overline{A} is non empty.

Let X be a topological space and let A be an empty subset of X. One can check that \overline{A} is empty.

Let X be a topological space and let A be a non proper subset of X. One can check that \overline{A} is non proper.

Let X be a non trivial topological space and let A be a non trivial non empty subset of X. Observe that \overline{A} is non trivial.

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

(1) For every subset A of X holds \overline{A} = ⋂\{F : F ranges over subsets of X, F is closed ∧ A ⊆ F }.

(2) For every point x of X holds \overline{\{x\}} = ⋂\{F : F ranges over subsets of X, F is closed ∧ x ∈ F }.

(3) For all subsets A, B of X such that B ⊆ \overline{A} holds \overline{B} ⊆ \overline{A}. Let X be a topological space and let A be a non proper subset of X. Note

that Int A is non proper.

Let X be a topological space and let A be a proper subset of X. One can check that Int A is proper.

Let X be a topological space and let A be an empty subset of X. Note that Int A is empty.

Next we state two propositions:

(4) For every subset A of X holds Int A = ⋃{G : G ranges over subsets of X, G is open ∧ G ⊆ A}.

(5) For all subsets A, B of X such that Int A ⊆ B holds Int A ⊆ Int B.

2. Anti-Discrete Subsets of Topological Structures

Let Y be a topological structure. A subset of Y is anti-discrete if: (Def.1) For every point x of Y and for every subset G of Y such that G is open

and x ∈ G holds if x ∈ it, then it ⊆ G. Let Y be a non empty topological structure. Let us observe that a subset of

Y is anti-discrete if: (Def.2) For every point x of Y and for every subset F of Y such that F is closed

and x ∈ F holds if x ∈ it, then it ⊆ F. Let Y be a topological structure. Let us observe that a subset of Y is anti-

discrete if: (Def.3) For every subset G of Y such that G is open holds it ∩G = ∅ or it ⊆ G.

Let Y be a topological structure. Let us observe that a subset of Y is antidiscrete if: (Def.4) For every subset F of Y such that F is closed holds it ∩F = ∅ or it

⊆ F. Next we state the proposition

(6) Let Y_{0}, Y_{1} be topological structures, and let D_{0} be a subset of Y_{0}, and let D_{1} be a subset of Y_{1}. Suppose the topological structure of Y_{0} = the topological structure of Y_{1} and D_{0} = D_{1}. If D_{0} is anti-discrete, then D_{1} is anti-discrete.

In the sequel Y will denote a non empty topological structure. Next we state three propositions:

(7) For all subsets A, B of Y such that B ⊆ A holds if A is anti-discrete, then B is anti-discrete.

(8) For every point x of Y holds {x} is anti-discrete.

(9) Every empty subset of Y is anti-discrete. Let Y be a topological structure. A family of subsets of Y is anti-discrete-

set-family if: (Def.5) For every subset A of Y such that A ∈ it holds A is anti-discrete.

One can prove the following propositions:

(10) Let F be a family of subsets of Y. Suppose F is anti-discrete-set-family. If ⋂ F ≠ ∅, then ⋃ F is anti-discrete.

(11) For every family F of subsets of Y such that F is anti-discrete-set-family

holds ⋂ F is anti-discrete. Let Y be a non empty topological structure and let x be a point of Y. The

functor MaxADSF(x) yields a non empty family of subsets of Y and is defined by: (Def.6) MaxADSF(x) = {A : A ranges over subsets of Y, A is anti-

discrete ∧ x ∈ A}. In the sequel x will denote a point of Y. We now state four propositions:

(12) MaxADSF(x) is anti-discrete-set-family.

(13) {x} = ⋂ MaxADSF(x).

(14) {x} ⊆ ⋃ MaxADSF(x).

(15) ⋃ MaxADSF(x) is anti-discrete.

3. Maximal Anti-Discrete Subsets of Topological Structures

Let Y be a topological structure. A subset of Y is maximal anti-discrete if: (Def.7) It is anti-discrete and for every subset D of Y such that D is anti-discrete

and it ⊆ D holds it = D.

We now state the proposition

(16) Let Y_{0}, Y_{1} be topological structures, and let D_{0} be a subset of Y_{0}, and let D_{1} be a subset of Y_{1}. Suppose the topological structure of Y_{0} = the topological structure of Y_{1} and D_{0} = D_{1}. If D_{0} is maximal anti-discrete, then D_{1} is maximal anti-discrete.

In the sequel Y will denote a non empty topological structure. One can prove the following propositions:

(17) Every empty subset of Y is not maximal anti-discrete.

(18) For every non empty subset A of Y such that A is anti-discrete and open holds A is maximal anti-discrete.

(19) For every non empty subset A of Y such that A is anti-discrete and closed holds A is maximal anti-discrete.

Let Y be a non empty topological structure and let x be a point of Y. The functor MaxADSet(x) yielding a non empty subset of Y is defined by: (Def.8) MaxADSet(x) = ⋃ MaxADSF(x).

We now state several propositions:

(20) For every point x of Y holds {x} ⊆ MaxADSet(x).

(21) For every subset D of Y and for every point x of Y such that D is anti-discrete and x ∈ D holds D ⊆ MaxADSet(x).

(22) For every point x of Y holds MaxADSet(x) is maximal anti-discrete.

(23) For all points x, y of Y holds y ∈ MaxADSet(x) iff MaxADSet(y) = MaxADSet(x).

(24) For all points x, y of Y holds MaxADSet(x) ∩ MaxADSet(y) = ∅ or MaxADSet(x) = MaxADSet(y).

(25) For every subset F of Y and for every point x of Y such that F is closed and x ∈ F holds MaxADSet(x) ⊆ F.

(26) For every subset G of Y and for every point x of Y such that G is open and x ∈ G holds MaxADSet(x) ⊆ G.

(27) Let x be a point of Y. Suppose {F : F ranges over subsets of Y, F is closed ∧ x ∈ F } ≠ ∅. Then MaxADSet(x) ⊆ ⋂{F : F ranges over subsets of Y, F is closed ∧ x ∈ F }.

(28) Let x be a point of Y. Suppose {G : G ranges over subsets of Y, G is open ∧ x ∈ G} ≠ ∅. Then MaxADSet(x) ⊆ ⋂{G : G ranges over subsets of Y, G is open ∧ x ∈ G}.

Let Y be a non empty topological structure. Let us observe that a subset of Y is maximal anti-discrete if: (Def.9) There exists a point x of Y such that x ∈ it and it = MaxADSet(x).

The following proposition is true

(29) For every subset A of Y and for every point x of Y such that x ∈ A holds if A is maximal anti-discrete, then A = MaxADSet(x).

Let Y be a non empty topological structure. Let us observe that a non empty subset of Y is maximal anti-discrete if:

(Def.10) For every point x of Y such that x ∈ it holds it = MaxADSet(x).

Let Y be a non empty topological structure and let A be a subset of Y. The functor MaxADSet(A) yielding a subset of Y is defined as follows:

(Def.11) MaxADSet(A) = ⋃{MaxADSet(a) : a ranges over points of Y, a ∈ A}.

Next we state a number of propositions:

(30) For every point x of Y holds MaxADSet(x) = MaxADSet({x}).

(31) For every subset A of Y and for every point x of Y such that MaxADSet(x) ∩ MaxADSet(A) ≠ ∅ holds MaxADSet(x) ∩ A ≠ ∅.

(32) For every subset A of Y and for every point x of Y such that MaxADSet(x) ∩ MaxADSet(A) ≠ ∅ holds MaxADSet(x) ⊆ MaxADSet(A).

(33) For all subsets A, B of Y such that A ⊆ B holds MaxADSet(A) ⊆ MaxADSet(B).

(34) For every subset A of Y holds A ⊆ MaxADSet(A).

(35) For every subset A of Y holds MaxADSet(A) = MaxADSet(MaxADSet(A)).

(36) For all subsets A, B of Y such that A ⊆ MaxADSet(B) holds MaxADSet(A) ⊆ MaxADSet(B).

(37) For all subsets A, B of Y holds B ⊆ MaxADSet(A) and A ⊆ MaxADSet(B) iff MaxADSet(A) = MaxADSet(B).

(38) For all subsets A, B of Y holds MaxADSet(A ∪ B) = MaxADSet(A) ∪ MaxADSet(B).

(39) For all subsets A, B of Y holds MaxADSet(A ∩ B) ⊆ MaxADSet(A) ∩

MaxADSet(B). Let Y be a non empty topological structure and let A be a non empty subset

of Y. One can verify that MaxADSet(A) is non empty.

Let Y be a non empty topological structure and let A be an empty subset of Y. One can verify that MaxADSet(A) is empty.

Let Y be a non empty topological structure and let A be a non proper subset of Y. Observe that MaxADSet(A) is non proper.

Let Y be a non trivial non empty topological structure and let A be a non trivial non empty subset of Y. Note that MaxADSet(A) is non trivial.

The following four propositions are true:

(40) For every subset G of Y and for every subset A of Y such that G is open and A ⊆ G holds MaxADSet(A) ⊆ G.

(41) Let A be a subset of Y. Suppose {G : G ranges over subsets of Y, G is open ∧ A ⊆ G} ≠ ∅. Then MaxADSet(A) ⊆ ⋂{G : G ranges over subsets of Y, G is open ∧ A ⊆ G}.

(42) For every subset F of Y and for every subset A of Y such that F is closed and A ⊆ F holds MaxADSet(A) ⊆ F.

(43) Let A be a subset of Y. Suppose {F : F ranges over subsets of Y, F is closed ∧ A ⊆ F } ≠ ∅. Then MaxADSet(A) ⊆ ⋂{F : F ranges over subsets of Y, F is closed ∧ A ⊆ F }.

4. Anti-Discrete and Maximal Anti-discrete Subsets of Topological Spaces

Let X be a topological space. Let us observe that a subset of X is antidiscrete if:

(Def.12) For every point x of X such that x ∈ it holds it ⊆ \overline{\{x\}}.

Let X be a topological space. Let us observe that a subset of X is antidiscrete if:

(Def.13) For every point x of X such that x ∈ it holds \overline{it} = \overline{\{x\}}.

Let X be a topological space. Let us observe that a subset of X is antidiscrete if:

(Def.14) For all points x, y of X such that x ∈ it and y ∈ it holds \overline{\{x\}} = \overline{\{y\}}. In the sequel X will be a topological space. The following four propositions are true:

(44) For every point x of X and for every subset D of X such that D is anti-discrete and \overline{\{x\}} ⊆ D holds D = \overline{\{x\}}.

(45) Let A be a subset of X. Then A is anti-discrete and closed if and only if for every point x of X such that x ∈ A holds A = \overline{\{x\}}.

(46) For every subset A of X such that A is anti-discrete and A is not open holds A is boundary.

(47) For every point x of X such that \overline{\{x\}} = \{x\} holds \{x\} is maximal

anti-discrete. In the sequel x, y will be points of X. The following propositions are true:

(48) MaxADSet(x) ⊆ ⋂{G : G ranges over subsets of X, G is open ∧ x ∈ G}.

(49) MaxADSet(x) ⊆ ⋂{F : F ranges over subsets of X, F is closed ∧ x ∈ F }.

(50) MaxADSet(x) ⊆ \overline{\{x\}}.

(51) MaxADSet(x) = MaxADSet(y) iff \overline{\{x\}} = \overline{\{y\}}.

(52) MaxADSet(x) ∩ MaxADSet(y) = ∅ iff \overline{\{x\}} ≠ \overline{\{y\}}.

Let X be a topological space and let x be a point of X. Then MaxADSet(x) is a non empty subset of X and it can be characterized by the condition:

(Def.15) MaxADSet(x) = \overline{\{x\}} ∩ ⋂\{G : G ranges over subsets of X, G is

open ∧ x ∈ G}. The following propositions are true:

(53) Let x, y be points of X. Then \overline{\{x\}} ⊆ \overline{\{y\}} if and only if ⋂\{G : G ranges over subsets of X, G is open ∧ y ∈ G} ⊆ ⋂{G : G ranges over subsets of X, G is open ∧ x ∈ G}.

(54) For all points x, y of X holds \overline{\{x\}} ⊆ \overline{\{y\}} iff MaxADSet(y) ⊆ ⋂\{G : G ranges over subsets of X, G is open ∧ x ∈ G}.

(55) Let x, y be points of X. Then MaxADSet(x) ∩ MaxADSet(y) = ∅ if

and only if one of the following conditions is satisfied:

(i) there exists a subset V of X such that V is open and MaxADSet(x) ⊆ V and V ∩ MaxADSet(y) = ∅, or

(ii) there exists a subset W of X such that W is open and W ∩

MaxADSet(x) = ∅ and MaxADSet(y) ⊆ W.

(56) Let x, y be points of X. Then MaxADSet(x) ∩ MaxADSet(y) = ∅ if

and only if one of the following conditions is satisfied:

(i) there exists a subset E of X such that E is closed and MaxADSet(x) ⊆ E and E ∩ MaxADSet(y) = ∅, or

(ii) there exists a subset F of X such that F is closed and F ∩

MaxADSet(x) = ∅ and MaxADSet(y) ⊆ F. In the sequel A, B denote subsets of X. The following propositions are true:

(57) MaxADSet(A) ⊆ ⋂{G : G ranges over subsets of X, G is open ∧ A ⊆ G}.

(58) If A is open, then MaxADSet(A) = A.

(59) MaxADSet(Int A) = Int A.

(60) MaxADSet(A) ⊆ ⋂{F : F ranges over subsets of X, F is closed ∧ A ⊆ F }.

(61) MaxADSet(A) ⊆ \overline{A}.

(62) If A is closed, then MaxADSet(A) = A.

(63) MaxADSet(\overline{A}) = \overline{A}.

(64) \overline{MaxADSet(A)} = \overline{A}.

(65) If MaxADSet(A) = MaxADSet(B), then \overline{A} = \overline{B}.

(66) If A is closed or B is closed, then MaxADSet(A∩B) = MaxADSet(A)∩ MaxADSet(B).

(67) If A is open or B is open, then MaxADSet(A ∩ B) = MaxADSet(A) ∩ MaxADSet(B).

5. Maximal Anti-Discrete Subspaces

In the sequel Y is a non empty topological structure.

One can prove the following two propositions:

(68) Let Y_{0} be a subspace of Y and let A be a subset of Y. Suppose A = the carrier of Y_{0}. If Y_{0} is anti-discrete, then A is anti-discrete.

(69) Let Y_{0} be a subspace of Y. Suppose Y_{0} is topological space-like. Let A be a subset of Y. Suppose A = the carrier of Y_{0}. If A is anti-discrete, then Y_{0} is anti-discrete.

In the sequel X will be a topological space and Y_{0} will be a subspace of X. One can prove the following four propositions:

(70) If for every open subspace X_{0} of X holds Y_{0} misses X_{0} or Y_{0} is a subspace of X_{0}, then Y_{0} is anti-discrete.

(71) If for every closed subspace X_{0} of X holds Y_{0} misses X_{0} or Y_{0} is a subspace of X_{0}, then Y_{0} is anti-discrete.

(72) Let Y_{0} be an anti-discrete subspace of X and let X_{0} be an open subspace of X. Then Y_{0} misses X_{0} or Y_{0} is a subspace of X_{0}.

(73) Let Y_{0} be an anti-discrete subspace of X and let X_{0} be a closed subspace

of X. Then Y_{0} misses X_{0} or Y_{0} is a subspace of X_{0}. Let Y be a non empty topological structure. A subspace of Y is maximal

anti-discrete if it satisfies the conditions (Def.16). (Def.16) (i) It is anti-discrete, and

(ii) for every subspace Y_{0} of Y such that Y_{0} is anti-discrete holds if the

carrier of it ⊆ the carrier of Y_{0}, then the carrier of it = the carrier of Y_{0}. Let Y be a non empty topological structure. Note that every subspace of

Y which is maximal anti-discrete is also anti-discrete and every subspace of Y which is non anti-discrete is also non maximal anti-discrete.

Next we state the proposition

(74) Let Y_{0} be a subspace of X and let A be a subset of X. Suppose A = the carrier of Y_{0}. Then Y_{0} is maximal anti-discrete if and only if A is maximal anti-discrete.

Let X be a topological space. One can check the following observations:

∗ every subspace of X which is open and anti-discrete is also maximal anti-discrete,

∗ every subspace of X which is open and non maximal anti-discrete is also non anti-discrete,

∗ every subspace of X which is anti-discrete and non maximal antidiscrete is also non open,

∗ every subspace of X which is closed and anti-discrete is also maximal anti-discrete,

∗ every subspace of X which is closed and non maximal anti-discrete is also non anti-discrete, and

∗ every subspace of X which is anti-discrete and non maximal antidiscrete is also non closed.

Let Y be a non empty topological structure and let x be a point of Y. The functor MaxADSspace(x) yielding a strict subspace of Y is defined by:

(Def.17) The carrier of MaxADSspace(x) = MaxADSet(x). We now state three propositions:

(75) For every point x of Y holds Sspace(x) is a subspace of MaxADSspace(x).

(76) Let x, y be points of Y. Then y is a point of MaxADSspace(x) if and only if the topological structure of MaxADSspace(y) = the topological structure of MaxADSspace(x).

(77) Let x, y be points of Y. Then

(i) the carrier of MaxADSspace(x) misses the carrier of MaxADSspace(y), or

(ii) the topological structure of MaxADSspace(x) = the topological struc-

ture of MaxADSspace(y). Let X be a topological space. One can check that there exists a subspace of

X which is maximal anti-discrete and strict.

Let X be a topological space and let x be a point of X. One can check that MaxADSspace(x) is maximal anti-discrete.

One can prove the following propositions:

(78) Let X_{0} be a closed subspace of X and let x be a point of X. If x is a point of X_{0}, then MaxADSspace(x) is a subspace of X_{0}.

(79) Let X_{0} be an open subspace of X and let x be a point of X. If x is a point of X_{0}, then MaxADSspace(x) is a subspace of X_{0}.

(80) For every point x of X such that \overline{\{x\}} = \{x\} holds Sspace(x) is maximal

anti-discrete. Let Y be a non empty topological structure and let A be a non empty subset

of Y. The functor Sspace(A) yielding a strict subspace of Y is defined by: (Def.18) The carrier of Sspace(A) = A.

One can prove the following propositions:

(81) Every non empty subset of Y is a subset of Sspace(A).

(82) Let Y_{0} be a subspace of Y and let A be a non empty subset of Y. If A

is a subset of Y_{0}, then Sspace(A) is a subspace of Y_{0}. Let Y be a non trivial non empty topological structure. Note that there

exists a subspace of Y which is non proper and strict.

Let Y be a non trivial non empty topological structure and let A be a non trivial non empty subset of Y. Observe that Sspace(A) is non trivial.

Let Y be a non empty topological structure and let A be a non proper non empty subset of Y. One can verify that Sspace(A) is non proper.

Let Y be a non empty topological structure and let A be a non empty subset of Y. The functor MaxADSspace(A) yields a strict subspace of Y and is defined by:

(Def.19) The carrier of MaxADSspace(A) = MaxADSet(A).

We now state several propositions:

(83) Every non empty subset of Y is a subset of MaxADSspace(A).

(84) For every non empty subset A of Y holds Sspace(A) is a subspace of MaxADSspace(A).

118 zbigniew karno

(85) For every point x of Y holds the topological structure of MaxADSspace(x) = the topological structure of MaxADSspace({x}).

(86) For all non empty subsets A, B of Y such that A ⊆ B holds MaxADSspace(A) is a subspace of MaxADSspace(B).

(87) For every non empty subset A of Y holds the topological structure of MaxADSspace(A) = the topological structure of MaxADSspace(MaxADSet(A)).

(88) For all non empty subsets A, B of Y such that A is a subset of MaxADSspace(B) holds MaxADSspace(A) is a subspace of MaxADSspace(B).

(89) Let A, B be non empty subsets of Y. Then B is a subset of MaxADSspace(A) and A is a subset of MaxADSspace(B) if and only if the topological structure of MaxADSspace(A) = the topological structure of MaxADSspace(B).

Let Y be a non trivial non empty topological structure and let A be a non trivial non empty subset of Y. One can verify that MaxADSspace(A) is non trivial.

Let Y be a non empty topological structure and let A be a non proper non empty subset of Y. One can verify that MaxADSspace(A) is non proper.

The following two propositions are true:

(90) Let X_{0} be an open subspace of X and let A be a non empty subset of X. If A is a subset of X_{0}, then MaxADSspace(A) is a subspace of X_{0}.

(91) Let X_{0} be a closed subspace of X and let A be a non empty subset of

X. If A is a subset of X_{0}, then MaxADSspace(A) is a subspace of X_{0}. References

[1] Zbigniew Karno. The lattice of domains of an extremally disconnected space. Formalized Mathematics, 3(2):143–149, 1992.

[2] Zbigniew Karno. Maximal discrete subspaces of almost discrete topological spaces. Formalized Mathematics, 4(1):125–135, 1993.

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

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

[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] M. H. Stone. Application of boolean algebras to topology. Math. Sb., 1:765–771, 1936.

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

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

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

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

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

[13] Mirosław Wysocki and Agata Darmochwał. Subsets of topological spaces. Formalized

Mathematics, 1(1):231–237, 1990.

Received July 26, 1994

On Kolmogorov Topological Spaces ^{1}

Zbigniew Karno Warsaw University Białystok

Summary. Let X be a topological space. X is said to be T_{0}-space (or Kolmogorov space) provided for every pair of distinct points x, y ∈ X there exists an open subset of X containing exactly one of these points; equivalently, for every pair of distinct points x, y ∈ X there exists a closed subset of X containing exactly one of these points (see [1], [6], [2]).

The purpose is to list some of the standard facts on Kolmogorov spaces, using Mizar formalism. As a sample we formulate the following characteristics of such spaces: X is a Kolmogorov space iff for every pair of distinct points x, y ∈ X the closures \overline{\{x\}} and \overline{\{y\}} are distinct.

There is also reviewed analogous facts on Kolmogorov subspaces of topological spaces. In the presented approach T_{0}-subsets are introduced and some of their properties developed.

MML Identifier: TSP 1.

The articles [10], [11], [9], [7], [8], [5], [4], and [3] provide the terminology and notation for this paper.

1. Subspaces

Let Y be a non empty topological structure. We see that the subspace of Y is a non empty topological structure and it can be characterized by the following (equivalent) condition: (Def.1) (i) The carrier of it ⊆ the carrier of Y, and

(ii) for every subset G_{0} of it holds G_{0} is open iff there exists a subset G of Y such that G is open and G_{0} = G ∩ (the carrier of it).

Next we state two propositions:

1Presented at Mizar Conference: Mathematics in Mizar (Białystok, September 12–14, 1994).

(1) Let Y be a non empty topological structure, and let Y_{0} be a subspace of Y, and let G_{0} be a subset of Y_{0}. Then G_{0} is open if and only if there exists a subset G of Y such that G is open and G_{0} = G ∩ (the carrier of Y_{0}).

(2) Let Y be a non empty topological structure, and let Y_{0} be a subspace of Y, and let G be a subset of Y. Suppose G is open. Then there exists a subset G_{0} of Y_{0} such that G_{0} is open and G_{0} = G ∩ (the carrier of Y_{0}).

Let Y be a non empty topological structure. We see that the subspace of Y is a non empty topological structure and it can be characterized by the following (equivalent) condition: (Def.2) (i) The carrier of it ⊆ the carrier of Y, and

(ii) for every subset F_{0} of it holds F_{0} is closed iff there exists a subset F

of Y such that F is closed and F_{0} = F ∩ (the carrier of it). We now state two propositions:

(3) Let Y be a non empty topological structure, and let Y_{0} be a subspace of Y, and let F_{0} be a subset of Y_{0}. Then F_{0} is closed if and only if there exists a subset F of Y such that F is closed and F_{0} = F ∩ (the carrier of Y_{0}).

(4) Let Y be a non empty topological structure, and let Y_{0} be a subspace of Y, and let F be a subset of Y. Suppose F is closed. Then there exists a subset F_{0} of Y_{0} such that F_{0} is closed and F_{0} = F ∩ (the carrier of Y_{0}).

2. Kolmogorov Spaces

A topological structure is T_{0} if it satisfies the condition (Def.3). (Def.3) Let x, y be points of it. Suppose x ≠ y. Then

(i) there exists a subset V of it such that V is open and x ∈ V and y ∉ V, or

(ii) there exists a subset W of it such that W is open and x ∉ W and

y ∈ W. Let us observe that a non empty topological structure is T_{0} if it satisfies the

condition (Def.4). (Def.4) Let x, y be points of it. Suppose x ≠ y. Then

(i) there exists a subset E of it such that E is closed and x ∈ E and y ∉ E, or

(ii) there exists a subset F of it such that F is closed and x ∉ F and y ∈ F. Let us mention that every non empty topological structure which is trivial is

also T_{0} and every non empty topological structure which is non T_{0} is also non trivial.

One can verify that there exists a topological space which is strict T_{0} and non empty and there exists a topological space which is strict non T_{0} and non empty.

One can check the following observations:

∗ every topological space which is discrete is also T_{0},

∗ every topological space which is non T_{0} is also non discrete,

∗ every topological space which is anti-discrete and non trivial is also non T_{0},

∗ every topological space which is anti-discrete and T_{0} is also trivial, and ∗ every topological space which is T_{0} and non trivial is also non anti-

discrete. Let us observe that a topological space is T_{0} if:

(Def.5) For all points x, y of it such that x ≠ y holds \overline{\{x\}} ≠ \overline{\{y\}}.

Let us observe that a topological space is T_{0} if: (Def.6) For all points x, y of it such that x ≠ y holds x ∉ \overline{\{y\}} or y ∉ \overline{\{x\}}.

Let us observe that a topological space is T_{0} if: (Def.7) For all points x, y of it such that x ≠ y and x ∈ \overline{\{y\}} holds \overline{\{y\}} ⊈ \overline{\{x\}}.

One can verify the following observations:

∗ every topological space which is almost discrete and T_{0} is also discrete,

∗ every topological space which is almost discrete and non discrete is also non T_{0}, and

∗ every topological space which is non discrete and T_{0} is also non almost discrete.

A Kolmogorov space is a T_{0} topological space. A non-Kolmogorov space is a non T_{0} topological space.

Let us observe that there exists a Kolmogorov space which is non trivial and strict and there exists a non-Kolmogorov space which is non trivial and strict.

3. T_{0}-Subsets

Let Y be a topological structure. A subset of Y is T_{0} if it satisfies the condition (Def.8). (Def.8) Let x, y be points of Y. Suppose x ∈ it and y ∈ it and x ≠ y. Then

there exists a subset V of Y such that V is open and x ∈ V and y ∉ V or there exists a subset W of Y such that W is open and x ∉ W and y ∈ W.

Let Y be a non empty topological structure. Let us observe that a subset of Y is T_{0} if it satisfies the condition (Def.9). (Def.9) Let x, y be points of Y. Suppose x ∈ it and y ∈ it and x ≠ y. Then

(i) there exists a subset E of Y such that E is closed and x ∈ E and y ∉ E, or

(ii) there exists a subset F of Y such that F is closed and x ∉ F and y ∈ F. Next we state two propositions:

(5) Let Y_{0}, Y_{1} be topological structures, and let D_{0} be a subset of Y_{0}, and let D_{1} be a subset of Y_{1}. Suppose the topological structure of Y_{0} = the topological structure of Y_{1} and D_{0} = D_{1}. If D_{0} is T_{0}, then D_{1} is T_{0}.

(6) Let Y be a non empty topological structure and let A be a subset of Y. Suppose A = the carrier of Y. Then A is T_{0} if and only if Y is T_{0}.

In the sequel Y will denote a non empty topological structure. The following propositions are true:

(7) For all subsets A, B of Y such that B ⊆ A holds if A is T_{0}, then B is T_{0}.

(8) For all subsets A, B of Y such that A is T_{0} or B is T_{0} holds A ∩ B is T_{0}.

(9) Let A, B be subsets of Y. Suppose A is open or B is open. If A is T_{0} and B is T_{0}, then A ∪ B is T_{0}.

(10) Let A, B be subsets of Y. Suppose A is closed or B is closed. If A is T_{0} and B is T_{0}, then A ∪ B is T_{0}.

(11) For every subset A of Y such that A is discrete holds A is T_{0}.

(12) For every non empty subset A of Y such that A is anti-discrete and A

is not trivial holds A is not T_{0}. Let X be a topological space. Let us observe that a subset of X is T_{0} if:

(Def.10) For all points x, y of X such that x ∈ it and y ∈ it and x ≠ y holds

\overline{\{x\}} ≠ \overline{\{y\}}. Let X be a topological space. Let us observe that a subset of X is T_{0} if:

(Def.11) For all points x, y of X such that x ∈ it and y ∈ it and x ≠ y holds

x ∉ \overline{\{y\}} or y ∉ \overline{\{x\}}. Let X be a topological space. Let us observe that a subset of X is T_{0} if:

(Def.12) For all points x, y of X such that x ∈ it and y ∈ it and x ≠ y holds if

x ∈ \overline{\{y\}}, then \overline{\{y\}} ⊈ \overline{\{x\}}. In the sequel X will denote a topological space. The following two propositions are true:

(13) Every empty subset of X is T_{0}.

(14) For every point x of X holds {x} is T_{0}.

4. Kolmogorov Subspaces

Let Y be a non empty topological structure. Observe that there exists a subspace of Y which is strict and T_{0}.

Let Y be a non empty topological structure. Let us observe that a subspace of Y is T_{0} if it satisfies the condition (Def.13).

(Def.13) Let x, y be points of Y. Suppose x is a point of it and y is a point of it and x ≠ y. Then there exists a subset V of Y such that V is open and x ∈ V and y ∉ V or there exists a subset W of Y such that W is open and x ∉ W and y ∈ W.

Let Y be a non empty topological structure. Let us observe that a subspace of Y is T_{0} if it satisfies the condition (Def.14).

(Def.14) Let x, y be points of Y. Suppose x is a point of it and y is a point of

it and x ≠ y. Then

(i) there exists a subset E of Y such that E is closed and x ∈ E and y ∉ E, or

(ii) there exists a subset F of Y such that F is closed and x ∉ F and y ∈ F. In the sequel Y denotes a non empty topological structure. The following propositions are true:

(15) Let Y_{0} be a subspace of Y and let A be a subset of Y. Suppose A = the carrier of Y_{0}. Then A is T_{0} if and only if Y_{0} is T_{0}.

(16) Let Y_{0} be a subspace of Y and let Y_{1} be a T_{0} subspace of Y. If Y_{0} is a

subspace of Y_{1}, then Y_{0} is T_{0}. Let X be a topological space. One can check that there exists a subspace of

X which is strict and T_{0}.

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

(17) For every T_{0} subspace X_{1} of X and for every subspace X_{2} of X such that X_{1} meets X_{2} holds X_{1} ∩ X_{2} is T_{0}.

(18) For all T_{0} subspaces X_{1}, X_{2} of X such that X_{1} is open or X_{2} is open holds X_{1} ∪ X_{2} is T_{0}.

(19) For all T_{0} subspaces X_{1}, X_{2} of X such that X_{1} is closed or X_{2} is closed

holds X_{1} ∪ X_{2} is T_{0}. Let X be a topological space. A Kolmogorov subspace of X is a T_{0} subspace

of X.

Next we state the proposition

(20) Let X be a topological space and let A_{0} be a non empty subset of X. Suppose A_{0} is T_{0}. Then there exists a strict Kolmogorov subspace X_{0} of X such that A_{0} = the carrier of X_{0}.

Let X be a non trivial topological space. One can verify that there exists a Kolmogorov subspace of X which is proper and strict.

Let X be a Kolmogorov space. Observe that every subspace of X is T_{0}. Let X be a non-Kolmogorov space. One can check that every subspace of X

which is non proper is also non T_{0} and every subspace of X which is T_{0} is also proper.

Let X be a non-Kolmogorov space. Note that there exists a subspace of X which is strict and non T_{0}.

Let X be a non-Kolmogorov space. A non-Kolmogorov subspace of X is a non T_{0} subspace of X.

We now state the proposition (21) Let X be a non-Kolmogorov space and let A_{0} be a subset of X. Suppose

A_{0} is not T_{0}. Then there exists a strict non-Kolmogorov subspace X_{0} of X such that A_{0} = the carrier of X_{0}.

References

[1] P. Alexandroff and H. H. Hopf. Topologie I. Springer-Verlag, Berlin, 1935.

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

[3] Zbigniew Karno. Maximal anti-discrete subspaces of topological spaces. Formalized Mathematics, 5(1):109–118, 1996.

[4] Zbigniew Karno. Maximal discrete subspaces of almost discrete topological spaces. Formalized Mathematics, 4(1):125–135, 1993.

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

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

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

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

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

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

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

Maximal Kolmogorov Subspaces of a Topological Space as Stone Retracts of the

Ambient Space ^{1}

Zbigniew Karno Warsaw University Białystok

Summary. Let X be a topological space. X is said to be T_{0}-space (or Kolmogorov space) provided for every pair of distinct points x, y ∈ X there exists an open subset of X containing exactly one of these points (see [1], [8], [4]). Such spaces and subspaces were investigated in Mizar formalism in [7]. A Kolmogorov subspace X_{0} of a topological space X is said to be maximal provided for every Kolmogorov subspace Y of X if X_{0} is subspace of Y then the topological structures of Y and X_{0} are the same.

M.H. Stone proved in [10] that every topological space can be made into a Kolmogorov space by identifying points with the same closure (see also [11]). The purpose is to generalize the Stone result, using Mizar System. It is shown here that: (1) in every topological space X there exists a maximal Kolmogorov subspace X_{0} of X, and (2) every maximal Kolmogorov subspace X_{0} of X is a continuous retract of X. Moreover, if r : X → X_{0} is a continuous retraction of X onto a maximal Kolmogorov subspace X_{0} of X, then r^{−1}(x) = MaxADSet(x) for any point x of X belonging to X_{0}, where MaxADSet(x) is a unique maximal antidiscrete subset of X containing x (see [5] for the precise definition of the set MaxADSet(x)). The retraction r from the last theorem is defined uniquely, and it is denoted in the text by ,,Stone-retraction”. It has the following two remarkable properties: r is open, i.e., sends open sets in X to open sets in X_{0}, and r is closed, i.e., sends closed sets in X to closed sets in X_{0}.

These results may be obtained by the methods described by R.H. Warren in [17].

MML Identifier: TSP 2.

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

1Presented at Mizar Conference: Mathematics in Mizar (Białystok, September 12–14, 1994).

1. Maximal T_{0}-Subsets

Let X be a topological space. Let us observe that a subset of X is T_{0} if: (Def.1) For all points a, b of X such that a ∈ it and b ∈ it holds if a ≠ b, then

MaxADSet(a) ∩ MaxADSet(b) = ∅. Let X be a topological space. Let us observe that a subset of X is T_{0} if:

(Def.2) For every point a of X such that a ∈ it holds it ∩ MaxADSet(a) = {a}.

Let X be a topological space. Let us observe that a subset of X is T_{0} if: (Def.3) For every point a of X such that a ∈ it there exists a subset D of X

such that D is maximal anti-discrete and it ∩D = {a}. Let Y be a topological structure. A subset of Y is maximal T_{0} if:

(Def.4) It is T_{0} and for every subset D of Y such that D is T_{0} and it ⊆ D holds

it = D. Next we state the proposition

(1) Let Y_{0}, Y_{1} be topological structures, and let D_{0} be a subset of Y_{0}, and let D_{1} be a subset of Y_{1}. Suppose the topological structure of Y_{0} = the topological structure of Y_{1} and D_{0} = D_{1}. If D_{0} is maximal T_{0}, then D_{1} is maximal T_{0}.

Let X be a topological space. Let us observe that a subset of X is maximal T_{0} if: (Def.5) It is T_{0} and MaxADSet(it) = the carrier of X.

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

(2) For every subset M of X such that M is maximal T_{0} holds M is dense.

(3) For every subset A of X such that A is open or closed holds if A is maximal T_{0}, then A is not proper.

(4) Every empty subset of X is not maximal T_{0}.

(5) Let M be a subset of X. Suppose M is maximal T_{0}. Let A be a subset of X. If A is closed, then A = MaxADSet(M ∩ A).

(6) Let M be a subset of X. Suppose M is maximal T_{0}. Let A be a subset of X. If A is open, then A = MaxADSet(M ∩ A).

(7) For every subset M of X such that M is maximal T_{0} and for every subset A of X holds \overline{A} = MaxADSet(M ∩ \overline{A}).

(8) For every subset M of X such that M is maximal T_{0} and for every subset A of X holds Int A = MaxADSet(M ∩ Int A).

Let X be a topological space. Let us observe that a subset of X is maximal T_{0} if: (Def.6) For every point x of X there exists a point a of X such that a ∈ it and

it ∩ MaxADSet(x) = {a}. The following two propositions are true:

(9) For every subset A of X such that A is T_{0} there exists a subset M of X such that A ⊆ M and M is maximal T_{0}.

(10) There exists subset of X which is maximal T_{0}.

2. Maximal Kolmogorov Subspaces

Let Y be a non empty topological structure. A subspace of Y is maximal T_{0} if: (Def.7) For every subset A of Y such that A = the carrier of it holds A is

maximal T_{0}. One can prove the following proposition

(11) Let Y be a non empty topological structure, and let Y_{0} be a subspace of Y, and let A be a subset of Y. Suppose A = the carrier of Y_{0}. Then A is maximal T_{0} if and only if Y_{0} is maximal T_{0}.

Let Y be a non empty topological structure. Note that every subspace of Y which is maximal T_{0} is also T_{0} and every subspace of Y which is non T_{0} is also non maximal T_{0}.

Let X be a topological space. Let us observe that a subspace of X is maximal T_{0} if it satisfies the conditions (Def.8). (Def.8) (i) It is T_{0}, and

(ii) for every T_{0} subspace Y_{0} of X such that it is a subspace of Y_{0} holds

the topological structure of it = the topological structure of Y_{0}. In the sequel X will be a topological space. One can prove the following proposition

(12) Let A_{0} be a non empty subset of X. Suppose A_{0} is maximal T_{0}. Then there exists a strict subspace X_{0} of X such that X_{0} is maximal T_{0} and A_{0} = the carrier of X_{0}.

Let X be a topological space. One can verify the following observations:

∗ every subspace of X which is maximal T_{0} is also dense,

∗ every subspace of X which is non dense is also non maximal T_{0},

∗ every subspace of X which is open and maximal T_{0} is also non proper,

∗ every subspace of X which is open and proper is also non maximal T_{0},

∗ every subspace of X which is proper and maximal T_{0} is also non open,

∗ every subspace of X which is closed and maximal T_{0} is also non proper,

∗ every subspace of X which is closed and proper is also non maximal T_{0}, and

∗ every subspace of X which is proper and maximal T_{0} is also non closed. Next we state the proposition

(13) Let Y_{0} be a T_{0} subspace of X. Then there exists a strict subspace X_{0} of X such that Y_{0} is a subspace of X_{0} and X_{0} is maximal T_{0}.

Let X be a topological space. Note that there exists a subspace of X which is maximal T_{0} and strict.

Let X be a topological space. A maximal Kolmogorov subspace of X is a maximal T_{0} subspace of X.

The following four propositions are true:

(14) Let X_{0} be a maximal Kolmogorov subspace of X, and let G be a subset of X, and let G_{0} be a subset of X_{0}. Suppose G_{0} = G. Then G_{0} is open if and only if the following conditions are satisfied:

(i) MaxADSet(G) is open, and (ii) G_{0} = MaxADSet(G) ∩ (the carrier of X_{0}).

(15) Let X_{0} be a maximal Kolmogorov subspace of X and let G be a subset

of X. Then G is open if and only if the following conditions are satisfied:

(i) G = MaxADSet(G), and (ii) there exists a subset G_{0} of X_{0} such that G_{0} is open and G_{0} = G ∩ (the

carrier of X_{0}).

(16) Let X_{0} be a maximal Kolmogorov subspace of X, and let F be a subset of X, and let F_{0} be a subset of X_{0}. Suppose F_{0} = F. Then F_{0} is closed if and only if the following conditions are satisfied:

(i) MaxADSet(F) is closed, and (ii) F_{0} = MaxADSet(F) ∩ (the carrier of X_{0}).

(17) Let X_{0} be a maximal Kolmogorov subspace of X and let F be a subset

of X. Then F is closed if and only if the following conditions are satisfied:

(i) F = MaxADSet(F), and (ii) there exists a subset F_{0} of X_{0} such that F_{0} is closed and F_{0} = F ∩ (the

carrier of X_{0}).

3. Stone Retraction Mapping Theorems

In the sequel X is a topological space and X_{0} is a maximal Kolmogorov subspace of X.

One can prove the following propositions:

(18) Let r be a mapping from X into X_{0} and let M be a subset of X. Suppose M = the carrier of X_{0}. Suppose that for every point a of X holds M ∩ MaxADSet(a) = {r(a)}. Then r is a continuous mapping from X into X_{0}.

(19) Let r be a mapping from X into X_{0}. Suppose that for every point a of X holds r(a) ∈ MaxADSet(a). Then r is a continuous mapping from X into X_{0}.

(20) Let r be a continuous mapping from X into X_{0} and let M be a subset of X. Suppose M = the carrier of X_{0}. If for every point a of X holds M ∩ MaxADSet(a) = {r(a)}, then r is a retraction.

(21) For every continuous mapping r from X into X_{0} such that for every point a of X holds r(a) ∈ MaxADSet(a) holds r is a retraction.

(22) There exists continuous mapping from X into X_{0} which is a retraction.

(23) X_{0} is a retract of X.

Let X be a topological space and let X_{0} be a maximal Kolmogorov subspace of X. Stone-retraction of X onto X_{0} is a continuous mapping from X into X_{0} and is defined as follows: (Def.9) Stone-retraction of X onto X_{0} is a retraction.

Next we state three propositions:

(24) Let a be a point of X and let b be a point of X_{0}. If a = b, then (Stone-retraction of X onto X_{0})^{−1} \overline{\{b\}} = \overline{\{a\}}.

(25) For every point a of X and for every point b of X_{0} such that a = b holds (Stone-retraction of X onto X_{0})^{−1} {b} = MaxADSet(a).

(26) For every subset E of X and for every subset F of X_{0} such that F = E

holds (Stone-retraction of X onto X_{0})^{−1} F = MaxADSet(E). Let X be a topological space and let X_{0} be a maximal Kolmogorov subspace

of X. Then Stone-retraction of X onto X_{0} is a continuous mapping from X into X_{0} and it can be characterized by the condition:

(Def.10) Let M be a subset of X. Suppose M = the carrier of X_{0}. Let a be a point of X. Then M ∩ MaxADSet(a) = {(Stone-retraction of X onto X_{0})(a)}.

Let X be a topological space and let X_{0} be a maximal Kolmogorov subspace of X. Then Stone-retraction of X onto X_{0} is a continuous mapping from X into X_{0} and it can be characterized by the condition:

(Def.11) For every point a of X holds (Stone-retraction of X onto X_{0})(a) ∈

MaxADSet(a). Next we state two propositions:

(27) For every point a of X holds (Stone-retraction of X onto X_{0}) ^{−1} {(Stone-retraction of X onto X_{0})(a)} = MaxADSet(a).

(28) For every point a of X holds (Stone-retraction of X onto X_{0})^{∘}{a} =

(Stone-retraction of X onto X_{0})^{∘} MaxADSet(a). Let X be a topological space and let X_{0} be a maximal Kolmogorov subspace

of X. Then Stone-retraction of X onto X_{0} is a continuous mapping from X into X_{0} and it can be characterized by the condition:

(Def.12) Let M be a subset of X. Suppose M = the carrier of X_{0}. Let A be a subset of X. Then M ∩ MaxADSet(A) = (Stone-retraction of X onto X_{0})^{∘}A.

The following propositions are true:

(29) For every subset A of X holds (Stone-retraction of X onto X_{0}) ^{−1} (Stone-retraction of X onto X_{0})^{∘}A = MaxADSet(A).

(30) For every subset A of X holds (Stone-retraction of X onto X_{0})^{∘}A = (Stone-retraction of X onto X_{0})^{∘} MaxADSet(A).

(31) Let A, B be subsets of X. Then (Stone-retraction of X onto X_{0})^{∘}(A ∪ B) = (Stone-retraction of X onto X_{0})^{∘}A ∪ (Stone-retraction of X onto X_{0})^{∘}B.

(32) Let A, B be subsets of X. Suppose A is open or B is open. Then (Stone-retraction of X onto X_{0})^{∘}(A ∩ B) = (Stone-retraction of X onto X_{0})^{∘}A ∩ (Stone-retraction of X onto X_{0})^{∘}B.

(33) Let A, B be subsets of X. Suppose A is closed or B is closed. Then (Stone-retraction of X onto X_{0})^{∘}(A ∩ B) = (Stone-retraction of X onto X_{0})^{∘}A ∩ (Stone-retraction of X onto X_{0})^{∘}B.

(34) For every subset A of X such that A is open holds (Stone-retraction of X onto X_{0})^{∘}A is open.

(35) For every subset A of X such that A is closed holds (Stone-retraction of X onto X_{0})^{∘}A is closed.

References

[1] P. Alexandroff and H. H. Hopf. Topologie I. Springer-Verlag, Berlin, 1935.

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

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

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

[5] Zbigniew Karno. Maximal anti-discrete subspaces of topological spaces. Formalized Mathematics, 5(1):109–118, 1996.

[6] Zbigniew Karno. Maximal discrete subspaces of almost discrete topological spaces. Formalized Mathematics, 4(1):125–135, 1993.

[7] Zbigniew Karno. On Kolmogorov topological spaces. Formalized Mathematics, 5(1):119– 124, 1996.

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

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

[10] M. H. Stone. Application of boolean algebras to topology. Math. Sb., 1:765–771, 1936.

[11] W.J. Thron. Topological Structures. Holt, Rinehart and Winston, New York, 1966.

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

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

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

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

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

[17] R.H. Warren. Identification spaces and unique uniformity. Pacific Journal of Mathematics, 95:483–492, 1981.

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

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

Projective Planes

Michał Muzalewski Warsaw University Białystok

Summary. The line of points a, b, denoted by a · b and the point of lines A, B denoted by A · B are defined. A few basic theorems related to these notions are proved. An inspiration for such approach comes from so called Leibniz program. Let us recall that the Leibniz program is a program of algebraization of geometry using purely geometric notions. Leibniz formulated his program in opposition to algebraization method developed by Descartes.

MML Identifier: PROJPL 1.

The terminology and notation used in this paper are introduced in the papers [2] and [1].

1. Projective Spaces

In this paper G will denote a projective incidence structure. Let us consider G. A point of G is an element of the points of G. A line of

G is an element of the lines of G.

We adopt the following rules: a, a_{1}, a_{2}, b, b_{1}, b_{2}, c, d, p, q, r will be points of G and A, B, M, N, P, Q, R will be lines of G.

Let us consider G, a, P. We introduce a P as an antonym of a | P. Let us consider G, a, b, P. The predicate a, b P is defined as follows:

(Def.1) a P and b P.

Let us consider G, a, P, Q. The predicate a | P, Q is defined as follows: (Def.2) a | P and a | Q.

Let us consider G, a, P, Q, R. The predicate a | P, Q, R is defined as follows: (Def.3) a | P and a | Q and a | R.

We now state the proposition (1) (i) If a, b | P, then b, a | P, (ii) if a, b, c | P, then a, c, b | P and b, a, c | P and b, c, a | P and c, a, b | P

and c, b, a | P, (iii) if a | P, Q, then a | Q, P, and (iv) if a | P, Q, R, then a | P, R, Q and a | Q, P, R and a | Q, R, P and

a | R, P, Q and a | R, Q, P. A projective incidence structure is configuration if:

(Def.4) For all points p, q of it and for all lines P, Q of it such that p | P and

q | P and p | Q and q | Q holds p = q or P = Q. We now state three propositions:

(2) G is configuration iff for all p, q, P, Q such that p, q | P and p, q | Q holds p = q or P = Q.

(3) G is configuration iff for all p, q, P, Q such that p | P, Q and q | P, Q holds p = q or P = Q.

(4) The following statements are equivalent

(i) G is a projective space defined in terms of incidence, (ii) G is configuration and for all p, q there exists P such that p, q | P and

there exist p, P such that p P and for every P there exist a, b, c such that a, b, c are mutually different and a, b, c | P and for all a, b, c, d, p, M, N, P, Q such that a, b, p | M and c, d, p | N and a, c | P and b, d | Q and p P and p Q and M ≠ N there exists q such that q | P, Q.

An incidence projective plane is a 2-dimensional projective space defined in terms of incidence.

Let us consider G, a, b, c. We say that a, b and c are collinear if and only if: (Def.5) There exists P such that a, b, c | P. We introduce a, b, c form a triangle as an antonym of a, b and c are collinear.

Next we state two propositions:

(5) a, b and c are collinear iff there exists P such that a | P and b | P and c | P.

(6) a, b, c form a triangle iff for every P holds a P or b P or c P. Let us consider G, a, b, c, d. We say that a, b, c, d form a quadrangle if and

only if the conditions (Def.6) are satisfied. (Def.6) (i) a, b, c form a triangle,

(ii) b, c, d form a triangle, (iii) c, d, a form a triangle, and (iv) d, a, b form a triangle. One can prove the following propositions:

(7) If G is a projective space defined in terms of incidence, then there exist A, B such that A ≠ B.

(8) Suppose G is a projective space defined in terms of incidence and a | A. Then there exist b, c such that b, c | A and a, b, c are mutually different.

(9) Suppose G is a projective space defined in terms of incidence and a | A and A ≠ B. Then there exists b such that b | A and b B and a ≠ b.

(10) If G is configuration and a_{1}, a_{2} | A and a_{1} ≠ a_{2} and b A, then a_{1}, a_{2}, b form a triangle.

(11) Suppose a, b and c are collinear. Then (i) a, c and b are collinear, (ii) b, a and c are collinear, (iii) b, c and a are collinear, (iv) c, a and b are collinear, and

(v) c, b and a are collinear.

(12) Suppose a, b, c form a triangle. Then (i) a, c, b form a triangle, (ii) b, a, c form a triangle, (iii) b, c, a form a triangle, (iv) c, a, b form a triangle, and

(v) c, b, a form a triangle.

(13) Suppose a, b, c, d form a quadrangle. Then (i) a, c, b, d form a quadrangle, (ii) b, a, c, d form a quadrangle, (iii) b, c, a, d form a quadrangle, (iv) c, a, b, d form a quadrangle,

(v) c, b, a, d form a quadrangle, (vi) a, b, d, c form a quadrangle, (vii) a, c, d, b form a quadrangle, (viii) b, a, d, c form a quadrangle, (ix) b, c, d, a form a quadrangle,

(x) c, a, d, b form a quadrangle, (xi) c, b, d, a form a quadrangle, (xii) a, d, b, c form a quadrangle, (xiii) a, d, c, b form a quadrangle, (xiv) b, d, a, c form a quadrangle, (xv) b, d, c, a form a quadrangle, (xvi) c, d, a, b form a quadrangle, (xvii) c, d, b, a form a quadrangle, (xviii) d, a, b, c form a quadrangle, (xix) d, a, c, b form a quadrangle, (xx) d, b, a, c form a quadrangle, (xxi) d, b, c, a form a quadrangle, (xxii) d, c, a, b form a quadrangle, and (xxiii) d, c, b, a form a quadrangle.

(14) If G is configuration and a_{1}, a_{2} | A and b_{1}, b_{2} | B and a_{1}, a_{2} B and b_{1}, b_{2} A and a_{1} ≠ a_{2} and b_{1} ≠ b_{2}, then a_{1}, a_{2}, b_{1}, b_{2} form a quadrangle.

(15) Suppose G is a projective space defined in terms of incidence. Then there exist a, b, c, d such that a, b, c, d form a quadrangle.

Let G be a projective space defined in terms of incidence. An element of [: the points of G, the points of G, the points of G, the points of G:] is called a quadrangle of G if: (Def.7) it_{1}, it_{2}, it_{3}, it_{4} form a quadrangle.

Let G be a projective space defined in terms of incidence and let a, b be points of G. Let us assume that a ≠ b. The functor a · b yields a line of G and is defined as follows: (Def.8) a, b | a · b.

Next we state the proposition

(16) Let G be a projective space defined in terms of incidence, and let a, b be points of G, and let L be a line of G. Suppose a ≠ b. Then a | a · b and b | a · b and a · b = b · a and if a | L and b | L, then L = a · b.

2. Projective Planes

The following propositions are true:

(17) If there exist a, b, c such that a, b, c form a triangle and for all p, q there exists M such that p, q | M, then there exist p, P such that p P.

(18) If there exist a, b, c, d such that a, b, c, d form a quadrangle, then there exist a, b, c such that a, b, c form a triangle.

(19) If a, b, c form a triangle and a, b | P and a, c | Q, then P ≠ Q.

(20) If a, b, c, d form a quadrangle and a, b | P and a, c | Q and a, d | R, then P, Q, R are mutually different.

(21) Suppose G is configuration and a | P, Q, R and P, Q, R are mutually different and a A and p | A, P and q | A, Q and r | A, R. Then p, q, r are mutually different.

(22) Suppose that (i) G is configuration, (ii) for all p, q there exists M such that p, q | M, (iii) for all P, Q there exists a such that a | P, Q, and (iv) there exist a, b, c, d such that a, b, c, d form a quadrangle.

Given P. Then there exist a, b, c such that a, b, c are mutually different and a, b, c | P.

(23) G is an incidence projective plane if and only if the following conditions

are satisfied:

(i) G is configuration, (ii) for all p, q there exists M such that p, q | M, (iii) for all P, Q there exists a such that a | P, Q, and (iv) there exist a, b, c, d such that a, b, c, d form a quadrangle. We adopt the following convention: G will denote an incidence projective

plane, a, q will denote points of G, and A, B will denote lines of G.

Let us consider G, A, B. Let us assume that A ≠ B. The functor A·B yields a point of G and is defined by: (Def.9) A · B | A, B.

Next we state two propositions:

(24) If A ≠ B, then A · B | A and A · B | B and A · B = B · A and if a | A and a | B, then a = A · B.

(25) If A ≠ B and a | A and q A and a ≠ A · B, then q · a · B | B and q · a · B A.

3. Some Useful Propositions

We adopt the following convention: G denotes a projective space defined in terms of incidence and a, b, c, d denote points of G.

We now state two propositions:

(26) If a, b, c form a triangle, then a, b, c are mutually different.

(27) If a, b, c, d form a quadrangle, then a, b, c, d are mutually different. In the sequel G will be an incidence projective plane. One can prove the following propositions:

(28) For all points a, b, c, d of G such that a · c = b · d holds a = c or b = d or c = d or a · c = c · d.

(29) For all points a, b, c, d of G such that a · c = b · d holds a = c or b = d or c = d or a | c · d.

(30) Let G be an incidence projective plane, and let e, m, m′ be points of G, and let I be a line of G. If m | I and m′ | I and m ≠ m′ and e I, then m · e ≠ m′ · e and e · m ≠ e · m′.

(31) Let G be an incidence projective plane, and let e be a point of G, and let I, L_{1}, L_{2} be lines of G. If e | L_{1} and e | L_{2} and L_{1} ≠ L_{2} and e I, then I · L_{1} ≠ I · L_{2} and L_{1} · I ≠ L_{2} · I.

(32) Let G be a projective space defined in terms of incidence and let a, b, q, q_{1} be points of G. If q | a · b and q | a · q_{1} and q ≠ a and q_{1} ≠ a and a ≠ b, then q_{1} | a · b.

(33) Let G be a projective space defined in terms of incidence and let a, b, c be points of G. If c | a · b and a ≠ c, then b | a · c.

(34) Let G be an incidence projective plane, and let q_{1}, q_{2}, r_{1}, r_{2} be points of G, and let H be a line of G. If r_{1} ≠ r_{2} and r_{1} | H and r_{2} | H and q_{1} H and q_{2} H, then q_{1} · r_{1} ≠ q_{2} · r_{2}.

(35) For all points a, b, c of G such that a | b · c holds a = c or b = c or b | c · a.

(36) For all points a, b, c of G such that a | b · c holds b = a or b = c or c | b · a.

(37) Let e, x_{1}, x_{2}, p_{1}, p_{2} be points of G and let H, I be lines of G. Suppose x_{1} | I and x_{2} | I and e | H and e I and x_{1} ≠ x_{2} and p_{1} ≠ e and p_{2} ≠ e and p_{1} | e · x_{1} and p_{2} | e · x_{2}. Then there exists a point r of G such that r | p_{1} · p_{2} and r | H and r ≠ e.

References

[1] Wojciech Leończuk and Krzysztof Prażmowski. Incidence projective spaces. Formalized Mathematics, 2(2):225–232, 1991.

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

The Formalization of Simple Graphs

Yozo Toda Information Processing Center Chiba University

Summary. A graph is simple when

• it is non-directed,

• there is at most one edge between two vertices,

• there is no loop of length one.

A formalization of simple graphs is given from scratch. There is already an article [9], dealing with the similar subject. It is not used as a startingpoint, because [9] formalizes directed non-empty graphs. Given a set of vertices, edge is defined as an (unordered) pair of different two vertices and graph as a pair of a set of vertices and a set of edges.

The following concepts are introduced:

• simple graph structure,

• the set of all simple graphs,

• equality relation on graphs.

• the notion of degrees of vertices; the number of edges connected to, or the number of adjacent vertices,

• the notion of subgraphs,

• path, cycle,

• complete and bipartite complete graphs,

Theorems proved in this articles include:

• the set of simple graphs satisfies a certain minimality condition,

• equivalence between two notions of degrees.

MML Identifier: SGRAPH1.

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

1. Preliminaries

Let m, n be natural numbers. The functor [m, n]_{}yields a finite subset of and is defined by: (Def.1) [m, n]_{}= {i : i ranges over natural numbers, m ≤ i ∧ i ≤ n}.

The following propositions are true:

(1) For all natural numbers m, n holds [m, n]_{}= {i : i ranges over natural numbers, m ≤ i ∧ i ≤ n}.

(2) Let m, n be natural numbers and let e be arbitrary. Then e ∈ [m, n]_{} if and only if there exists a natural number i such that e = i and m ≤ i and i ≤ n.

(3) For all natural numbers m, n, k holds k ∈ [m, n]_{}iff m ≤ k and k ≤ n.

(4) For every natural number n holds [1, n]_{}= Seg n.

(5) For all natural numbers m, n such that 1 ≤ m holds [m, n]_{}⊆ Seg n.

(6) For all natural numbers k, m, n such that k < m holds Seg k∩[m, n]_{}= ∅.

(7) For all natural numbers m, n such that n < m holds [m, n]_{}= ∅. Let A, B be sets and let f be a function from A into B. We say that f is

onto if and only if: (Def.2) rng f = B.

Let A, B be sets and let f be a function from A into B. We say that f is bijective if and only if: (Def.3) f is one-to-one and onto.

One can prove the following proposition

(8) For every finite set z holds card z = 2 iff there exist arbitrary x, y such that x ∈ z and y ∈ z and x ≠ y and z = {x, y}.

Let A be a set. The functor TwoElementSets(A) yields a set and is defined by: (Def.4) TwoElementSets(A) = {z : z ranges over finite elements of 2^{A}, card z =

2}. The following propositions are true:

(9) For every set A and for arbitrary e holds e ∈ TwoElementSets(A) iff there exists a finite subset z of A such that e = z and card z = 2.

(10) Let A be a set and let e be arbitrary. Then e ∈ TwoElementSets(A) if

and only if the following conditions are satisfied:

(i) e is a finite subset of A, and (ii) there exist arbitrary x, y such that x ∈ A and y ∈ A and x ≠ y and

e = {x, y}.

(11) For every set A holds TwoElementSets(A) ⊆ 2^{A}.

(12) For every set A and for arbitrary e_{1}, e_{2} such that {e_{1}, e_{2}} ∈ TwoElementSets(A) holds e_{1} ∈ A and e_{2} ∈ A and e_{1} ≠ e_{2}.

(13) TwoElementSets(∅) = ∅.

(14) For all sets t, u such that t ⊆ u holds TwoElementSets(t) ⊆ TwoElementSets(u).

(15) For every finite set A holds TwoElementSets(A) is finite.

(16) For every non trivial set A holds TwoElementSets(A) is non empty.

(17) For arbitrary a holds TwoElementSets({a}) = ∅.

Let a be a set. (Def.5) ϕ(a) is an empty subset of TwoElementSets(a).

Let X be an empty set. Observe that every subset of X is empty.

In the sequel X will be a set.

2. Simple Graphs

We introduce simple graph structures which are systems

⟨ SVertices, SEdges ⟩, where the SVertices constitute a set and the SEdges constitute a subset of TwoElementSets(the SVertices).

Let X be a set. The functor SimpleGraphs(X) yields a non empty set and is defined as follows: (Def.6) SimpleGraphs(X) = {⟨v, e⟩ : v ranges over finite subsets of X, e ranges

over finite subsets of TwoElementSets(v)}. Next we state the proposition

(19)^{1} ⟨∅, ϕ(∅)⟩ ∈ SimpleGraphs(X).

Let X be a set. A strict simple graph structure is said to be a simple graph of X if: (Def.7) It is an element of SimpleGraphs(X).

Next we state two propositions:

(20) SimpleGraphs(X) = {⟨v, e⟩ : v ranges over finite subsets of X, e ranges over finite subsets of TwoElementSets(v)}.

(21) Let g be arbitrary. Then g ∈ SimpleGraphs(X) if and only if there exists a finite subset v of X and there exists a finite subset e of TwoElementSets(v) such that g = ⟨v, e⟩.

1The proposition (18) has been removed.

3. Equality Relation on Simple Graphs

One can prove the following propositions: (23)^{2} For every simple graph g of X holds the SVertices of g ⊆ X and the

SEdges of g ⊆ TwoElementSets(the SVertices of g).

(24) For every simple graph g of X holds g = ⟨the SVertices of g, the SEdges of g⟩.

(25) Let g be a simple graph of X and let e be arbitrary. Suppose e ∈ the SEdges of g. Then there exist arbitrary v_{1}, v_{2} such that v_{1} ∈ the SVertices of g and v_{2} ∈ the SVertices of g and v_{1} ≠ v_{2} and e = {v_{1}, v_{2}}.

(26) Let g be a simple graph of X and let v_{1}, v_{2} be arbitrary. Suppose {v_{1}, v_{2}} ∈ the SEdges of g. Then v_{1} ∈ the SVertices of g and v_{2} ∈ the SVertices of g and v_{1} ≠ v_{2}.

(27) Let g be a simple graph of X. Then (i) the SVertices of g is a finite subset of X, and (ii) the SEdges of g is a finite subset of TwoElementSets(the SVertices of

g). Let us consider X and let G, G′ be simple graphs of X. We say that G is

isomorphic to G′ if and only if the condition (Def.8) is satisfied. (Def.8) There exists a function F_{1} from the SVertices of G into the SVertices

of G′ such that

(i) F_{1} is bijective, and (ii) for all elements v_{1}, v_{2} of the SVertices of G holds {v_{1}, v_{2}} ∈ the SEdges

of G iff {F_{1}(v_{1}), F_{1}(v_{2})} ∈ the SEdges of G.

4. Properties of Simple Graphs

The scheme IndSimpleGraphs0 concerns a set A and a unary predicate P, and states that:

For arbitrary G such that G ∈ SimpleGraphs(A) holds P[G] provided the parameters satisfy the following conditions:

• P[⟨∅, ϕ(∅)⟩],

• Let g be a simple graph of A and let v be arbitrary. Suppose g ∈ SimpleGraphs(A) and P[g] and v ∈ A and v ∉ the SVertices of g. Then P[⟨(the SVertices of g)∪{v}, ϕ((the SVertices of g)∪{v})⟩],

• Let g be a simple graph of A and let e be arbitrary. Suppose P[g] and e ∈ TwoElementSets(the SVertices of g) and e ∉ the SEdges of g. Then there exists a subset s_{1} of TwoElementSets(the SVertices of g) such that s_{1} = (the SEdges of g) ∪ {e} and P[⟨the SVertices of g, s_{1}⟩].

2The proposition (22) has been removed.

We now state three propositions:

(28) Let g be a simple graph of X. Then g = ⟨∅, ϕ(∅)⟩ or there exists a set v and there exists a subset e of TwoElementSets(v) such that v is non empty and g = ⟨v, e⟩.

(30)^{3} Let V be a subset of X, and let E be a subset of TwoElementSets(V), and let n be arbitrary, and let E_{1} be a finite subset of TwoElementSets(V ∪ {n}). If ⟨V, E⟩ ∈ SimpleGraphs(X) and n ∈ X and n ∉ V, then ⟨V ∪ {n}, E_{1}⟩ ∈ SimpleGraphs(X).

(31) Let V be a subset of X, and let E be a subset of TwoElementSets(V), and let v_{1}, v_{2} be arbitrary. Suppose v_{1} ∈ V and v_{2} ∈ V and v_{1} ≠ v_{2} and ⟨V, E⟩ ∈ SimpleGraphs(X). Then there exists a finite subset v_{3} of TwoElementSets(V) such that v_{3} = E ∪ {{v_{1}, v_{2}}} and ⟨V, v_{3}⟩ ∈ SimpleGraphs(X).

Let X be a set and let G_{1} be a set. We say that G_{1} is a set of simple graphs of X if and only if the conditions (Def.9) are satisfied. (Def.9) (i) ⟨∅, ϕ(∅)⟩ ∈ G_{1},

(ii) for every subset V of X and for every subset E of TwoElementSets(V) and for arbitrary n and for every finite subset E_{1} of TwoElementSets(V ∪ {n}) such that ⟨V, E⟩ ∈ G_{1} and n ∈ X and n ∉ V holds ⟨V ∪ {n}, E_{1}⟩ ∈ G_{1}, and

(iii) for every subset V of X and for every subset E of TwoElementSets(V) and for arbitrary v_{1}, v_{2} such that ⟨V, E⟩ ∈ G_{1} and v_{1} ∈ V and v_{2} ∈ V and v_{1} ≠ v_{2} and {v_{1}, v_{2}} ∉ E there exists a finite subset v_{3} of TwoElementSets(V) such that v_{3} = E ∪ {{v_{1}, v_{2}}} and ⟨V, v_{3}⟩ ∈ G_{1}.

One can prove the following propositions:

(32) For arbitrary g_{1} such that g_{1} is a set of simple graphs of X holds ⟨∅, ϕ(∅)⟩ ∈ g_{1}.

(33) Let G_{1} be arbitrary. Suppose G_{1} is a set of simple graphs of X. Let V be a subset of X, and let E be a subset of TwoElementSets(V), and let n be arbitrary, and let E_{1} be a finite subset of TwoElementSets(V ∪ {n}). If ⟨V, E⟩ ∈ G_{1} and n ∈ X and n ∉ V, then ⟨V ∪ {n}, E_{1}⟩ ∈ G_{1}.

(34) Let G_{1} be arbitrary. Suppose G_{1} is a set of simple graphs of X. Let V be a subset of X, and let E be a subset of TwoElementSets(V), and let v_{1}, v_{2} be arbitrary. Suppose ⟨V, E⟩ ∈ G_{1} and v_{1} ∈ V and v_{2} ∈ V and v_{1} ≠ v_{2} and {v_{1}, v_{2}} ∉ E. Then there exists a finite subset v_{3} of TwoElementSets(V) such that v_{3} = E ∪ {{v_{1}, v_{2}}} and ⟨V, v_{3}⟩ ∈ G_{1}.

(35) SimpleGraphs(X) is a set of simple graphs of X.

(36) For arbitrary O_{1} such that O_{1} is a set of simple graphs of X holds SimpleGraphs(X) ⊆ O_{1}.

(37) SimpleGraphs(X) is a set of simple graphs of X and for arbitrary O_{1} such that O_{1} is a set of simple graphs of X holds SimpleGraphs(X) ⊆ O_{1}.

3The proposition (29) has been removed.

5. Subgraphs

Let X be a set and let G be a simple graph of X. A simple graph of X is called a subgraph of G if:

(Def.10) The SVertices of it ⊆ the SVertices of G and the SEdges of it ⊆ the SEdges of G.

6. Degree of Vertices

Let X be a set, let G be a simple graph of X, and let v be arbitrary. Let us assume that v ∈ the SVertices of G. The functor degree(G, v) yielding a natural number is defined by:

(Def.11) There exists a finite set X such that for arbitrary z holds z ∈ X iff

z ∈ the SEdges of G and v ∈ z and degree(G, v) = card X. One can prove the following propositions:

(38) Let G be a simple graph of X and let v be arbitrary. Suppose v ∈ the SVertices of G. Then there exists a finite set Y such that for arbitrary z holds z ∈ Y iff z ∈ the SEdges of G and v ∈ z and degree(G, v) = card Y.

(39) Let X be a non empty set, and let G be a simple graph of X, and let v be arbitrary. Suppose v ∈ the SVertices of G. Then there exists a finite set w_{1} such that w_{1} = {w : w ranges over elements of X, w ∈ the SVertices of G ∧ {v, w} ∈ the SEdges of G} and degree(G, v) = card w_{1}.

(40) Let X be a non empty set, and let g be a simple graph of X, and let v be arbitrary. Suppose v ∈ the SVertices of g. Then there exists a finite set V_{1} such that V_{1} = the SVertices of g and degree(g, v) < card V_{1}.

(41) Let g be a simple graph of X and let v, e be arbitrary. Suppose v ∈ the SVertices of g and e ∈ the SEdges of g and degree(g, v) = 0. Then v ∉ e.

(42) Let g be a simple graph of X, and let v be arbitrary, and let v_{4} be a finite set. Suppose v_{4} = the SVertices of g and v ∈ v_{4} and 1 + degree(g, v) = card v_{4}. Let w be an element of v_{4}. If v ≠ w, then there exists arbitrary e such that e ∈ the SEdges of g and e = {v, w}.

7. Path and Cycle

Let X be a set, let g be a simple graph of X, let v_{1}, v_{2} be elements of the SVertices of g, and let p be a finite sequence of elements of the SVertices of g. We say that p is a path of v_{1} and v_{2} if and only if the conditions (Def.12) are satisfied.

(Def.12) (i) p(1) = v_{1}, (ii) p(len p) = v_{2}, (iii) for every natural number i such that 1 ≤ i and i < len p holds

{p(i), p(i + 1)} ∈ the SEdges of g, and (iv) for all natural numbers i, j such that 1 ≤ i and i < len p and i < j

and j < len p holds p(i) ≠ p(j) and {p(i), p(i + 1)} ≠ {p(j), p(j + 1)}. Let X be a set, let g be a simple graph of X, and let v_{1}, v_{2} be elements of the

SVertices of g. The functor Paths(v_{1}, v_{2}) yields a subset of (the SVertices of g)^{∗} and is defined by:

(Def.13) Paths(v_{1}, v_{2}) = {s_{2} : s_{2} ranges over elements of (the SVertices of g)^{∗},

s_{2} is a path of v_{1} and v_{2}}. One can prove the following three propositions:

(43) Let g be a simple graph of X and let v_{1}, v_{2} be elements of the SVertices of g. Then Paths(v_{1}, v_{2}) = {s_{2} : s_{2} ranges over elements of (the SVertices of g)^{∗}, s_{2} is a path of v_{1} and v_{2}}.

(44) Let g be a simple graph of X, and let v_{1}, v_{2} be elements of the SVertices of g, and let e be arbitrary. Then e ∈ Paths(v_{1}, v_{2}) if and only if there exists an element s_{2} of (the SVertices of g)^{∗} such that e = s_{2} and s_{2} is a path of v_{1} and v_{2}.

(45) Let g be a simple graph of X, and let v_{1}, v_{2} be elements of the SVertices of g, and let e be an element of (the SVertices of g)^{∗}. If e is a path of v_{1} and v_{2}, then e ∈ Paths(v_{1}, v_{2}).

Let X be a set, let g be a simple graph of X, and let p be arbitrary. We say that p is a cycle of g if and only if:

(Def.14) There exists an element v of the SVertices of g such that p ∈ Paths(v, v).

8. Some Famous Graphs

Let n, m be natural numbers. The functor K_{m,n} yielding a simple graph of is defined by the condition (Def.16).

(Def.16)^{4} There exists a subset e_{3} of TwoElementSets(Seg(m + n)) such that e_{3} = {{i, j} : i ranges over elements of , j ranges over elements of , i ∈ Seg m ∧ j ∈ [m + 1, m + n]_{}} and K_{m,n} = ⟨Seg(m + n), e_{3}⟩.

Let n be a natural number. The functor K_{n} yields a simple graph of and is defined by the condition (Def.17).

(Def.17) There exists a finite subset e_{3} of TwoElementSets(Seg n) such that e_{3} = {{i, j} : i ranges over elements of , j ranges over elements of , i ∈ Seg n ∧ j ∈ Seg n ∧ i ≠ j} and K_{n} = ⟨Seg n, e_{3}⟩.

The simple graph TriangleGraph of is defined by: (Def.18) TriangleGraph = K_{3} .

4The definition (Def.15) has been removed.

144 yozo toda

One can prove the following propositions:

(46) There exists a subset e_{3} of TwoElementSets(Seg 3) such that e_{3} = {{1, 2}, {2, 3}, {3, 1}} and TriangleGraph = ⟨Seg 3, e_{3}⟩.

(47) The SVertices of TriangleGraph = Seg 3 and the SEdges of TriangleGraph = {{1, 2}, {2, 3}, {3, 1}}.

(48) {1, 2} ∈ the SEdges of TriangleGraph and {2, 3} ∈ the SEdges of TriangleGraph and {3, 1} ∈ the SEdges of TriangleGraph.

(49) ⟨1⟩^{}⟨2⟩^{}⟨3⟩^{}⟨1⟩ is a cycle of TriangleGraph.

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] Józef Białas. Group and field definitions. Formalized Mathematics, 1(3):433–439, 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] Agata Darmochwał. Finite sets. Formalized Mathematics, 1(1):165–167, 1990.

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

[10] Andrzej Trybulec. Semilattice operations on finite subsets. Formalized Mathematics, 1(2):369–376, 1990.

[11] Andrzej Trybulec and Agata Darmochwał. Boolean domains. Formalized Mathematics, 1(1):187–190, 1990.

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

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

Received September 8, 1994

Solvable Groups

Katarzyna Zawadzka Warsaw University Białystok

Summary. The concept of solvable group is introduced. Some theorems concerning heirdom of solvability are proved.

MML Identifier: GRSOLV 1.

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

In this paper G denotes a group and i denotes a natural number. A group is solvable if it satisfies the condition (Def.1).

(Def.1) There exists a finite sequence F of elements of SubGr it such that (i) len F > 0, (ii) F (1) = Ω_{it}, (iii) F (len F) = {1}_{it}, and (iv) for every i such that i ∈ dom F and i + 1 ∈ dom F and for all strict

subgroups G_{1}, G_{2} of it such that G_{1} = F (i) and G_{2} = F (i + 1) holds G_{2} is a strict normal subgroup of G_{1} and for every normal subgroup N of G_{1} such that N = G_{2} holds ^{G_{1}}/_{N} is commutative.

One can check that there exists a group which is solvable and strict. One can prove the following propositions:

(1) Let G be a strict group and let H, F_{1}, F_{2} be strict subgroups of G. Suppose F_{1} is a normal subgroup of F_{2}. Then F_{1}∩H is a normal subgroup of F_{2} ∩ H.

(2) Let G be a strict group, and let F_{2} be a strict subgroup of G, and let F_{1} be a strict normal subgroup of F_{2}, and let a, b be elements of F_{2}. Then a · F_{1} · (b · F_{1}) = (a · b) · F_{1}.

(3) Let G be a strict group, and let H, F_{2} be strict subgroups of G, and let F_{1} be a strict normal subgroup of F_{2}, and let G_{2} be a strict subgroup of G. Suppose G_{2} = H ∩ F_{2}. Let G_{1} be a normal subgroup of G_{2}. Suppose G_{1} = H ∩ F_{1}. Then there exists a subgroup G_{3} of ^{F_{2}}/_{F_{1}} such that ^{G_{2}}/_{G_{1}} and G_{3} are isomorphic.

(4) Let G be a strict group, and let H, F_{2} be strict subgroups of G, and let F_{1} be a strict normal subgroup of F_{2}, and let G_{2} be a strict subgroup of G. Suppose G_{2} = F_{2} ∩ H. Let G_{1} be a normal subgroup of G_{2}. Suppose G_{1} = F_{1} ∩ H. Then there exists a subgroup G_{3} of ^{F_{2}}/_{F_{1}} such that ^{G_{2}}/_{G_{1}} and G_{3} are isomorphic.

(5) For every solvable strict group G holds every strict subgroup of G is solvable.

(6) Let G be a strict group. Given a finite sequence F of elements of SubGr G such that

(i) len F > 0, (ii) F (1) = Ω_{G}, (iii) F (len F) = {1}_{G}, and (iv) for every i such that i ∈ dom F and i + 1 ∈ dom F and for all strict

subgroups G_{1}, G_{2} of G such that G_{1} = F (i) and G_{2} = F (i + 1) holds G_{2} is a strict normal subgroup of G_{1} and for every normal subgroup N of G_{1} such that N = G_{2} holds ^{G_{1}}/_{N} is a cyclic group. Then G is solvable.

(7) Every strict commutative group is strict and solvable. Let G, H be strict groups, let g be a homomorphism from G to H, and let

A be a subgroup of G. The functor g A yielding a homomorphism from A to H is defined as follows: (Def.2) g A = g (the carrier of A).

Let G, H be strict groups, let g be a homomorphism from G to H, and let A be a subgroup of G. The functor g^{∘}A yields a strict subgroup of H and is defined as follows: (Def.3) g^{∘}A = Im(g A).

Next we state a number of propositions:

(8) Let G, H be strict groups, and let g be a homomorphism from G to H, and let A be a subgroup of G. Then rng(g A) = g^{∘}(the carrier of A).

(9) Let G, H be strict groups, and let g be a homomorphism from G to H, and let A be a strict subgroup of G. Then the carrier of g^{∘}A = g^{∘}(the carrier of A).

(10) Let G, H be strict groups, and let h be a homomorphism from G to H, and let A be a strict subgroup of G. Then Im(h A) is a strict subgroup of Im h.

(11) Let G, H be strict groups, and let h be a homomorphism from G to H, and let A be a strict subgroup of G. Then h^{∘}A is a strict subgroup of Im h.

(12) For all strict groups G, H and for every homomorphism h from G to H holds h^{∘}({1}_{G}) = {1}_{H} and h^{∘}(Ω_{G}) = Ω_{Im h}.

solvable groups 147

(13) Let G, H be strict groups, and let h be a homomorphism from G to H, and let A, B be strict subgroups of G. If A is a subgroup of B, then h^{∘}A is a subgroup of h^{∘}B.

(14) Let G, H be strict groups, and let h be a homomorphism from G to H, and let A be a strict subgroup of G, and let a be an element of G. Then h(a) · h^{∘}A = h^{∘}(a · A) and h^{∘}A · h(a) = h^{∘}(A · a).

(15) Let G, H be strict groups, and let h be a homomorphism from G to H, and let A, B be subsets of G. Then h^{∘}A · h^{∘}B = h^{∘}(A · B).

(16) Let G, H be strict groups, and let h be a homomorphism from G to H, and let A, B be strict subgroups of G. Suppose A is a strict normal subgroup of B. Then h^{∘}A is a strict normal subgroup of h^{∘}B.

(17) Let G, H be strict groups and let h be a homomorphism from G to H. If G is a solvable group, then Im h is solvable.

References

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

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

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

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

[5] Eugeniusz Kusak, Wojciech Leończuk, and Michał Muzalewski. Abelian groups, fields and vector spaces. Formalized Mathematics, 1(2):335–342, 1990.

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

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

[8] Wojciech A. Trybulec. Classes of conjugation. Normal subgroups. Formalized Mathematics, 1(5):955–962, 1990.

[9] Wojciech A. Trybulec. Groups. Formalized Mathematics, 1(5):821–827, 1990.

[10] Wojciech A. Trybulec. Subgroup and cosets of subgroups. Formalized Mathematics, 1(5):855–864, 1990.

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

[12] Wojciech A. Trybulec and Michał J. Trybulec. Homomorphisms and isomorphisms of groups. Quotient group. Formalized Mathematics, 2(4):573–578, 1991.

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

Received October 23, 1994

Index of MML Identifiers

AMI 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 AUTGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 BINARI 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 BINTREE1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 BOOLEALG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 GRSOLV 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 MEASURE6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 MSAFREE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 MSUALG 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 MSUALG 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 MSUALG 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 MSUALG 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 PRALG 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 PROJPL 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 QUANTAL1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 RELOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 SCM COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 SGRAPH1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 SPPOL 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 TEX 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 TOPRNS 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 TSP 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119 TSP 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125 T 0TOPSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Contents Formaliz. Math. 5 (1)

On the Decomposition of the States of SCM

By Yasushi Tanaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

On Defining Functions on Binary Trees

By Grzegorz Bancerek and Piotr Rudnicki . . . . . . . . . . . . . 9

A Compiler of Arithmetic Expressions for SCM

By Grzegorz Bancerek and Piotr Rudnicki . . . . . . . . . . . . . 15

Some Properties of the Intervals

By Józef Białas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Binary Arithmetics, Addition and Subtraction of Integers

By Yasuho Mizuhara and Takaya Nishiyama . . . . . . . . . . . . . 27

Boolean Properties of Lattices

By Agnieszka Julia Marasik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Many Sorted Algebras

By Andrzej Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

On the Group of Inner Automorphisms

By Artur Korniłowicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Subalgebras of Many Sorted Algebra. Lattice of Subalgebras

By Ewa Burakowska . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Products of Many Sorted Algebras

By Beata Madras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Homomorphisms of Many Sorted Algebras

By Małgorzata Korolkiewicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Free Many Sorted Universal Algebra

By Beata Perkowska . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Continued on inside back cover

T_{0} Topological Spaces

By Mariusz Żynel and Adam Guzowski . . . . . . . . . . . . . . . . . . . 75

Many Sorted Quotient Algebra

By Małgorzata Korolkiewicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Quantales

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Sequences in E_{T}^{N}

By Agnieszka Sakowicz et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Extremal Properties of Vertices on Special Polygons, Part I

By Yatsuka Nakamura and Czesław Byliński . . . . . . . . . . . 97

Relocatability

By Yasushi Tanaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Maximal Anti-Discrete Subspaces of Topological Spaces

By Zbigniew Karno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

On Kolmogorov Topological Spaces

By Zbigniew Karno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Maximal Kolmogorov Subspaces of a Topological Space as Stone Retracts of the Ambient Space

By Zbigniew Karno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

Projective Planes

By Michał Muzalewski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

The Formalization of Simple Graphs

By Yozo Toda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

Solvable Groups

By Katarzyna Zawadzka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

Index of MML Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148