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

Ideals

Grzegorz Bancerek Institute of Mathematics Polish Academy of Sciences

Summary. The dual concept to filters (see [2,3]) i.e. ideals of a lattice is introduced.

MML Identifier: FILTER 2.

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

1. Some Properties of the Restriction of Binary Operations

In this paper D is a non empty set. We now state several propositions:

(1) Let D be a non empty set, and let S be a non empty subset of D, and let f be a binary operation on D, and let g be a binary operation on S. Suppose g = f [: S, S:]. Then

(i) if f is commutative, then g is commutative, (ii) if f is idempotent, then g is idempotent, and (iii) if f is associative, then g is associative.

(2) Let D be a non empty set, and let S be a non empty subset of D, and let f be a binary operation on D, and let g be a binary operation on S, and let d be an element of D, and let d′ be an element of S. Suppose g = f [: S, S:] and d′ = d. Then

(i) if d is a left unity w.r.t. f, then d′ is a left unity w.r.t. g, (ii) if d is a right unity w.r.t. f, then d′ is a right unity w.r.t. g, and (iii) if d is a unity w.r.t. f, then d′ is a unity w.r.t. g.

(3) Let D be a non empty set, and let S be a non empty subset of D, and let f_{1}, f_{2} be binary operations on D, and let g_{1}, g_{2} be binary operations on S. Suppose g_{1} = f_{1} [: S, S:] and g_{2} = f_{2} [: S, S:]. Then (i) if f_{1} is left distributive w.r.t. f_{2}, then g_{1} is left distributive w.r.t. g_{2},

and (ii) if f_{1} is right distributive w.r.t. f_{2}, then g_{1} is right distributive w.r.t.

g_{2}.

(4) Let D be a non empty set, and let S be a non empty subset of D, and let f_{1}, f_{2} be binary operations on D, and let g_{1}, g_{2} be binary operations on S. Suppose g_{1} = f_{1} [: S, S:] and g_{2} = f_{2} [: S, S:]. If f_{1} is distributive w.r.t. f_{2}, then g_{1} is distributive w.r.t. g_{2}.

(5) Let D be a non empty set, and let S be a non empty subset of D, and let f_{1}, f_{2} be binary operations on D, and let g_{1}, g_{2} be binary operations on S. If g_{1} = f_{1} [: S, S:] and g_{2} = f_{2} [: S, S:], then if f_{1} absorbs f_{2}, then g_{1} absorbs g_{2}.

2. Closed Subsets of a Lattice

Let D be a non empty set and let X_{1}, X_{2} be subsets of D. Let us observe that X_{1} = X_{2} if and only if: (Def.1) For every element x of D holds x ∈ X_{1} iff x ∈ X_{2}.

For simplicity we follow the rules: L will denote a lattice, p, q, r will denote elements of the carrier of L, p′, q′ will denote elements of the carrier of L^{∘}, and x will be arbitrary.

Next we state several propositions:

(6) Let L_{1}, L_{2} be lattice structures. Suppose the lattice structure of L_{1} = the lattice structure of L_{2}. Then L_{1}^{∘} = L_{2}^{∘}.

(7) (L^{∘})^{∘} = the lattice structure of L.

(8) 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 the carrier of L_{1} and let a_{2}, b_{2} be elements of the carrier of L_{2}. 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}.

(9) Let L_{1}, L_{2} be lower bound lattices. Suppose the lattice structure of L_{1} = the lattice structure of L_{2}. Then ⊥_{(L_{1})} = ⊥_{(L_{2})}.

(10) Let L_{1}, L_{2} be upper bound lattices. Suppose the lattice structure of L_{1} = the lattice structure of L_{2}. Then ⊤_{(L_{1})} = ⊤_{(L_{2})}.

(11) Let L_{1}, L_{2} be complemented lattices. Suppose the lattice structure of L_{1} = the lattice structure of L_{2}. Let a_{1}, b_{1} be elements of the carrier of L_{1} and let a_{2}, b_{2} be elements of the carrier of L_{2}. If a_{1} = a_{2} and b_{1} = b_{2} and a_{1} is a complement of b_{1}, then a_{2} is a complement of b_{2}.

(12) Let L_{1}, L_{2} be Boolean lattices. Suppose the lattice structure of L_{1} = the lattice structure of L_{2}. Let a be an element of the carrier of L_{1} and let b be an element of the carrier of L_{2}. If a = b, then a^{c} = b^{c}.

Let us consider L. A subset of the carrier of L is said to be a closed subset of L if: (Def.2) For all p, q such that p ∈ it and q ∈ it holds p ⊓ q ∈ it and p ⊔ q ∈ it.

Let us consider L. Observe that there exists a closed subset of L which is non empty.

The following two propositions are true:

(13) Let X be a subset of the carrier of L. Suppose that for all p, q holds p ∈ X and q ∈ X iff p ⊓ q ∈ X. Then X is a closed subset of L.

(14) Let X be a subset of the carrier of L. Suppose that for all p, q holds

p ∈ X and q ∈ X iff p ⊔ q ∈ X. Then X is a closed subset of L. Let us consider L. Then [L) is a filter of L. Let p be an element of the carrier

of L. Then [p) is a filter of L.

Let us consider L and let D be a non empty subset of the carrier of L. Then [D) is a filter of L.

Let L be a distributive lattice and let F_{1}, F_{2} be filters of L. Then F_{1} ⊓ F_{2} is a filter of L.

Let us consider L. A non empty closed subset of L is called an ideal of L if: (Def.3) p ∈ it and q ∈ it iff p ⊔ q ∈ it.

Next we state three propositions:

(15) Let X be a non empty subset of the carrier of L. Suppose that for all p, q holds p ∈ X and q ∈ X iff p ⊔ q ∈ X. Then X is an ideal of L.

(16) Let L_{1}, L_{2} be lattices. Suppose the lattice structure of L_{1} = the lattice structure of L_{2}. Given x. If x is a filter of L_{1}, then x is a filter of L_{2}.

(17) Let L_{1}, L_{2} be lattices. Suppose the lattice structure of L_{1} = the lattice

structure of L_{2}. Given x. If x is an ideal of L_{1}, then x is an ideal of L_{2}. Let us consider L, p. The functor p^{∘} yielding an element of the carrier of L^{∘}

is defined by: (Def.4) p^{∘} = p.

Let us consider L and let p be an element of the carrier of L^{∘}. The functor ∘p yields an element of the carrier of L and is defined as follows: (Def.5) ^{∘}p = p.

Next we state four propositions:

(18) ^{∘}p^{∘} = p and (^{∘}p′)^{∘} = p′.

(19) p⊓q = p^{∘}⊔q^{∘} and p⊔q = p^{∘}⊓q^{∘} and p′⊓q′ = ^{∘}p′⊔^{∘}q′ and p′⊔q′ = ^{∘}p′⊓^{∘}q′.

(20) p ⊑ q iff q^{∘} ⊑ p^{∘} and p′ ⊑ q′ iff ^{∘}q′ ⊑ ^{∘}p′.

(21) x is an ideal of L iff x is a filter of L^{∘}.

Let us consider L and let X be a subset of the carrier of L. The functor X^{∘} yielding a subset of the carrier of L^{∘} is defined as follows: (Def.6) X^{∘} = X.

Let us consider L and let X be a subset of the carrier of L^{∘}. The functor ^{∘}X yielding a subset of the carrier of L is defined by:

(Def.7) ^{∘}X = X.

Let us consider L and let D be a non empty subset of the carrier of L. Observe that D^{∘} is non empty.

Let us consider L and let D be a non empty subset of the carrier of L^{∘}. Observe that ^{∘}D is non empty.

Let us consider L and let S be a closed subset of L. Then S^{∘} is a closed subset of L^{∘}.

Let us consider L and let S be a non empty closed subset of L. Then S^{∘} is a non empty closed subset of L^{∘}.

Let us consider L and let S be a closed subset of L^{∘}. Then ^{∘}S is a closed subset of L.

Let us consider L and let S be a non empty closed subset of L^{∘}. Then ^{∘}S is a non empty closed subset of L.

Let us consider L and let F be a filter of L. Then F^{∘} is an ideal of L^{∘}. Let us consider L and let F be a filter of L^{∘}. Then ^{∘}F is an ideal of L. Let us consider L and let I be an ideal of L. Then I^{∘} is a filter of L^{∘}. Let us consider L and let I be an ideal of L^{∘}. Then ^{∘}I is a filter of L. We now state the proposition

(22) Let D be a non empty subset of the carrier of L. Then D is an ideal of

L if and only if the following conditions are satisfied:

(i) for all p, q such that p ∈ D and q ∈ D holds p ⊔ q ∈ D, and (ii) for all p, q such that p ∈ D and q ⊑ p holds q ∈ D. In the sequel I, J will be ideals of L and F will be a filter of L. One can prove the following propositions:

(23) If p ∈ I, then p ⊓ q ∈ I and q ⊓ p ∈ I.

(24) There exists p such that p ∈ I.

(25) If L is lower-bounded, then ⊥_{L} ∈ I.

(26) If L is lower-bounded, then {⊥_{L}} is an ideal of L.

(27) If {p} is an ideal of L, then L is lower-bounded.

3. Ideals Generated by Subsets of a Lattice

Next we state the proposition

(28) The carrier of L is an ideal of L.

Let us consider L. The functor (L] yielding an ideal of L is defined as follows: (Def.8) (L] = the carrier of L.

Let us consider L, p. The functor (p] yields an ideal of L and is defined as follows: (Def.9) (p] = {q : q ⊑ p}.

We now state four propositions:

(29) q ∈ (p] iff q ⊑ p.

(30) (p] = [p^{∘}) and (p^{∘}] = [p).

(31) p ∈ (p] and p ⊓ q ∈ (p] and q ⊓ p ∈ (p].

(32) If L is upper-bounded, then (L] = (⊤_{L}].

Let us consider L, I. We say that I is maximal if and only if: (Def.10) I ≠ the carrier of L and for every J such that I ⊆ J and J ≠ the carrier

of L holds I = J. One can prove the following four propositions:

(33) I is maximal iff I^{∘} is an ultrafilter.

(34) If L is upper-bounded, then for every I such that I ≠ the carrier of L there exists J such that I ⊆ J and J is maximal.

(35) If there exists r such that p ⊔ r ≠ p, then (p] ≠ the carrier of L.

(36) If L is upper-bounded and p ≠ ⊤_{L}, then there exists I such that p ∈ I

and I is maximal. In the sequel D denotes a non empty subset of the carrier of L and D′ denotes

a non empty subset of the carrier of L^{∘}.

Let us consider L, D. The functor (D] yields an ideal of L and is defined as follows:

(Def.11) D ⊆ (D] and for every I such that D ⊆ I holds (D] ⊆ I.

We now state two propositions:

(37) [D^{∘}) = (D] and [D) = (D^{∘}] and [^{∘}D′) = (D′] and [D′) = (^{∘}D′].

(38) (I] = I.

In the sequel D_{1}, D_{2} are non empty subsets of the carrier of L and D′_{1}, D′_{2} are non empty subsets of the carrier of L^{∘}.

The following propositions are true:

(39) If D_{1} ⊆ D_{2}, then (D_{1}] ⊆ (D_{2}] and ((D]] ⊆ (D].

(40) If p ∈ D, then (p] ⊆ (D].

(41) If D = {p}, then (D] = (p].

(42) If L is upper-bounded and ⊤_{L} ∈ D, then (D] = (L] and (D] = the carrier of L.

(43) If L is upper-bounded and ⊤_{L} ∈ I, then I = (L] and I = the carrier of

L. Let us consider L, I. We say that I is prime if and only if:

(Def.12) p ⊓ q ∈ I iff p ∈ I or q ∈ I.

The following proposition is true

(44) I is prime iff I^{∘} is prime.

Let us consider L, D_{1}, D_{2}. The functor D_{1} ⊔D_{2} yielding a non empty subset of the carrier of L is defined by:

(Def.13) D_{1} ⊔ D_{2} = {p ⊔ q : p ∈ D_{1} ∧ q ∈ D_{2}}.

We now state four propositions:

(45) D_{1}⊔D_{2} = D_{1}^{∘}⊓D_{2}^{∘} and D_{1}^{∘}⊔D_{2}^{∘} = D_{1}⊓D_{2} and D′_{1}⊔D′_{2} = ^{∘}D′_{1}⊓^{∘}D′_{2} and ^{∘}D′_{1} ⊔^{∘}D′_{2} = D′_{1} ⊓ D′_{2}.

(46) If p ∈ D_{1} and q ∈ D_{2}, then p ⊔ q ∈ D_{1} ⊔ D_{2} and q ⊔ p ∈ D_{1} ⊔ D_{2}.

(47) If x ∈ D_{1} ⊔ D_{2}, then there exist p, q such that x = p ⊔ q and p ∈ D_{1} and q ∈ D_{2}.

(48) D_{1} ⊔ D_{2} = D_{2} ⊔ D_{1}.

Let L be a distributive lattice and let I_{1}, I_{2} be ideals of L. Then I_{1} ⊔ I_{2} is an ideal of L.

The following four propositions are true:

(49) (D_{1} ∪ D_{2}] = ((D_{1}] ∪ D_{2}] and (D_{1} ∪ D_{2}] = (D_{1} ∪ (D_{2}]].

(50) (I ∪ J] = {r : ⋁_{p,q} r ⊑ p ⊔ q ∧ p ∈ I ∧ q ∈ J}.

(51) I ⊆ I ⊔ J and J ⊆ I ⊔ J.

(52) (I ∪ J] = (I ⊔ J].

We follow the rules: B denotes a Boolean lattice, I_{3}, J_{1} denote ideals of B, and a, b denote elements of the carrier of B.

The following propositions are true:

(53) L is a complemented lattice iff L^{∘} is a complemented lattice.

(54) L is a Boolean lattice iff L^{∘} is a Boolean lattice.

Let B be a Boolean lattice. One can verify that B^{∘} is Boolean and lattice-like. In the sequel a′ will denote an element of the carrier of (B qua lattice)^{∘}. The following propositions are true:

(55) (a^{∘})^{c} = a^{c} and (^{∘}a′)^{c} = a′^{c}.

(56) (I_{3} ∪ J_{1}] = I_{3} ⊔ J_{1}.

(57) I_{3} is maximal iff I_{3} ≠ the carrier of B and for every a holds a ∈ I_{3} or a^{c} ∈ I_{3}.

(58) I_{3} ≠ (B] and I_{3} is prime iff I_{3} is maximal.

(59) If I_{3} is maximal, then for every a holds a ∈ I_{3} iff a^{c} ∉ I_{3}.

(60) If a ≠ b, then there exists I_{3} such that I_{3} is maximal but a ∈ I_{3} and

b ∉ I_{3} or a ∉ I_{3} and b ∈ I_{3}. In the sequel P denotes a non empty closed subset of L and o_{1}, o_{2} denote

binary operations on P.

One can prove the following two propositions:

(61) (i) (The join operation of L) [: P, P :] is a binary operation on P, and (ii) (the meet operation of L) [: P, P :] is a binary operation on P.

(62) Suppose o_{1} = (the join operation of L) [: P, P :] and o_{2} = (the meet operation of L) [: P, P :]. Then o_{1} is commutative and associative and o_{2} is commutative and associative and o_{1} absorbs o_{2} and o_{2} absorbs o_{1}.

Let us consider L, p, q. Let us assume that p ⊑ q. The functor [p, q] yielding a non empty closed subset of L is defined by:

(Def.14) [p, q] = {r : p ⊑ r ∧ r ⊑ q}. We now state several propositions:

(63) If p ⊑ q, then r ∈ [p, q] iff p ⊑ r and r ⊑ q.

(64) If p ⊑ q, then p ∈ [p, q] and q ∈ [p, q].

(65) [p, p] = {p}.

(66) If L is upper-bounded, then [p) = [p, ⊤_{L}].

(67) If L is lower-bounded, then (p] = [⊥_{L}, p].

(68) Let L_{1}, L_{2} be lattices, and let F_{1} be a filter of L_{1}, and let F_{2} be a filter of L_{2}. Suppose the lattice structure of L_{1} = the lattice structure of L_{2} and F_{1} = F_{2}. Then _{(F_{1})} = _{(F_{2})}.

4. Sublattices

Let us consider L. Let us note that the sublattice of L can be characterized by the following (equivalent) condition:

(Def.15) There exist P, o_{1}, o_{2} such that (i) o_{1} = (the join operation of L) [: P, P :], (ii) o_{2} = (the meet operation of L) [: P, P :], and (iii) the lattice structure of it = ⟨P, o_{1}, o_{2}⟩. The following proposition is true

(69) For every sublattice K of L holds every element of the carrier of K is

an element of the carrier of L. Let us consider L, P. The functor _{P}^{L} yields a strict sublattice of L and is

defined as follows: (Def.16) There exist o_{1}, o_{2} such that o_{1} = (the join operation of L) [: P, P :] and

o_{2} = (the meet operation of L) [: P, P :] and _{P}^{L} = ⟨P, o_{1}, o_{2}⟩. Let us consider L and let l be a sublattice of L. Then l^{∘} is a strict sublattice

of L^{∘}.

Next we state a number of propositions:

(70) _{F} = _{F}^{L}.

(71) _{P}^{L} = ( _{P^{∘}}^{L^{∘}})^{∘}.

(72) _{(L]}^{L} = the lattice structure of L and _{[L)}^{L} = the lattice structure of L.

(73) (i) The carrier of _{P}^{L} = P, (ii) the join operation of _{P}^{L} = (the join operation of L) [: P, P :], and (iii) the meet operation of _{P}^{L} = (the meet operation of L) [: P, P :].

(74) For all p, q and for all elements p′, q′ of the carrier of _{P}^{L} such that p = p′ and q = q′ holds p ⊔ q = p′ ⊔ q′ and p ⊓ q = p′ ⊓ q′.

(75) For all p, q and for all elements p′, q′ of the carrier of _{P}^{L} such that p = p′ and q = q′ holds p ⊑ q iff p′ ⊑ q′.

(76) If L is lower-bounded, then _{I}^{L} is lower-bounded.

(77) If L is modular, then _{P}^{L} is modular.

(78) If L is distributive, then _{P}^{L} is distributive.

156 grzegorz bancerek

(79) If L is implicative and p ⊑ q, then _{[p,q]}^{L} is implicative.

(80) _{(p]}^{L} is upper-bounded.

(81) ⊤_{_{(p]}^{L}} = p.

(82) If L is lower-bounded, then _{(p]}^{L} is lower-bounded and ⊥_{_{(p]}^{L}} = ⊥_{L}.

(83) If L is lower-bounded, then _{(p]}^{L} is bounded.

(84) If p ⊑ q, then _{[p,q]}^{L} is bounded and ⊤_{_{[p,q]}^{L}} = q and ⊥_{_{[p,q]}^{L}} = p.

(85) If L is a complemented lattice and modular, then _{(p]}^{L} is a complemented lattice.

(86) If L is a complemented lattice and modular and p ⊑ q, then _{[p,q]}^{L} is a complemented lattice.

(87) If L is a Boolean lattice and p ⊑ q, then _{[p,q]}^{L} is a Boolean lattice.

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. The fundamental properties of natural numbers. Formalized Mathematics, 1(1):41–46, 1990.

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

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

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

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

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

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

[11] Andrzej Trybulec. Finite join and finite meet and dual lattices. Formalized Mathematics, 1(5):983–988, 1990.

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

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

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

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

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

Received October 24, 1994

Categorial Categories and Slice Categories

Grzegorz Bancerek Institute of Mathematics Polish Academy of Sciences

Summary. By categorial categories we mean categories with categories as objects and morphisms of the form (C_{1}, C_{2}, F), where C_{1} and C_{2} are categories and F is a functor from C_{1} into C_{2}.

MML Identifier: CAT 5.

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

1. Categories with Triple-like Morphisms

Let D_{1}, D_{2}, D be non empty sets and let x be an element of [: [: D_{1}, D_{2} :], D:]. Then x_{1,1} is an element of D_{1}. Then x_{1,2} is an element of D_{2}.

Let D_{1}, D_{2} be non empty sets and let x be an element of [: D_{1}, D_{2} :]. Then x_{2} is an element of D_{2}.

Next we state the proposition

(1) Let C, D be category structures. Suppose the category structure of C = the category structure of D. If C is category-like, then D is categorylike.

A category structure has triple-like morphisms if: (Def.1) For every morphism f of it there exists a set x such that f = ⟨⟨⟨⟨ dom f,

cod f⟩⟩, x⟩⟩. One can verify that there exists a strict category has triple-like morphisms. Next we state the proposition

(2) Let C be a category structure with triple-like morphisms and let f be a morphism of C. Then dom f = f_{1,1} and cod f = f_{1,2} and f = ⟨⟨⟨⟨ dom f, cod f⟩⟩, f_{2}⟩⟩.

Let C be a category structure with triple-like morphisms and let f be a morphism of C. Then f_{1,1} is an object of C. Then f_{1,2} is an object of C.

In this article we present several logical schemes. The scheme CatEx concerns non empty sets A, B, a binary functor F yielding arbitrary, and a ternary predicate P, and states that:

There exists a strict category C with triple-like morphisms such that

(i) the objects of C = A, (ii) for all elements a, b of A and for every element f of B such that P[a, b, f] holds ⟨⟨⟨⟨a, b⟩⟩, f⟩⟩ is a morphism of C, (iii) for every morphism m of C there exist elements a, b of A and there exists an element f of B such that m = ⟨⟨⟨⟨a, b⟩⟩, f⟩⟩ and P[a, b, f], and (iv) for all morphisms m_{1}, m_{2} of C and for all elements a_{1}, a_{2}, a_{3} of A and for all elements f_{1}, f_{2} of B such that m_{1} = ⟨⟨⟨⟨a_{1}, a_{2}⟩⟩, f_{1}⟩⟩ and m_{2} = ⟨⟨⟨⟨a_{2}, a_{3}⟩⟩, f_{2}⟩⟩ holds m_{2} · m_{1} = ⟨⟨⟨⟨a_{1}, a_{3}⟩⟩, F(f_{2}, f_{1})⟩⟩

provided the parameters meet the following requirements:

• For all elements a, b, c of A and for all elements f, g of B such that P[a, b, f] and P[b, c, g] holds F(g, f) ∈ B and P[a, c, F(g, f)],

• Let a be an element of A. Then there exists an element f of B such that

(i) P[a, a, f], and (ii) for every element b of A and for every element g of B holds if P[a, b, g], then F(g, f) = g and if P[b, a, g], then F(f, g) = g,

• Let a, b, c, d be elements of A and let f, g, h be elements of B. If P[a, b, f] and P[b, c, g] and P[c, d, h], then F(h, F(g, f)) = F(F(h, g), f).

The scheme CatUniq deals with non empty sets A, B, a binary functor F yielding arbitrary, and a ternary predicate P, and states that:

Let C_{1}, C_{2} be strict categories with triple-like morphisms. Suppose that

(i) the objects of C_{1} = A, (ii) for all elements a, b of A and for every element f of B such that P[a, b, f] holds ⟨⟨⟨⟨a, b⟩⟩, f⟩⟩ is a morphism of C_{1}, (iii) for every morphism m of C_{1} there exist elements a, b of A and there exists an element f of B such that m = ⟨⟨⟨⟨a, b⟩⟩, f⟩⟩ and P[a, b, f], (iv) for all morphisms m_{1}, m_{2} of C_{1} and for all elements a_{1}, a_{2}, a_{3} of A and for all elements f_{1}, f_{2} of B such that m_{1} = ⟨⟨⟨⟨a_{1}, a_{2}⟩⟩, f_{1}⟩⟩ and m_{2} = ⟨⟨⟨⟨a_{2}, a_{3}⟩⟩, f_{2}⟩⟩ holds m_{2} · m_{1} = ⟨⟨⟨⟨a_{1}, a_{3}⟩⟩, F(f_{2}, f_{1})⟩⟩,

(v) the objects of C_{2} = A, (vi) for all elements a, b of A and for every element f of B such that P[a, b, f] holds ⟨⟨⟨⟨a, b⟩⟩, f⟩⟩ is a morphism of C_{2}, (vii) for every morphism m of C_{2} there exist elements a, b of A and there exists an element f of B such that m = ⟨⟨⟨⟨a, b⟩⟩, f⟩⟩ and P[a, b, f], and (viii) for all morphisms m_{1}, m_{2} of C_{2} and for all elements a_{1}, a_{2}, a_{3} of A and for all elements f_{1}, f_{2} of B such that m_{1} = ⟨⟨⟨⟨a_{1}, a_{2}⟩⟩, f_{1}⟩⟩ and m_{2} = ⟨⟨⟨⟨a_{2}, a_{3}⟩⟩, f_{2}⟩⟩ holds m_{2} · m_{1} = ⟨⟨⟨⟨a_{1}, a_{3}⟩⟩, F(f_{2}, f_{1})⟩⟩.

Then C_{1} = C_{2}

provided the parameters meet the following requirement:

• Let a be an element of A. Then there exists an element f of B such that

(i) P[a, a, f], and (ii) for every element b of A and for every element g of B holds if P[a, b, g], then F(g, f) = g and if P[b, a, g], then F(f, g) = g.

The scheme FunctorEx concerns categories A, B, a unary functor F yielding an object of B, and a unary functor G yielding a set, and states that:

There exists a functor F from A to B such that for every morphism f of A holds F (f) = G(f)

provided the following conditions are met:

• Let f be a morphism of A. Then G(f) is a morphism of B and for every morphism g of B such that g = G(f) holds dom g = F(dom f) and cod g = F(cod f),

• For every object a of A holds G(id_{a}) = id_{F(a)},

• For all morphisms f_{1}, f_{2} of A and for all morphisms g_{1}, g_{2} of B such that g_{1} = G(f_{1}) and g_{2} = G(f_{2}) and dom f_{2} = cod f_{1} holds G(f_{2} · f_{1}) = g_{2} · g_{1}.

We now state two propositions:

(3) Let C_{1} be a category and let C_{2} be a subcategory of C_{1}. Suppose C_{1} is a subcategory of C_{2}. Then the category structure of C_{1} = the category structure of C_{2}.

(4) For every category C and for every subcategory D of C holds every subcategory of D is a subcategory of C.

Let C_{1}, C_{2} be categories. Let us assume that there exists a category C such that C_{1} is a subcategory of C and C_{2} is a subcategory of C. And let us assume that there exists an object o_{1} of C_{1} such that o_{1} is an object of C_{2}. The functor C_{1} ∩ C_{2} yields a strict category and is defined by the conditions (Def.2). (Def.2) (i) The objects of C_{1} ∩ C_{2} = (the objects of C_{1}) ∩ (the objects of C_{2}),

(ii) the morphisms of C_{1} ∩ C_{2} = (the morphisms of C_{1}) ∩ (the morphisms

of C_{2}), (iii) the dom-map of C_{1} ∩ C_{2} = (the dom-map of C_{1}) (the morphisms of

C_{2}), (iv) the cod-map of C_{1} ∩ C_{2} = (the cod-map of C_{1}) (the morphisms of

C_{2}),

(v) the composition of C_{1}∩C_{2} = (the composition of C_{1}) ([: the morphisms of C_{2}, the morphisms of C_{2} :] qua set), and

(vi) the id-map of C_{1} ∩ C_{2} = (the id-map of C_{1}) (the objects of C_{2}). In the sequel C is a category and C_{1}, C_{2} are subcategories of C.

The following propositions are true:

(5) If (the objects of C_{1}) ∩ (the objects of C_{2}) ≠ ∅, then C_{1} ∩ C_{2} = C_{2} ∩ C_{1}.

(6) If (the objects of C_{1}) ∩ (the objects of C_{2}) ≠ ∅, then C_{1} ∩ C_{2} is a subcategory of C_{1} and C_{1} ∩ C_{2} is a subcategory of C_{2}.

Let C, D be categories and let F be a functor from C to D. The functor Im F yields a strict subcategory of D and is defined by the conditions (Def.3). (Def.3) (i) The objects of Im F = rng Obj F,

(ii) rng F ⊆ the morphisms of Im F, and (iii) for every subcategory E of D such that the objects of E = rng Obj F

and rng F ⊆ the morphisms of E holds Im F is a subcategory of E. Next we state three propositions:

(7) Let C, D be categories, and let E be a subcategory of D, and let F be a functor from C to D. If rng F ⊆ the morphisms of E, then F is a functor from C to E.

(8) For all categories C, D holds every functor from C to D is a functor from C to Im F.

(9) Let C, D be categories, and let E be a subcategory of D, and let F be a functor from C to E, and let G be a functor from C to D. If F = G, then Im F = Im G.

2. Categorial Categories

A set is categorial if: (Def.4) For every set x such that x ∈ it holds x is a category.

One can check that there exists a non empty set which is categorial. Let us observe that a non empty set is categorial if: (Def.5) Every element of it is a category.

A category is categorial if it satisfies the conditions (Def.6). (Def.6) (i) The objects of it is categorial,

(ii) for every object a of it and for every category A such that a = A holds

id_{a} = ⟨⟨⟨⟨A, A⟩⟩, id_{A}⟩⟩, (iii) for every morphism m of it and for all categories A, B such that

A = dom m and B = cod m there exists a functor F from A to B such that m = ⟨⟨⟨⟨A, B⟩⟩, F ⟩⟩, and

(iv) for all morphisms m_{1}, m_{2} of it and for all categories A, B, C and for every functor F from A to B and for every functor G from B to C such that m_{1} = ⟨⟨⟨⟨A, B⟩⟩, F ⟩⟩ and m_{2} = ⟨⟨⟨⟨B, C⟩⟩, G⟩⟩ holds m_{2} · m_{1} = ⟨⟨⟨⟨A, C⟩⟩, G · F ⟩⟩.

Let us mention that every category which is categorial has triple-like morphisms.

One can prove the following two propositions:

(10) Let C, D be categories. Suppose the category structure of C = the category structure of D. If C is categorial, then D is categorial.

(11) For every category C holds ˙ (C, ⟨⟨⟨⟨C, C⟩⟩, id_{C} ⟩⟩) is categorial. Let us note that there exists a strict category which is categorial. We now state two propositions:

(12) For every categorial category C holds every object of C is a category.

(13) For every categorial category C and for every morphism f of C holds

dom f = f_{1,1} and cod f = f_{1,2}. Let C be a categorial category and let m be a morphism of C. Then m_{1,1} is

a category. Then m_{1,2} is a category.

We now state the proposition

(14) Let C_{1}, C_{2} be categorial categories. Suppose the objects of C_{1} = the objects of C_{2} and the morphisms of C_{1} = the morphisms of C_{2}. Then the category structure of C_{1} = the category structure of C_{2}.

Let C be a categorial category. One can check that every subcategory of C is categorial.

We now state the proposition

(15) Let C, D be categorial categories. Suppose the morphisms of C ⊆ the

morphisms of D. Then C is a subcategory of D. Let a be a set. Let us assume that a is a category. The functor cat a yields

a category and is defined by: (Def.7) cat a = a.

One can prove the following proposition

(16) For every categorial category C and for every object c of C holds cat c =

c. Let C be a categorial category and let m be a morphism of C. Then m_{2} is

a functor from cat dom m to cat cod m.

Next we state two propositions:

(17) Let X be a categorial non empty set and let Y be a non empty set.

Suppose that

(i) for all elements A, B, C of X and for every functor F from A to B and for every functor G from B to C such that F ∈ Y and G ∈ Y holds G · F ∈ Y, and

(ii) for every element A of X holds id_{A} ∈ Y.

Then there exists a strict categorial category C such that (iii) the objects of C = X, and (iv) for all elements A, B of X and for every functor F from A to B holds

⟨⟨⟨⟨A, B⟩⟩, F ⟩⟩ is a morphism of C iff F ∈ Y.

(18) Let X be a categorial non empty set, and let Y be a non empty set,

and let C_{1}, C_{2} be strict categorial categories. Suppose that

(i) the objects of C_{1} = X, (ii) for all elements A, B of X and for every functor F from A to B holds

⟨⟨⟨⟨A, B⟩⟩, F ⟩⟩ is a morphism of C_{1} iff F ∈ Y, (iii) the objects of C_{2} = X, and (iv) for all elements A, B of X and for every functor F from A to B holds

⟨⟨⟨⟨A, B⟩⟩, F ⟩⟩ is a morphism of C_{2} iff F ∈ Y. Then C_{1} = C_{2}.

A categorial category is full if it satisfies the condition (Def.8). (Def.8) Let a, b be categories. Suppose a is an object of it and b is an object of

it. Let F be a functor from a to b. Then ⟨⟨⟨⟨a, b⟩⟩, F ⟩⟩ is a morphism of it. Let us note that there exists a categorial strict category which is full. The following propositions are true:

(19) Let C_{1}, C_{2} be full categorial categories. Suppose the objects of C_{1} = the objects of C_{2}. Then the category structure of C_{1} = the category structure of C_{2}.

(20) For every categorial non empty set A there exists a full categorial strict category C such that the objects of C = A.

(21) Let C be a categorial category and let D be a full categorial category. Suppose the objects of C ⊆ the objects of D. Then C is a subcategory of D.

(22) Let C be a category, and let D_{1}, D_{2} be categorial categories, and let F_{1} be a functor from C to D_{1}, and let F_{2} be a functor from C to D_{2}. If F_{1} = F_{2}, then Im F_{1} = Im F_{2}.

3. Slice Categories

Let C be a category and let o be an object of C. The functor Hom(o) yielding a non empty subset of the morphisms of C is defined by: (Def.9) Hom(o) = (the cod-map of C)^{−1} {o}. The functor hom(o, ) yields a non empty subset of the morphisms of C and is defined by:

(Def.10) hom(o, ) = (the dom-map of C)^{−1} {o}.

We now state several propositions:

(23) For every category C and for every object a of C and for every morphism f of C holds f ∈ Hom(a) iff cod f = a.

(24) For every category C and for every object a of C and for every morphism f of C holds f ∈ hom(a, ) iff dom f = a.

(25) For every category C and for all objects a, b of C holds hom(a, b) = hom(a, ) ∩ Hom(b).

(26) For every category C and for every morphism f of C holds f ∈ hom(dom f, ) and f ∈ Hom(cod f).

(27) For every category C and for every morphism f of C and for every element g of Hom(dom f) holds f · g ∈ Hom(cod f).

(28) For every category C and for every morphism f of C and for every

element g of hom(cod f, ) holds g · f ∈ hom(dom f, ). Let C be a category and let o be an object of C. The functor SliceCat(C, o)

yields a strict category with triple-like morphisms and is defined by the conditions (Def.11).

(Def.11) (i) The objects of SliceCat(C, o) = Hom(o),

(ii) for all elements a, b of Hom(o) and for every morphism f of C such that dom b = cod f and a = b · f holds ⟨⟨⟨⟨a, b⟩⟩, f⟩⟩ is a morphism of SliceCat(C, o),

(iii) for every morphism m of SliceCat(C, o) there exist elements a, b of Hom(o) and there exists a morphism f of C such that m = ⟨⟨⟨⟨a, b⟩⟩, f⟩⟩ and dom b = cod f and a = b · f, and

(iv) for all morphisms m_{1}, m_{2} of SliceCat(C, o) and for all elements a_{1}, a_{2}, a_{3} of Hom(o) and for all morphisms f_{1}, f_{2} of C such that m_{1} = ⟨⟨⟨⟨a_{1}, a_{2}⟩⟩, f_{1}⟩⟩ and m_{2} = ⟨⟨⟨⟨a_{2}, a_{3}⟩⟩, f_{2}⟩⟩ holds m_{2} · m_{1} = ⟨⟨⟨⟨a_{1}, a_{3}⟩⟩, f_{2} · f_{1}⟩⟩.

The functor SliceCat(o, C) yielding a strict category with triple-like morphisms is defined by the conditions (Def.12).

(Def.12) (i) The objects of SliceCat(o, C) = hom(o, ),

(ii) for all elements a, b of hom(o, ) and for every morphism f of C such that dom f = cod a and f · a = b holds ⟨⟨⟨⟨a, b⟩⟩, f⟩⟩ is a morphism of SliceCat(o, C),

(iii) for every morphism m of SliceCat(o, C) there exist elements a, b of hom(o, ) and there exists a morphism f of C such that m = ⟨⟨⟨⟨a, b⟩⟩, f⟩⟩ and dom f = cod a and f · a = b, and

(iv) for all morphisms m_{1}, m_{2} of SliceCat(o, C) and for all elements a_{1}, a_{2}, a_{3} of hom(o, ) and for all morphisms f_{1}, f_{2} of C such that m_{1} = ⟨⟨⟨⟨a_{1}, a_{2}⟩⟩, f_{1}⟩⟩ and m_{2} = ⟨⟨⟨⟨a_{2}, a_{3}⟩⟩, f_{2}⟩⟩ holds m_{2} · m_{1} = ⟨⟨⟨⟨a_{1}, a_{3}⟩⟩, f_{2} · f_{1}⟩⟩.

Let C be a category, let o be an object of C, and let m be a morphism of SliceCat(C, o). Then m_{2} is a morphism of C. Then m_{1,1} is an element of Hom(o). Then m_{1,2} is an element of Hom(o).

We now state two propositions:

(29) Let C be a category, and let a be an object of C, and let m be a morphism of SliceCat(C, a). Then m = ⟨⟨⟨⟨m_{1,1}, m_{1,2}⟩⟩, m_{2}⟩⟩ and dom(m_{1,2}) = cod(m_{2}) and m_{1,1} = m_{1,2} · m_{2} and dom m = m_{1,1} and cod m = m_{1,2}.

(30) Let C be a category, and let o be an object of C, and let f be an element of Hom(o), and let a be an object of SliceCat(C, o). If a = f, then id_{a} = ⟨⟨⟨⟨a, a⟩⟩, id_{dom f} ⟩⟩.

Let C be a category, let o be an object of C, and let m be a morphism of SliceCat(o, C). Then m_{2} is a morphism of C. Then m_{1,1} is an element of hom(o, ). Then m_{1,2} is an element of hom(o, ).

We now state two propositions:

(31) Let C be a category, and let a be an object of C, and let m be a morphism of SliceCat(a, C). Then m = ⟨⟨⟨⟨m_{1,1}, m_{1,2}⟩⟩, m_{2}⟩⟩ and dom(m_{2}) = cod(m_{1,1}) and m_{2} · m_{1,1} = m_{1,2} and dom m = m_{1,1} and cod m = m_{1,2}.

(32) Let C be a category, and let o be an object of C, and let f be an element of hom(o, ), and let a be an object of SliceCat(o, C). If a = f, then id_{a} = ⟨⟨⟨⟨a, a⟩⟩, id_{cod f} ⟩⟩.

4. Functors Between Slice Categories

Let C be a category and let f be a morphism of C. The functor SliceFunctor(f) yielding a functor from SliceCat(C, dom f) to SliceCat(C, cod f) is defined by:

(Def.13) For every morphism m of SliceCat(C, dom f) holds (SliceFunctor(f))(m) = ⟨⟨⟨⟨f · m_{1,1}, f · m_{1,2}⟩⟩, m_{2}⟩⟩.

The functor SliceContraFunctor(f) yields a functor from SliceCat(cod f, C) to SliceCat(dom f, C) and is defined as follows:

(Def.14) For every morphism m of SliceCat(cod f, C) holds (SliceContraFunctor(f))(m) = ⟨⟨⟨⟨m_{1,1} · f, m_{1,2} · f⟩⟩, m_{2}⟩⟩.

We now state two propositions:

(33) For every category C and for all morphisms f, g of C such that dom g = cod f holds SliceFunctor(g · f) = SliceFunctor(g) · SliceFunctor(f).

(34) For every category C and for all morphisms f, g of C such that dom g = cod f holds SliceContraFunctor(g · f) = SliceContraFunctor(f) · SliceContraFunctor(g).

References

[1] Grzegorz Bancerek and Agata Darmochwał. Comma category. Formalized Mathematics, 2(5):679–681, 1991.

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

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

[4] Czesław Byliński. Introduction to categories and functors. Formalized Mathematics, 1(2):409–420, 1990.

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

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

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

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

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

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

categorial categories and slice categories 165

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

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

[13] Andrzej Trybulec. Isomorphisms of categories. Formalized Mathematics, 2(5):629–634, 1991.

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

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

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

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

Received October 24, 1994 166

Preliminaries to Circuits, I ^{1}

Yatsuka Nakamura Shinshu University, Nagano

Piotr Rudnicki University of Alberta, Edmonton

Andrzej Trybulec Warsaw University, Białystok

Pauline N. Kawamoto Shinshu University, Nagano

Summary. This article is the first in a series of four articles (continued in [24,23,22]) about modelling circuits by many-sorted algebras.

Here, we introduce some auxiliary notations and prove auxiliary facts about many sorted sets, many sorted functions and trees.

MML Identifier: PRE CIRC.

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

1. Varia

One can prove the following proposition

(1) For all sets X, Y holds X \ Y misses Y.

In this article we present several logical schemes. The scheme Fraenkel Subset deals with non empty sets A, B, a unary functor F yielding an element of B, and a unary predicate P, and states that:

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

The scheme FraenkelFinIm concerns a finite non empty set A, a unary functor F yielding arbitrary, and a unary predicate P, and states that:

1This work was initiated while the second author visited Nagano (March-May 1994) and then continued when the third author visited Edmonton (May-June 1994). The work was finalized when the fourth author visited Bialystok (October-November 1994). Partial funding for this work has been provided by: Shinshu Endowment Fund for Information Science, NSERC Grant OGP9207, JSTF award 651-93-S009.

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

The following three propositions are true:

(2) For every function f and for arbitrary x, y such that dom f = {x} and rng f = {y} holds f = {⟨⟨x, y⟩⟩}.

(3) For all functions f, g, h such that f ⊆ g holds f +· h ⊆ g +· h.

(4) For all functions f, g, h such that f ⊆ g and dom f misses dom h holds f ⊆ g +· h.

Let X be a finite non empty subset of . The functor max X yields a real number and is defined as follows: (Def.1) max X ∈ X and for every real number k such that k ∈ X holds k ≤

max X. Let X be a finite non empty subset of . The functor max X yielding a

natural number is defined by: (Def.2) There exists a finite non empty subset Y of such that Y = X and

max X = max Y.

2. Many Sorted Sets and Functions

One can prove the following proposition

(5) For every set I and for every many sorted set M_{1} indexed by I holds M_{1}^{#}(ε_{I}) = {ε}.

The scheme MSSLambda2Part deals with a set A, two unary functors F and G yielding arbitrary, and a unary predicate P, and states that:

There exists a many sorted set f indexed by A such that for every element i of A holds if i ∈ A, then if P[i], then f(i) = F(i) and if not P[i], then f(i) = G(i)

for all values of the parameters.

Let I be a set. A many sorted set indexed by I is locally-finite if: (Def.3) For arbitrary i such that i ∈ I holds it(i) is finite.

Let I be a set. Observe that there exists a many sorted set indexed by I which is non-empty and locally-finite.

Let I, A be sets. Then I ⟼ A is a many sorted set indexed by I. Let I be a set, let M be a many sorted set indexed by I, and let A be a

subset of I. Then M A is a many sorted set indexed by A.

Let M be a non-empty function and let A be a set. One can check that M A is non-empty.

One can prove the following three propositions:

(6) For every non empty set I and for every non-empty many sorted set B indexed by I holds ⋃ rng B is non empty.

(7) For every set I holds uncurry(I ⟼ ∅) = ∅.

(8) Let I be a non empty set, and let A be a set, and let B be a non-empty many sorted set indexed by I, and let F be a many sorted function from I ⟼ A into B. Then dom commute(F) = A.

Now we present two schemes. The scheme LambdaRecCorrD concerns a non empty set A, an element B of A, and a binary functor F yielding an element of A, and states that:

(i) There exists a function f from into A such that f(0) = B and for every natural number i and for every element x of A such that x = f(i) holds f(i + 1) = F(i, x), and (ii) for all functions f_{1}, f_{2} from into A such that f_{1}(0) = B and for every natural number i and for every element x of A such that x = f_{1}(i) holds f_{1}(i+1) = F(i, x) and f_{2}(0) = B and for every natural number i and for every element x of A such that x = f_{2}(i) holds f_{2}(i + 1) = F(i, x) holds f_{1} = f_{2}

for all values of the parameters.

The scheme LambdaMSFD concerns a non empty set A, a subset B of A, many sorted sets C, D indexed by B, and a unary functor F yielding arbitrary, and states that:

There exists a many sorted function f from C into D such that for every element i of A such that i ∈ B holds f(i) = F(i)

provided the following requirement is met:

• For every element i of A such that i ∈ B holds F(i) is a function from C(i) into D(i).

Let F be a non-empty function and let f be a function. Observe that F · f is non-empty.

Let I be a set and let M_{1} be a non-empty many sorted set indexed by I. Note that every element of ∏ M_{1} is function-like and relation-like.

One can prove the following propositions:

(9) Let I be a set, and let f be a non-empty many sorted set indexed by I, and let g be a function, and let s be an element of ∏ f. Suppose dom g ⊆ dom f and for arbitrary x such that x ∈ dom g holds g(x) ∈ f(x). Then s +· g is an element of ∏ f.

(10) Let A, B be non empty sets, and let C be a non-empty many sorted set indexed by A, and let I_{1} be a many sorted function from A ⟼ B into C, and let b be an element of B. Then there exists a many sorted set c indexed by A such that c = (commute(I_{1}))(b) and c ∈ C.

(11) Let I be a set, and let M be a many sorted set indexed by I, and let x, g be functions. If x ∈ ∏ M, then x · g ∈ ∏(M · g).

(12) For every natural number n and for arbitrary a holds ∏(n ↦ {a}) = {n ↦ a}.

3. Trees

We follow the rules: T, T_{1} will denote finite trees, t, p will denote elements of T, and t_{1} will denote an element of T_{1}.

Let D be a non empty set. Note that every element of FinTrees(D) is finite. Let T be a finite decorated tree and let t be an element of dom T. Observe

that T t is finite.

We now state the proposition

(13) T p ≈ {t : p ⪯ t}.

Let T be a finite decorated tree, let t be an element of dom T, and let T_{1} be a finite decorated tree. Note that T (t/T_{1}) is finite.

Next we state a number of propositions:

(14) T (p/T_{1}) = {t : p t} ∪ {p^{}t_{1}}.

(15) For every finite sequence f of elements of such that f ∈ T (p/T_{1}) and p ⪯ f there exists t_{1} such that f = p^{}t_{1}.

(16) For every tree yielding finite sequence p and for every natural number k such that k + 1 ∈ dom p holds \overbrace{p} ⟨k⟩ = p(k + 1).

(17) Let q be a decorated tree yielding finite sequence and let k be a natural

number. If k + 1 ∈ dom q, then ⟨k⟩ ∈ \overbrace{dom_{κ} q(κ)} .

(18) Let p, q be tree yielding finite sequences and let k be a natural number. Suppose len p = len q and k + 1 ∈ dom p and for every natural number i such that i ∈ dom p and i ≠ k + 1 holds p(i) = q(i). Let t be a tree. If q(k + 1) = t, then \overbrace{q} = \overbrace{p}(⟨k⟩/t).

(19) Let e_{1}, e_{2} be finite decorated trees, and let x be arbitrary, and let k be a natural number, and let p be a decorated tree yielding finite sequence. Suppose ⟨k⟩ ∈ dom e_{1} and e_{1} = x-tree(p). Then there exists a decorated tree yielding finite sequence q such that e_{1}(⟨k⟩/e_{2}) = x-tree(q) and len q = len p and q(k+1) = e_{2} and for every natural number i such that i ∈ dom p and i ≠ k + 1 holds q(i) = p(i).

(20) For every finite tree T and for every element p of T such that p ≠ ε holds card(T p) < card T.

(21) For every finite function f holds card f = card dom f.

(22) For all finite trees T, T_{1} and for every element p of T holds card(T (p/T_{1})) + card(T p) = card T + card T_{1}.

(23) For all finite decorated trees T, T_{1} and for every element p of dom T

holds card(T (p/T_{1})) + card(T p) = card T + card T_{1}. Let x be arbitrary. One can check that the root tree of x is finite. We now state the proposition

(24) For arbitrary x holds card (the root tree of x) = 1. preliminaries to circuits, i 171

References

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

[2] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[22] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Introduction to circuits, II. Formalized Mathematics, 5(2):273–278, 1996.

[23] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Introduction to circuits, I. Formalized Mathematics, 5(2):227–232, 1996.

[24] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, II. Formalized Mathematics, 5(2):215–220, 1996.

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

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

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

[28] Andrzej Trybulec. Semilattice operations on finite subsets. Formalized Mathematics, 1(2):369–376, 1990.

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

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

[31] Andrzej Trybulec and Agata Darmochwał. Boolean domains. Formalized Mathematics, 1(1):187–190, 1990.

172 yatsuka nakamura et al.

[32] Wojciech A. Trybulec. Pigeon hole principle. Formalized Mathematics, 1(3):575–579, [33] Zinaida Trybulec and Halina Świe‘czkowska. Boolean properties of sets. Formalized

Mathematics, 1(1):17–23, 1990.

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

Minimization of Finite State Machines ^{1}

Miroslava Kaloper University of Alberta Department of Computing Science

Piotr Rudnicki University of Alberta Department of Computing Science

Summary. We have formalized deterministic finite state machines closely following the textbook [9], pp. 88–119 up to the minimization theorem. In places, we have changed the approach presented in the book as it turned out to be too specific and inconvenient. Our work also revealed several minor mistakes in the book. After defining a structure for an outputless finite state machine, we have derived the structures for the transition assigned output machine (Mealy) and state assigned output machine (Moore). The machines are then proved similar, in the sense that for any Mealy (Moore) machine there exists a Moore (Mealy) machine producing essentially the same response for the same input. The rest of work is then done for Mealy machines. Next, we define equivalence of machines, equivalence and k-equivalence of states, and characterize a process of constructing for a given Mealy machine, the machine equivalent to it in which no two states are equivalent. The final, minimization theorem states:

Theorem 4.5: Let M_{1} and M_{2} be reduced, connected finite-state machines. Then the state graphs of M_{1} and M_{2} are isomorphic if and only if M_{1} and M_{2} are equivalent.

and it is the last theorem in this article.

MML Identifier: FSM 1.

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

1This work was partially supported by NSERC Grant OGP9207.

1. Preliminaries

For simplicity we adopt the following convention: m, n, i, k will denote natural numbers, D will denote a non empty set, d will denote an element of D, and d_{1}, d_{2} will denote finite sequences of elements of D.

Next we state several propositions:

(1) If m < n, then there exists a natural number p such that n = m + p and 1 ≤ p.

(2) If i ∈ Seg n, then i + m ∈ Seg(n + m).

(3) If i > 0 and i + m ∈ Seg(n + m), then i ∈ Seg n and i ∈ Seg(n + m).

(4) If k < i, then there exists a natural number j such that j = i − k and 1 ≤ j.

(5) If 1 ≤ len d_{1}, then there exist d, d_{2} such that d = d_{1}(1) and d_{1} = ⟨d⟩^{}d_{2}.

(6) If i ∈ dom d_{1}, then (⟨d⟩^{}d_{1})(i + 1) = d_{1}(i). For simplicity we adopt the following rules: S is a set, D_{1}, D_{2} are non empty

sets, f_{1} is a function from S into D_{1}, and f_{2} is a function from D_{1} into D_{2}. One can prove the following propositions:

(7) If f_{1} is bijective and f_{2} is bijective, then f_{2} · f_{1} is bijective.

(8) For every set Y and for all equivalence relations E_{1}, E_{2} of Y such that Classes E_{1} = Classes E_{2} holds E_{1} = E_{2}.

(9) For every non empty set W holds every partition of W is non empty.

(10) For every finite set Z holds every partition of Z is finite.

Let W be a non empty set. Note that every partition of W is non empty. Let Z be a finite set. Note that every partition of Z is finite. Let X be a non empty finite set. Observe that there exists a partition of X

which is non empty and finite.

We adopt the following rules: X, A will be non empty finite sets, P_{1} will be a partition of X, and P_{2}, P_{3} will be partitions of A.

We now state several propositions:

(11) For every set P_{4} such that P_{4} ∈ P_{1} there exists an element x of X such that x ∈ P_{4}.

(12) card P_{1} ≤ card X.

(13) If P_{2} is finer than P_{3}, then card P_{3} ≤ card P_{2}.

(14) If P_{2} is finer than P_{3}, then for every element p_{2} of P_{3} there exists an element p_{1} of P_{2} such that p_{1} ⊆ p_{2}.

(15) If P_{2} is finer than P_{3} and card P_{2} = card P_{3}, then P_{2} = P_{3}.

2. Definitions and Terminology

Let I_{1} be a non empty set. We consider FSM over I_{1} as systems ⟨ states, a Tran, a InitS ⟩,

where the states constitute a finite non empty set, the Tran is a function from [: the states, I_{1} :] into the states, and the InitS is an element of the states.

Let I_{1} be a non empty set and let f_{3} be a FSM over I_{1}. A state of f_{3} is an element of the states of f_{3}.

For simplicity we follow a convention: I_{1}, O_{1} are non empty sets, f_{3} is a FSM over I_{1}, s is an element of I_{1}, w, w_{1}, w_{2} are finite sequences of elements of I_{1}, q, q′, q_{1}, q_{2} are states of f_{3}, and q_{3} is a finite sequence of elements of the states of f_{3}.

Let us consider I_{1}, f_{3}, s, q. The functor s-succ(q) yielding a state of f_{3} is defined by: (Def.1) s-succ(q) = (the Tran of f_{3})(⟨⟨q, s⟩⟩).

Let us consider I_{1}, f_{3}, q, w. The functor (q, w)-admissible yields a finite sequence of elements of the states of f_{3} and is defined by the conditions (Def.2). (Def.2) (i) (q, w)-admissible(1) = q,

(ii) len((q, w)-admissible) = len w + 1, and (iii) for every i such that 1 ≤ i and i ≤ len w there exists an element w_{3}

of I_{1} and there exist states q_{4}, q_{5} of f_{3} such that w_{3} = w(i) and q_{4} = (q, w)-admissible(i) and q_{5} = (q, w)-admissible(i + 1) and w_{3}-succ(q_{4}) = q_{5}.

The following proposition is true

(16) (q, ε_{(I_{1})})-admissible = ⟨q⟩.

Let us consider I_{1}, f_{3}, w, q_{1}, q_{2}. The predicate q_{1} ⟶^{w} q_{2} is defined as follows: (Def.3) (q_{1}, w)-admissible(len w + 1) = q_{2}.

We now state the proposition

(17) q ⟶^{ε_{(I_{1})}} q.

Let us consider I_{1}, f_{3}, w, q_{3}. We say that q_{3} is admissible for w if and only if: (Def.4) There exists q_{1} such that q_{1} = q_{3}(1) and (q_{1}, w)-admissible = q_{3}.

We now state the proposition

(18) ⟨q⟩ is admissible for ε_{(I_{1})}.

Let us consider I_{1}, f_{3}, q, w. The functor w-succ(q) yields a state of f_{3} and is defined by:

(Def.5) q ⟶^{w} w-succ(q).

One can prove the following propositions:

(19) (q, w)-admissible(len((q, w)-admissible)) = q′ iff q ⟶^{w} q′.

(20) For every k such that 1 ≤ k and k ≤ len w_{1} holds (q_{1}, w_{1} ^{} w_{2})-admissible(k) = (q_{1}, w_{1})-admissible(k).

(21) If q_{1} ⟶^{w_{1}} q_{2}, then (q_{1}, w_{1} ^{}w_{2})-admissible(len w_{1} + 1) = q_{2}.

(22) If q_{1} ⟶^{w_{1}} q_{2}, then for every k such that 1 ≤ k and k ≤ len w_{2} + 1 holds (q_{1}, w_{1} ^{}w_{2})-admissible(len w_{1} + k) = (q_{2}, w_{2})-admissible(k).

(23) If q_{1} ⟶^{w_{1}} q_{2}, then (q_{1}, w_{1}^{}w_{2})-admissible = ((q_{1}, w_{1})-admissible_{len w_{1}+1})^{} (q_{2}, w_{2})-admissible.

3. Mealy and Moore Machines

Let I_{1}, O_{1} be non empty sets. We consider Mealy-FSM over I_{1}, O_{1} as extensions of FSM over I_{1} as systems

⟨ states, a Tran, a OFun, a InitS ⟩, where the states constitute a finite non empty set, the Tran is a function from [: the states, I_{1} :] into the states, the OFun is a function from [: the states, I_{1} :] into O_{1}, and the InitS is an element of the states. We introduce Moore-FSM over I_{1}, O_{1} which are extensions of FSM over I_{1} and are systems

⟨ states, a Tran, a OFun, a InitS ⟩, where the states constitute a finite non empty set, the Tran is a function from [: the states, I_{1} :] into the states, the OFun is a function from the states into O_{1}, and the InitS is an element of the states.

For simplicity we adopt the following convention: t_{1}, t_{2}, t_{3}, t_{4} will denote Mealy-FSM over I_{1}, O_{1}, s_{1} will denote a Moore-FSM over I_{1}, O_{1}, q_{6} will denote a state of s_{1}, q, q_{1}, q_{2}, q_{7}, q_{8}, q_{9}, q_{10}, q′_{1}, q_{11}, q_{12}, q_{13} will denote states of t_{1}, q_{14}, q_{15} will denote states of t_{2}, and q_{21}, q_{22} will denote states of t_{3}.

Let us consider I_{1}, O_{1}, t_{1}, q_{11}, w. The functor (q_{11}, w)-response yields a finite sequence of elements of O_{1} and is defined as follows: (Def.6) len((q_{11}, w)-response) = len w and for every i such that i ∈ dom w holds

(q_{11}, w)-response(i) = (the OFun of t_{1})(⟨⟨(q_{11}, w)-admissible(i), w(i)⟩⟩). The following proposition is true

(24) (q_{11}, ε_{(I_{1})})-response = ε_{(O_{1})}.

Let us consider I_{1}, O_{1}, s_{1}, q_{6}, w. The functor (q_{6}, w)-response yields a finite sequence of elements of O_{1} and is defined by: (Def.7) len((q_{6}, w)-response) = len w + 1 and for every i such that

i ∈ Seg(len w + 1) holds (q_{6}, w)-response(i) = (the OFun of s_{1})((q_{6}, w)-admissible(i)).

One can prove the following propositions:

(25) (q_{6}, w)-response(1) = (the OFun of s_{1})(q_{6}).

(26) If q_{12} ⟶^{w_{1}} q_{13}, then (q_{12}, w_{1} ^{}w_{2})-response = (q_{12}, w_{1})-response ^{} (q_{13}, w_{2})-response.

(27) If q_{14} ⟶^{w_{1}} q_{15} and q_{21} ⟶^{w_{1}} q_{22} and (q_{15}, w_{2})-response ≠

(q_{22}, w_{2})-response, then (q_{14}, w_{1} ^{}w_{2})-response ≠ (q_{21}, w_{1} ^{}w_{2})-response.

In the sequel O_{2} is a finite non empty set, t_{5} is a Mealy-FSM over I_{1}, O_{2}, and s_{2} is a Moore-FSM over I_{1}, O_{2}.

Let us consider I_{1}, O_{1}, t_{1}, s_{1}. We say that t_{1} is similar to s_{1} if and only if the condition (Def.8) is satisfied. (Def.8) Let t_{6} be a finite sequence of elements of I_{1}. Then ⟨(the OFun of s_{1})(the

InitS of s_{1})⟩^{}(the InitS of t_{1}, t_{6})-response = (the InitS of s_{1}, t_{6})-response. The following propositions are true:

(28) There exists t_{1} which is similar to s_{1}.

(29) There exists s_{2} such that t_{5} is similar to s_{2}.

4. Equivalence of States and Machines

Let us consider I_{1}, O_{1}, t_{2}, t_{3}. We say that t_{2} and t_{3} are equivalent if and only if: (Def.9) For every w holds (the InitS of t_{2}, w)-response = (the InitS of t_{3},

w)-response. Let us observe that the predicate introduced above is reflexive and symmetric.

We now state the proposition

(30) If t_{2} and t_{3} are equivalent and t_{3} and t_{4} are equivalent, then t_{2} and t_{4}

are equivalent. Let us consider I_{1}, O_{1}, t_{1}, q_{8}, q_{9}. We say that q_{8} and q_{9} are equivalent if and

only if: (Def.10) For every w holds (q_{8}, w)-response = (q_{9}, w)-response.

We now state several propositions:

(31) q and q are equivalent.

(32) If q_{1} and q_{2} are equivalent, then q_{2} and q_{1} are equivalent.

(33) If q_{1} and q_{2} are equivalent and q_{2} and q_{7} are equivalent, then q_{1} and q_{7} are equivalent.

(34) If q′_{1} = (the Tran of t_{1})(⟨⟨q_{8}, s⟩⟩), then for every i such that i ∈ Seg(len w + 1) holds (q_{8}, ⟨s⟩^{}w)-admissible(i + 1) = (q′_{1}, w)-admissible(i).

(35) If q′_{1} = (the Tran of t_{1})(⟨⟨q_{8}, s⟩⟩), then (q_{8}, ⟨s⟩ ^{}w)-response = ⟨(the OFun of t_{1})(⟨⟨q_{8}, s⟩⟩)⟩^{}(q′_{1}, w)-response.

(36) q_{8} and q_{9} are equivalent if and only if for every s holds (the OFun of t_{1})(⟨⟨q_{8}, s⟩⟩) = (the OFun of t_{1})(⟨⟨q_{9}, s⟩⟩) and (the Tran of t_{1})(⟨⟨q_{8}, s⟩⟩) and (the Tran of t_{1})(⟨⟨q_{9}, s⟩⟩) are equivalent.

(37) Suppose q_{8} and q_{9} are equivalent. Given w, i. Suppose i ∈ dom w. Then there exist states q_{16}, q_{17} of t_{1} such that q_{16} = (q_{8}, w)-admissible(i) and q_{17} = (q_{9}, w)-admissible(i) and q_{16} and q_{17} are equivalent.

Let us consider I_{1}, O_{1}, t_{1}, q_{8}, q_{9}, k. We say that q_{8} and q_{9} are k-equivalent if and only if:

(Def.11) For every w such that len w ≤ k holds (q_{8}, w)-response =

(q_{9}, w)-response. One can prove the following propositions:

(38) q_{8} and q_{8} are k-equivalent.

(39) If q_{8} and q_{9} are k-equivalent, then q_{9} and q_{8} are k-equivalent.

(40) If q_{8} and q_{9} are k-equivalent and q_{9} and q_{10} are k-equivalent, then q_{8} and q_{10} are k-equivalent.

(41) If q_{8} and q_{9} are equivalent, then q_{8} and q_{9} are k-equivalent.

(42) q_{8} and q_{9} are 0-equivalent.

(43) If q_{8} and q_{9} are k + m-equivalent, then q_{8} and q_{9} are k-equivalent.

(44) Suppose 1 ≤ k. Then q_{8} and q_{9} are k-equivalent if and only if the

following conditions are satisfied:

(i) q_{8} and q_{9} are 1-equivalent, and (ii) for every element s of I_{1} and for every natural number k_{1} such that

k_{1} = k − 1 holds (the Tran of t_{1})(⟨⟨q_{8}, s⟩⟩) and (the Tran of t_{1})(⟨⟨q_{9}, s⟩⟩) are k_{1}-equivalent.

Let us consider I_{1}, O_{1}, t_{1}, i. The functor i-EqS-Rel(t_{1}) yielding an equivalence relation of the states of t_{1} is defined as follows:

(Def.12) For all q_{8}, q_{9} holds ⟨⟨q_{8}, q_{9}⟩⟩ ∈ i-EqS-Rel(t_{1}) iff q_{8} and q_{9} are i-equivalent.

Let us consider I_{1}, O_{1}, t_{1}, i. The functor i-EqS-Part(t_{1}) yields a non empty finite partition of the states of t_{1} and is defined by:

(Def.13) i-EqS-Part(t_{1}) = Classes(i-EqS-Rel(t_{1})).

One can prove the following propositions:

(45) (k + 1)-EqS-Part(t_{1}) is finer than k-EqS-Part(t_{1}).

(46) If Classes(k-EqS-Rel(t_{1})) = Classes((k +1)-EqS-Rel(t_{1})), then for every m holds Classes((k + m)-EqS-Rel(t_{1})) = Classes(k-EqS-Rel(t_{1})).

(47) If k-EqS-Part(t_{1}) = (k + 1)-EqS-Part(t_{1}), then for every m holds (k + m)-EqS-Part(t_{1}) = k-EqS-Part(t_{1}).

(48) If (k + 1)-EqS-Part(t_{1}) ≠ k-EqS-Part(t_{1}), then for every i such that i ≤ k holds (i + 1)-EqS-Part(t_{1}) ≠ i-EqS-Part(t_{1}).

(49) k-EqS-Part(t_{1}) = (k + 1)-EqS-Part(t_{1}) or card(k-EqS-Part(t_{1})) < card((k + 1)-EqS-Part(t_{1})).

(50) [q]_{0-EqS-Rel(t_{1})} = the states of t_{1}.

(51) 0-EqS-Part(t_{1}) = {the states of t_{1}}.

(52) If n + 1 = card (the states of t_{1}), then (n + 1)-EqS-Part(t_{1}) =

n-EqS-Part(t_{1}). Let us consider I_{1}, O_{1}, t_{1}. A partition of the states of t_{1} is final if:

(Def.14) For all q_{8}, q_{9} holds q_{8} and q_{9} are equivalent iff there exists an element

X of it such that q_{8} ∈ X and q_{9} ∈ X. Next we state three propositions:

(53) If k-EqS-Part(t_{1}) is final, then (k + 1)-EqS-Rel(t_{1}) = k-EqS-Rel(t_{1}).

(54) k-EqS-Part(t_{1}) = (k + 1)-EqS-Part(t_{1}) iff k-EqS-Part(t_{1}) is final.

(55) If n + 1 = card (the states of t_{1}), then there exists a natural number k

such that k ≤ n and k-EqS-Part(t_{1}) is final. Let us consider I_{1}, O_{1}, t_{1}. The functor final-Partition(t_{1}) yields a partition

of the states of t_{1} and is defined by: (Def.15) final-Partition(t_{1}) is final.

We now state the proposition

(56) If n + 1 = card (the states of t_{1}), then final-Partition(t_{1}) = n-EqS-Part(t_{1}).

5. The Reduction of a Mealy Machine

In the sequel r_{1} will be a Mealy-FSM over I_{1}, O_{1}, q_{18} will be a state of r_{1}, and q_{19} will be an element of final-Partition(t_{1}).

Let us consider I_{1}, O_{1}, t_{1}, q_{19}, s. The functor (s, q_{19})-C-succ yields an element of final-Partition(t_{1}) and is defined by:

(Def.16) There exist q, n such that q ∈ q_{19} and n + 1 = card (the states of t_{1})

and (s, q_{19})-C-succ = [(the Tran of t_{1})(⟨⟨q, s⟩⟩)]_{n-EqS-Rel(t_{1})}. Let us consider I_{1}, O_{1}, t_{1}, q_{19}, s. The functor (q_{19}, s)-C-response yielding an

element of O_{1} is defined by: (Def.17) There exists q such that q ∈ q_{19} and (q_{19}, s)-C-response = (the OFun

of t_{1})(⟨⟨q, s⟩⟩). Let us consider I_{1}, O_{1}, t_{1}. The reduction of t_{1} yielding a strict Mealy-FSM

over I_{1}, O_{1} is defined by the conditions (Def.18). (Def.18) (i) The states of the reduction of t_{1} = final-Partition(t_{1}),

(ii) for every state Q of the reduction of t_{1} and for all s, q such that q ∈ Q holds (the Tran of t_{1})(⟨⟨q, s⟩⟩) ∈ (the Tran of the reduction of t_{1})(⟨⟨Q, s⟩⟩) and (the OFun of t_{1})(⟨⟨q, s⟩⟩) = (the OFun of the reduction of t_{1})(⟨⟨Q, s⟩⟩), and

(iii) the InitS of t_{1} ∈ the InitS of the reduction of t_{1}. The following two propositions are true:

(57) If r_{1} = the reduction of t_{1} and q ∈ q_{18}, then for every k such that k ∈ Seg(len w + 1) holds (q, w)-admissible(k) ∈ (q_{18}, w)-admissible(k).

(58) t_{1} and the reduction of t_{1} are equivalent.

6. Machine Isomorphism

In the sequel q_{20}, q_{23} will denote states of r_{1} and T_{1} will denote a function from the states of t_{2} into the states of t_{3}.

Let us consider I_{1}, O_{1}, t_{2}, t_{3}. We say that t_{2} and t_{3} are isomorphic if and only if the condition (Def.19) is satisfied.

(Def.19) There exists T_{1} such that (i) T_{1} is bijective, (ii) T_{1}(the InitS of t_{2}) = the InitS of t_{3}, and (iii) for all q_{14}, s holds T_{1}((the Tran of t_{2})(⟨⟨q_{14}, s⟩⟩)) = (the Tran

of t_{3})(⟨⟨T_{1}(q_{14}), s⟩⟩) and (the OFun of t_{2})(⟨⟨q_{14}, s⟩⟩) = (the OFun of t_{3})(⟨⟨T_{1}(q_{14}), s⟩⟩).

Let us observe that the predicate introduced above is reflexive and symmetric.

We now state four propositions:

(59) If t_{2} and t_{3} are isomorphic and t_{3} and t_{4} are isomorphic, then t_{2} and t_{4} are isomorphic.

(60) Suppose that for every state q of t_{2} and for every s holds T_{1}((the Tran of t_{2})(⟨⟨q, s⟩⟩)) = (the Tran of t_{3})(⟨⟨T_{1}(q), s⟩⟩). Given k. If 1 ≤ k and k ≤ len w + 1, then T_{1}((q_{14}, w)-admissible(k)) = (T_{1}(q_{14}), w)-admissible(k).

(61) Suppose that (i) T_{1}(the InitS of t_{2}) = the InitS of t_{3}, and (ii) for every state q of t_{2} and for every s holds T_{1}((the Tran of t_{2})(⟨⟨q,

s⟩⟩)) = (the Tran of t_{3})(⟨⟨T_{1}(q), s⟩⟩) and (the OFun of t_{2})(⟨⟨q, s⟩⟩) = (the OFun of t_{3})(⟨⟨T_{1}(q), s⟩⟩). Then q_{14} and q_{15} are equivalent if and only if T_{1}(q_{14}) and T_{1}(q_{15}) are equivalent.

(62) If r_{1} = the reduction of t_{1} and q_{20} ≠ q_{23}, then q_{20} and q_{23} are not equivalent.

7. Reduced and Connected Machines

Let I_{1}, O_{1} be non empty sets. A Mealy-FSM over I_{1}, O_{1} is reduced if: (Def.20) For all states q_{8}, q_{9} of it such that q_{8} ≠ q_{9} holds q_{8} and q_{9} are not

equivalent. One can prove the following proposition

(63) The reduction of t_{1} is reduced.

Let us consider I_{1}, O_{1}. Note that there exists a Mealy-FSM over I_{1}, O_{1} which is reduced.

In the sequel R_{1} will denote a reduced Mealy-FSM over I_{1}, O_{1}. Next we state two propositions:

(64) R_{1} and the reduction of R_{1} are isomorphic.

(65) t_{1} is reduced iff there exists a Mealy-FSM M over I_{1}, O_{1} such that t_{1}

and the reduction of M are isomorphic. Let us consider I_{1}, O_{1}, t_{1}. A state of t_{1} is accessible if:

(Def.21) There exists w such that the InitS of t_{1} ⟶^{w} it.

Let us consider I_{1}, O_{1}. A Mealy-FSM over I_{1}, O_{1} is connected if: (Def.22) Every state of it is accessible.

Let us consider I_{1}, O_{1}. One can check that there exists a Mealy-FSM over I_{1}, O_{1} which is connected.

In the sequel C_{1}, C_{2}, C_{3} will be connected Mealy-FSM over I_{1}, O_{1}. We now state the proposition

(66) The reduction of C_{1} is connected.

Let us consider I_{1}, O_{1}. Note that there exists a Mealy-FSM over I_{1}, O_{1} which is connected and reduced.

Let us consider I_{1}, O_{1}, t_{1}. The functor accessible-States(t_{1}) yields a finite non empty set and is defined as follows:

(Def.23) accessible-States(t_{1}) = {q : q ranges over states of t_{1}, q is accessible}.

The following propositions are true:

(67) accessible-States(t_{1}) ⊆ the states of t_{1} and for every q holds q ∈ accessible-States(t_{1}) iff q is accessible.

(68) (The Tran of t_{1}) [: accessible-States(t_{1}), I_{1} :] is a function from [: accessible-States(t_{1}), I_{1} :] into accessible-States(t_{1}).

(69) Let c_{1} be a function from [: accessible-States(t_{1}), I_{1} :] into accessible-States(t_{1}), and let c_{2} be a function from [: accessible-States(t_{1}), I_{1} :] into O_{1}, and let c_{3} be an element of accessible-States(t_{1}). Suppose c_{1} = (the Tran of t_{1}) [: accessible-States(t_{1}), I_{1} :] and c_{2} = (the OFun of t_{1}) [: accessible-States(t_{1}), I_{1} :] and c_{3} = the InitS of t_{1}. Then t_{1} and Mealy-FSM⟨accessible-States(t_{1}), c_{1}, c_{2}, c_{3}⟩ are equivalent.

(70) There exists C_{1} such that (i) the Tran of C_{1} = (the Tran of t_{1}) [: accessible-States(t_{1}), I_{1} :], (ii) the OFun of C_{1} = (the OFun of t_{1}) [: accessible-States(t_{1}), I_{1} :], (iii) the InitS of C_{1} = the InitS of t_{1}, and (iv) t_{1} and C_{1} are equivalent.

8. Machine Union

Let us consider I_{1}, O_{1}, t_{2}, t_{3}. The functor Mealy-U(t_{2}, t_{3}) yields a strict Mealy-FSM over I_{1}, O_{1} and is defined by the conditions (Def.24).

(Def.24) (i) The states of Mealy-U(t_{2}, t_{3}) = (the states of t_{2}) ∪ (the states of t_{3}), (ii) the Tran of Mealy-U(t_{2}, t_{3}) = (the Tran of t_{2}) +· (the Tran of t_{3}), (iii) the OFun of Mealy-U(t_{2}, t_{3}) = (the OFun of t_{2}) +· (the OFun of t_{3}),

and (iv) the InitS of Mealy-U(t_{2}, t_{3}) = the InitS of t_{2}. One can prove the following propositions:

(71) If t_{1} = Mealy-U(t_{2}, t_{3}) and (the states of t_{2}) ∩ (the states of t_{3}) = ∅ and q_{14} = q, then (q_{14}, w)-admissible = (q, w)-admissible.

(72) If t_{1} = Mealy-U(t_{2}, t_{3}) and (the states of t_{2}) ∩ (the states of t_{3}) = ∅ and q_{14} = q, then (q_{14}, w)-response = (q, w)-response.

(73) If t_{1} = Mealy-U(t_{2}, t_{3}) and (the states of t_{2}) ∩ (the states of t_{3}) = ∅ and q_{21} = q, then (q_{21}, w)-admissible = (q, w)-admissible.

(74) If t_{1} = Mealy-U(t_{2}, t_{3}) and (the states of t_{2}) ∩ (the states of t_{3}) = ∅ and

q_{21} = q, then (q_{21}, w)-response = (q, w)-response. In the sequel R_{2}, R_{3} will be reduced Mealy-FSM over I_{1}, O_{1}. The following proposition is true

(75) Suppose t_{1} = Mealy-U(R_{2}, R_{3}) and (the states of R_{2}) ∩ (the states of R_{3}) = ∅ and R_{2} and R_{3} are equivalent. Then there exists a state Q of the reduction of t_{1} such that the InitS of R_{2} ∈ Q and the InitS of R_{3} ∈ Q and Q = the InitS of the reduction of t_{1}.

For simplicity we follow a convention: C_{4}, C_{5} will denote connected reduced Mealy-FSM over I_{1}, O_{1}, c_{11}, c_{12} will denote states of C_{4}, c_{21}, c_{22} will denote states of C_{5}, and q_{24}, q_{25} will denote states of t_{1}.

The following propositions are true:

(76) Suppose that (i) c_{11} = q_{24}, (ii) c_{12} = q_{25}, (iii) (the states of C_{4}) ∩ (the states of C_{5}) = ∅, (iv) C_{4} and C_{5} are equivalent,

(v) t_{1} = Mealy-U(C_{4}, C_{5}), and (vi) c_{11} and c_{12} are not equivalent.

Then q_{24} and q_{25} are not equivalent.

(77) Suppose that (i) c_{21} = q_{24}, (ii) c_{22} = q_{25}, (iii) (the states of C_{4}) ∩ (the states of C_{5}) = ∅, (iv) C_{4} and C_{5} are equivalent,

(v) t_{1} = Mealy-U(C_{4}, C_{5}), and (vi) c_{21} and c_{22} are not equivalent.

Then q_{24} and q_{25} are not equivalent.

(78) Suppose (the states of C_{4}) ∩ (the states of C_{5}) = ∅ and C_{4} and C_{5} are equivalent and t_{1} = Mealy-U(C_{4}, C_{5}). Let Q be a state of the reduction of t_{1}. Then there do not exist elements q_{1}, q_{2} of Q such that q_{1} ∈ the states of C_{4} and q_{2} ∈ the states of C_{4} and q_{1} ≠ q_{2}.

(79) Suppose (the states of C_{4}) ∩ (the states of C_{5}) = ∅ and C_{4} and C_{5} are equivalent and t_{1} = Mealy-U(C_{4}, C_{5}). Let Q be a state of the reduction of t_{1}. Then there do not exist elements q_{1}, q_{2} of Q such that q_{1} ∈ the states of C_{5} and q_{2} ∈ the states of C_{5} and q_{1} ≠ q_{2}.

(80) Suppose (the states of C_{4}) ∩ (the states of C_{5}) = ∅ and C_{4} and C_{5} are equivalent and t_{1} = Mealy-U(C_{4}, C_{5}). Let Q be a state of the reduction of t_{1}. Then there exist elements q_{1}, q_{2} of Q such that q_{1} ∈ the states of

minimization of finite state machines 183

C_{4} and q_{2} ∈ the states of C_{5} and for every element q of Q holds q = q_{1} or q = q_{2}.

9. The Minimization Theorem

We now state several propositions:

(81) There exist Mealy-FSM f_{4}, f_{5} over I_{1}, O_{1} such that (the states of f_{4}) ∩ (the states of f_{5}) = ∅ and f_{4} and t_{2} are isomorphic and f_{5} and t_{3} are isomorphic.

(82) If t_{2} and t_{3} are isomorphic, then t_{2} and t_{3} are equivalent.

(83) If (the states of C_{4})∩(the states of C_{5}) = ∅ and C_{4} and C_{5} are equivalent, then C_{4} and C_{5} are isomorphic.

(84) If C_{2} and C_{3} are equivalent, then the reduction of C_{2} and the reduction of C_{3} are isomorphic.

(85) Let M_{1}, M_{2} be connected reduced Mealy-FSM over I_{1}, O_{1}. Then M_{1} and M_{2} are isomorphic if and only if M_{1} and M_{2} are equivalent.

References

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

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

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

[4] Czesław Byliński. 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. 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] Agata Darmochwał. Finite sets. Formalized Mathematics, 1(1):165–167, 1990.

[9] P. J. Denning, J. B. Dennis, and J. E. Qualitz. Machines, Languages, and Computation. Prentice-Hall, 1978.

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

[11] Katarzyna Jankowska. Transpose matrices and groups of permutations. Formalized Mathematics, 2(5):711–717, 1991.

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

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

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

[15] Yozo Toda. The formalization of simple graphs. Formalized Mathematics, 5(1):137–144, 1996.

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

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

184 miroslava kaloper and piotr rudnicki

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

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

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

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

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

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

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

Subtrees ^{1}

Grzegorz Bancerek Institute of Mathematics Polish Academy of Sciences

Summary. The concepts of root tree, the set of successors of a node in decorated tree and sets of subtrees are introduced.

MML Identifier: TREES 9.

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

1. Root Tree and Successors of Node in Decorated Tree

One can check that every tree which is finite is also finite-order. The following propositions are true:

(1) For every decorated tree t holds t ε_{}= t.

(2) For every tree t and for all finite sequences p, q of elements of such that p^{}q ∈ t holds t (p^{}q) = t p q.

(3) Let t be a decorated tree and let p, q be finite sequences of elements of . If p^{}q ∈ dom t, then t (p^{}q) = t p q.

A decorated tree is root if: (Def.1) dom it = the elementary tree of 0.

Let us note that every decorated tree which is root is also finite. The following three propositions are true:

(4) For every decorated tree t holds t is root iff ε ∈ Leaves(dom t).

(5) For every tree t and for every element p of t holds t p = the elementary tree of 0 iff p ∈ Leaves(t).

1This article has been worked out during the visit of the author in Nagano in Summer 1994.

(6) For every decorated tree t and for every node p of t holds t p is root iff p ∈ Leaves(dom t).

Let us mention that there exists a decorated tree which is root and there exists a decorated tree which is finite and non root.

Let x be a set. Note that the root tree of x is finite and root. A tree is finite-branching if:

(Def.2) For every element x of it holds succ x is finite.

Let us mention that every tree which is finite-order is also finite-branching. Let us note that there exists a tree which is finite. A decorated tree is finite-order if:

(Def.3) dom it is finite-order. A decorated tree is finite-branching if: (Def.4) dom it is finite-branching.

One can check that every decorated tree which is finite is also finite-order and every decorated tree which is finite-order is also finite-branching.

Let us observe that there exists a decorated tree which is finite. Let t be a finite-order decorated tree. One can verify that dom t is finite-

order.

Let t be a finite-branching decorated tree. Note that dom t is finite-branching. Let t be a finite-branching tree and let p be an element of t. Note that succ p

is finite.

The scheme FinOrdSet concerns a unary functor F yielding a set and a finite set A, and states that:

For every natural number n holds F(n) ∈ A iff n < card A provided the parameters have the following properties:

• For every set x such that x ∈ A there exists a natural number n such that x = F(n),

• For all natural numbers i, j such that i < j and F(j) ∈ A holds F(i) ∈ A,

• For all natural numbers i, j such that F(i) = F(j) holds i = j. Let X be a set. One can verify that there exists a finite sequence of elements

of X which is one-to-one and empty.

The following proposition is true

(7) Let t be a finite-branching tree, and let p be an element of t, and let n be a natural number. Then p^{}⟨n⟩ ∈ succ p if and only if n < card succ p.

Let t be a finite-branching tree and let p be an element of t. The functor Succ p yielding an one-to-one finite sequence of elements of t is defined by: (Def.5) len Succ p = card succ p and rng Succ p = succ p and for every natural

number i such that i < len Succ p holds (Succ p)(i + 1) = p^{}⟨i⟩. Let t be a finite-branching decorated tree and let p be a finite sequence. Let

us assume that p ∈ dom t. The functor succ(t, p) yielding a finite sequence is defined by:

(Def.6) There exists an element q of dom t such that q = p and succ(t, p) =

t · Succ q. One can prove the following two propositions:

(8) Let t be a finite-branching decorated tree. Then there exists a set x and there exists a decorated tree yielding finite sequence p such that t = x-tree(p).

(9) For every finite decorated tree t and for every node p of t holds t p is finite.

Let t be a finite decorated tree and let p be a node of t. Observe that t p is finite.

The following proposition is true

(10) For every finite tree t and for every element p of t such that t = t p

holds p = ε. Let D be a non empty set and let S be a non empty subset of FinTrees(D).

One can verify that every element of S is finite.

2. Set of Subtrees of Decorated Tree

Let t be a decorated tree. The functor Subtrees(t) yielding a constituted of decorated trees non empty set is defined by: (Def.7) Subtrees(t) = {t p : p ranges over nodes of t}.

Let D be a non empty set and let t be a tree decorated with elements of D. Then Subtrees(t) is a non empty subset of Trees(D).

Let D be a non empty set and let t be a finite tree decorated with elements of D. Then Subtrees(t) is a non empty subset of FinTrees(D).

Let t be a finite decorated tree. One can verify that every element of Subtrees(t) is finite.

In the sequel x denotes a set and t, t_{1}, t_{2} denote decorated trees. One can prove the following propositions:

(11) x ∈ Subtrees(t) iff there exists a node n of t such that x = t n.

(12) t ∈ Subtrees(t).

(13) If t_{1} is finite and Subtrees(t_{1}) = Subtrees(t_{2}), then t_{1} = t_{2}.

(14) For every node n of t holds Subtrees(t n) ⊆ Subtrees(t).

Let t be a decorated tree. The functor FixedSubtrees(t) yields a non empty subset of [: dom t, Subtrees(t) :] and is defined as follows: (Def.8) FixedSubtrees(t) = {⟨⟨p, t p⟩⟩ : p ranges over nodes of t}.

Next we state three propositions:

(15) x ∈ FixedSubtrees(t) iff there exists a node n of t such that x = ⟨⟨n, t n⟩⟩.

(16) ⟨⟨ε, t⟩⟩ ∈ FixedSubtrees(t).

(17) If FixedSubtrees(t_{1}) = FixedSubtrees(t_{2}), then t_{1} = t_{2}.

Let t be a decorated tree and let C be a set. The functor C -Subtrees(t) yielding a subset of Subtrees(t) is defined as follows: (Def.9) C -Subtrees(t) = {t p : p ranges over nodes of t, p ∉ Leaves(dom t) ∨

t(p) ∈ C}. In the sequel C denotes a set. We now state two propositions:

(18) x ∈ C -Subtrees(t) iff there exists a node n of t such that x = t n but n ∉ Leaves(dom t) or t(n) ∈ C.

(19) C -Subtrees(t) is empty iff t is root and t(ε) ∉ C.

Let t be a finite decorated tree and let C be a set. The functor C-Immedia-teSubtrees(t) yields a function from C -Subtrees(t) into (Subtrees(t))^{∗} and is defined by the condition (Def.10).

(Def.10) Let d be a decorated tree. Suppose d ∈ C -Subtrees(t). Let p be a finite sequence of elements of Subtrees(t). If p = (C -ImmediateSubtrees(t))(d), then d = d(ε)-tree(p).

3. Set of Subtrees of Set of Decorated Tree

Let X be a constituted of decorated trees non empty set. The functor Subtrees(X) yielding a constituted of decorated trees non empty set is defined by:

(Def.11) Subtrees(X) = {t p : t ranges over elements of X, p ranges over nodes

of t}. Let D be a non empty set and let X be a non empty subset of Trees(D).

Then Subtrees(X) is a non empty subset of Trees(D).

Let D be a non empty set and let X be a non empty subset of FinTrees(D). Then Subtrees(X) is a non empty subset of FinTrees(D).

In the sequel X, Y will be non empty constituted of decorated trees sets. We now state three propositions:

(20) x ∈ Subtrees(X) iff there exists an element t of X and there exists a node n of t such that x = t n.

(21) If t ∈ X, then t ∈ Subtrees(X).

(22) If X ⊆ Y, then Subtrees(X) ⊆ Subtrees(Y).

Let t be a decorated tree. Observe that {t} is non empty and constituted of decorated trees.

Next we state two propositions:

(23) Subtrees({t}) = Subtrees(t).

(24) Subtrees(X) = ⋃{Subtrees(t) : t ranges over elements of X}. Let X be a constituted of decorated trees non empty set and let C be a set.

The functor C -Subtrees(X) yields a subset of Subtrees(X) and is defined as follows:

(Def.12) C -Subtrees(X) = {t p : t ranges over elements of X, p ranges over

nodes of t, p ∉ Leaves(dom t) ∨ t(p) ∈ C}. We now state four propositions:

(25) x ∈ C -Subtrees(X) iff there exists an element t of X and there exists a node n of t such that x = t n but n ∉ Leaves(dom t) or t(n) ∈ C.

(26) C -Subtrees(X) is empty iff for every element t of X holds t is root and t(ε) ∉ C.

(27) C -Subtrees({t}) = C -Subtrees(t).

(28) C -Subtrees(X) = ⋃{C -Subtrees(t) : t ranges over elements of X}. Let X be a non empty constituted of decorated trees set. Let us assume that

every element of X is finite. Let C be a set. The functor C -ImmediateSubtrees(X) yields a function from C -Subtrees(X) into (Subtrees(X))^{∗} and is defined by the condition (Def.13).

(Def.13) Let d be a decorated tree. Suppose d ∈ C -Subtrees(X). Let p be a finite sequence of elements of Subtrees(X). If p = (C -ImmediateSubtrees(X))(d), then d = d(ε)-tree(p).

Let t be a tree. Observe that there exists an element of t which is empty. We now state four propositions:

(29) For every finite decorated tree t and for every element p of dom t holds len succ(t, p) = len Succ p and dom succ(t, p) = dom Succ p.

(30) For every finite tree yielding finite sequence p and for every empty element n of \overbrace{p} holds card succ n = len p.

(31) Let t be a finite decorated tree, and let x be a set, and let p be a decorated tree yielding finite sequence. Suppose t = x-tree(p). Let n be an empty element of dom t. Then succ(t, n) = the roots of p.

(32) For every finite decorated tree t and for every node p of t and for every node q of t p holds succ(t, p^{}q) = succ(t p, q).

References

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

[2] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

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

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

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

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

[7] Grzegorz Bancerek. Monoids. Formalized Mathematics, 3(2):213–225, 1992.

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

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

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

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

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

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

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

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

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

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

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

Terms Over Many Sorted Universal Algebra ^{1}

Grzegorz Bancerek Institute of Mathematics Polish Academy of Sciences

Summary. Pure terms (without constants) over a signature of many sorted universal algebra and terms with constants from algebra are introduced. Facts on evaluation of a term in some valuation are proved.

MML Identifier: MSATERM.

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

1. Terms over a Signature and over an Algebra

Let I be a non empty set, let X be a non-empty many sorted set indexed by I, and let i be an element of I. Note that X(i) is non empty.

In the sequel S will be a non void non empty many sorted signature and V will be a non-empty many sorted set indexed by the carrier of S.

Let us consider S, V. The functor S -Terms(V) yielding a non empty subset of FinTrees(the carrier of DTConMSA(V)) is defined as follows: (Def.1) S -Terms(V) = TS(DTConMSA(V)).

Let us consider S, V. A term of S over V is an element of S -Terms(V). In the sequel A denotes an algebra over S and t denotes a term of S over V. Let us consider S, V and let o be an operation symbol of S. Then Sym(o, V)

is a nonterminal of DTConMSA(V).

Let us consider S, V and let s_{1} be a nonterminal of DTConMSA(V). A finite sequence of elements of S -Terms(V) is called an argument sequence of s_{1} if:

1This article has been prepared during the visit of the author in Nagano in Summer 1994.

(Def.2) It is a subtree sequence joinable by s_{1}. We now state the proposition

(1) Let o be an operation symbol of S and let a be a finite sequence. Then ⟨⟨o, the carrier of S⟩⟩-tree(a) ∈ S -Terms(V) and a is decorated tree yielding if and only if a is an argument sequence of Sym(o, V).

The scheme TermInd concerns a non void non empty many sorted signature A, a non-empty many sorted set B indexed by the carrier of A, and a unary predicate P, and states that:

For every term t of A over B holds P[t] provided the parameters satisfy the following conditions:

• For every sort symbol s of A and for every element v of B(s) holds P[the root tree of ⟨⟨v, s⟩⟩],

• Let o be an operation symbol of A and let p be an argument sequence of Sym(o, B). Suppose that for every term t of A over B such that t ∈ rng p holds P[t]. Then P[⟨⟨o, the carrier of A⟩⟩-tree(p)].

Let us consider S, A, V. A term of A over V is a term of S over (the sorts of A) ∪ (V).

Let us consider S, A, V and let o be an operation symbol of S. An argument sequence of o, A, and V is an argument sequence of Sym(o, (the sorts of A)∪(V)).

The scheme CTermInd concerns a non void non empty many sorted signature A, a non-empty algebra B over A, a non-empty many sorted set C indexed by the carrier of A, and a unary predicate P, and states that:

For every term t of B over C holds P[t] provided the following requirements are met:

• For every sort symbol s of A and for every element x of (the sorts of B)(s) holds P[the root tree of ⟨⟨x, s⟩⟩],

• For every sort symbol s of A and for every element v of C(s) holds P[the root tree of ⟨⟨v, s⟩⟩],

• Let o be an operation symbol of A and let p be an argument sequence of o, B, and C. Suppose that for every term t of B over C such that t ∈ rng p holds P[t]. Then P[Sym(o, (the sorts of B) ∪ C)-tree(p)].

Let us consider S, V, t and let p be a node of t. Then t(p) is a symbol of DTConMSA(V).

Let us consider S, V. Observe that every term of S over V is finite. Next we state several propositions:

(2) (i) There exists a sort symbol s of S and there exists an element v of V (s) such that t(ε) = ⟨⟨v, s⟩⟩, or

(ii) t(ε) ∈ [: the operation symbols of S, {the carrier of S}:].

(3) Let t be a term of A over V. Then

(i) there exists a sort symbol s of S and there exists a set x such that x ∈ (the sorts of A)(s) and t(ε) = ⟨⟨x, s⟩⟩, or

(ii) there exists a sort symbol s of S and there exists an element v of V (s) such that t(ε) = ⟨⟨v, s⟩⟩, or (iii) t(ε) ∈ [: the operation symbols of S, {the carrier of S}:].

(4) For every sort symbol s of S and for every element v of V (s) holds the root tree of ⟨⟨v, s⟩⟩ is a term of S over V.

(5) For every sort symbol s of S and for every element v of V (s) such that t(ε) = ⟨⟨v, s⟩⟩ holds t = the root tree of ⟨⟨v, s⟩⟩.

(6) Let s be a sort symbol of S and let x be a set. Suppose x ∈ (the sorts of A)(s). Then the root tree of ⟨⟨x, s⟩⟩ is a term of A over V.

(7) Let t be a term of A over V, and let s be a sort symbol of S, and let x be a set. If x ∈ (the sorts of A)(s) and t(ε) = ⟨⟨x, s⟩⟩, then t = the root tree of ⟨⟨x, s⟩⟩.

(8) For every sort symbol s of S and for every element v of V (s) holds the root tree of ⟨⟨v, s⟩⟩ is a term of A over V.

(9) Let t be a term of A over V, and let s be a sort symbol of S, and let v be an element of V (s). If t(ε) = ⟨⟨v, s⟩⟩, then t = the root tree of ⟨⟨v, s⟩⟩.

(10) Let o be an operation symbol of S. Suppose t(ε) = ⟨⟨o, the carrier of S⟩⟩. Then there exists an argument sequence a of Sym(o, V) such that t = ⟨⟨o, the carrier of S⟩⟩-tree(a).

Let us consider S, let A be a non-empty algebra over S, let us consider V, let s be a sort symbol of S, and let x be an element of (the sorts of A)(s). The functor x_{A,V} yielding a term of A over V is defined as follows:

(Def.3) x_{A,V} = the root tree of ⟨⟨x, s⟩⟩.

Let us consider S, A, V, let s be a sort symbol of S, and let v be an element of V (s). The functor v_{A} yields a term of A over V and is defined as follows:

(Def.4) v_{A} = the root tree of ⟨⟨v, s⟩⟩.

Let us consider S, V, let s_{1} be a nonterminal of DTConMSA(V), and let p be an argument sequence of s_{1}. Then s_{1}-tree(p) is a term of S over V.

The scheme TermInd2 concerns a non void non empty many sorted signature A, a non-empty algebra B over A, a non-empty many sorted set C indexed by the carrier of A, and a unary predicate P, and states that:

For every term t of B over C holds P[t] provided the following conditions are satisfied:

• For every sort symbol s of A and for every element x of (the sorts of B)(s) holds P[x_{B,C}],

• For every sort symbol s of A and for every element v of C(s) holds P[v_{B}],

• Let o be an operation symbol of A and let p be an argument sequence of Sym(o, (the sorts of B) ∪ C). Suppose that for every term t of B over C such that t ∈ rng p holds P[t]. Then P[Sym(o, (the sorts of B) ∪ C)-tree(p)].

2. Sort of a Term

One can prove the following three propositions:

(11) For every term t of S over V there exists a sort symbol s of S such that t ∈ FreeSort(V, s).

(12) For every sort symbol s of S holds FreeSort(V, s) ⊆ S -Terms(V).

(13) S -Terms(V) = ⋃ FreeSorts(V).

Let us consider S, V, t. The sort of t yields a sort symbol of S and is defined by: (Def.5) t ∈ FreeSort(V, the sort of t).

One can prove the following propositions:

(14) Let s be a sort symbol of S and let v be an element of V (s). If t = the root tree of ⟨⟨v, s⟩⟩, then the sort of t = s.

(15) Let t be a term of A over V, and let s be a sort symbol of S, and let x be a set. Suppose x ∈ (the sorts of A)(s) and t = the root tree of ⟨⟨x, s⟩⟩. Then the sort of t = s.

(16) Let t be a term of A over V, and let s be a sort symbol of S, and let v be an element of V (s). If t = the root tree of ⟨⟨v, s⟩⟩, then the sort of t = s.

(17) Let o be an operation symbol of S. Suppose t(ε) = ⟨⟨o, the carrier of S⟩⟩. Then the sort of t = the result sort of o.

(18) Let A be a non-empty algebra over S, and let s be a sort symbol of S, and let x be an element of (the sorts of A)(s). Then the sort of x_{A,V} = s.

(19) For every sort symbol s of S and for every element v of V (s) holds the sort of v_{A} = s.

(20) Let o be an operation symbol of S and let p be an argument sequence of Sym(o, V). Then the sort of ( Sym(o, V)-tree(p) qua term of S over V) = the result sort of o.

3. Argument Sequence

We now state several propositions:

(21) Let o be an operation symbol of S and let a be a finite sequence of elements of S -Terms(V). Then a is an argument sequence of Sym(o, V) if and only if Sym(o, V) ⇒ the roots of a.

(22) Let o be an operation symbol of S and let a be an argument sequence of Sym(o, V). Then len a = len Arity(o) and dom a = dom Arity(o) and for every natural number i such that i ∈ dom a holds a(i) is a term of S over V.

(23) Let o be an operation symbol of S, and let a be an argument sequence of Sym(o, V), and let i be a natural number. Suppose i ∈ dom a. Let t be a term of S over V. Suppose t = a(i). Then

(i) t = π_{i}(a qua finite sequence of elements of S -Terms(V) qua non empty set),

(ii) the sort of t = Arity(o)(i), and (iii) the sort of t = π_{i} Arity(o).

(24) Let o be an operation symbol of S and let a be a finite sequence. Sup-

pose that

(i) len a = len Arity(o) or dom a = dom Arity(o), and (ii) for every natural number i such that i ∈ dom a there exists a term t

of S over V such that t = a(i) and the sort of t = Arity(o)(i) or for every natural number i such that i ∈ dom a there exists a term t of S over V such that t = a(i) and the sort of t = π_{i} Arity(o). Then a is an argument sequence of Sym(o, V).

(25) Let o be an operation symbol of S and let a be a finite sequence of

elements of S -Terms(V). Suppose that

(i) len a = len Arity(o) or dom a = dom Arity(o), and (ii) for every natural number i such that i ∈ dom a and for every term t of

S over V such that t = a(i) holds the sort of t = Arity(o)(i) or for every natural number i such that i ∈ dom a and for every term t of S over V such that t = a(i) holds the sort of t = π_{i} Arity(o). Then a is an argument sequence of Sym(o, V).

(26) Let S be a non void non empty many sorted signature and let V_{1}, V_{2} be non-empty many sorted sets indexed by the carrier of S. If V_{1} ⊆ V_{2}, then every term of S over V_{1} is a term of S over V_{2}.

(27) Let S be a non void non empty many sorted signature, and let A be an algebra over S, and let V be a non-empty many sorted set indexed by the carrier of S. Then every term of S over V is a term of A over V.

4. Compound Terms

Let S be a non void non empty many sorted signature and let V be a nonempty many sorted set indexed by the carrier of S. A term of S over V is said to be a compound term of S over V if: (Def.6) It(ε) ∈ [: the operation symbols of S, {the carrier of S}:].

Let S be a non void non empty many sorted signature and let V be a nonempty many sorted set indexed by the carrier of S. A non empty subset of S -Terms(V) is called a set with a compound term of S over V if: (Def.7) There exists a compound term t of S over V such that t ∈ it.

Next we state two propositions:

(28) If t is not root, then t is a compound term of S over V.

(29) For every node p of t holds t p is a term of S over V.

Let S be a non void non empty many sorted signature, let V be a non-empty many sorted set indexed by the carrier of S, let t be a term of S over V, and let p be a node of t. Then t p is a term of S over V.

5. Evaluation of Terms

Let S be a non void non empty many sorted signature and let A be an algebra over S. A non-empty many sorted set indexed by the carrier of S is said to be a variables family of A if: (Def.8) It misses the sorts of A.

We now state the proposition

(30) Let V be a variables family of A, and let s be a sort symbol of S, and let x be a set. If x ∈ (the sorts of A)(s), then for every element v of V (s) holds x ≠ v.

Let S be a non void non empty many sorted signature, let A be a non-empty algebra over S, let V be a non-empty many sorted set indexed by the carrier of S, let t be a term of A over V, let f be a many sorted function from V into the sorts of A, and let v_{1} be a finite decorated tree. We say that v_{1} is an evaluation of t w.r.t. f if and only if the conditions (Def.9) are satisfied. (Def.9) (i) dom v_{1} = dom t, and

(ii) for every node p of v_{1} holds for every sort symbol s of S and for every element v of V (s) such that t(p) = ⟨⟨v, s⟩⟩ holds v_{1}(p) = f(s)(v) and for every sort symbol s of S and for every element x of (the sorts of A)(s) such that t(p) = ⟨⟨x, s⟩⟩ holds v_{1}(p) = x and for every operation symbol o of S such that t(p) = ⟨⟨o, the carrier of S⟩⟩ holds v_{1}(p) = (Den(o, A))(succ(v_{1}, p)).

For simplicity we follow the rules: S will be a non void non empty many sorted signature, A will be a non-empty algebra over S, V will be a variables family of A, t will be a term of A over V, and f will be a many sorted function from V into the sorts of A.

We now state several propositions:

(31) Let s be a sort symbol of S and let x be an element of (the sorts of A)(s). Suppose t = the root tree of ⟨⟨x, s⟩⟩. Then the root tree of x is an evaluation of t w.r.t. f.

(32) Let s be a sort symbol of S and let v be an element of V (s). Suppose t = the root tree of ⟨⟨v, s⟩⟩. Then the root tree of f(s)(v) is an evaluation of t w.r.t. f.

(33) Let o be an operation symbol of S, and let p be an argument sequence of o, A, and V, and let q be a decorated tree yielding finite sequence. Suppose that

(i) len q = len p, and (ii) for every natural number i and for every term t of A over V such that

i ∈ dom p and t = p(i) there exists a finite decorated tree v_{1} such that v_{1} = q(i) and v_{1} is an evaluation of t w.r.t. f. Then there exists a finite decorated tree v_{1} such that v_{1} = (Den(o, A))(the roots of q)-tree(q) and v_{1} is an evaluation of Sym(o, (the sorts of A) ∪ (V))-tree(p) qua term of A over V w.r.t. f.

(34) Let t be a term of A over V and let e be a finite decorated tree. Suppose e is an evaluation of t w.r.t. f. Let p be a node of t and let n be a node of e. If n = p, then e n is an evaluation of t p w.r.t. f.

(35) Let o be an operation symbol of S, and let p be an argument sequence of o, A, and V, and let v_{1} be a finite decorated tree. Suppose v_{1} is an evaluation of Sym(o, (the sorts of A) ∪ (V))-tree(p) qua term of A over V w.r.t. f. Then there exists a decorated tree yielding finite sequence q such that

(i) len q = len p, (ii) v_{1} = (Den(o, A))(the roots of q)-tree(q), and (iii) for every natural number i and for every term t of A over V such that

i ∈ dom p and t = p(i) there exists a finite decorated tree v_{1} such that v_{1} = q(i) and v_{1} is an evaluation of t w.r.t. f.

(36) There exists finite decorated tree which is an evaluation of t w.r.t. f.

(37) Let e_{1}, e_{2} be finite decorated trees. Suppose e_{1} is an evaluation of t w.r.t. f and e_{2} is an evaluation of t w.r.t. f. Then e_{1} = e_{2}.

(38) Let v_{1} be a finite decorated tree. Suppose v_{1} is an evaluation of t w.r.t.

f. Then v_{1}(ε) ∈ (the sorts of A)(the sort of t). Let S be a non void non empty many sorted signature, let A be a non-empty

algebra over S, let V be a variables family of A, let t be a term of A over V, and let f be a many sorted function from V into the sorts of A. The functor t^{@} f yields an element of (the sorts of A)(the sort of t) and is defined as follows:

(Def.10) There exists a finite decorated tree v_{1} such that v_{1} is an evaluation of

t w.r.t. f and t^{@} f = v_{1}(ε). In the sequel t denotes a term of A over V. We now state several propositions:

(39) For every finite decorated tree v_{1} such that v_{1} is an evaluation of t w.r.t. f holds t^{@} f = v_{1}(ε).

(40) Let v_{1} be a finite decorated tree. Suppose v_{1} is an evaluation of t w.r.t. f. Let p be a node of t. Then v_{1}(p) = t p^{@} f.

(41) For every sort symbol s of S and for every element x of (the sorts of A)(s) holds x_{A,V} ^{@} f = x.

(42) For every sort symbol s of S and for every element v of V (s) holds v_{A} ^{@} f = f(s)(v).

(43) Let o be an operation symbol of S, and let p be an argument sequence

of o, A, and V, and let q be a finite sequence. Suppose that

(i) len q = len p, and (ii) for every natural number i such that i ∈ dom p and for every term t of

A over V such that t = p(i) holds q(i) = t^{@} f. Then (Sym(o, (the sorts of A)∪(V))-tree(p) qua term of A over V)^{@}(f) = (Den(o, A))(q).

References

[1] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

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

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

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

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

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

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

[8] Grzegorz Bancerek. Subtrees. Formalized Mathematics, 5(2):185–190, 1996.

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

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

[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] Patricia L. Carlson and Grzegorz Bancerek. Context-free grammar - part 1. Formalized Mathematics, 2(5):683–687, 1991.

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

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

[16] Beata Perkowska. Free many sorted universal algebra. Formalized Mathematics, 5(1):67– 74, 1996.

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

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

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

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

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

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

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

On the Decomposition of the Continuity

Marian Przemski Warsaw University Białystok

Summary. This article is devoted to functions of general topological spaces. A function from X to Y is A-continuous if the counterimage of every open set V of Y belongs to A, where A is a collection of subsets of X. We give the following characteristics of the continuity, called decomposition of continuity: A function f is continuous if and only if it is both A-continuous and B-continuous.

MML Identifier: DECOMP 1.

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

Let T be a topological space. A subset of the carrier of T is called an α-set of T if: (Def.1) It ⊆ Int \overline{Int it}. A subset of the carrier of T is semi-open if: (Def.2) It ⊆ \overline{Int it}. A subset of the carrier of T is pre-open if: (Def.3) It ⊆ Int \overline{it}. A subset of the carrier of T is pre-semi-open if: (Def.4) It ⊆ \overline{Int \overline{it}}. A subset of the carrier of T is semi-pre-open if: (Def.5) It ⊆ \overline{Int it} ∪ Int \overline{it}.

Let T be a topological space and let B be a subset of the carrier of T. The functor sInt(B) yielding a subset of the carrier of T is defined as follows: (Def.6) sInt(B) = B ∩ \overline{Int B}. The functor pInt(B) yielding a subset of the carrier of T is defined as follows: (Def.7) pInt(B) = B ∩ Int \overline{B}. The functor αInt(B) yielding a subset of the carrier of T is defined as follows:

(Def.8) αInt(B) = B ∩ Int \overline{Int B}. The functor psInt(B) yields a subset of the carrier of T and is defined as follows:

(Def.9) psInt(B) = B ∩ \overline{Int \overline{B}}.

Let T be a topological space and let B be a subset of the carrier of T. The functor spInt(B) yields a subset of the carrier of T and is defined by:

(Def.10) spInt(B) = sInt(B) ∪ pInt(B).

Let T be a topological space. The functor T^{α} yields a family of subsets of the carrier of T and is defined as follows:

(Def.11) T^{α} = {B : B ranges over subsets of the carrier of T, B is anα-set of

T }. The functor SO(T) yielding a family of subsets of the carrier of T is defined by:

(Def.12) SO(T) = {B : B ranges over subsets of the carrier of T, B is semi-open}. The functor PO(T) yielding a family of subsets of the carrier of T is defined as follows:

(Def.13) PO(T) = {B : B ranges over subsets of the carrier of T, B is pre-open}. The functor SPO(T) yielding a family of subsets of the carrier of T is defined as follows:

(Def.14) SPO(T) = {B : B ranges over subsets of the carrier of T, B is semi-

pre-open}. The functor PSO(T) yields a family of subsets of the carrier of T and is defined by:

(Def.15) PSO(T) = {B : B ranges over subsets of the carrier of T, B is pre-semi-

open}. The functor D(c, α)(T) yielding a family of subsets of the carrier of T is defined as follows:

(Def.16) D(c, α)(T) = {B : B ranges over subsets of the carrier of T, Int B =

αInt(B)}. The functor D(c, p)(T) yielding a family of subsets of the carrier of T is defined by:

(Def.17) D(c, p)(T) = {B : B ranges over subsets of the carrier of T, Int B =

pInt(B)}. The functor D(c, s)(T) yielding a family of subsets of the carrier of T is defined by:

(Def.18) D(c, s)(T) = {B : B ranges over subsets of the carrier of T, Int B =

sInt(B)}. The functor D(c, ps)(T) yielding a family of subsets of the carrier of T is defined as follows:

(Def.19) D(c, ps)(T) = {B : B ranges over subsets of the carrier of T, Int B =

psInt(B)}. The functor D(α, p)(T) yields a family of subsets of the carrier of T and is defined as follows:

(Def.20) D(α, p)(T) = {B : B ranges over subsets of the carrier of T, αInt(B) =

pInt(B)}. The functor D(α, s)(T) yielding a family of subsets of the carrier of T is defined as follows:

(Def.21) D(α, s)(T) = {B : B ranges over subsets of the carrier of T, αInt(B) =

sInt(B)}. The functor D(α, ps)(T) yields a family of subsets of the carrier of T and is defined as follows:

(Def.22) D(α, ps)(T) = {B : B ranges over subsets of the carrier of T, αInt(B) =

psInt(B)}. The functor D(p, sp)(T) yielding a family of subsets of the carrier of T is defined by:

(Def.23) D(p, sp)(T) = {B : B ranges over subsets of the carrier of T, pInt(B) =

spInt(B)}. The functor D(p, ps)(T) yielding a family of subsets of the carrier of T is defined by:

(Def.24) D(p, ps)(T) = {B : B ranges over subsets of the carrier of T, pInt(B) =

psInt(B)}. The functor D(sp, ps)(T) yields a family of subsets of the carrier of T and is defined as follows:

(Def.25) D(sp, ps)(T) = {B : B ranges over subsets of the carrier of T,

spInt(B) = psInt(B)}. In the sequel T will be a topological space and B will be a subset of the

carrier of T.

One can prove the following propositions:

(1) αInt(B) = pInt(B) iff sInt(B) = psInt(B).

(2) B is an α-set of T iff B = αInt(B).

(3) B is semi-open iff B = sInt(B).

(4) B is pre-open iff B = pInt(B).

(5) B is pre-semi-open iff B = psInt(B).

(6) B is semi-pre-open iff B = spInt(B).

(7) T^{α} ∩ D(c, α)(T) = the topology of T.

(8) SO(T) ∩ D(c, s)(T) = the topology of T.

(9) PO(T) ∩ D(c, p)(T) = the topology of T.

(10) PSO(T) ∩ D(c, ps)(T) = the topology of T.

(11) PO(T) ∩ D(α, p)(T) = T^{α}.

(12) SO(T) ∩ D(α, s)(T) = T^{α}.

(13) PSO(T) ∩ D(α, ps)(T) = T^{α}.

(14) SPO(T) ∩ D(p, sp)(T) = PO(T).

(15) PSO(T) ∩ D(p, ps)(T) = PO(T).

(16) PSO(T) ∩ D(α, p)(T) = SO(T).

(17) PSO(T) ∩ D(sp, ps)(T) = SPO(T). Let X, Y be topological spaces and let f be a mapping from X into Y. We

say that f is s -continuous if and only if: (Def.26) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

SO(X). We say that f is p -continuous if and only if:

(Def.27) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

PO(X). We say that f is α -continuous if and only if:

(Def.28) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

X^{α}. We say that f is ps -continuous if and only if:

(Def.29) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

PSO(X). We say that f is sp -continuous if and only if:

(Def.30) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

SPO(X). We say that f is (c, α) -continuous if and only if:

(Def.31) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

D(c, α)(X). We say that f is (c, s) -continuous if and only if:

(Def.32) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

D(c, s)(X). We say that f is (c, p) -continuous if and only if:

(Def.33) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

D(c, p)(X). We say that f is (c, ps) -continuous if and only if:

(Def.34) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

D(c, ps)(X). We say that f is (α, p) -continuous if and only if:

(Def.35) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

D(α, p)(X). We say that f is (α, s) -continuous if and only if:

(Def.36) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

D(α, s)(X). We say that f is (α, ps) -continuous if and only if:

(Def.37) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

D(α, ps)(X). We say that f is (p, ps) -continuous if and only if:

(Def.38) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈ D(p, ps)(X).

We say that f is (p, sp) -continuous if and only if: (Def.39) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

D(p, sp)(X). We say that f is (sp, ps) -continuous if and only if:

(Def.40) For every subset G of the carrier of Y such that G is open holds f^{−1}G ∈

D(sp, ps)(X). In the sequel X, Y will denote topological spaces and f will denote a mapping

from X into Y.

The following propositions are true:

(18) f is α -continuous iff f is p -continuous and (α, p) -continuous.

(19) f is α -continuous iff f is s -continuous and (α, s) -continuous.

(20) f is α -continuous iff f is ps -continuous and (α, ps) -continuous.

(21) f is p -continuous iff f is sp -continuous and (p, sp) -continuous.

(22) f is p -continuous iff f is ps -continuous and (p, ps) -continuous.

(23) f is s -continuous iff f is ps -continuous and (α, p) -continuous.

(24) f is sp -continuous iff f is ps -continuous and (sp, ps) -continuous.

(25) f is continuous iff f is α -continuous and (c, α) -continuous.

(26) f is continuous iff f is s -continuous and (c, s) -continuous.

(27) f is continuous iff f is p -continuous and (c, p) -continuous.

(28) f is continuous iff f is ps -continuous and (c, ps) -continuous.

Acknowledgments

The author wishes to thank Professor A. Trybulec for many helpful talks during the preparation of this paper.

References

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

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

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

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

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

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

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

[8] Beata Padlewska. Locally connected spaces. Formalized Mathematics, 2(1):93–96, 1991.

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

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

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

204 marian przemski

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

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

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

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

A Scheme for Extensions of Homomorphisms of Many Sorted Algebras

Andrzej Trybulec Warsaw University Białystok

Summary. The aim of this workis to provide a bridge between the theory of context-free grammars developed in [11], [6] and universally free manysorted algebras([17]. The third scheme proved in the article allows to prove that two homomorphisms equal on the set of free generators are equal. The first scheme is a slight modification of the scheme in [6] and the second is rather technical, but since it was useful for me, perhaps it might be useful for somebody else. The concept of flattening of a many sorted function F between two manysorted sets A and B (with common set of indices I) is introduced for A with mutually disjoint components (pairwise disjoint function – the concept introduced in [16]). This is a function on the union of A, that is equal to F on every component of A. A trivial many sorted algebra over a signature S is defined with sorts being singletons of corresponding sort symbols. It has mutually disjoint sorts.

MML Identifier: MSAFREE1.

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

One can prove the following proposition

(1) For all functions f, g such that g ∈ ∏ f holds rng g ⊆ ⋃ f. The scheme DTConstrUniq concerns a non empty tree construction structure

A, a non empty set B, a unary functor F yielding an element of B, a ternary functor G yielding an element of B, and functions C, D from TS(A) into B, and states that:

C = D provided the parameters meet the following conditions:

• For every symbol t of A such that t ∈ the terminals of A holds C(the root tree of t) = F(t), • Let n_{1} be a symbol of A and let t_{1} be a finite sequence of elements

of TS(A). Suppose n_{1} ⇒ the roots of t_{1}. Let x be a finite sequence of elements of B. If x = C · t_{1}, then C(n_{1}-tree(t_{1})) = G(n_{1}, t_{1}, x),

• For every symbol t of A such that t ∈ the terminals of A holds D(the root tree of t) = F(t),

• Let n_{1} be a symbol of A and let t_{1} be a finite sequence of elements of TS(A). Suppose n_{1} ⇒ the roots of t_{1}. Let x be a finite sequence of elements of B. If x = D · t_{1}, then D(n_{1}-tree(t_{1})) = G(n_{1}, t_{1}, x).

The following two propositions are true:

(2) Let S be a non void non empty many sorted signature, and let X be a many sorted set indexed by the carrier of S, and let o, b be arbitrary. Suppose ⟨⟨o, b⟩⟩ ∈ REL(X). Then

(i) o ∈ [: the operation symbols of S, {the carrier of S}:], and (ii) b ∈ ([: the operation symbols of S, {the carrier of S}:] ∪ ⋃ coprod(X))^{∗}.

(3) Let S be a non void non empty many sorted signature, and let X be a many sorted set indexed by the carrier of S, and let o be an operation symbol of S, and let b be a finite sequence. Suppose ⟨⟨⟨⟨o, the carrier of S⟩⟩, b⟩⟩ ∈ REL(X). Then

(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 I be a non empty set and let M be a non-empty many sorted set indexed by I. Observe that rng M is non empty and has non empty elements.

Let D be a non empty set with non empty elements. Note that ⋃ D is non empty.

Let I be a set. One can check that every many sorted set indexed by I which is empty is also pairwise disjoint.

Let I be a set. Observe that there exists a many sorted set indexed by I which is pairwise disjoint.

Let I be a non empty set, let X be a pairwise disjoint many sorted set indexed by I, let D be a non-empty many sorted set indexed by I, and let F be a many sorted function from X into D. The functor Flatten(F) yields a function from ⋃ X into ⋃ D and is defined by: (Def.1) For every element i of I and for arbitrary x such that x ∈ X(i) holds

(Flatten(F))(x) = F (i)(x). The following proposition is true

(4) Let I be a non empty set, and let X be a pairwise disjoint many sorted set indexed by I, and let D be a non-empty many sorted set indexed by I, and let F_{1}, F_{2} be many sorted functions from X into D. If Flatten(F_{1}) = Flatten(F_{2}), then F_{1} = F_{2}.

Let S be a non empty many sorted signature and let A be an algebra over S. We say that A is pairwise disjoint if and only if:

(Def.2) The sorts of A is pairwise disjoint.

Let S be a non empty many sorted signature. The functor SingleAlg(S) yields a strict algebra over S and is defined by: (Def.3) For arbitrary i such that i ∈ the carrier of S holds (the sorts of

SingleAlg(S))(i) = {i}. Let S be a non empty many sorted signature. Note that there exists an

algebra over S which is non-empty and pairwise disjoint.

Let S be a non empty many sorted signature. Observe that SingleAlg(S) is non-empty and pairwise disjoint.

Let S be a non empty many sorted signature and let A be a pairwise disjoint algebra over S. Observe that the sorts of A is pairwise disjoint.

The following proposition is true

(5) Let S be a non void non empty many sorted signature, and let o be an operation symbol of S, and let A_{1} be a non-empty pairwise disjoint algebra over S, and let A_{2} be a non-empty algebra over S, and let f be a many sorted function from A_{1} into A_{2}, and let a be an element of Args(o, A_{1}). Then Flatten(f) · a = f#a.

Let S be a non void non empty many sorted signature and let X be a nonempty many sorted set indexed by the carrier of S. Observe that FreeSorts(X) is pairwise disjoint.

The scheme FreeSortUniq deals with a non void non empty many sorted signature A, non-empty many sorted sets B, C indexed by the carrier of A, a unary functor F yielding an element of ⋃ C, a ternary functor G yielding an element of ⋃ C, and many sorted functions D, E from FreeSorts(B) into C, and states that:

D = E provided the following conditions are satisfied:

• Let o be an operation symbol of A, and let t_{1} be an element of Args(o, Free(B)), and let x be a finite sequence of elements of ⋃ C. If x = Flatten(D)·t_{1}, then D(the result sort of o)((Den(o, Free(B)))(t_{1})) = G(o, t_{1}, x),

• For every sort symbol s of A and for arbitrary y such that y ∈ FreeGenerator(s, B) holds D(s)(y) = F(y),

• Let o be an operation symbol of A, and let t_{1} be an element of Args(o, Free(B)), and let x be a finite sequence of elements of ⋃ C. If x = Flatten(E)·t_{1}, then E(the result sort of o)((Den(o, Free(B)))(t_{1})) = G(o, t_{1}, x),

• For every sort symbol s of A and for arbitrary y such that y ∈ FreeGenerator(s, B) holds E(s)(y) = F(y).

Let S be a non void non empty many sorted signature and let X be a nonempty many sorted set indexed by the carrier of S. Note that Free(X) is nonempty.

Let S be a non void non empty many sorted signature, let o be an operation symbol of S, and let A be a non-empty algebra over S. Note that Args(o, A) is 208 andrzej trybulec

non empty and Result(o, A) is non empty.

Let S be a non void non empty many sorted signature and let X be a nonempty many sorted set indexed by the carrier of S. Note that the sorts of Free(X) is pairwise disjoint.

Let S be a non void non empty many sorted signature and let X be a nonempty many sorted set indexed by the carrier of S. One can verify that Free(X) is pairwise disjoint.

The scheme ExtFreeGen deals with a non void non empty many sorted signature A, a non-empty many sorted set B indexed by the carrier of A, a non-empty algebra C over A, many sorted functions D, E from Free(B) into C, and a ternary predicate P, and states that:

D = E provided the following conditions are satisfied:

• D is a homomorphism of Free(B) into C,

• For every sort symbol s of A and for arbitrary x, y such that y ∈ FreeGenerator(s, B) holds D(s)(y) = x iff P[s, x, y],

• E is a homomorphism of Free(B) into C,

• For every sort symbol s of A and for arbitrary x, y such that y ∈ FreeGenerator(s, B) holds E(s)(y) = x iff P[s, x, y].

References

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

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

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

[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. Binary operations. Formalized Mathematics, 1(1):175–180, 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] Czesław Byliński. Products and coproducts in categories. Formalized Mathematics, 2(5):701–709, 1991.

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

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

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

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

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

[16] Andrzej Ne‘dzusiak. Probability. Formalized Mathematics, 1(4):745–749, 1990.

[17] Beata Perkowska. Free many sorted universal algebra. Formalized Mathematics, 5(1):67– 74, 1996.

a scheme for extensions of homomorphisms of … 209

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

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

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

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

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

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

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

210

The Correspondence Between Homomorphisms of Universal Algebra

& Many Sorted Algebra

Adam Grabowski Warsaw University Białystok

Summary. The aim of the article is to check the compatibility of the homomorphism of universal algebras introduced in [13] and the corresponding concept for many sorted algebras introduced in [14].

MML Identifier: MSUHOM 1.

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

For simplicity we follow the rules: U_{1}, U_{2}, U_{3} denote universal algebras, n denotes a natural number, A denotes a non empty set, and h denotes a function from U_{1} into U_{2}.

The following propositions are true:

(1) For all functions f, g and for every set C such that rng f ⊆ C holds (g C) · f = g · f.

(2) For every set I and for every subset C of I holds C^{∗} ⊆ I^{∗}.

(3) For every function f and for every set C such that f is function yielding holds f C is function yielding.

(4) For every set I and for every subset C of I and for every many sorted set M indexed by I holds (M C)^{#} = M^{#} C^{∗}.

Let us consider A, n and let a be an element of A. Then n ↦ a is a finite sequence of elements of A.

Let S, S′ be non empty many sorted signatures. The predicate S ≤ S′ is defined by the conditions (Def.1).

(Def.1) (i) The carrier of S ⊆ the carrier of S′, (ii) the operation symbols of S ⊆ the operation symbols of S′, (iii) (the arity of S′) (the operation symbols of S) = the arity of S, and (iv) (the result sort of S′) (the operation symbols of S) = the result sort

of S. Let us note that this predicate is reflexive.

Next we state four propositions:

(5) For all non empty many sorted signatures S, S′, S′′ such that S ≤ S′ and S′ ≤ S′′ holds S ≤ S′′.

(6) For all strict non empty many sorted signatures S, S′ such that S ≤ S′ and S′ ≤ S holds S = S′.

(7) Let g be a function, and let a be an element of A, and let k be a natural number. If 1 ≤ k and k ≤ n, then (a⟼ . g)(π_{k}(n ↦ a)) = g.

(8) Let I be a set, and let I_{0} be a subset of I, and let A, B be many sorted sets indexed by I, and let F be a many sorted function from A into B, and let A_{0}, B_{0} be many sorted sets indexed by I_{0}. Suppose A_{0} = A I_{0} and B_{0} = B I_{0}. Then F I_{0} is a many sorted function from A_{0} into B_{0}.

Let S, S′ be strict non void non empty many sorted signatures and let A be a non-empty strict algebra over S′. Let us assume that S ≤ S′. The functor (A over S) yielding a non-empty strict algebra over S is defined by the conditions (Def.2). (Def.2) (i) The sorts of (A over S) = (the sorts of A) (the carrier of S), and

(ii) the characteristics of (A over S) = (the characteristics of A) (the

operation symbols of S). We now state two propositions:

(9) For every strict non void non empty many sorted signature S and for every non-empty strict algebra A over S holds A = (A over S).

(10) For all U_{1}, U_{2} such that U_{1} and U_{2} are similar holds MSSign(U_{1}) =

MSSign(U_{2}). Let U_{1}, U_{2} be universal algebras and let h be a function from U_{1} into U_{2}.

Let us assume that MSSign(U_{1}) = MSSign(U_{2}). The functor MSAlg(h) yielding a many sorted function from MSAlg(U_{1}) into (MSAlg(U_{2}) over MSSign(U_{1})) is defined by: (Def.3) MSAlg(h) = {0} ⟼ h.

The following propositions are true:

(11) Given U_{1}, U_{2}, h. Suppose U_{1} and U_{2} are similar. Let o be an operation symbol of MSSign(U_{1}). Then (MSAlg(h))(the result sort of o) = h.

(12) For every operation symbol o of MSSign(U_{1}) holds Den(o, MSAlg(U_{1})) = (the characteristic of U_{1})(o).

(13) For every operation symbol o of MSSign(U_{1}) holds Den(o, MSAlg(U_{1})) is an operation of U_{1}.

(14) For every operation symbol o of MSSign(U_{1}) holds every element of Args(o, MSAlg(U_{1})) is a finite sequence of elements of the carrier of U_{1}.

(15) Given U_{1}, U_{2}, h. Suppose U_{1} and U_{2} are similar. Let o be an operation symbol of MSSign(U_{1}) and let y be an element of Args(o, MSAlg(U_{1})). Then MSAlg(h)#y = h · y.

(16) If h is a homomorphism of U_{1} into U_{2}, then MSAlg(h) is a homomorphism of MSAlg(U_{1}) into (MSAlg(U_{2}) over MSSign(U_{1})).

(17) If U_{1} and U_{2} are similar, then MSAlg(h) is a many sorted set indexed by {0}.

(18) If h is an epimorphism of U_{1} onto U_{2}, then MSAlg(h) is an epimorphism of MSAlg(U_{1}) onto (MSAlg(U_{2}) over MSSign(U_{1})).

(19) If h is a monomorphism of U_{1} into U_{2}, then MSAlg(h) is a monomorphism of MSAlg(U_{1}) into (MSAlg(U_{2}) over MSSign(U_{1})).

(20) If h is an isomorphism of U_{1} and U_{2}, then MSAlg(h) is an isomorphism of MSAlg(U_{1}) and (MSAlg(U_{2}) over MSSign(U_{1})).

(21) Given U_{1}, U_{2}, h. Suppose U_{1} and U_{2} are similar. Suppose MSAlg(h) is a homomorphism of MSAlg(U_{1}) into (MSAlg(U_{2}) over MSSign(U_{1})). Then h is a homomorphism of U_{1} into U_{2}.

(22) Given U_{1}, U_{2}, h. Suppose U_{1} and U_{2} are similar. Suppose MSAlg(h) is an epimorphism of MSAlg(U_{1}) onto (MSAlg(U_{2}) over MSSign(U_{1})). Then h is an epimorphism of U_{1} onto U_{2}.

(23) Given U_{1}, U_{2}, h. Suppose U_{1} and U_{2} are similar. Suppose MSAlg(h) is a monomorphism of MSAlg(U_{1}) into (MSAlg(U_{2}) over MSSign(U_{1})). Then h is a monomorphism of U_{1} into U_{2}.

(24) Given U_{1}, U_{2}, h. Suppose U_{1} and U_{2} are similar. Suppose MSAlg(h) is an isomorphism of MSAlg(U_{1}) and (MSAlg(U_{2}) over MSSign(U_{1})). Then h is an isomorphism of U_{1} and U_{2}.

(25) MSAlg(id_{(the carrier of U_{1})}) = id_{(the sorts of MSAlg(U_{1}))}.

(26) Given U_{1}, U_{2}, U_{3}. Suppose U_{1} and U_{2} are similar and U_{2} and U_{3} are similar. Let h_{1} be a function from U_{1} into U_{2} and let h_{2} be a function from U_{2} into U_{3}. Then MSAlg(h_{2}) ∘ MSAlg(h_{1}) = MSAlg(h_{2} · h_{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] Józef Białas. Group and field definitions. Formalized Mathematics, 1(3):433–439, 1990.

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

[5] Ewa Burakowska. Subalgebras of the universal algebra. Lattices of subalgebras. Formalized Mathematics, 4(1):23–27, 1993.

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

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

214 adam grabowski

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

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

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

[13] Małgorzata Korolkiewicz. Homomorphisms of algebras. Quotient universal algebra. Formalized Mathematics, 4(1):109–113, 1993.

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

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

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

[17] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, I. Formalized Mathematics, 5(2):167–172, 1996.

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

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

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

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

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

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

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

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

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

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

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

Preliminaries to Circuits, II ^{1}

Yatsuka Nakamura Shinshu University, Nagano

Piotr Rudnicki University of Alberta, Edmonton

Andrzej Trybulec Warsaw University, Białystok

Pauline N. Kawamoto Shinshu University, Nagano

Summary. This article is the second in a series of four articles (started with [20] and continued in [19,18]) about modelling circuits by many sorted algebras.

First, we introduce some additional terminology for many sorted signatures. The vertices of such signatures are divided into input vertices and inner vertices. A many sorted signature is called circuit like if each sort is a result sort of at most one operation. Next, we introduce some notions for many sorted algebras and many sorted free algebras. Free envelope of an algebra is a free algebra generated by the sorts of the algebra. Evaluation of an algebra is defined as a homomorphism from the free envelope of the algebra into the algebra. We define depth of elements of free many sorted algebras.

A many sorted signature is said to be monotonic if every finitely generated algebra over it is locally finite (finite in each sort). Monotonic signatures are used (see [19,18]) in modelling backbones of circuits without directed cycles.

MML Identifier: MSAFREE2.

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

1. Many Sorted Signatures

Let S be a many sorted signature. A vertex of S is an element of the carrier of S.

1Partial funding for this work has been provided by: Shinshu Endowment Fund for Information Science, NSERC Grant OGP9207, JSTF award 651-93-S009.

Let S be a non empty many sorted signature. The functor SortsWithConstants(S) yielding a subset of the carrier of S is

defined as follows:

(Def.1) (i) SortsWithConstants(S) = {v : v ranges over sort symbols of S, v

has constants} if S is non void, (ii) SortsWithConstants(S) = ∅, otherwise. Let G be a non empty many sorted signature. The functor InputVertices(G)

yields a subset of the carrier of G and is defined by:

(Def.2) InputVertices(G) = (the carrier of G) \ rng (the result sort of G). The functor InnerVertices(G) yielding a subset of the carrier of G is defined by:

(Def.3) InnerVertices(G) = rng (the result sort of G).

Next we state several propositions:

(1) For every void non empty many sorted signature G holds InputVertices(G) = the carrier of G.

(2) Let G be a non void non empty many sorted signature and let v be a vertex of G. Suppose v ∈ InputVertices(G). Then it is not true that there exists an operation symbol o of G such that the result sort of o = v.

(3) For every non empty many sorted signature G holds InputVertices(G)∪ InnerVertices(G) = the carrier of G.

(4) For every non empty many sorted signature G holds InputVertices(G) misses InnerVertices(G).

(5) For every non empty many sorted signature G holds SortsWithConstants(G) ⊆ InnerVertices(G).

(6) For every non empty many sorted signature G holds InputVertices(G) misses SortsWithConstants(G).

A non empty many sorted signature has input vertices if:

(Def.4) InputVertices(it) ≠ ∅.

Let us note that there exists a non empty many sorted signature which is non void and has input vertices.

Let G be a non empty many sorted signature with input vertices. Note that InputVertices(G) is non empty.

Let G be a non void non empty many sorted signature. Then InnerVertices(G) is a non empty subset of the carrier of G.

Let S be a non empty many sorted signature and let M_{1} be a non-empty algebra over S. A many sorted set indexed by InputVertices(S) is said to be an input assignment of M_{1} if:

(Def.5) For every vertex v of S such that v ∈ InputVertices(S) holds it(v) ∈ (the

sorts of M_{1})(v). Let S be a non empty many sorted signature. We say that S is circuit-like

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

(Def.6) Let S′ be a non void non empty many sorted signature. Suppose S′ = S. Let o_{1}, o_{2} be operation symbols of S′. If the result sort of o_{1} = the result sort of o_{2}, then o_{1} = o_{2}.

Let us observe that every non empty many sorted signature which is void is also circuit-like.

Let us note that there exists a non empty many sorted signature which is non void circuit-like and strict.

Let I_{1} be a circuit-like non void non empty many sorted signature and let v be a vertex of I_{1}. Let us assume that v ∈ InnerVertices(I_{1}). The action at v yielding an operation symbol of I_{1} is defined as follows: (Def.7) The result sort of the action at v = v.

2. Free Many Sorted Algebras

Next we state the proposition

(7) Let S be a non void non empty many sorted signature, and let A be an algebra over S, and let o be an operation symbol of S, and let p be a finite sequence. Suppose len p = len Arity(o) and for every natural number k such that k ∈ dom p holds p(k) ∈ (the sorts of A)(π_{k} Arity(o)). Then p ∈ Args(o, A).

Let S be a non void non empty many sorted signature and let M_{1} be a non-empty algebra over S. The functor FreeEnvelope(M_{1}) yielding a free strict non-empty algebra over S is defined as follows: (Def.8) FreeEnvelope(M_{1}) = Free(the sorts of M_{1}).

One can prove the following proposition

(8) Let S be a non void non empty many sorted signature and let M_{1} be a non-empty algebra over S. Then FreeGenerator(the sorts of M_{1}) is a free generator set of FreeEnvelope(M_{1}).

Let S be a non void non empty many sorted signature and let M_{1} be a nonempty algebra over S. The functor Eval(M_{1}) yielding a many sorted function from FreeEnvelope(M_{1}) into M_{1} is defined by the conditions (Def.9). (Def.9) (i) Eval(M_{1}) is a homomorphism of FreeEnvelope(M_{1}) into M_{1}, and

(ii) for every sort symbol s of S and for arbitrary x, y such that y ∈ FreeSort(the sorts of M_{1}, s) and y = the root tree of ⟨⟨x, s⟩⟩ and x ∈ (the sorts of M_{1})(s) holds (Eval(M_{1}))(s)(y) = x.

One can prove the following proposition

(9) Let S be a non void non empty many sorted signature and let A be a non-empty algebra over S. Then the sorts of A is a generator set of A.

Let S be a non empty many sorted signature. An algebra over S is finitelygenerated if:

(Def.10) (i) For every non void non empty many sorted signature S′ such that S′ = S and for every algebra A over S′ such that A = it holds there exists generator set of A which is locally-finite if S is not void,

(ii) the sorts of it is locally-finite, otherwise. Let S be a non empty many sorted signature. An algebra over S is locally-

finite if: (Def.11) The sorts of it is locally-finite.

Let S be a non empty many sorted signature. Observe that every non-empty algebra over S which is locally-finite is also finitely-generated.

Let S be a non empty many sorted signature. The trivial algebra of S yields a strict algebra over S and is defined by:

(Def.12) The sorts of the trivial algebra of S = (the carrier of S) ⟼ {0}.

Let S be a non empty many sorted signature. Observe that there exists an algebra over S which is locally-finite non-empty and strict.

A non empty many sorted signature is monotonic if: (Def.13) Every finitely-generated non-empty algebra over it is locally-finite.

One can verify that there exists a non empty many sorted signature which is non void finite monotonic and circuit-like.

The following propositions are true:

(10) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set indexed by the carrier of S, and let v be a sort symbol of S. Then every element of the sorts of Free(X)(v) is a finite decorated tree.

(11) Let S be a non void non empty many sorted signature and let X be a non-empty locally-finite many sorted set indexed by the carrier of S. Then Free(X) is finitely-generated.

(12) Let S be a non void non empty many sorted signature, and let A be a non-empty algebra over S, and let v be a vertex of S, and let e be an element of (the sorts of FreeEnvelope(A))(v). Suppose v ∈ InputVertices(S). Then there exists an element x of (the sorts of A)(v) such that e = the root tree of ⟨⟨x, v⟩⟩.

(13) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set indexed by the carrier of S, and let o be an operation symbol of S, and let p be a decorated tree yielding finite sequence. Suppose ⟨⟨o, the carrier of S⟩⟩-tree(p) ∈ (the sorts of Free(X))(the result sort of o). Then len p = len Arity(o).

(14) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set indexed by the carrier of S, and let o be an operation symbol of S, and let p be a decorated tree yielding finite sequence. Suppose ⟨⟨o, the carrier of S⟩⟩-tree(p) ∈ (the sorts of Free(X))(the result sort of o). Let i be a natural number. If i ∈ dom Arity(o), then p(i) ∈ (the sorts of Free(X))(Arity(o)(i)).

Let S be a non void non empty many sorted signature, let X be a non-empty many sorted set indexed by the carrier of S, and let v be a vertex of S. One can check that every element of the sorts of Free(X)(v) is finite non empty function-like and relation-like.

Let S be a non void non empty many sorted signature, let X be a non-empty many sorted set indexed by the carrier of S, and let v be a vertex of S. Note that there exists an element of the sorts of Free(X)(v) which is function-like and relation-like.

Let S be a non void non empty many sorted signature, let X be a nonempty many sorted set indexed by the carrier of S, and let v be a vertex of S. Observe that every function-like relation-like element of the sorts of Free(X)(v) is decorated tree-like.

Let I_{1} be a non void non empty many sorted signature, let X be a non-empty many sorted set indexed by the carrier of I_{1}, and let v be a vertex of I_{1}. Observe that there exists an element of the sorts of Free(X)(v) which is finite.

We now state the proposition

(15) Let S be a non void non empty many sorted signature, and let X be a non-empty many sorted set indexed by the carrier of S, and let v be a vertex of S, and let o be an operation symbol of S, and let e be an element of (the sorts of Free(X))(v). Suppose v ∈ InnerVertices(S) and e(ε) = ⟨⟨o, the carrier of S⟩⟩. Then there exists a decorated tree yielding finite sequence p such that len p = len Arity(o) and for every natural number i such that i ∈ dom p holds p(i) ∈ (the sorts of Free(X))(Arity(o)(i)).

Let S be a non void non empty many sorted signature, let X be a non-empty many sorted set indexed by the carrier of S, let v be a sort symbol of S, and let e be an element of (the sorts of Free(X))(v). The functor depth(e) yielding a natural number is defined by:

(Def.14) There exists a finite decorated tree d_{1} and there exists a finite tree t such that d_{1} = e and t = dom d_{1} and depth(e) = height t.

References

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

[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. A classical first order language. Formalized Mathematics, 1(4):669– 676, 1990.

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

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

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

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

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

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

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

[18] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Introduction to circuits, II. Formalized Mathematics, 5(2):273–278, 1996.

[19] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Introduction to circuits, I. Formalized Mathematics, 5(2):227–232, 1996.

[20] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, I. Formalized Mathematics, 5(2):167–172, 1996.

[21] Beata Perkowska. Free many sorted universal algebra. Formalized Mathematics, 5(1):67– 74, 1996.

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

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

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

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

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

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

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

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

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

On the Group of Automorphisms of Universal Algebra & Many Sorted Algebra

Artur Korniłowicz Warsaw University Białystok

Summary. The aim of the article is to check the compatibility of the automorphisms of universal algebras introduced in [8] and the corresponding concept for many sorted algebras introduced in [9].

MML Identifier: AUTALG 1.

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

1. On the Group of Automorphisms of Universal Algebra

In this paper U_{1} denotes a universal algebra and f, g denote functions from U_{1} into U_{1}.

One can prove the following proposition

(1) id_{(the carrier of U_{1})} is an isomorphism of U_{1} and U_{1}.

Let us consider U_{1}. The functor UAAut(U_{1}) yields a non empty set of functions from the carrier of U_{1} to the carrier of U_{1} and is defined by the conditions (Def.1). (Def.1) (i) Every element of UAAut(U_{1}) is a function from U_{1} into U_{1}, and

(ii) for every function h from U_{1} into U_{1} holds h ∈ UAAut(U_{1}) iff h is an

isomorphism of U_{1} and U_{1}. Next we state several propositions:

(2) UAAut(U_{1}) ⊆ (the carrier of U_{1})^{^{the} ^{carrier} ^{of} U_{1}}.

(3) For every f holds f ∈ UAAut(U_{1}) iff f is an isomorphism of U_{1} and U_{1}.

(4) id_{(the carrier of U_{1})} ∈ UAAut(U_{1}).

(5) For all f, g such that f is an element of UAAut(U_{1}) and g = f^{−1} holds g is an isomorphism of U_{1} and U_{1}.

(6) For every element f of UAAut(U_{1}) holds f^{−1} ∈ UAAut(U_{1}).

(7) For all elements f_{1}, f_{2} of UAAut(U_{1}) holds f_{1} · f_{2} ∈ UAAut(U_{1}). Let us consider U_{1}. The functor UAAutComp(U_{1}) yields a binary operation

on UAAut(U_{1}) and is defined as follows: (Def.2) For all elements x, y of UAAut(U_{1}) holds (UAAutComp(U_{1}))(x, y) =

y · x. Let us consider U_{1}. The functor UAAutGroup(U_{1}) yielding a group is defined

by: (Def.3) UAAutGroup(U_{1}) = ⟨UAAut(U_{1}), UAAutComp(U_{1})⟩.

Let us consider U_{1}. Note that UAAutGroup(U_{1}) is strict. The following propositions are true:

(8) Let x, y be elements of the carrier of UAAutGroup(U_{1}) and let f, g be elements of UAAut(U_{1}). If x = f and y = g, then x · y = g · f.

(9) id_{(the carrier of U_{1})} = 1_{UAAutGroup(U_{1})}.

(10) For every element f of UAAut(U_{1}) and for every element g of the carrier of UAAutGroup(U_{1}) such that f = g holds f^{−1} = g^{−1}.

2. Some Properties of Many Sorted Functions

In the sequel I is a set and A, B, C are many sorted sets indexed by I. Let us consider I, A, B. We say that A is transformable to B if and only if:

(Def.4) For arbitrary i such that i ∈ I holds if B(i) = ∅, then A(i) = ∅. Let us observe that the predicate introduced above is reflexive.

Next we state several propositions:

(11) If A is transformable to B and B is transformable to C, then A is transformable to C.

(12) For arbitrary x and for every many sorted set A indexed by {x} holds A = {x} ⟼ A(x).

(13) For all function yielding functions F, G, H holds (H ∘ G) ∘ F = H ∘ (G ∘ F).

(14) Let A, B be non-empty many sorted sets indexed by I and let F be a many sorted function from A into B. If F is “1-1” and “onto”, then F^{−1} is “1-1” and “onto”.

(15) Let A, B be non-empty many sorted sets indexed by I and let F be a many sorted function from A into B. If F is “1-1” and “onto”, then (F^{−1})^{−1} = F.

(16) For all function yielding functions F, G such that F is “1-1” and G is “1-1” holds G ∘ F is “1-1”.

(17) Let B, C be non-empty many sorted sets indexed by 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. If F is “onto” and G is “onto”, then G ∘ F is “onto”.

(18) Let A, B, C be non-empty many sorted sets indexed by 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. Suppose F is “1-1” and “onto” and G is “1-1” and “onto”. Then (G ∘ F)^{−1} = F^{−1} ∘ G^{−1}.

(19) Let A, B be non-empty many sorted sets indexed by I, and let F be a many sorted function from A into B, and let G be a many sorted function from B into A. If F is “1-1” and “onto” and G ∘ F = id_{A}, then G = F^{−1}.

3. On the Group of Automorphisms of Many Sorted Algebra

In the sequel S will be a non void non empty many sorted signature and U_{2}, U_{3} will be non-empty algebras over S.

Let us consider I, A, B. The functor MSFuncs(A, B) yields a many sorted set indexed by I and is defined as follows: (Def.5) For arbitrary i such that i ∈ I holds (MSFuncs(A, B))(i) = B(i)^{A(i)}.

One can prove the following propositions:

(20) Let h be a many sorted set indexed by I. If h = MSFuncs(A, B), then for arbitrary i such that i ∈ I holds h(i) = B(i)^{A(i)}.

(21) Let A, B be many sorted sets indexed by I. Suppose A is transformable to B. Let x be arbitrary. If x ∈ ∏ MSFuncs(A, B), then x is a many sorted function from A into B.

(22) Let A, B be many sorted sets indexed by I. Suppose A is transformable to B. Let g be a many sorted function from A into B. Then g ∈ ∏ MSFuncs(A, B).

(23) For all many sorted sets A, B indexed by I such that A is transformable

to B holds MSFuncs(A, B) is non-empty. Let us consider I, A, B. Let us assume that A is transformable to B. A non

empty set is said to be a set of manysorted functions from A into B if: (Def.6) For arbitrary x such that x ∈ it holds x is a many sorted function from

A into B. Let us consider I, A. Note that MSFuncs(A, A) is non-empty. Let us consider S, U_{2}, U_{3}. A set of manysorted functions from U_{2} into U_{3} is

a set of manysorted functions from the sorts of U_{2} into the sorts of U_{3}.

Let I be a set and let D be a many sorted set indexed by I. Note that there exists a set of manysorted functions from D into D which is non empty.

We now state four propositions:

(24) id_{A} is “onto”.

(25) id_{A} is “1-1”.

(26) id_{(the sorts of U_{2})} is an isomorphism of U_{2} and U_{2}.

(27) id_{(the sorts of U_{2})} ∈ ∏ MSFuncs(the sorts of U_{2}, the sorts of U_{2}). Let us consider S, U_{2}. The functor MSAAut(U_{2}) yielding a set of manysorted

functions from the sorts of U_{2} into the sorts of U_{2} is defined by the conditions (Def.7). (Def.7) (i) Every element of MSAAut(U_{2}) is a many sorted function from U_{2}

into U_{2}, and (ii) for every many sorted function h from U_{2} into U_{2} holds h ∈

MSAAut(U_{2}) iff h is an isomorphism of U_{2} and U_{2}. One can prove the following propositions:

(28) For every many sorted function F from U_{2} into U_{2} holds F ∈ MSAAut(U_{2}) iff F is an isomorphism of U_{2} and U_{2}.

(29) For every element f of MSAAut(U_{2}) holds f ∈ ∏ MSFuncs(the sorts of U_{2}, the sorts of U_{2}).

(30) MSAAut(U_{2}) ⊆ ∏ MSFuncs(the sorts of U_{2}, the sorts of U_{2}).

(31) id_{(the sorts of U_{2})} ∈ MSAAut(U_{2}).

(32) For every element f of MSAAut(U_{2}) holds f^{−1} ∈ MSAAut(U_{2}).

(33) For all elements f_{1}, f_{2} of MSAAut(U_{2}) holds f_{1} ∘ f_{2} ∈ MSAAut(U_{2}).

(34) For every many sorted function F from MSAlg(U_{1}) into MSAlg(U_{1}) and for every element f of UAAut(U_{1}) such that F = {0} ⟼ f holds F ∈ MSAAut(MSAlg(U_{1})).

Let us consider S, U_{2}. The functor MSAAutComp(U_{2}) yields a binary operation on MSAAut(U_{2}) and is defined as follows: (Def.8) For all elements x, y of MSAAut(U_{2}) holds (MSAAutComp(U_{2}))(x,

y) = y ∘ x. Let us consider S, U_{2}. The functor MSAAutGroup(U_{2}) yields a group and

is defined by: (Def.9) MSAAutGroup(U_{2}) = ⟨MSAAut(U_{2}), MSAAutComp(U_{2})⟩.

Let us consider S, U_{2}. Observe that MSAAutGroup(U_{2}) is strict.

The following three propositions are true:

(35) Let x, y be elements of the carrier of MSAAutGroup(U_{2}) and let f, g be elements of MSAAut(U_{2}). If x = f and y = g, then x · y = g ∘ f.

(36) id_{(the sorts of U_{2})} = 1_{MSAAutGroup(U_{2})}.

(37) For every element f of MSAAut(U_{2}) and for every element g of MSAAutGroup(U_{2}) such that f = g holds f^{−1} = g^{−1}.

on the group of automorphisms of universal … 225

4. On the Relationship of Automorphisms of 1-sorted and Many Sorted Algebras

Next we state several propositions:

(38) Let U_{4}, U_{5} be universal algebras. Suppose U_{4} and U_{5} are similar. Let F be a many sorted function from MSAlg(U_{4}) into (MSAlg(U_{5}) over MSSign(U_{4})). Then F (0) is a function from U_{4} into U_{5}.

(39) For every element f of UAAut(U_{1}) holds {0} ⟼ f is a many sorted function from MSAlg(U_{1}) into MSAlg(U_{1}).

(40) Let h be a function. Suppose dom h = UAAut(U_{1}) and for arbitrary x such that x ∈ UAAut(U_{1}) holds h(x) = {0} ⟼ x. Then h is a homomorphism from UAAutGroup(U_{1}) to MSAAutGroup(MSAlg(U_{1})).

(41) Let h be a homomorphism from UAAutGroup(U_{1}) to MSAAutGroup(MSAlg(U_{1})). Suppose that for arbitrary x such that x ∈ UAAut(U_{1}) holds h(x) = {0} ⟼ x. Then h is an isomorphism.

(42) UAAutGroup(U_{1}) and MSAAutGroup(MSAlg(U_{1})) are isomorphic.

References

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

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

[3] Ewa Burakowska. Subalgebras of the universal algebra. Lattices of subalgebras. Formalized Mathematics, 4(1):23–27, 1993.

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

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

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

[7] Adam Grabowski. The correspondence between homomorphisms of universal algebra & many sorted algebra. Formalized Mathematics, 5(2):211–214, 1996.

[8] Małgorzata Korolkiewicz. Homomorphisms of algebras. Quotient universal algebra. Formalized Mathematics, 4(1):109–113, 1993.

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

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

[11] Eugeniusz Kusak, Wojciech Leończuk, and Michał Muzalewski. Abelian groups, fields and vector spaces. Formalized Mathematics, 1(2):335–342, 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] Wojciech A. Trybulec. Groups. Formalized Mathematics, 1(5):821–827, 1990.

226 artur korniłowicz

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

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

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

Introduction to Circuits, I ^{1}

Yatsuka Nakamura Shinshu University, Nagano

Piotr Rudnicki University of Alberta, Edmonton

Andrzej Trybulec Warsaw University, Białystok

Pauline N. Kawamoto Shinshu University, Nagano

Summary. This article is the third in a series of four articles (preceded by [19,20] and continued in [18]) about modelling circuits by many sorted algebras.

A circuit is defined as a locally-finite algebra over a circuit-like many sorted signature. For circuits we define notions of input function and of circuit state which are later used (see [18]) to define circuit computations. For circuits over monotonic signatures we introduce notions of vertex size and vertex depth that characterize certain graph properties of circuit’s signature in terms of elements of its free envelope algebra. The depth of a finite circuit is defined as the maximal depth over its vertices.

MML Identifier: CIRCUIT1.

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

1. Circuit State

Let S be a non void circuit-like non empty many sorted signature. A circuit of S is a locally-finite algebra over S.

In the sequel I_{1} will denote a circuit-like non void non empty many sorted signature.

Let us consider I_{1} and let S_{1} be a non-empty circuit of I_{1}. The functor Set-Constants(S_{1}) yielding a many sorted set indexed by SortsWithConstants(I_{1}) is defined as follows:

1Partial funding for this work has been provided by: Shinshu Endowment Fund for Information Science, NSERC Grant OGP9207, JSTF award 651-93-S009.

(Def.1) For every vertex x of I_{1} such that x ∈ dom Set-Constants(S_{1}) holds

(Set-Constants(S_{1}))(x) ∈ Constants(S_{1}, x). The following proposition is true

(1) Given I_{1}, and let S_{1} be a non-empty circuit of I_{1}, and let v be a vertex of I_{1}, and let e be an element of (the sorts of S_{1})(v). If v ∈ SortsWithConstants(I_{1}) and e ∈ Constants(S_{1}, v), then (Set-Constants(S_{1}))(v) = e.

Let us consider I_{1} and let C_{1} be a circuit of I_{1}. An input function of C_{1} is a many sorted function from InputVertices(I_{1}) ⟼ into (the sorts of C_{1}) InputVertices(I_{1}).

The following proposition is true

(2) Given I_{1}, and let S_{1} be a non-empty circuit of I_{1}, and let I_{2} be an input function of S_{1}, and let n be a natural number. If I_{1} has input vertices, then (commute(I_{2}))(n) is an input assignment of S_{1}.

Let us consider I_{1}. Let us assume that I_{1} has input vertices. Let S_{1} be a non-empty circuit of I_{1}, let I_{2} be an input function of S_{1}, and let n be a natural number. The functor n-th-input(I_{2}) yields an input assignment of S_{1} and is defined by: (Def.2) n-th-input(I_{2}) = (commute(I_{2}))(n).

The following proposition is true

(3) Given I_{1}, and let S_{1} be a non-empty circuit of I_{1}, and let I_{2} be an input function of S_{1}, and let n be a natural number. If I_{1} has input vertices, then n-th-input(I_{2}) = (commute(I_{2}))(n).

Let us consider I_{1} and let S_{1} be a circuit of I_{1}. A state of S_{1} is an element of ∏ (the sorts of S_{1}).

The following propositions are true:

(4) For every I_{1} and for every non-empty circuit S_{1} of I_{1} and for every state s of S_{1} holds dom s = the carrier of I_{1}.

(5) Given I_{1}, and let S_{1} be a non-empty circuit of I_{1}, and let s be a state of S_{1}, and let v be a vertex of I_{1}. Then s(v) ∈ (the sorts of S_{1})(v).

Let us consider I_{1}, let S_{1} be a non-empty circuit of I_{1}, let s be a state of S_{1}, and let o be an operation symbol of I_{1}. The functor o depends-on-in s yields an element of Args(o, S_{1}) and is defined as follows: (Def.3) o depends-on-in s = s · Arity(o).

In the sequel I_{1} will be a monotonic circuit-like non void non empty many sorted signature.

The following proposition is true

(6) Given I_{1}, and let S_{1} be a locally-finite non-empty algebra over I_{1}, and let v, w be vertices of I_{1}, and let e_{1} be an element of (the sorts of FreeEnvelope(S_{1}))(v), and let q_{1} be a decorated tree yielding finite sequence. Suppose v ∈ InnerVertices(I_{1}) and e_{1} = ⟨⟨the action at v, the carrier of I_{1}⟩⟩-tree(q_{1}). Let k be a natural number. If k ∈ dom q_{1} and q_{1}(k) ∈ (the sorts of FreeEnvelope(S_{1}))(w), then w = π_{k} Arity(the action at v).

Let us consider I_{1}, let S_{1} be a locally-finite non-empty algebra over I_{1}, and let v be a vertex of I_{1}. Note that every element of the sorts of FreeEnvelope(S_{1})(v) is finite non empty function-like and relation-like.

Let us consider I_{1}, let S_{1} be a locally-finite non-empty algebra over I_{1}, and let v be a vertex of I_{1}. Observe that every element of the sorts of FreeEnvelope(S_{1})(v) is decorated tree-like.

Next we state four propositions:

(7) Given I_{1}, and let S_{1} be a locally-finite non-empty algebra over I_{1}, and let v, w be vertices of I_{1}, and let e_{1} be an element of (the sorts of FreeEnvelope(S_{1}))(v), and let e_{2} be an element of (the sorts of FreeEnvelope(S_{1}))(w), and let q_{1} be a decorated tree yielding finite sequence, and let k_{1} be a natural number. Suppose v ∈ InnerVertices(I_{1}) \ SortsWithConstants(I_{1}) and e_{1} = ⟨⟨the action at v, the carrier of I_{1}⟩⟩-tree(q_{1}) and k_{1} + 1 ∈ dom q_{1} and q_{1}(k_{1} + 1) ∈ (the sorts of FreeEnvelope(S_{1}))(w). Then e_{1}(⟨k_{1}⟩/e_{2}) ∈ (the sorts of FreeEnvelope(S_{1}))(v).

(8) Given I_{1}, and let A be a locally-finite non-empty algebra over I_{1}, and let v be an element of the carrier of I_{1}, and let e be an element of (the sorts of FreeEnvelope(A))(v). Suppose 1 < card e. Then there exists an operation symbol o of I_{1} such that e(ε) = ⟨⟨o, the carrier of I_{1}⟩⟩.

(9) Let I_{1} be a non void circuit-like non empty many sorted signature, and let S_{1} be a non-empty circuit of I_{1}, and let s be a state of S_{1}, and let o be an operation symbol of I_{1}. Then (Den(o, S_{1}))(o depends-on-in s) ∈ (the sorts of S_{1})(the result sort of o).

(10) Given I_{1}, and let A be a non-empty circuit of I_{1}, and let v be a vertex of I_{1}, and let e be an element of (the sorts of FreeEnvelope(A))(v). Suppose e(ε) = ⟨⟨the action at v, the carrier of I_{1}⟩⟩. Then there exists a decorated tree yielding finite sequence p such that e = ⟨⟨the action at v, the carrier of I_{1}⟩⟩-tree(p).

2. Vertex Size

Let I_{1} be a monotonic non void non empty many sorted signature, let A be a locally-finite non-empty algebra over I_{1}, and let v be a sort symbol of I_{1}. One can verify that (the sorts of FreeEnvelope(A))(v) is finite.

Let us consider I_{1}, let A be a locally-finite non-empty algebra over I_{1}, and let v be a sort symbol of I_{1}. The functor size(v, A) yielding a natural number is defined as follows: (Def.4) There exists a finite non empty subset s of such that s =

{card t : t ranges over elements of (the sorts of FreeEnvelope(A))(v)} and size(v, A) = max s.

Next we state four propositions:

(11) Given I_{1}, and let A be a locally-finite non-empty algebra over I_{1}, and let v be an element of the carrier of I_{1}. Then size(v, A) = 1 if and only if v ∈ InputVertices(I_{1}) ∪ SortsWithConstants(I_{1}).

(12) Given I_{1}, and let S_{1} be a locally-finite non-empty algebra over I_{1}, and let v, w be vertices of I_{1}, and let e_{1} be an element of (the sorts of FreeEnvelope(S_{1}))(v), and let e_{2} be an element of (the sorts of FreeEnvelope(S_{1}))(w), and let q_{1} be a decorated tree yielding finite sequence. Suppose v ∈ InnerVertices(I_{1}) \ SortsWithConstants(I_{1}) and card e_{1} = size(v, S_{1}) and e_{1} = ⟨⟨the action at v, the carrier of I_{1}⟩⟩-tree(q_{1}) and e_{2} ∈ rng q_{1}. Then card e_{2} = size(w, S_{1}).

(13) Given I_{1}, and let A be a locally-finite non-empty algebra over I_{1}, and let v be a vertex of I_{1}, and let e be an element of (the sorts of FreeEnvelope(A))(v). Suppose v ∈ InnerVertices(I_{1}) \ SortsWithConstants(I_{1}) and card e = size(v, A). Then there exists a decorated tree yielding finite sequence q such that e = ⟨⟨the action at v, the carrier of I_{1}⟩⟩-tree(q).

(14) Given I_{1}, and let A be a locally-finite non-empty algebra over I_{1}, and let v be a vertex of I_{1}, and let e be an element of (the sorts of FreeEnvelope(A))(v). Suppose v ∈ InnerVertices(I_{1}) \ SortsWithConstants(I_{1}) and card e = size(v, A). Then there exists an operation symbol o of I_{1} such that e(ε) = ⟨⟨o, the carrier of I_{1}⟩⟩.

Let S be a non void non empty many sorted signature, let A be a locallyfinite non-empty algebra over S, let v be a sort symbol of S, and let e be an element of (the sorts of FreeEnvelope(A))(v). The functor depth(e) yielding a natural number is defined as follows: (Def.5) There exists an element e′ of (the sorts of Free(the sorts of A))(v) such

that e = e′ and depth(e) = depth(e′). The following propositions are true:

(15) Given I_{1}, and let A be a locally-finite non-empty algebra over I_{1}, and let v, w be elements of the carrier of I_{1}. If v ∈ InnerVertices(I_{1}) and w ∈ rng Arity(the action at v), then size(w, A) < size(v, A).

(16) For every I_{1} and for every locally-finite non-empty algebra A over I_{1} and for every sort symbol v of I_{1} holds size(v, A) > 0.

(17) Given I_{1}, and let A be a non-empty circuit of I_{1}, and let v be a vertex of I_{1}, and let e be an element of (the sorts of FreeEnvelope(A))(v), and let p be a decorated tree yielding finite sequence. Suppose that

(i) v ∈ InnerVertices(I_{1}), (ii) e = ⟨⟨the action at v, the carrier of I_{1}⟩⟩-tree(p), and (iii) for every natural number k such that k ∈ dom p there exists an element

e_{3} of (the sorts of FreeEnvelope(A))(π_{k} Arity(the action at v)) such that e_{3} = p(k) and card e_{3} = size(π_{k} Arity(the action at v), A). Then card e = size(v, A).

3. Vertex and Circuit Depth

Let S be a monotonic non void non empty many sorted signature, let A be a locally-finite non-empty algebra over S, and let v be a sort symbol of S. The functor depth(v, A) yields a natural number and is defined by: (Def.6) There exists a finite non empty subset s of such that s =

{depth(t) : t ranges over elements of (the sorts of FreeEnvelope(A))(v)} and depth(v, A) = max s.

Let I_{1} be a finite monotonic circuit-like non void non empty many sorted signature and let A be a non-empty circuit of I_{1}. The functor depth(A) yielding a natural number is defined by the condition (Def.7). (Def.7) There exists a finite non empty subset D_{1} of such that D_{1} =

{depth(v, A) : v ranges over elements of the carrier of I_{1}, v ∈ the carrier of I_{1}} and depth(A) = max D_{1}.

The following three propositions are true:

(18) Let I_{1} be a finite monotonic circuit-like non void non empty many sorted signature, and let A be a non-empty circuit of I_{1}, and let v be a vertex of I_{1}. Then depth(v, A) ≤ depth(A).

(19) Given I_{1}, and let A be a non-empty circuit of I_{1}, and let v be a vertex of I_{1}. Then depth(v, A) = 0 if and only if v ∈ InputVertices(I_{1}) or v ∈ SortsWithConstants(I_{1}).

(20) Given I_{1}, and let A be a locally-finite non-empty algebra over I_{1}, and let v, v_{1} be sort symbols of I_{1}. If v ∈ InnerVertices(I_{1}) and v_{1} ∈ rng Arity(the action at v), then depth(v_{1}, A) < depth(v, A).

References

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

[2] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[18] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Introduction to circuits, II. Formalized Mathematics, 5(2):273–278, 1996.

[19] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, I. Formalized Mathematics, 5(2):167–172, 1996.

[20] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, II. Formalized Mathematics, 5(2):215–220, 1996.

[21] Beata Perkowska. Free many sorted universal algebra. Formalized Mathematics, 5(1):67– 74, 1996.

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

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

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

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

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

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

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

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

The Cantor Set ^{1}

Alexander Yu. Shibakov The Ural University Ekaterinburg Andrzej Trybulec Warsaw University Białystok

Summary. The aim of the paper is to define some basic notions of the theory of topological spaces like basis and prebasis, and to prove their simple properties. The definition of the Cantor set is given in terms of countable product of {0, 1} and a collection of its subsets to serve as a prebasis.

MML Identifier: CANTOR 1.

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

Let Y be a set and let x be a non empty set. Observe that Y ⟼ x is non-empty.

Let X be arbitrary and let A be a family of subsets of X. The functor UniCl(A) yields a family of subsets of X and is defined by: (Def.1) For every subset x of X holds x ∈ UniCl(A) iff there exists a family Y

of subsets of X such that Y ⊆ A and x = ⋃ Y. Let X be a topological structure. A family of subsets of the carrier of X is

called a basis of X if: (Def.2) It ⊆ the topology of X and the topology of X ⊆ UniCl(it).

We now state three propositions:

(1) For arbitrary X and for every family A of subsets of X holds A ⊆ UniCl(A).

(2) For every topological structure S holds the topology of S is a basis of S.

(3) For every topological structure S holds the topology of S is open.

Let M be arbitrary and let B be a family of subsets of M. The functor Intersect(B) yielding a subset of M is defined by:

1The present work had been completed while the first author’s visit to Białystok in winter 1994-95.

(Def.3) (i) Intersect(B) = ⋂ B if B ≠ ∅, (ii) Intersect(B) = M, otherwise. Let X be arbitrary and let A be a family of subsets of X. The functor

FinMeetCl(A) yielding a family of subsets of X is defined by the condition (Def.4). (Def.4) Let x be a subset of X. Then x ∈ FinMeetCl(A) if and only if there

exists a family Y of subsets of X such that Y ⊆ A and Y is finite and x = Intersect(Y).

One can prove the following proposition

(4) For arbitrary X and for every family A of subsets of X holds A ⊆ FinMeetCl(A).

Let T be a topological space. Note that the topology of T is non empty. The following propositions are true:

(5) For every topological space T holds the topology of T = FinMeetCl(the topology of T).

(6) For every topological space T holds the topology of T = UniCl(the topology of T).

(7) For every topological space T holds the topology of T = UniCl(FinMeetCl(the topology of T)).

(8) For arbitrary X and for every family A of subsets of X holds X ∈ FinMeetCl(A).

(9) For arbitrary X and for all families A, B of subsets of X such that A ⊆ B holds UniCl(A) ⊆ UniCl(B).

(10) Let X be arbitrary, and let R be a family of subsets of X, and let x be arbitrary. Suppose x ∈ X. Then x ∈ Intersect(R) if and only if for arbitrary Y such that Y ∈ R holds x ∈ Y.

(11) For arbitrary X and for all families H, J of subsets of X such that H ⊆ J holds Intersect(J) ⊆ Intersect(H).

(12) Let X be arbitrary, and let R be a non empty family of subsets of 2^{X}, and let F be a family of subsets of X. If F = {Intersect(x) : x ranges over elements of R}, then Intersect(F) = Intersect(⋃ R).

Let X, Y be arbitrary, let A be a family of subsets of X, let F be a function from Y into 2^{A}, and let x be arbitrary. Then F (x) is a family of subsets of X.

We now state four propositions:

(13) For arbitrary X and for every family A of subsets of X holds FinMeetCl(A) = FinMeetCl(FinMeetCl(A)).

(14) Let X be arbitrary, and let A be a family of subsets of X, and let a, b be arbitrary. If a ∈ FinMeetCl(A) and b ∈ FinMeetCl(A), then a ∩ b ∈ FinMeetCl(A).

(15) Let X be arbitrary, and let A be a family of subsets of X, and let a, b be arbitrary. If a ⊆ FinMeetCl(A) and b ⊆ FinMeetCl(A), then a b ⊆ FinMeetCl(A).

the cantor set 235

(16) For arbitrary X and for all families A, B of subsets of X such that

A ⊆ B holds FinMeetCl(A) ⊆ FinMeetCl(B). Let X be arbitrary and let A be a family of subsets of X. Observe that

FinMeetCl(A) is non empty.

One can prove the following proposition

(17) For every non empty set X and for every family A of subsets of X holds

⟨X, UniCl(FinMeetCl(A))⟩ is topological space-like. Let X be a topological structure. A family of subsets of the carrier of X is

said to be a prebasis of X if: (Def.5) It ⊆ the topology of X and there exists a basis F of X such that

F ⊆ FinMeetCl(it). We now state three propositions:

(18) For every non empty set X holds every family of subsets of X is a basis of ⟨X, UniCl(Y)⟩.

(19) Let T_{1}, T_{2} be strict topological spaces and let P be a prebasis of T_{1}. Suppose the carrier of T_{1} = the carrier of T_{2} and P is a prebasis of T_{2}. Then T_{1} = T_{2}.

(20) For every non empty set X holds every family of subsets of X is a

prebasis of ⟨X, UniCl(FinMeetCl(Y))⟩. The strict topological space the Cantor set is defined by the conditions

(Def.6). (Def.6) (i) The carrier of the Cantor set = ∏( ⟼ {0, 1}), and

(ii) there exists a prebasis P of the Cantor set such that for every subset X of ∏( ⟼ {0, 1}) holds X ∈ P iff there exist natural numbers N, n such that for every element F of ∏( ⟼ {0, 1}) holds F ∈ X iff F (N) = n.

References

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

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

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

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

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

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

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

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

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

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

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

[12] Andrzej Trybulec. Semilattice operations on finite subsets. Formalized Mathematics, 1(2):369–376, 1990.

236 alexander yu. shibakov and andrzej trybulec

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

[14] Andrzej Trybulec and Agata Darmochwał. Boolean domains. Formalized Mathematics, 1(1):187–190, 1990.

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

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

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

Logical Equivalence of Formulae ^{1}

Oleg Okhotnikov Ural University Ekaterinburg

MML Identifier: CQC THE3.

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

For simplicity we adopt the following rules: p, q, r, s, p_{1}, q_{1} are elements of CQC-WFF, X, Y, Z, X_{1}, X_{2} are subsets of CQC-WFF, h is a formula, and x, y are bound variables.

One can prove the following four propositions:

(1) If p ∈ X, then X ⊢ p.

(2) If X ⊆ Cn Y, then Cn X ⊆ Cn Y.

(3) If X ⊢ p and {p} ⊢ q, then X ⊢ q.

(4) If X ⊢ p and X ⊆ Y, then Y ⊢ p. Let p, q be elements of CQC-WFF. The predicate p ⊢ q is defined by:

(Def.1) {p} ⊢ q.

We now state two propositions:

(5) p ⊢ p.

(6) If p ⊢ q and q ⊢ r, then p ⊢ r. Let X, Y be subsets of CQC-WFF. The predicate X ⊢ Y is defined as

follows: (Def.2) For every element p of CQC-WFF such that p ∈ Y holds X ⊢ p.

We now state several propositions:

(7) X ⊢ Y iff Y ⊆ Cn X.

(8) X ⊢ X.

(9) If X ⊢ Y and Y ⊢ Z, then X ⊢ Z.

(10) X ⊢ {p} iff X ⊢ p.

1This work has been done while the author visited Warsaw University in Białystok, in winter 1994–1995.

(11) {p} ⊢ {q} iff p ⊢ q.

(12) If X ⊆ Y, then Y ⊢ X.

(13) X ⊢ Taut .

(14) ∅_{CQC} ⊢ Taut .

Let X be a subset of CQC-WFF. The predicate ⊢ X is defined by: (Def.3) For every element p of CQC-WFF such that p ∈ X holds ⊢ p.

We now state three propositions:

(15) ⊢ X iff ∅_{CQC} ⊢ X.

(16) ⊢ Taut .

(17) ⊢ X iff X ⊆ Taut .

Let us consider X, Y. The predicate X ⊢⊣ Y is defined by: (Def.4) For every p holds X ⊢ p iff Y ⊢ p. Let us observe that this predicate is reflexive and symmetric.

The following propositions are true:

(18) X ⊢⊣ Y iff X ⊢ Y and Y ⊢ X.

(19) If X ⊢⊣ Y and Y ⊢⊣ Z, then X ⊢⊣ Z.

(20) X ⊢⊣ Y iff Cn X = Cn Y.

(21) Cn X ∪ Cn Y ⊆ Cn(X ∪ Y).

(22) Cn(X ∪ Y) = Cn(Cn X ∪ Cn Y).

(23) X ⊢⊣ Cn X.

(24) X ∪ Y ⊢⊣ Cn X ∪ Cn Y.

(25) If X_{1} ⊢⊣ X_{2}, then X_{1} ∪ Y ⊢⊣ X_{2} ∪ Y.

(26) If X_{1} ⊢⊣ X_{2} and X_{1} ∪ Y ⊢ Z, then X_{2} ∪ Y ⊢ Z.

(27) If X_{1} ⊢⊣ X_{2} and Y ⊢ X_{1}, then Y ⊢ X_{2}.

Let p, q be elements of CQC-WFF. The predicate p ⊢⊣ q is defined by: (Def.5) p ⊢ q and q ⊢ p. Let us observe that the predicate defined above is reflexive and symmetric.

We now state a number of propositions:

(28) If p ⊢⊣ q and q ⊢⊣ r, then p ⊢⊣ r.

(29) p ⊢⊣ q iff {p} ⊢⊣ {q}.

(30) If p ⊢⊣ q and X ⊢ p, then X ⊢ q.

(31) {p, q} ⊢⊣ {p ∧ q}.

(32) p ∧ q ⊢⊣ q ∧ p.

(33) X ⊢ p ∧ q iff X ⊢ p and X ⊢ q.

(34) If p ⊢⊣ q and r ⊢⊣ s, then p ∧ r ⊢⊣ q ∧ s.

(35) X ⊢ ∀_{x}p iff X ⊢ p.

(36) ∀_{x}p ⊢⊣ p.

(37) If p ⊢⊣ q, then ∀_{x}p ⊢⊣ ∀_{y}q.

Let p, q be elements of CQC-WFF. We say that p is an universal closure of q if and only if the conditions (Def.6) are satisfied. (Def.6) (i) p is closed, and

(ii) there exists a natural number n such that 1 ≤ n and there exists a finite sequence L such that len L = n and L(1) = q and L(n) = p and for every natural number k such that 1 ≤ k and k < n there exists a bound variable x and there exists an element r of CQC-WFF such that r = L(k) and L(k + 1) = ∀_{x}r.

One can prove the following propositions:

(38) If p is an universal closure of q, then p ⊢⊣ q.

(39) If ⊢ p ⇒ q, then p ⊢ q.

(40) If X ⊢ p ⇒ q, then X ∪ {p} ⊢ q.

(41) If p is closed and p ⊢ q, then ⊢ p ⇒ q.

(42) If p_{1} is an universal closure of p, then X ∪ {p} ⊢ q iff X ⊢ p_{1} ⇒ q.

(43) If p is closed and p ⊢ q, then ¬q ⊢ ¬p.

(44) If p is closed and X ∪ {p} ⊢ q, then X ∪ {¬q} ⊢ ¬p.

(45) If p is closed and ¬p ⊢ ¬q, then q ⊢ p.

(46) If p is closed and X ∪ {¬p} ⊢ ¬q, then X ∪ {q} ⊢ p.

(47) If p is closed and q is closed, then p ⊢ q iff ¬q ⊢ ¬p.

(48) If p_{1} is an universal closure of p and q_{1} is an universal closure of q, then p ⊢ q iff ¬q_{1} ⊢ ¬p_{1}.

(49) If p_{1} is an universal closure of p and q_{1} is an universal closure of q, then

p ⊢⊣ q iff ¬p_{1} ⊢⊣ ¬q_{1}. Let p, q be elements of CQC-WFF. The predicate p ≡ q is defined by:

(Def.7) ⊢ p ⇔ q. Let us observe that this predicate is reflexive and symmetric.

One can prove the following propositions:

(50) p ≡ q iff ⊢ p ⇒ q and ⊢ q ⇒ p.

(51) If p ≡ q and q ≡ r, then p ≡ r.

(52) If p ≡ q, then p ⊢⊣ q.

(53) p ≡ q iff ¬p ≡ ¬q.

(54) If p ≡ q and r ≡ s, then p ∧ r ≡ q ∧ s.

(55) If p ≡ q and r ≡ s, then p ⇒ r ≡ q ⇒ s.

(56) If p ≡ q and r ≡ s, then p ∨ r ≡ q ∨ s.

(57) If p ≡ q and r ≡ s, then p ⇔ r ≡ q ⇔ s.

(58) If p ≡ q, then ∀_{x}p ≡ ∀_{x}q.

(59) If p ≡ q, then ∃_{x}p ≡ ∃_{x}q.

(60) For all sets X, Y, Z such that Y ∩Z = ∅ holds (X \Y)∪Z = (X ∪Z)\Y.

240 oleg okhotnikov

(61) Let k be a natural number, and let l be a list of variables of the length k, and let a be a free variable, and let x be a bound variable. Then snb(l) ⊆ snb(l[a⟼ . x]).

(62) Let k be a natural number, and let l be a list of variables of the length k, and let a be a free variable, and let x be a bound variable. Then snb(l[a⟼ . x]) ⊆ snb(l) ∪ {x}.

(63) For every h holds snb(h) ⊆ snb(h(x)).

(64) For every h holds snb(h(x)) ⊆ snb(h) ∪ {x}.

(65) If p = h(x) and x ≠ y and y ∉ snb(h), then y ∉ snb(p).

(66) If p = h(x) and q = h(y) and x ∉ snb(h) and y ∉ snb(h), then ∀_{x}p ≡ ∀_{y}q.

Acknowledgments

The author wishes to thank Professor A. Trybulec for many helpful talks during the preparation of this paper.

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. A classical first order language. Formalized Mathematics, 1(4):669– 676, 1990.

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

[5] Czesław Byliński and Grzegorz Bancerek. Variables in formulae of the first order language. Formalized Mathematics, 1(3):459–469, 1990.

[6] Agata Darmochwał. A first–order predicate calculus. Formalized Mathematics, 1(4):689– 695, 1990.

[7] Piotr Rudnicki and Andrzej Trybulec. A first order language. Formalized Mathematics, 1(2):303–311, 1990.

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

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

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

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

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

Some Properties of Restrictions of Finite Sequences

Czesław Byliński Warsaw University Białystok

Summary. The aim of the paper is to define some basic notions of restrictions of finite sequences.

MML Identifier: FINSEQ 5.

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

In this paper i, j, k, k_{1}, k_{2}, n are natural numbers. The following propositions are true:

(1) If i ≤ n, then (n − i) + 1 is a natural number.

(2) If i ∈ Seg n, then (n − i) + 1 ∈ Seg n.

(3) For every function f and for arbitrary x, y such that f ^{−1} {y} = {x} holds x ∈ dom f and y ∈ rng f and f(x) = y.

(4) For every function f holds f is one-to-one iff for arbitrary x such that x ∈ dom f holds f ^{−1} {f(x)} = {x}.

(5) For every function f and for arbitrary y_{1}, y_{2} such that f is one-to-one and y_{1} ∈ rng f and y_{2} ∈ rng f and f ^{−1} {y_{1}} = f ^{−1} {y_{2}} holds y_{1} = y_{2}.

Let x be arbitrary. Note that ⟨x⟩ is non empty. Let us note that every set which is empty is also trivial. Let x be arbitrary. Note that ⟨x⟩ is trivial. Let y be arbitrary. Observe that

⟨x, y⟩ is non trivial.

One can verify that there exists a finite sequence which is one-to-one and non empty.

Next we state three propositions:

(6) For every non empty finite sequence f holds 1 ∈ dom f and len f ∈ dom f.

(7) For every non empty finite sequence f there exists i such that i + 1 = len f.

(8) For arbitrary x and for every finite sequence f holds len(⟨x⟩ ^{}f) = 1 + len f.

The scheme domSeqLambda concerns a natural number A and a unary functor F yielding arbitrary, and states that:

There exists a finite sequence p such that len p = A and for every k such that k ∈ dom p holds p(k) = F(k)

for all values of the parameters.

We now state four propositions:

(9) For every set X such that X ⊆ Seg n and 1 ≤ i and i ≤ j and j ≤ len Sgm X and k_{1} = (Sgm X)(i) and k_{2} = (Sgm X)(j) holds k_{1} ≤ k_{2}.

(10) For every finite sequence f and for arbitrary p, q such that p ∈ rng f and q ∈ rng f and p f = q f holds p = q.

(11) For all finite sequences f, g such that n + 1 ∈ dom f and g = f Seg n holds f Seg(n + 1) = g^{}⟨f(n + 1)⟩.

(12) For every one-to-one finite sequence f such that i ∈ dom f holds f(i)

f = i. We adopt the following rules: D is a non empty set, p, q are elements of D,

and f, g are finite sequences of elements of D.

Let us consider D. One can verify that there exists a finite sequence of elements of D which is one-to-one and non empty.

One can prove the following propositions:

(13) If dom f = dom g and for every i such that i ∈ dom f holds π_{i}f = π_{i}g, then f = g.

(14) If len f = len g and for every k such that 1 ≤ k and k ≤ len f holds π_{k}f = π_{k}g, then f = g.

(15) If len f = 1, then f = ⟨π_{1}f⟩.

(16) π_{1}(⟨p⟩^{}f) = p. (18)^{1} len(f i) ≤ len f.

(19) len(f i) ≤ i.

(20) dom(f i) ⊆ dom f.

(21) rng(f i) ⊆ rng f.

Let us consider D, f. Observe that f 0 is empty.

Next we state three propositions:

(22) If len f ≤ i, then f i = f.

(23) If f is non empty, then f 1 = ⟨π_{1}f⟩.

(24) If i + 1 = len f, then f = (f i)^{}⟨π_{len f}f⟩.

Let us consider i, D and let f be an one-to-one finite sequence of elements of D. One can verify that f i is one-to-one.

1The proposition (17) has been removed.

The following propositions are true:

(25) If i ≤ len f, then (f ^{}g) i = f i.

(26) (f ^{}g) len f = f.

(27) If p ∈ rng f, then (f ← p)^{}⟨p⟩ = f p f.

(28) len(f_{i}) ≤ len f.

(29) If i ∈ dom(f_{n}), then n + i ∈ dom f.

(30) If i ∈ dom(f_{n}), then π_{i}f_{n} = π_{n+i}f.

(31) f_{0} = f.

(32) If f is non empty, then f = ⟨π_{1}f⟩^{}(f_{1}).

(33) If i + 1 = len f, then f_{i} = ⟨π_{len f}f⟩.

(34) If j + 1 = i and i ∈ dom f, then ⟨π_{i}f⟩^{}(f_{i}) = f_{j}.

(35) If len f ≤ i, then f_{i} is empty.

(36) rng(f_{n}) ⊆ rng f.

Let us consider i, D and let f be an one-to-one finite sequence of elements of D. Note that f_{i} is one-to-one.

The following propositions are true:

(37) If f is one-to-one, then rng(f n) misses rng(f_{n}).

(38) If p ∈ rng f, then f → p = f_{p f} .

(39) (f ^{}g)_{len f+i} = g_{i}.

(40) (f ^{}g)_{len f} = g.

(41) If p ∈ rng f, then π_{p f} f = p.

(42) If i ∈ dom f, then (π_{i}f) f ≤ i.

(43) If p ∈ rng(f i), then p (f i) = p f.

(44) If i ∈ dom f and f is one-to-one, then (π_{i}f) f = i.

Let us consider D, f and let p be arbitrary. The functor f −: p yielding a finite sequence of elements of D is defined as follows: (Def.1) f −: p = f p f.

One can prove the following propositions:

(45) If p ∈ rng f, then len(f −: p) = p f.

(46) If p ∈ rng f and i ∈ Seg(p f), then π_{i}(f −: p) = π_{i}f.

(47) If p ∈ rng f, then π_{1}(f −: p) = π_{1}f.

(48) If p ∈ rng f, then π_{p f} (f −: p) = p.

(49) If q ∈ rng f and p ∈ rng f and q f ≤ p f, then q ∈ rng(f −: p).

(50) If p ∈ rng f, then f −: p is non empty.

(51) rng(f −: p) ⊆ rng f.

Let us consider D, p and let f be an one-to-one finite sequence of elements of D. Observe that f −: p is one-to-one.

Let us consider D, f, p. The functor f :− p yielding a finite sequence of elements of D is defined by: (Def.2) f :− p = ⟨p⟩^{}(f_{p f} ).

We now state three propositions:

(52) If p ∈ rng f, then there exists i such that i+1 = p f and f:−p = f_{i}.

(53) If p ∈ rng f, then len(f :− p) = (len f − p f) + 1.

(54) If p ∈ rng f and j + 1 ∈ dom(f :− p), then j + p f ∈ dom f. Let us consider D, p, f. One can check that f :− p is non empty. Next we state several propositions:

(55) If p ∈ rng f and j + 1 ∈ dom(f :− p), then π_{j+1}(f :− p) = π_{j+p f} f.

(56) π_{1}(f :− p) = p.

(57) If p ∈ rng f, then π_{len(f:−p)}(f :− p) = π_{len f}f.

(58) If p ∈ rng f, then rng(f :− p) ⊆ rng f.

(59) If p ∈ rng f and f is one-to-one, then f :− p is one-to-one.

Let f be a finite sequence. The functor Rev(f) yielding a finite sequence is defined by: (Def.3) len Rev(f) = len f and for every i such that i ∈ dom Rev(f) holds

(Rev(f))(i) = f((len f − i) + 1). One can prove the following propositions:

(60) For every finite sequence f holds dom f = dom Rev(f) and rng f = rng Rev(f).

(61) For every finite sequence f such that i ∈ dom f holds (Rev(f))(i) = f((len f − i) + 1).

(62) For every finite sequence f and for all natural numbers i, j such that

i ∈ dom f and i + j = len f + 1 holds j ∈ dom Rev(f). Let f be an empty finite sequence. Observe that Rev(f) is empty. Next we state three propositions:

(63) For arbitrary x holds Rev(⟨x⟩) = ⟨x⟩.

(64) For arbitrary x_{1}, x_{2} holds Rev(⟨x_{1}, x_{2}⟩) = ⟨x_{2}, x_{1}⟩.

(65) For every non empty finite sequence f holds f(1) = (Rev(f))(len f) and

f(len f) = (Rev(f))(1). Let f be an one-to-one finite sequence. Note that Rev(f) is one-to-one. The following two propositions are true:

(66) For every finite sequence f and for arbitrary x holds Rev(f ^{}⟨x⟩) = ⟨x⟩^{}Rev(f).

(67) For all finite sequences f, g holds Rev(f ^{}g) = (Rev(g))^{}Rev(f). Let us consider D, f. Then Rev(f) is a finite sequence of elements of D. We now state two propositions:

(68) If f is non empty, then π_{1}f = π_{len f} Rev(f) and π_{len f}f = π_{1} Rev(f).

(69) If i ∈ dom f and i + j = len f + 1, then π_{i}f = π_{j} Rev(f).

Let us consider D, f, p, n. The functor Ins(f, n, p) yielding a finite sequence of elements of D is defined as follows: (Def.4) Ins(f, n, p) = (f n)^{}⟨p⟩^{}(f_{n}).

some properties of restrictions of finite … 245

One can prove the following propositions:

(70) Ins(f, 0, p) = ⟨p⟩^{}f.

(71) If len f ≤ n, then Ins(f, n, p) = f ^{}⟨p⟩.

(72) len Ins(f, n, p) = len f + 1.

(73) rng Ins(f, n, p) = {p} ∪ rng f.

Let us consider D, f, n, p. Observe that Ins(f, n, p) is non empty. The following propositions are true:

(74) p ∈ rng Ins(f, n, p).

(75) If i ∈ dom(f n), then π_{i} Ins(f, n, p) = π_{i}f.

(76) If n ≤ len f, then π_{n+1} Ins(f, n, p) = p.

(77) If n + 1 ≤ i and i ≤ len f, then π_{i+1} Ins(f, n, p) = π_{i}f.

(78) If 1 ≤ n and f is non empty, then π_{1} Ins(f, n, p) = π_{1}f.

(79) If f is one-to-one and p ∉ rng f, then Ins(f, n, p) is one-to-one.

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. Functions and their basic properties. Formalized Mathematics, 1(1):55–65, 1990.

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

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

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

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

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

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

[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] Zinaida Trybulec. Properties of subsets. Formalized Mathematics, 1(1):67–71, 1990.

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

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

246

Special Polygons

Czesław Byliński Warsaw University Białystok Yatsuka Nakamura Shinshu University Nagano

MML Identifier: SPPOL 2.

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

1. Segments in E_{T}^{2}

For simplicity we adopt the following convention: P, P_{1}, P_{2} will be subsets of the carrier of E_{T}^{2}, f, f_{1}, f_{2}, g will be finite sequences of elements of E_{T}^{2}, p, p_{1}, p_{2}, q, q_{1}, q_{2} will be points of E_{T}^{2}, r_{1}, r_{2}, r′_{1}, r′_{2} will be real numbers, and i, j, k, n will be natural numbers.

Next we state a number of propositions:

(1) If [r_{1}, r_{2}] = [r′_{1}, r′_{2}], then r_{1} = r′_{1} and r_{2} = r′_{2}.

(2) If i + j = len f, then L(f, i) = L(Rev(f), j).

(3) If i + 1 ≤ len(f n), then L(f n, i) = L(f, i).

(4) If n ≤ len f and 1 ≤ i, then L(f_{n}, i) = L(f, n + i).

(5) If 1 ≤ i and i + 1 ≤ len f − n, then L(f_{n}, i) = L(f, n + i).

(6) If i + 1 ≤ len f, then L(f ^{}g, i) = L(f, i).

(7) If 1 ≤ i, then L(f ^{}g, len f + i) = L(g, i).

(8) If f is non empty and g is non empty, then L(f ^{}g, len f) = L(π_{len f}f, π_{1}g).

(9) If i + 1 ≤ len(f −: p), then L(f −: p, i) = L(f, i).

(10) If p ∈ rng f and 1 ≤ i + 1, then L(f :− p, i + 1) = L(f, i + p f).

(11) L̃(ε_{(the carrier of E_{T}^{2})}) = ∅.

(12) L̃(⟨p⟩) = ∅.

(13) If p ∈ L̃(f), then there exists i such that 1 ≤ i and i + 1 ≤ len f and p ∈ L(f, i).

(14) If p ∈ L̃(f), then there exists i such that 1 ≤ i and i + 1 ≤ len f and p ∈ L(π_{i}f, π_{i+1}f).

(15) If 1 ≤ i and i + 1 ≤ len f and p ∈ L(π_{i}f, π_{i+1}f), then p ∈ L̃(f).

(16) If 1 ≤ i and i + 1 ≤ len f, then L(π_{i}f, π_{i+1}f) ⊆ L̃(f).

(17) If p ∈ L(f, i), then p ∈ L̃(f).

(18) If len f ≥ 2, then rng f ⊆ L̃(f).

(19) If f is non empty, then L̃(f ^{}⟨p⟩) = L̃(f) ∪ L(π_{len f}f, p).

(20) If f is non empty, then L̃(⟨p⟩^{}f) = L(p, π_{1}f) ∪ L̃(f).

(21) L̃(⟨p, q⟩) = L(p, q).

(22) L̃(f) = L̃(Rev(f)).

(23) If f_{1} is non empty and f_{2} is non empty, then L̃(f_{1} ^{}f_{2}) = L̃(f_{1}) ∪ L(π_{len f_{1}}f_{1}, π_{1}f_{2}) ∪ L̃(f_{2}).

(25)^{1} If q ∈ rng f, then L̃(f) = L̃(f −: q) ∪ L̃(f :− q).

(26) If p ∈ L(f, n), then L̃(f) = L̃(Ins(f, n, p)).

2. Special Sequences in E_{T}^{2}

One can verify the following observations:

∗ there exists a finite sequence of elements of E_{T}^{2}

∗ every finite sequence of elements of E_{T}^{2} is one-to-one unfolded s.n.c. special and non trivial,

∗ every finite sequence of elements of E_{T}^{2} which is one-to-one unfolded s.n.c. special and non trivial has and

∗ every finite sequence of elements of E_{T}^{2} is non empty.

Let us note that there exists a finite sequence of elements of E_{T}^{2} which is one-to-one unfolded s.n.c. special and non trivial.

We now state the proposition

(27) If len f ≤ 2, then f is unfolded.

Let f be an unfolded finite sequence of elements of E_{T}^{2} and let us consider n. Note that f n is unfolded and f_{n} is unfolded.

One can prove the following proposition

(28) If p ∈ rng f and f is unfolded, then f :− p is unfolded.

Let f be an unfolded finite sequence of elements of E_{T}^{2} and let us consider p. Observe that f −: p is unfolded.

Next we state several propositions:

1The proposition (24) has been removed.

(29) If f is unfolded, then Rev(f) is unfolded.

(30) If g is unfolded and L(p, π_{1}g)∩L(g, 1) = {π_{1}g}, then ⟨p⟩^{}g is unfolded.

(31) If f is unfolded and k + 1 = len f and L(f, k) ∩ L(π_{len f}f, p) = {π_{len f}f}, then f ^{}⟨p⟩ is unfolded.

(32) Suppose f is unfolded and g is unfolded and k + 1 = len f and L(f, k) ∩ L(π_{len f}f, π_{1}g) = {π_{len f}f} and L(π_{len f}f, π_{1}g) ∩ L(g, 1) = {π_{1}g}. Then f ^{}g is unfolded.

(33) If f is unfolded and p ∈ L(f, n), then Ins(f, n, p) is unfolded.

(34) If len f ≤ 2, then f is s.n.c..

Let f be a s.n.c. finite sequence of elements of E_{T}^{2} and let us consider n. Observe that f n is s.n.c. and f_{n} is s.n.c..

Let f be a s.n.c. finite sequence of elements of E_{T}^{2} and let us consider p. Note that f −: p is s.n.c..

We now state four propositions:

(35) If p ∈ rng f and f is s.n.c., then f :− p is s.n.c..

(36) If f is s.n.c., then Rev(f) is s.n.c..

(37) Suppose that (i) f is s.n.c., (ii) g is s.n.c., (iii) L̃(f) ∩ L̃(g) = ∅, (iv) for every i such that 1 ≤ i and i + 2 ≤ len f holds L(f, i) ∩

L(π_{len f}f, π_{1}g) = ∅, and

(v) for every i such that 2 ≤ i and i + 1 ≤ len g holds L(g, i) ∩ L(π_{len f}f, π_{1}g) = ∅. Then f ^{}g is s.n.c..

(38) If f is unfolded and s.n.c. and p ∈ L(f, n) and p ∉ rng f, then Ins(f, n, p)

is s.n.c.. Let us observe that ε_{(the carrier of E_{T}^{2})} is special. Next we state two propositions:

(39) ⟨p⟩ is special.

(40) If p_{1} = q_{1} or p_{2} = q_{2}, then ⟨p, q⟩ is special.

Let f be a special finite sequence of elements of E_{T}^{2} and let us consider n. Note that f n is special and f_{n} is special.

We now state the proposition

(41) If p ∈ rng f and f is special, then f :− p is special.

Let f be a special finite sequence of elements of E_{T}^{2} and let us consider p. Observe that f −: p is special.

The following four propositions are true:

(42) If f is special, then Rev(f) is special. (44)^{2} If f is special and p ∈ L(f, n), then Ins(f, n, p) is special.

2The proposition (43) has been removed.

(45) If q ∈ rng f and 1 ≠ q f and q f ≠ len f and f is unfolded and s.n.c., then L̃(f −: q) ∩ L̃(f :− q) = {q}.

(46) If p ≠ q and if p_{1} = q_{1} or p_{2} = q_{2}, then ⟨p, q⟩ a S-sequence in ^{2} is a finite sequence of elements of E_{T}^{2}. The following propositions are true:

(47) For every S-sequence f in ^{2} holds Rev(f)

(48) For every S-sequence f in ^{2} such that i ∈ dom f holds π_{i}f ∈ L̃(f).

(49) If p ≠ q and if p_{1} = q_{1} or p_{2} = q_{2}, then L(p, q)

(50) For every S-sequence f in ^{2} such that p ∈ rng f and p f ≠ 1 holds f −: p

(51) For every S-sequence f in ^{2} such that p ∈ rng f and p f ≠ len f holds f :− p

(52) For every S-sequence f in ^{2} such that p ∈ L(f, i) and p ∉ rng f holds Ins(f, i, p)

3. Special Polygons in E_{T}^{2}

Let us mention that there exists a subset of the carrier of E_{T}^{2} and every subset of the carrier of E_{T}^{2} is non empty.

The following proposition is true

(53) If P is a special polygonal arc joining p_{1} and p_{2}, then P is a special

polygonal arc joining p_{2} and p_{1}. Let us consider p_{1}, p_{2}, P. We say that p_{1} and p_{2} split P if and only if the

conditions (Def.1) are satisfied. (Def.1) (i) p_{1} ≠ p_{2}, and

(ii) there exist S-sequences f_{1}, f_{2} in ^{2} such that p_{1} = π_{1}f_{1} and p_{1} = π_{1}f_{2} and p_{2} = π_{len f_{1}}f_{1} and p_{2} = π_{len f_{2}}f_{2} and L̃(f_{1}) ∩ L̃(f_{2}) = {p_{1}, p_{2}} and P = L̃(f_{1}) ∪ L̃(f_{2}).

We now state four propositions:

(54) If p_{1} and p_{2} split P, then p_{2} and p_{1} split P.

(55) If p_{1} and p_{2} split P and q ∈ P and q ≠ p_{1}, then p_{1} and q split P.

(56) If p_{1} and p_{2} split P and q ∈ P and q ≠ p_{2}, then q and p_{2} split P.

(57) If p_{1} and p_{2} split P and q_{1} ∈ P and q_{2} ∈ P and q_{1} ≠ q_{2}, then q_{1} and q_{2}

split P. Let us observe that a subset of the carrier of E_{T}^{2} is special polygon if:

(Def.2) There exist p_{1}, p_{2} such that p_{1} and p_{2} split it. We introduce special polygonal as a synonym of special polygon.

Let us consider r_{1}, r_{2}, r′_{1}, r′_{2}. The functor [.r_{1}, r_{2}, r′_{1}, r′_{2}.] yields a subset of the carrier of E_{T}^{2} and is defined by the condition (Def.3).

(Def.3) [.r_{1}, r_{2}, r′_{1}, r′_{2}.] = {p : p_{1} = r_{1} ∧ p_{2} ≤ r′_{2} ∧ p_{2} ≥ r′_{1} ∨ p_{1} ≤ r_{2} ∧ p_{1} ≥ r_{1} ∧

p_{2} = r′_{2} ∨ p_{1} ≤ r_{2} ∧ p_{1} ≥ r_{1} ∧ p_{2} = r′_{1} ∨ p_{1} = r_{2} ∧ p_{2} ≤ r′_{2} ∧ p_{2} ≥ r′_{1}}. One can prove the following propositions:

(58) If r_{1} < r_{2} and r′_{1} < r′_{2}, then [.r_{1}, r_{2}, r′_{1}, r′_{2}.] = L([r_{1}, r′_{1}], [r_{1}, r′_{2}]) ∪ L([r_{1}, r′_{2}], [r_{2}, r′_{2}]) ∪ (L([r_{2}, r′_{2}], [r_{2}, r′_{1}]) ∪ L([r_{2}, r′_{1}], [r_{1}, r′_{1}])).

(59) If r_{1} < r_{2} and r′_{1} < r′_{2}, then [.r_{1}, r_{2}, r′_{1}, r′_{2}.] is special polygonal.

(60) _{E^{2}} = [.0, 1, 0, 1.].

(61) _{E^{2}} is special polygonal.

One can verify the following observations:

∗ there exists a subset of the carrier of E_{T}^{2} which is special polygonal,

∗ every subset of the carrier of E_{T}^{2} which is special polygonal is also non empty, and

∗ every subset of the carrier of E_{T}^{2} which is special polygonal is also non trivial.

A special polygon in ^{2} is a special polygonal subset of the carrier of E_{T}^{2}. We now state four propositions:

(62) If P is then P is compact.

(63) Every special polygon in ^{2} is compact.

(64) If P is special polygonal, then for all p_{1}, p_{2} such that p_{1} ≠ p_{2} and p_{1} ∈ P and p_{2} ∈ P holds p_{1} and p_{2} split P.

(65) Suppose P is special polygonal. Given p_{1}, p_{2}. Suppose p_{1} ≠ p_{2} and

p_{1} ∈ P and p_{2} ∈ P. Then there exist P_{1}, P_{2} such that

(i) P_{1} is a special polygonal arc joining p_{1} and p_{2}, (ii) P_{2} is a special polygonal arc joining p_{1} and p_{2}, (iii) P_{1} ∩ P_{2} = {p_{1}, p_{2}}, and (iv) P = P_{1} ∪ P_{2}.

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] Józef Białas. Group and field definitions. Formalized Mathematics, 1(3):433–439, 1990.

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

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

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

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

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

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

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

252 czesław byliński and yatsuka nakamura

[12] Agata Darmochwał and Yatsuka Nakamura. The topological space E_{T}^{2}. Simple closed curves. Formalized Mathematics, 2(5):663–664, 1991.

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

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

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

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

[17] Yatsuka Nakamura and Jarosław Kotowicz. Connectedness conditions using polygonal arcs. Formalized Mathematics, 3(1):101–106, 1992.

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

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

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

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

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

[23] Wojciech A. Trybulec. Non-contiguous substrings and one-to-one finite sequences. Formalized Mathematics, 1(3):569–573, 1990.

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

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

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

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

The One-Dimensional Lebesgue Measure

Józef Białas Łódź University Łódź

Summary. The paper is the crowning of a series of articles written in the Mizar language, being a formalization of notions needed for the description of the one-dimensional Lebesgue measure. The formalization of the notion as classical as the Lebesgue measure determines the powers of the PC Mizar system as a tool for the strict, precise notation and verification of the correctness of deductive theories. Following the successive articles [6], [8], [10], [11] constructed so that the final one should include the definition and the basic properties of the Lebesgue measure, we observe one of the paths relatively simple in the sense of the definition, enabling us the formal introduction of this notion. This way, although toilsome, since such is the nature of formal theories, is greatly instructive. It brings home the proper succession of the introduction of the definitions of intermediate notions and points out to those elements of the theory which determine the essence of the complexity of the notion being introduced.

The paper includes the definition of the σ-field of Lebesgue measurable sets, the definition of the Lebesgue measure and the basic set of the theorems describing its properties.

MML Identifier: MEASURE7.

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

The following propositions are true:

(1) For every function F from into \overline{}such that for every natural number n holds F (n) = 0\overline{}holds ∑ F = 0\overline{}.

(2) For every function F from into \overline{}such that F is non-negative and for every natural number n holds F (n) ≤ (Ser F)(n).

(3) Let F, G, H be functions from into \overline{}. Suppose G is non-negative and H is non-negative. Suppose that for every natural number n holds F (n) = G(n) + H(n). Let n be a natural number. Then (Ser F)(n) = (Ser G)(n) + (Ser H)(n).

(4) Let F, G, H be functions from into \overline{}. Suppose that for every natural number n holds F (n) = G(n) + H(n). If G is non-negative and H is nonnegative, then ∑ F ≤ ∑ G + ∑ H.

(5) Let F, G be functions from into \overline{}. Suppose F is non-negative and for every natural number n holds F (n) = G(n). Let n be a natural number. Then (Ser F)(n) = (Ser G)(n).

(6) Let F, G be functions from into \overline{}. Suppose F is non-negative and for every natural number n holds F (n) ≤ G(n). Let n be a natural number. Then (Ser F)(n) ≤ ∑ G.

(7) For every function F from into \overline{}such that F is non-negative and for every natural number n holds (Ser F)(n) ≤ ∑ F.

Let S be a non empty subset of , let H be a function from S into , and let n be an element of S. Then H(n) is a natural number.

Let G be a function from into \overline{}, let S be a non empty subset of , and let H be a function from S into . The functor On(G, H) yields a function from into \overline{}and is defined as follows: (Def.1) For every element n of holds if n ∈ S, then (On(G, H))(n) = G(H(n))

and if n ∉ S, then (On(G, H))(n) = 0\overline{}. Next we state several propositions:

(8) Let G be a function from into \overline{}. Suppose G is non-negative. Let S be a non empty subset of and let H be a function from S into . Then On(G, H) is non-negative.

(9) Let F be a function from into \overline{}. Suppose F is non-negative. Let n, k be natural numbers. If n ≤ k, then (Ser F)(n) ≤ (Ser F)(k).

(10) Let k be a natural number and let F be a function from into \overline{}. Suppose F is non-negative. Suppose that for every natural number n such that n ≠ k holds F (n) = 0\overline{}. Then

(i) for every natural number n such that n < k holds (Ser F)(n) = 0\overline{}, and

(ii) for every natural number n such that k ≤ n holds (Ser F)(n) = F (k).

(11) Let G be a function from into \overline{}. Suppose G is non-negative. Let S be a non empty subset of and let H be a function from S into . If H is one-to-one and rng H = , then ∑ On(G, H) ≤ ∑ G.

(12) Let F, G be functions from into \overline{}. Suppose F is non-negative and G is non-negative. Let S be a non empty subset of and let H be a function from S into . Suppose H is one-to-one and rng H = . Suppose that for every natural number k holds if k ∈ S, then F (k) = G(H(k)) and if k ∉ S, then F (k) = 0\overline{}. Then ∑ F ≤ ∑ G.

Let A be a subset of . A function from into 2^{}is said to be an interval covering of A if: (Def.2) A ⊆ ⋃ rng it and for every natural number n holds it(n) is an interval.

Let A be a subset of , let F be an interval covering of A, and let n be a natural number. Then F (n) is an interval.

Let F be a function from into 2^{}. A function from into (2^{})^{}is said to be an interval covering of F if: (Def.3) For every natural number n holds it(n) is an interval covering of F (n).

Let A be a subset of and let F be an interval covering of A. The functor (F) vol yields a function from into \overline{}and is defined by: (Def.4) For every natural number n holds (F) vol(n) = vol(F (n)).

The following proposition is true

(13) For every subset A of and for every interval covering F of A holds

(F) vol is non-negative. Let F be a function from into 2^{}, let H be an interval covering of F, and

let n be a natural number. Then H(n) is an interval covering of F (n).

Let F be a function from into 2^{}and let G be an interval covering of F. The functor (G) vol yields a function from into \overline{}^{}and is defined by: (Def.5) For every natural number n holds (G) vol(n) = (G(n)) vol .

Let A be a subset of and let F be an interval covering of A. The functor vol(F) yields a Real number and is defined as follows: (Def.6) vol(F) = ∑((F) vol).

Let F be a function from into 2^{}and let G be an interval covering of F. The functor vol(G) yielding a function from into \overline{}is defined by: (Def.7) For every natural number n holds (vol(G))(n) = vol(G(n)).

One can prove the following proposition

(14) Let F be a function from into 2^{}, and let G be an interval covering

of F, and let n be a natural number. Then 0\overline{}≤ (vol(G))(n). Let A be a subset of . The functor Svc(A) yielding a non empty subset of

\overline{}is defined by: (Def.8) For every Real number x holds x ∈ Svc(A) iff there exists an interval

covering F of A such that x = vol(F). Let A be an element of 2^{}. The functor ^{A} yields an element of \overline{}and is

defined as follows: (Def.9) ^{A} = inf Svc(A).

The function OSMeas from 2^{}into \overline{}is defined by: (Def.10) For every subset A of holds (OSMeas)(A) = inf Svc(A).

Let F be a function from into and let n be a natural number. Then F (n) is a natural number.

Let x, y be Real numbers. Then \{x, y\} is a subset of \overline{}. Let H be a function from into [: , :]. The functor pr1(H) yielding a

function from into is defined by: (Def.11) For every element n of there exists an element s of such that

H(n) = ⟨⟨ pr1(H)(n), s⟩⟩. Let H be a function from into [: , :]. The functor pr2(H) yielding a

function from into is defined by:

(Def.12) For every element n of holds H(n) = ⟨⟨ pr1(H)(n), pr2(H)(n)⟩⟩.

Let F be a function from into 2^{}, let G be an interval covering of F, and let H be a function from into [: , :]. Let us assume that H is one-to-one and rng H = [: , :]. The functor On(G, H) yields an interval covering of ⋃ rng F and is defined by:

(Def.13) For every element n of holds (On(G, H))(n) = G(pr1(H)(n))(pr2(H)(n)).

Next we state three propositions:

(15) Let H be a function from into [: , :]. Suppose H is one-to-one and rng H = [: , :]. Let k be a natural number. Then there exists a natural number m such that for every function F from into 2^{}and for every interval covering G of F holds (Ser((On(G, H)) vol))(k) ≤ (Ser vol(G))(m).

(16) For every function F from into 2^{}and for every interval covering G of F holds inf Svc(⋃ rng F) ≤ ∑ vol(G).

(17)^{1} OSMeas is a Caratheodor’s measure on .

OSMeas is a Caratheodor’s measure on .

The functor L_{μ}-σFIELD is a σ-field of subsets of and is defined by: (Def.14) L_{μ}-σFIELD = σ-Field(OSMeas).

The σ-measure L_{μ} on L_{μ}-σFIELD is defined by: (Def.15) L_{μ} = σ-Meas(OSMeas).

The following propositions are true:

(18) L_{μ} is complete on L_{μ}-σFIELD.

(19) L_{μ} is a measure on L_{μ}-σFIELD.

(20) ∅ ∈ L_{μ}-σFIELD and ∈ L_{μ}-σFIELD.

(21) For every set A such that A ∈ L_{μ}-σFIELD holds \ A ∈ L_{μ}-σFIELD.

(22) For all sets A, B such that A ∈ L_{μ}-σFIELD and B ∈ L_{μ}-σFIELD holds A ∪ B ∈ L_{μ}-σFIELD.

(23) For all sets A, B such that A ∈ L_{μ}-σFIELD and B ∈ L_{μ}-σFIELD holds A ∩ B ∈ L_{μ}-σFIELD.

(24) For all sets A, B such that A ∈ L_{μ}-σFIELD and B ∈ L_{μ}-σFIELD holds A \ B ∈ L_{μ}-σFIELD.

(25) For every family T of measurable sets of L_{μ}-σFIELD holds ⋂ T ∈ L_{μ}-σFIELD and ⋃ T ∈ L_{μ}-σFIELD.

(27)^{2} For every denumerable family M of subsets of such that M ⊆

L_{μ}-σFIELD holds ⋂ M ∈ L_{μ}-σFIELD.

(28) For all elements A, B of L_{μ}-σFIELD such that A ∩ B = ∅ holds L_{μ}(A ∪ B) = L_{μ}(A) + L_{μ}(B).

(29) For all elements A, B of L_{μ}-σFIELD such that A ⊆ B holds L_{μ}(A) ≤ L_{μ}(B).

1Editiorial footnote: The repetition below is caused by the fact that the first sentence is the translation of a Mizar theorem, and the second one – of a Mizar redefinition.

2The proposition (26) has been removed.

(30) For all elements A, B of L_{μ}-σFIELD such that A ⊆ B and L_{μ}(A) < +∞ holds L_{μ}(B \ A) = L_{μ}(B) − L_{μ}(A).

(31) For all elements A, B of L_{μ}-σFIELD holds L_{μ}(A∪B) ≤ L_{μ}(A)+L_{μ}(B).

(32) L_{μ} is non-negative and L_{μ}(∅) = 0\overline{}and for every sequence F of separated subsets of L_{μ}-σFIELD holds ∑(L_{μ} · F) = L_{μ}(⋃ rng F).

(33) For every function F from into L_{μ}-σFIELD such that for every element n of holds F (n) ⊆ F (n + 1) holds L_{μ}(⋃ rng F) = sup rng(L_{μ} · F).

(34) Let F be a function from into L_{μ}-σFIELD. Suppose for every element n of holds F (n + 1) ⊆ F (n) and L_{μ}(F (0)) < +∞. Then L_{μ}(⋂ rng F) = inf rng(L_{μ} · F).

(35) Let T be a family of measurable sets of L_{μ}-σFIELD. Suppose that for every set A such that A ∈ T holds A is a set of measure zero w.r.t. L_{μ}. Then ⋃ T is a set of measure zero w.r.t. L_{μ}.

(36) Let T be a family of measurable sets of L_{μ}-σFIELD. Given a set A such that A ∈ T and A is a set of measure zero w.r.t. L_{μ}. Then ⋂ T is a set of measure zero w.r.t. L_{μ}.

(37) Let T be a family of measurable sets of L_{μ}-σFIELD. Suppose that for every set A such that A ∈ T holds A is a set of measure zero w.r.t. L_{μ}. Then ⋂ T is a set of measure zero w.r.t. L_{μ}.

(38) Let A be an element of L_{μ}-σFIELD and let B be a set of measure zero w.r.t. L_{μ}. If A ⊆ B, then A is a set of measure zero w.r.t. L_{μ}.

(39) Let A, B be sets of measure zero w.r.t. L_{μ}. Then (i) A ∪ B is a set of measure zero w.r.t. L_{μ}, (ii) A ∩ B is a set of measure zero w.r.t. L_{μ}, and (iii) A \ B is a set of measure zero w.r.t. L_{μ}.

(40) Let A be an element of L_{μ}-σFIELD and let B be a set of measure zero w.r.t. L_{μ}. Then L_{μ}(A ∪ B) = L_{μ}(A) and L_{μ}(A ∩ B) = 0\overline{}and L_{μ}(A \ B) = L_{μ}(A).

(41) (i) ∅ is measurable w.r.t. L_{μ}, (ii) is measurable w.r.t. L_{μ}, and (iii) for all sets A, B such that A is measurable w.r.t. L_{μ} and B is measur-

able w.r.t. L_{μ} holds \A is measurable w.r.t. L_{μ} and A∪B is measurable w.r.t. L_{μ} and A ∩ B is measurable w.r.t. L_{μ}.

(42) Let T be a denumerable family of subsets of . Suppose that for every set A such that A ∈ T holds A is measurable w.r.t. L_{μ}. Then ⋃ T is measurable w.r.t. L_{μ} and ⋂ T is measurable w.r.t. L_{μ}.

References

[1] Grzegorz Bancerek. Countable sets and Hessenberg’s theorem. Formalized Mathematics, 2(1):65–69, 1991.

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

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

258 józef białas

[4] Grzegorz Bancerek. Zermelo theorem and axiom of choice. Formalized Mathematics, 1(2):265–267, 1990.

[5] Józef Białas. Completeness of the σ-additive measure. measure theory. Formalized Mathematics, 2(5):689–693, 1991.

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

[7] Józef Białas. Properties of Caratheodor’s measure. Formalized Mathematics, 3(1):67–70, 1992.

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

[9] Józef Białas. Several properties of the σ-additive measure. Formalized Mathematics, 2(4):493–497, 1991.

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

[11] Józef Białas. Some properties of the intervals. Formalized Mathematics, 5(1):21–26, 1996.

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

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

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

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

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

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

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

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

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

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

[22] Andrzej Trybulec and Agata Darmochwał. Boolean domains. Formalized Mathematics, 1(1):187–190, 1990.

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

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

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

Received February 4, 1995

Categories without Uniqueness of cod and dom

Andrzej Trybulec Warsaw University Białystok

Summary. Category theory had been formalized in Mizar quite early [8]. This had been done closely to the handbook of S. McLane [11]. In this paper we use a different approach. Category is a triple

⟨O, {⟨o_{1}, o_{2}⟩}_{o_{1},o_{2}∈O}, {∘_{o_{1},o_{2},o_{3}}}_{o_{1},o_{2},o_{3}∈O}⟩

where ∘_{o_{1},o_{2},o_{3}} : ⟨o_{2}, o_{3}⟩×⟨o_{1}, o_{2}⟩ → ⟨o_{1}, o_{3}⟩ that satisfies usual conditions (associativity and the existence of the identities). This approach is closer to the way in which categories are presented in homological algebra (e.g. [1], pp.58-59). We do not assume that ⟨o_{1}, o_{2}⟩’s are mutually disjoint. If f is simultaneously a morphism from o_{1} to o_{2} and o′_{1} to o_{2} (o_{1} ≠ o′_{1}) than different compositions are used (∘_{o_{1},o_{2},o_{3}} or ∘_{o′_{1},o_{2},o_{3}}) to compose it with a morphism g from o_{2} to o_{3}. The operation g · f has actually six arguments (two visible and four hidden: three objects and the category).

We introduce some simple properties of categories. Perhaps more than necessary. It is partially caused by the formalization. The functional categories are characterized by the following properties:

• quasi-functional that means that morphisms are functions (rather meaningless, if it stands alone)

• semi-functional that means that the composition of morphism is the composition of functions, provided they are functions.

• pseudo-functional that means that the composition of morphisms is the composition of functions.

For categories pseudo-functional is just quasi-functional and semifunctional, but we work in a bit more general setting. Similarly the concept of a discrete category is split into two:

• quasi-discrete that means that ⟨o_{1}, o_{2}⟩ is empty for o_{1} ≠ o_{2} and

• pseudo-discrete that means that ⟨o, o⟩ is trivial, i.e. consists of the identity only, in a category.

We plan to follow Semadeni-Wiweger book [14], in the development the category theory in Mizar. However, the beginning is not very close to [14], because of the approach adopted and because we work in Tarski-Grothendieck set theory.

MML Identifier: ALTCAT 1.

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

1. Preliminaries

One can prove the following proposition

(1) For every non empty set A and for all sets B, C, D such that [: A, B:] ⊆ [: C, D:] or [: B, A:] ⊆ [: D, C:] holds B ⊆ D.

In the sequel i, j, k, x are arbitrary. Let A be a functional set. Observe that every subset of A is functional. Let f be a function yielding function and let C be a set. Observe that f C

is function yielding.

Let f be a function. One can verify that {f} is functional. Next we state four propositions:

(2) For every set A holds id_{A} ∈ A^{A}.

(3) ∅^{∅} = {id_{∅}}.

(4) For all sets A, B, C and for all functions f, g such that f ∈ B^{A} and g ∈ C^{B} holds g · f ∈ C^{A}.

(5) For all sets A, B, C such that B^{A} ≠ ∅ and C^{B} ≠ ∅ holds C^{A} ≠ ∅. Let A, B be sets. One can check that B^{A} is functional. We now state two propositions:

(6) For all sets A, B and for every function f such that f ∈ B^{A} holds dom f = A and rng f ⊆ B.

(7) Let A, B be sets, and let F be a many sorted set indexed by [: B, A:], and let C be a subset of A, and let D be a subset of B, and let x, y be arbitrary. If x ∈ C and y ∈ D, then F (y, x) = (F [: D, C:])(y, x).

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

There exists a many sorted set M indexed by A such that for every element i of A holds M(i) = F(i)

for all values of the parameters.

The scheme MSSLambda2 deals with sets A, B and a binary functor F yielding arbitrary, and states that:

There exists a many sorted set M indexed by [: A, B:] such that for all i, j such that i ∈ A and j ∈ B holds M(i, j) = F(i, j)

for all values of the parameters.

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

There exists a many sorted set M indexed by [: A, B:] such that for every element i of A and for every element j of B holds M(i,

j) = F(i, j) for all values of the parameters.

The scheme MSSLambda3 concerns sets A, B, C and a ternary functor F yielding arbitrary, and states that:

There exists a many sorted set M indexed by [: A, B, C:] such that for all i, j, k such that i ∈ A and j ∈ B and k ∈ C holds M(i, j,

k) = F(i, j, k) for all values of the parameters.

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

There exists a many sorted set M indexed by [: A, B, C:] such that for every element i of A and for every element j of B and for every element k of C holds M(i, j, k) = F(i, j, k)

for all values of the parameters.

One can prove the following propositions:

(8) Let A, B be sets and let N, M be many sorted sets indexed by [: A, B:]. If for all i, j such that i ∈ A and j ∈ B holds N(i, j) = M(i, j), then M = N.

(9) Let A, B be non empty sets and let N, M be many sorted sets indexed by [: A, B:]. Suppose that for every element i of A and for every element j of B holds N(i, j) = M(i, j). Then M = N.

(10) Let A be a set and let N, M be many sorted sets indexed by [: A, A, A:]. Suppose that for all i, j, k such that i ∈ A and j ∈ A and k ∈ A holds N(i, j, k) = M(i, j, k). Then M = N.

(11) [⟨i, j⟩ ↦ k] = ⟨⟨i, j⟩⟩⟼ . k.

(12) [⟨i, j⟩ ↦ k](i, j) = k.

2. Graphs

We consider graphs as extensions of 1-sorted structure as systems ⟨ a carrier, arrows ⟩,

where the carrier is a set and the arrows constitute a many sorted set indexed by [: the carrier, the carrier :].

Let G be a graph. (Def.1) An element of the carrier of G is called an object of G.

Let G be a graph and let o_{1}, o_{2} be objects of G. The functor ⟨o_{1}, o_{2}⟩ is defined as follows: (Def.2) ⟨o_{1}, o_{2}⟩ = (the arrows of G)(o_{1}, o_{2}).

Let G be a graph and let o_{1}, o_{2} be objects of G. (Def.3) An element of ⟨o_{1}, o_{2}⟩ is said to be a morphism from o_{1} to o_{2}.

Let G be a graph. We say that G is transitive if and only if: (Def.4) For all objects o_{1}, o_{2}, o_{3} of G such that ⟨o_{1}, o_{2}⟩ ≠ ∅ and ⟨o_{2}, o_{3}⟩ ≠ ∅

holds ⟨o_{1}, o_{3}⟩ ≠ ∅.

3. Many Sorted Binary Compositions

Let I be a set and let G be a many sorted set indexed by [: I, I:]. The functor {|G|} yields a many sorted set indexed by [: I, I, I:] and is defined as follows: (Def.5) For all i, j, k such that i ∈ I and j ∈ I and k ∈ I holds ({|G|})(i, j,

k) = G(i, k). Let H be a many sorted set indexed by [: I, I:]. The functor {|G, H|} yielding a many sorted set indexed by [: I, I, I:] is defined by: (Def.6) For all i, j, k such that i ∈ I and j ∈ I and k ∈ I holds ({|G, H|})(i, j,

k) = [: H(j, k), G(i, j) :]. Let I be a set and let G be a many sorted set indexed by [: I, I:]. A binary

composition of G is a many sorted function from {|G, G|} into {|G|}.

Let I be a non empty set, let G be a many sorted set indexed by [: I, I:], let o be a binary composition of G, and let i, j, k be elements of I. Then o(i, j, k) is a function from [: G(j, k), G(i, j) :] into G(i, k).

Let I be a non empty set and let G be a many sorted set indexed by [: I, I:]. A binary composition of G is associative if it satisfies the condition (Def.7). (Def.7) Let i, j, k, l be elements of I and let f, g, h be arbitrary. Suppose

f ∈ G(i, j) and g ∈ G(j, k) and h ∈ G(k, l). Then it(i, k, l)(h, it(i, j,

k)(g, f)) = it(i, j, l)(it(j, k, l)(h, g), f).

A binary composition of G has right units if it satisfies the condition (Def.8). (Def.8) Let i be an element of I. Then there exists arbitrary e such that e ∈ G(i,

i) and for every element j of I and for arbitrary f such that f ∈ G(i, j) holds it(i, i, j)(f, e) = f.

A binary composition of G has left units if it satisfies the condition (Def.9). (Def.9) Let j be an element of I. Then there exists arbitrary e such that

e ∈ G(j, j) and for every element i of I and for arbitrary f such that f ∈ G(i, j) holds it(i, j, j)(e, f) = f.

4. Categories

We introduce category structures which are extensions of graph and are systems

⟨ a carrier, arrows, a composition ⟩, where the carrier is a set, the arrows constitute a many sorted set indexed by [: the carrier, the carrier :], and the composition is a binary composition of the arrows.

Let us observe that there exists a category structure which is strict and non empty.

Let C be a non empty category structure and let o_{1}, o_{2}, o_{3} be objects of C. Let us assume that ⟨o_{1}, o_{2}⟩ ≠ ∅ and ⟨o_{2}, o_{3}⟩ ≠ ∅ and ⟨o_{1}, o_{3}⟩ ≠ ∅. Let f be a morphism from o_{1} to o_{2} and let g be a morphism from o_{2} to o_{3}. The functor g · f yields a morphism from o_{1} to o_{3} and is defined by:

(Def.10) g · f = (the composition of C)(o_{1}, o_{2}, o_{3})(g, f).

A function is compositional if: (Def.11) If x ∈ dom it, then there exist functions f, g such that x = ⟨⟨g, f⟩⟩ and

it(x) = g · f. Let A, B be functional sets. Observe that there exists a many sorted function

of [: A, B:] which is compositional.

Next we state the proposition

(13) Let A, B be functional sets, and let F be a compositional many sorted set indexed by [: A, B:], and let g, f be functions. If g ∈ A and f ∈ B, then F (g, f) = g · f.

Let A, B be functional sets. (Def.12) FuncComp(A, B) is a compositional many sorted function of [: B, A:].

The following propositions are true:

(14) For all sets A, B, C holds rng FuncComp(B^{A}, C^{B}) ⊆ C^{A}.

(15) For every set o holds FuncComp({id_{o}}, {id_{o}}) = [⟨id_{o}, id_{o}⟩ ↦ id_{o}].

(16) For all functional sets A, B and for every subset A_{1} of A and for every

subset B_{1} of B holds FuncComp(A_{1}, B_{1}) = FuncComp(A, B) [: B_{1}, A_{1} :]. Let C be a non empty category structure. We say that C is quasi-functional

if and only if: (Def.13) For all objects a_{1}, a_{2} of C holds ⟨a_{1}, a_{2}⟩ ⊆ a_{2}^{a_{1}}.

We say that C is semi-functional if and only if the condition (Def.14) is satisfied. (Def.14) Let a_{1}, a_{2}, a_{3} be objects of C. Suppose ⟨a_{1}, a_{2}⟩ ≠ ∅ and ⟨a_{2}, a_{3}⟩ ≠ ∅

and ⟨a_{1}, a_{3}⟩ ≠ ∅. Let f be a morphism from a_{1} to a_{2}, and let g be a morphism from a_{2} to a_{3}, and let f′, g′ be functions. If f = f′ and g = g′,

then g · f = g′ · f′.

We say that C is pseudo-functional if and only if: (Def.15) For all objects o_{1}, o_{2}, o_{3} of C holds (the composition of C)(o_{1}, o_{2},

o_{3}) = FuncComp(o_{2}^{o_{1}}, o_{3}^{o_{2}}) [: ⟨o_{2}, o_{3}⟩, ⟨o_{1}, o_{2}⟩:]. Let X be a non empty set, let A be a many sorted set indexed by [: X, X:],

and let C be a binary composition of A. Note that ⟨X, A, C⟩ is non empty.

Let us observe that there exists a non empty category structure which is strict and pseudo-functional.

One can prove the following propositions:

(17) Let C be a non empty category structure and let a_{1}, a_{2}, a_{3} be objects of C. Suppose if ⟨a_{1}, a_{3}⟩ = ∅, then ⟨a_{1}, a_{2}⟩ = ∅ or ⟨a_{2}, a_{3}⟩ = ∅. Then (the composition of C)(a_{1}, a_{2}, a_{3}) is a function from [: ⟨a_{2}, a_{3}⟩, ⟨a_{1}, a_{2}⟩:] into ⟨a_{1}, a_{3}⟩.

(18) Let C be a pseudo-functional non empty category structure and let a_{1}, a_{2}, a_{3} be objects of C. Suppose ⟨a_{1}, a_{2}⟩ ≠ ∅ and ⟨a_{2}, a_{3}⟩ ≠ ∅ and ⟨a_{1}, a_{3}⟩ ≠ ∅. Let f be a morphism from a_{1} to a_{2}, and let g be a morphism from a_{2} to a_{3}, and let f′, g′ be functions. If f = f′ and g = g′, then g · f = g′ · f′.

Let A be a non empty set. The functor Ens_{A} yielding a strict pseudofunctional non empty category structure is defined as follows:

(Def.16) The carrier of Ens_{A} = A and for all objects a_{1}, a_{2} of Ens_{A} holds

⟨a_{1}, a_{2}⟩ = a_{2}^{a_{1}}. Let C be a non empty category structure. We say that C is associative if

and only if: (Def.17) The composition of C is associative.

We say that C has units if and only if: (Def.18) The composition of C has left units and right units.

Let us mention that there exists a non empty category structure which is transitive associative and strict and has units.

The following propositions are true:

(19) Let C be a transitive non empty category structure and let a_{1}, a_{2}, a_{3} be objects of C. Then (the composition of C)(a_{1}, a_{2}, a_{3}) is a function from [: ⟨a_{2}, a_{3}⟩, ⟨a_{1}, a_{2}⟩:] into ⟨a_{1}, a_{3}⟩.

(20) Let C be a transitive non empty category structure and let a_{1}, a_{2}, a_{3} be objects of C. Then dom (the composition of C)(a_{1}, a_{2}, a_{3}) = [: ⟨a_{2}, a_{3}⟩, ⟨a_{1}, a_{2}⟩:] and rng (the composition of C)(a_{1}, a_{2}, a_{3}) ⊆ ⟨a_{1}, a_{3}⟩.

(21) For every non empty category structure C with units and for every

object o of C holds ⟨o, o⟩ ≠ ∅. Let A be a non empty set. Observe that Ens_{A} is transitive and associative

and has units.

Let us mention that every non empty category structure which is quasifunctional semi-functional and transitive is also pseudo-functional and every non empty category structure which is pseudo-functional and transitive and has units is also quasi-functional and semi-functional.

A category is a transitive associative non empty category structure with units.

5. Identities

One can prove the following proposition (22) Let C be a transitive non empty category structure and let o_{1}, o_{2}, o_{3} be

objects of C. Suppose ⟨o_{1}, o_{2}⟩ ≠ ∅ and ⟨o_{2}, o_{3}⟩ ≠ ∅. Let f be a morphism from o_{1} to o_{2} and let g be a morphism from o_{2} to o_{3}. Then g · f = (the composition of C)(o_{1}, o_{2}, o_{3})(g, f).

Let C be a non empty category structure with units and let o be an object of C. The functor id_{o} yielding a morphism from o to o is defined by:

(Def.19) For every object o′ of C such that ⟨o, o′⟩ ≠ ∅ and for every morphism a

from o to o′ holds a · id_{o} = a. One can prove the following three propositions:

(23) For every non empty category structure C with units and for every object o of C holds id_{o} ∈ ⟨o, o⟩.

(24) Let C be a non empty category structure with units and let o_{1}, o_{2} be objects of C. If ⟨o_{1}, o_{2}⟩ ≠ ∅, then for every morphism a from o_{1} to o_{2} holds id_{(o_{2})} ·a = a.

(25) Let C be an associative transitive non empty category structure and let o_{1}, o_{2}, o_{3}, o_{4} be objects of C. Suppose ⟨o_{1}, o_{2}⟩ ≠ ∅ and ⟨o_{2}, o_{3}⟩ ≠ ∅ and ⟨o_{3}, o_{4}⟩ ≠ ∅. Let a be a morphism from o_{1} to o_{2}, and let b be a morphism from o_{2} to o_{3}, and let c be a morphism from o_{3} to o_{4}. Then c · (b · a) = (c · b) · a.

6. Discrete categories

Let C be a category structure. We say that C is quasi-discrete if and only if: (Def.20) For all objects i, j of C such that ⟨i, j⟩ ≠ ∅ holds i = j.

We say that C is pseudo-discrete if and only if: (Def.21) For every object i of C holds ⟨i, i⟩ is trivial.

One can prove the following proposition

(26) Let C be a non empty category structure with units. Then C is pseudo-

discrete if and only if for every object o of C holds ⟨o, o⟩ = {id_{o}}. Let us observe that every category structure which is trivial is also quasi-

discrete.

One can prove the following proposition

(27) Ens_{1} is pseudo-discrete and trivial.

Let us note that there exists a category which is pseudo-discrete trivial and strict.

Let us observe that there exists a category which is quasi-discrete pseudodiscrete trivial and strict.

A discrete category is a quasi-discrete pseudo-discrete category. Let A be a non empty set. The functor DiscrCat(A) yields a quasi-discrete

strict non empty category structure and is defined by:

266 andrzej trybulec

(Def.22) The carrier of DiscrCat(A) = A and for every object i of DiscrCat(A) holds ⟨i, i⟩ = {id_{i}}.

One can verify that every category structure which is quasi-discrete is also transitive.

One can prove the following propositions:

(28) Let A be a non empty set and let o_{1}, o_{2}, o_{3} be objects of DiscrCat(A). If o_{1} ≠ o_{2} or o_{2} ≠ o_{3}, then (the composition of DiscrCat(A))(o_{1}, o_{2}, o_{3}) = ∅.

(29) For every non empty set A and for every object o of DiscrCat(A) holds (the composition of DiscrCat(A))(o, o, o) = [⟨id_{o}, id_{o}⟩ ↦ id_{o}].

Let A be a non empty set. Note that DiscrCat(A) is pseudo-functional pseudo-discrete and associative and has units.

References

[1] Stanisław Balcerzyk. Wstȩp do algebry homologicznej. Volume 34 of Biblioteka Matematyczna, PWN, Warszawa, 1972.

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

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

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

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

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

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

[8] Czesław Byliński. Introduction to categories and functors. Formalized Mathematics, 1(2):409–420, 1990.

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

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

[11] Saunders Mac Lane. Categories for the Working Mathematician. Volume 5 of Graduate Texts in Mathematics, Springer Verlag, New York, Heidelberg, Berlin, 1971.

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

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

[14] Zbigniew Semadeni and Antoni Wiweger. Wstȩp do teorii kategorii i funktorów. Volume 45 of Biblioteka Matematyczna, PWN, Warszawa, 1978.

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

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

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

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

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

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

categories without uniqueness of cod … 267

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

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

Received February 28, 1995 268

Extensions of Mappings on Generator Set

Artur Korniłowicz Warsaw University Białystok

Summary. The aim of the article is to prove the fact that if extensions of mappings on generator set are equal then these mappings are equal. The article contains the properties of epimorphisms & monomorphisms between Many Sorted Algebras.

MML Identifier: EXTENS 1.

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

1. Preliminaries

For simplicity we adopt the following convention: S will be a non void non empty many sorted signature, U_{1}, U_{2}, U_{3} will be non-empty algebras over S, I will be a set, A will be a many sorted set indexed by I, and B, C will be non-empty many sorted sets indexed by I.

We now state four propositions:

(1) For every binary relation R and for all sets X, Y such that X ⊆ Y holds (R Y)^{∘}X = R^{∘}X.

(2) Let A be a set, and let B, C be non empty sets, and let f be a function from A into B, and let g be a function from B into C, and let X be a subset of A. Then (g · f) X = g · (f X).

(3) For every function yielding function f holds dom(dom_{κ} f(κ)) = dom f.

(4) For every function yielding function f holds dom(rng_{κ} f(κ)) = dom f.

2. Facts about Many Sorted Functions

Next we state several propositions:

(5) Let F be a many sorted function from A into B and let X be a many sorted subset of A. If A ⊆ X, then F X = F.

(6) Let A, B be many sorted sets indexed by I, and let M be a many sorted subset of A, and let F be a many sorted function from A into B. Then F ^{∘} M ⊆ F ^{∘} A.

(7) Let F be a many sorted function from A into B and let M_{1}, M_{2} be many sorted subsets of A. If M_{1} ⊆ M_{2}, then (F M_{2})^{∘} M_{1} = F ^{∘} M_{1}.

(8) Let F be a many sorted function from A into B, and let G be a many sorted function from B into C, and let X be a many sorted subset of A. Then (G ∘ F) X = G ∘ (F X).

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

(10) Let F be a many sorted function from A into B and let X be a many sorted subset of A. If F is “1-1”, then F X is “1-1”.

3. dom’s & rng’s of Many Sorted Functions

Let us consider I and let F be a many sorted function of I. Then dom_{κ} F (κ) is a many sorted set indexed by I.

Let us consider I and let F be a many sorted function of I. Then rng_{κ} F (κ) is a many sorted set indexed by I.

We now state several propositions:

(11) For every many sorted function F from A into B and for every many sorted subset X of A holds dom_{κ} F X(κ) ⊆ dom_{κ} F (κ).

(12) For every many sorted function F from A into B and for every many sorted subset X of A holds rng_{κ} F X(κ) ⊆ rng_{κ} F (κ).

(13) Let A, B be many sorted sets indexed by I and let F be a many sorted function from A into B. Then F is “onto” if and only if rng_{κ} F (κ) = B.

(14) For every non-empty many sorted set X indexed by the carrier of S holds rng_{κ} Reverse(X)(κ) = X.

(15) Let F be a many sorted function from A into B, and let G be a many sorted function from B into C, and let X be a non-empty many sorted subset of B. If rng_{κ} F (κ) ⊆ X, then (G X) ∘ F = G ∘ F.

4. Other properties of ”onto” & ”1-1”

Next we state two propositions:

(16) Let F be a many sorted function from A into B. Then F is “onto” if and only if for every C and for all many sorted functions G, H from B into C such that G ∘ F = H ∘ F holds G = H.

(17) Let F be a many sorted function from A into B. Suppose A is nonempty and B is non-empty. Then F is “1-1” if and only if for every many sorted set C indexed by I and for all many sorted functions G, H from C into A such that F ∘ G = F ∘ H holds G = H.

5. Extensions of Mappings on Generator Set

We now state three propositions:

(18) Let X be a non-empty many sorted set indexed by the carrier of S and let h_{1}, h_{2} be many sorted functions from Free(X) into U_{1}. Suppose h_{1} is a homomorphism of Free(X) into U_{1} and h_{2} is a homomorphism of Free(X) into U_{1} and h_{1} FreeGenerator(X) = h_{2} FreeGenerator(X). Then h_{1} = h_{2}.

(19) Let F be a many sorted function from U_{1} into U_{2}. Suppose F is a homomorphism of U_{1} into U_{2}. Suppose F is an epimorphism of U_{1} onto U_{2}. Let U_{3} be a non-empty algebra over S and let h_{1}, h_{2} be many sorted functions from U_{2} into U_{3}. Suppose h_{1} is a homomorphism of U_{2} into U_{3} and h_{2} is a homomorphism of U_{2} into U_{3}. If h_{1} ∘F = h_{2} ∘F, then h_{1} = h_{2}.

(20) Let F be a many sorted function from U_{2} into U_{3}. Suppose F is a homomorphism of U_{2} into U_{3}. Then F is a monomorphism of U_{2} into U_{3} if and only if for every non-empty algebra U_{1} over S and for all many sorted functions h_{1}, h_{2} from U_{1} into U_{2} such that h_{1} is a homomorphism of U_{1} into U_{2} and h_{2} is a homomorphism of U_{1} into U_{2} holds if F ∘h_{1} = F ∘h_{2}, then h_{1} = h_{2}.

Let us consider S, U_{1}. Note that there exists a generator set of U_{1} which is non-empty.

We now state three propositions:

(21) For all non-empty subsets A, B of U_{1} such that A is a many sorted subset of B holds Gen(A) is a subalgebra of Gen(B).

(22) Let U_{2} be a non-empty subalgebra of U_{1}, and let B_{1} be a non-empty subset of U_{1}, and let B_{2} be a subset of U_{2}. If B_{1} = B_{2}, then Gen(B_{1}) = Gen(B_{2}).

(23) Let U_{1} be a strict non-empty algebra over S, and let U_{2} be a nonempty algebra over S, and let G_{1} be a non-empty generator set of U_{1}, and let h_{1}, h_{2} be many sorted functions from U_{1} into U_{2}. Suppose h_{1} is 272 artur korniłowicz

a homomorphism of U_{1} into U_{2} and h_{2} is a homomorphism of U_{1} into U_{2} and h_{1} G_{1} = h_{2} G_{1}. Then h_{1} = h_{2}.

References

[1] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

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

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

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

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

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

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

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

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

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

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

[12] Beata Perkowska. Free many sorted universal algebra. Formalized Mathematics, 5(1):67– 74, 1996.

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

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

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

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

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

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

Received March 23, 1995

Introduction to Circuits, II ^{1}

Yatsuka Nakamura Shinshu University, Nagano

Piotr Rudnicki University of Alberta, Edmonton

Andrzej Trybulec Warsaw University, Białystok

Pauline N. Kawamoto Shinshu University, Nagano

Summary. This article is the last in a series of four articles (preceded by [23,22,21]) about modelling circuits by many sorted algebras.

The notion of a circuit computation is defined as a sequence of circuit states. For a state of a circuit the next state is given by executing operations at circuit vertices in the current state, according to denotations of the operations. The values at input vertices at each state of a computation are provided by an external sequence of input values. The process of how input values propagate through a circuit is described in terms of a homomorphism of the free envelope algebra of the circuit into itself. We prove that every computation of a circuit over a finite monotonic signature and with constant input values stabilizes after executing the number of steps equal to the depth of the circuit.

MML Identifier: CIRCUIT2.

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

1. Circuit Inputs

In this paper I_{1} will be a monotonic circuit-like non void non empty many sorted signature.

The following proposition is true

1Partial funding for this work has been provided by: Shinshu Endowment Fund for Information Science, NSERC Grant OGP9207, JSTF award 651-93-S009.

(1) Let X be a non-empty many sorted set indexed by the carrier of I_{1}, and let H be a many sorted function from Free(X) into Free(X), and let H_{1} be a function yielding function, and let v be a sort symbol of I_{1}, and let p be a decorated tree yielding finite sequence, and let t be an element of (the sorts of Free(X))(v). Suppose that

(i) v ∈ InnerVertices(I_{1}), (ii) t = ⟨⟨the action at v, the carrier of I_{1}⟩⟩-tree(p), (iii) H is a homomorphism of Free(X) into Free(X), and (iv) H_{1} = H · Arity(the action at v).

Then there exists a decorated tree yielding finite sequence H_{2} such that H_{2} = H_{1} p and H(v)(t) = ⟨⟨the action at v, the carrier of I_{1}⟩⟩-tree(H_{2}).

Let us consider I_{1}, let S_{1} be a non-empty circuit of I_{1}, let s be a state of S_{1}, and let i_{1} be an input assignment of S_{1}. Then s +· i_{1} is a state of S_{1}.

Let us consider I_{1}, let A be a non-empty circuit of I_{1}, and let i_{1} be an input assignment of A. The functor FixInput(i_{1}) yields a many sorted function from FreeGenerator(the sorts of A) into the sorts of FreeEnvelope(A) and is defined by the condition (Def.1).

(Def.1) Let v be a vertex of I_{1}. Then

(i) if v ∈ InputVertices(I_{1}), then (FixInput(i_{1}))(v) = FreeGenerator(v, the sorts of A) ⟼ the root tree of ⟨⟨i_{1}(v), v⟩⟩,

(ii) if v ∈ SortsWithConstants(I_{1}), then (FixInput(i_{1}))(v) = FreeGenerator(v, the sorts of A) ⟼ the root tree of ⟨⟨the action at v, the carrier of I_{1}⟩⟩, and

(iii) if v ∈ InnerVertices(I_{1}) \ SortsWithConstants(I_{1}), then

(FixInput(i_{1}))(v) = id_{FreeGenerator(v,the sorts of A)}. Let us consider I_{1}, let A be a non-empty circuit of I_{1}, and let i_{1} be an input

assignment of A. The functor FixInputExt(i_{1}) yields a many sorted function from FreeEnvelope(A) into FreeEnvelope(A) and is defined by:

(Def.2) FixInputExt(i_{1}) is a homomorphism of FreeEnvelope(A) into

FreeEnvelope(A) and FixInput(i_{1}) ⊆ FixInputExt(i_{1}). The following propositions are true:

(2) Let A be a non-empty circuit of I_{1}, and let i_{1} be an input assignment of A, and let v be a vertex of I_{1}, and let e be an element of (the sorts of FreeEnvelope(A))(v), and let x be arbitrary. If v ∈ InnerVertices(I_{1}) \ SortsWithConstants(I_{1}) and e = the root tree of ⟨⟨x, v⟩⟩, then (FixInputExt(i_{1}))(v)(e) = e.

(3) Let A be a non-empty circuit of I_{1}, and let i_{1} be an input assignment of A, and let v be a vertex of I_{1}, and let x be an element of (the sorts of A)(v). If v ∈ InputVertices(I_{1}), then (FixInputExt(i_{1}))(v)(the root tree of ⟨⟨x, v⟩⟩) = the root tree of ⟨⟨i_{1}(v), v⟩⟩.

(4) Let A be a non-empty circuit of I_{1}, and let i_{1} be an input assignment of A, and let v be a vertex of I_{1}, and let e be an element of (the sorts of FreeEnvelope(A))(v), and let p, q be decorated tree yielding finite sequences. Suppose that

(i) v ∈ InnerVertices(I_{1}), (ii) e = ⟨⟨the action at v, the carrier of I_{1}⟩⟩-tree(p), (iii) dom p = dom q, and (iv) for every natural number k such that k ∈ dom p holds q(k) =

(FixInputExt(i_{1}))(π_{k} Arity(the action at v))(p(k)). Then (FixInputExt(i_{1}))(v)(e) = ⟨⟨the action at v, the carrier of I_{1}⟩⟩-tree(q).

(5) Let A be a non-empty circuit of I_{1}, and let i_{1} be an input assignment of A, and let v be a vertex of I_{1}, and let e be an element of (the sorts of FreeEnvelope(A))(v). Suppose v ∈ SortsWithConstants(I_{1}). Then (FixInputExt(i_{1}))(v)(e) = the root tree of ⟨⟨the action at v, the carrier of I_{1}⟩⟩.

(6) Let A be a non-empty circuit of I_{1}, and let i_{1} be an input assignment of A, and let v be a vertex of I_{1}, and let e, e_{1} be elements of (the sorts of FreeEnvelope(A))(v), and let t, t_{1} be decorated trees. If t = e and t_{1} = e_{1} and e_{1} = (FixInputExt(i_{1}))(v)(e), then dom t = dom t_{1}.

(7) Let A be a non-empty circuit of I_{1}, and let i_{1} be an input assignment of A, and let v be a vertex of I_{1}, and let e, e_{1} be elements of (the sorts of FreeEnvelope(A))(v). If e_{1} = (FixInputExt(i_{1}))(v)(e), then card e = card e_{1}.

Let us consider I_{1}, let S_{1} be a non-empty circuit of I_{1}, let v be a vertex of I_{1}, and let i_{1} be an input assignment of S_{1}. The functor InputGenTree(v, i_{1}) yields an element of (the sorts of FreeEnvelope(S_{1}))(v) and is defined by: (Def.3) There exists an element e of (the sorts of FreeEnvelope(S_{1}))(v) such that

card e = size(v, S_{1}) and InputGenTree(v, i_{1}) = (FixInputExt(i_{1}))(v)(e). We now state two propositions:

(8) Let S_{1} be a non-empty circuit of I_{1}, and let v be a vertex of I_{1}, and let i_{1} be an input assignment of S_{1}. Then InputGenTree(v, i_{1}) = (FixInputExt(i_{1}))(v)(InputGenTree(v, i_{1})).

(9) Let S_{1} be a non-empty circuit of I_{1}, and let v be a vertex of I_{1}, and let i_{1} be an input assignment of S_{1}, and let p be a decorated tree yielding finite sequence. Suppose that

(i) v ∈ InnerVertices(I_{1}), (ii) dom p = dom Arity(the action at v), and (iii) for every natural number k such that k ∈ dom p holds p(k) =

InputGenTree(π_{k} Arity(the action at v), i_{1}). Then InputGenTree(v, i_{1}) = ⟨⟨the action at v, the carrier of I_{1}⟩⟩-tree(p).

Let us consider I_{1}, let S_{1} be a non-empty circuit of I_{1}, let v be a vertex of I_{1}, and let i_{1} be an input assignment of S_{1}. The functor InputGenValue(v, i_{1}) yields an element of (the sorts of S_{1})(v) and is defined by: (Def.4) InputGenValue(v, i_{1}) = (Eval(S_{1}))(v)(InputGenTree(v, i_{1})).

The following propositions are true:

(10) Let S_{1} be a non-empty circuit of I_{1}, and let v be a vertex of I_{1}, and let i_{1} be an input assignment of S_{1}. If v ∈ InputVertices(I_{1}), then InputGenValue(v, i_{1}) = i_{1}(v).

(11) Let S_{1} be a non-empty circuit of I_{1}, and let v be a vertex of I_{1}, and let i_{1} be an input assignment of S_{1}. If v ∈ SortsWithConstants(I_{1}), then InputGenValue(v, i_{1}) = (Set-Constants(S_{1}))(v).

2. Circuit Computations

Let I_{1} be a circuit-like non void non empty many sorted signature, let S_{1} be a non-empty circuit of I_{1}, and let s be a state of S_{1}. The functor Following(s) yielding a state of S_{1} is defined by the condition (Def.5). (Def.5) Let v be a vertex of I_{1}. Then if v ∈ InputVertices(I_{1}),

then (Following(s))(v) = s(v) and if v ∈ InnerVertices(I_{1}), then (Following(s))(v) = (Den(the action at v, S_{1}))((the action at v) depends-on-in s).

Next we state the proposition

(12) Let S_{1} be a non-empty circuit of I_{1}, and let s be a state of S_{1}, and let

i_{1} be an input assignment of S_{1}. If i_{1} ⊆ s, then i_{1} ⊆ Following(s). Let I_{1} be a circuit-like non void non empty many sorted signature and let S_{1}

be a non-empty circuit of I_{1}. A state of S_{1} is stable if: (Def.6) It = Following(it).

Let us consider I_{1}, let S_{1} be a non-empty circuit of I_{1}, let s be a state of S_{1}, and let i_{1} be an input assignment of S_{1}. The functor Following(s, i_{1}) yielding a state of S_{1} is defined by: (Def.7) Following(s, i_{1}) = Following(s +· i_{1}).

Let us consider I_{1}, let S_{1} be a non-empty circuit of I_{1}, let I_{2} be an input function of S_{1}, and let s be a state of S_{1}. The functor InitialComp(s, I_{2}) yielding a state of S_{1} is defined as follows: (Def.8) InitialComp(s, I_{2}) = s +· (0-th-input(I_{2})) +· Set-Constants(S_{1}).

Let us consider I_{1}, let S_{1} be a non-empty circuit of I_{1}, let I_{2} be an input function of S_{1}, and let s be a state of S_{1}. The functor Computation(s, I_{2}) yielding a function from into ∏ (the sorts of S_{1}) is defined by the conditions (Def.9). (Def.9) (i) (Computation(s, I_{2}))(0) = InitialComp(s, I_{2}), and

(ii) for every natural number i and for every state x of S_{1} such that x = (Computation(s, I_{2}))(i) holds (Computation(s, I_{2}))(i + 1) = Following(x, (i + 1)-th-input(I_{2})).

In the sequel S_{1} denotes a non-empty circuit of I_{1}, s denotes a state of S_{1}, and i_{1} denotes an input assignment of S_{1}.

Next we state the proposition

(13) Let k be a natural number. Suppose that for every vertex v of I_{1} such that depth(v, S_{1}) ≤ k holds s(v) = InputGenValue(v, i_{1}). Let v_{1} be a vertex of I_{1}. If depth(v_{1}, S_{1}) ≤ k + 1, then (Following(s))(v_{1}) = InputGenValue(v_{1}, i_{1}).

For simplicity we adopt the following convention: I_{1} is a finite monotonic circuit-like non void non empty many sorted signature, S_{1} is a non-empty circuit of I_{1}, I_{2} is an input function of S_{1}, s is a state of S_{1}, and i_{1} is an input assignment of S_{1}.

We now state several propositions:

(14) If commute(I_{2}) is constant and InputVertices(I_{1}) is non empty, then for all s, i_{1} such that i_{1} = (commute(I_{2}))(0) and for every natural number k holds i_{1} ⊆ (Computation(s, I_{2}))(k).

(15) Let n be a natural number. Suppose commute(I_{2}) is constant and InputVertices(I_{1}) is non empty and (Computation(s, I_{2}))(n) is stable. Let m be a natural number. If n ≤ m, then (Computation(s, I_{2}))(n) = (Computation(s, I_{2}))(m).

(16) Suppose commute(I_{2}) is constant and InputVertices(I_{1}) is non empty. Given s, i_{1}. Suppose i_{1} = (commute(I_{2}))(0). Let k be a natural number and let v be a vertex of I_{1}. If depth(v, S_{1}) ≤ k, then ((Computation(s, I_{2}))(k) qua element of ∏ (the sorts of S_{1}))(v) = InputGenValue(v, i_{1}).

(17) Suppose commute(I_{2}) is constant and InputVertices(I_{1}) is non empty and i_{1} = (commute(I_{2}))(0). Let s be a state of S_{1} and let v be a vertex of I_{1}. Then ((Computation(s, I_{2}))(depth(S_{1})) qua state of S_{1})(v) = InputGenValue(v, i_{1}).

(18) If commute(I_{2}) is constant and InputVertices(I_{1}) is non empty, then for every state s of S_{1} holds (Computation(s, I_{2}))(depth(S_{1})) is stable.

(19) If commute(I_{2}) is constant and InputVertices(I_{1}) is non empty, then for all states s_{1}, s_{2} of S_{1} holds (Computation(s_{1}, I_{2}))(depth(S_{1})) = (Computation(s_{2}, I_{2}))(depth(S_{1})).

References

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

[2] Grzegorz Bancerek. Cartesian product of functions. Formalized Mathematics, 2(4):547– 552, 1991.

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

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

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

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

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

[8] Grzegorz Bancerek. Terms over many sorted universal algebra. Formalized Mathematics, 5(2):191–198, 1996.

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

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

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

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

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

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

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

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

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

[18] Jarosław Kotowicz. Monotone real sequences. Subsequences. Formalized Mathematics, 1(3):471–475, 1990.

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

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

[21] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Introduction to circuits, I. Formalized Mathematics, 5(2):227–232, 1996.

[22] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, II. Formalized Mathematics, 5(2):215–220, 1996.

[23] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, I. Formalized Mathematics, 5(2):167–172, 1996.

[24] Beata Perkowska. Free many sorted universal algebra. Formalized Mathematics, 5(1):67– 74, 1996.

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

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

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

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

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

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

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

Received April 10, 1995

Definitions and Basic Properties of Boolean & Union of Many Sorted Sets

Artur Korniłowicz Warsaw University Białystok

Summary. In the first part of this article I have proved theorems about boolean of many sorted sets which are corresponded to theorems about boolean of sets, whereas the second part of this article contains propositions about union of many sorted sets. Boolean as well as union of many sorted sets are defined as boolean and union on every sorts.

MML Identifier: MBOOLEAN.

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

1. Boolean of Many Sorted Sets

We follow a convention: I will denote a set, A, B, X, Y will denote many sorted sets indexed by I, and x, y will be arbitrary.

Let us consider I, A. The functor 2^{A} yielding a many sorted set indexed by I is defined as follows: (Def.1) For arbitrary i such that i ∈ I holds 2^{A}(i) = 2^{A(i)}.

Let us consider I, A. Note that 2^{A} is non-empty.

One can prove the following propositions:

(1) X = 2^{Y} iff for every A holds A ∈ X iff A ⊆ Y.

(2) 2^{∅_{I}} = I ⟼ {∅}.

(3) 2^{I⟼x} = I ⟼ 2^{x}.

(4) 2^{I⟼{x}} = I ⟼ {∅, {x}}.

(5) ∅_{I} ∈ 2^{A}.

(6) If A ⊆ B, then 2^{A} ⊆ 2^{B}.

(7) 2^{A} ∪ 2^{B} ⊆ 2^{A∪B}.

(8) If 2^{A}∪2^{B} = 2^{A∪B}, then for arbitrary i such that i ∈ I holds A(i) ⊆ B(i) or B(i) ⊆ A(i).

(9) 2^{A∩B} = 2^{A} ∩ 2^{B}.

(10) 2^{A\B} ⊆ (I ⟼ {∅}) ∪ (2^{A} \ 2^{B}).

(11) X ∈ 2^{A\B} iff X ⊆ A and X misses B.

(12) 2^{A\B} ∪ 2^{B\A} ⊆ 2^{A− . B}.

(13) X ∈ 2^{A− . B} iff X ⊆ A ∪ B and X misses A ∩ B.

(14) If X ∈ 2^{A} and Y ∈ 2^{A}, then X ∪ Y ∈ 2^{A}.

(15) If X ∈ 2^{A} or Y ∈ 2^{A}, then X ∩ Y ∈ 2^{A}.

(16) If X ∈ 2^{A}, then X \ Y ∈ 2^{A}.

(17) If X ∈ 2^{A} and Y ∈ 2^{A}, then X− . Y ∈ 2^{A}.

(18) [[X, Y]] ⊆ 2^{2^{X∪Y}} .

(19) X ⊆ A iff X ∈ 2^{A}.

(20) MSFuncs(A, B) ⊆ 2^{[[A,B]]}.

2. Union of Many Sorted Sets

Let us consider I, A. The functor ⋃ A yields a many sorted set indexed by I and is defined as follows: (Def.2) For arbitrary i such that i ∈ I holds (⋃ A)(i) = ⋃ A(i).

Let us consider I. Observe that ⋃(∅_{I}) is empty yielding.

We now state a number of propositions:

(21) A ∈ ⋃ X iff there exists Y such that A ∈ Y and Y ∈ X.

(22) ⋃(∅_{I}) = ∅_{I}.

(23) ⋃(I ⟼ x) = I ⟼ ⋃ x.

(24) ⋃(I ⟼ {x}) = I ⟼ x.

(25) ⋃(I ⟼ {{x}, {y}}) = I ⟼ {x, y}.

(26) If X ∈ A, then X ⊆ ⋃ A.

(27) If A ⊆ B, then ⋃ A ⊆ ⋃ B.

(28) ⋃(A ∪ B) = ⋃ A ∪ ⋃ B.

(29) ⋃(A ∩ B) ⊆ ⋃ A ∩ ⋃ B.

(30) ⋃(2^{A}) = A.

(31) A ⊆ 2^{⋃ A}.

(32) If ⋃ Y ⊆ A and X ∈ Y, then X ⊆ A.

definitions and basic properties of boolean … 281

(33) Let Z be a many sorted set indexed by I and let A be a non-empty many sorted set indexed by I. Suppose that for every many sorted set X indexed by I such that X ∈ A holds X ⊆ Z. Then ⋃ A ⊆ Z.

(34) Let B be a many sorted set indexed by I and let A be a non-empty many sorted set indexed by I. Suppose that for every many sorted set X indexed by I such that X ∈ A holds X ∩ B = ∅_{I}. Then ⋃ A ∩ B = ∅_{I}.

(35) Let A, B be many sorted sets indexed by I. Suppose A ∪ B is nonempty. Suppose that for all many sorted sets X, Y indexed by I such that X ≠ Y and X ∈ A ∪ B and Y ∈ A ∪ B holds X ∩ Y = ∅_{I}. Then ⋃(A ∩ B) = ⋃ A ∩ ⋃ B.

(36) Let A, X be many sorted sets indexed by I and let B be a non-empty many sorted set indexed by I. Suppose X ⊆ ⋃(A ∪ B) and for every many sorted set Y indexed by I such that Y ∈ B holds Y ∩ X = ∅_{I}. Then X ⊆ ⋃ A.

(37) Let A be a locally-finite non-empty many sorted set indexed by I. Suppose that for all many sorted sets X, Y indexed by I such that X ∈ A and Y ∈ A holds X ⊆ Y or Y ⊆ X. Then ⋃ A ∈ A.

References

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

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

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

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

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

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

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

[8] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, I. Formalized Mathematics, 5(2):167–172, 1996.

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

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

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

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

Received April 27, 1995 282

Combining of Circuits ^{1}

Yatsuka Nakamura Shinshu University, Nagano

Grzegorz Bancerek Institute of Mathematics Polish Academy of Sciences

Summary. We continue the formalisation of circuits started in [15,14,13,12]. Our goal was to work out the notation of combining circuits which could be employed to prove the properties of real circuits.

MML Identifier: CIRCCOMB.

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

1. Combining of Many Sorted Signatures

Let S be a many sorted signature. A gate of S is an element of the operation symbols of S.

Let A be a set and let X be a set. Then A ⟼ X is a many sorted set indexed by A.

Let A be a set and let X be a non empty set. One can check that A ⟼ X is non-empty.

Let A be a set and let f be a function. One can verify that A ⟼ f is function yielding.

Let f, g be non-empty functions. Note that f +· g is non-empty.

Let A, B be sets, let f be a many sorted set indexed by A, and let g be a many sorted set indexed by B. Then f +· g is a many sorted set indexed by A ∪ B.

We now state several propositions:

1This work was written while the second author visited Shinshu University, July–August 1994.

(1) For all functions f_{1}, f_{2}, g_{1}, g_{2} such that rng g_{1} ⊆ dom f_{1} and rng g_{2} ⊆ dom f_{2} and f_{1} ≈ f_{2} holds (f_{1} +· f_{2}) · (g_{1} +· g_{2}) = f_{1} · g_{1} +· f_{2} · g_{2}.

(2) For all functions f_{1}, f_{2}, g such that rng g ⊆ dom f_{1} and rng g ⊆ dom f_{2} and f_{1} ≈ f_{2} holds f_{1} · g = f_{2} · g.

(3) Let A, B be sets, and let f be a many sorted set indexed by A, and let g be a many sorted set indexed by B. If f ⊆ g, then f^{#} ⊆ g^{#}.

(4) For all sets X, Y, x, y holds X ⟼ x ≈ Y ⟼ y iff x = y or X misses Y.

(5) For all functions f, g, h such that f ≈ g and g ≈ h and h ≈ f holds f +· g ≈ h.

(6) For every set X and for every non empty set Y and for every finite sequence p of elements of X holds (X ⟼ Y)^{#}(p) = Y^{len p}.

Let A be a set, let f_{1}, g_{1} be non-empty many sorted sets indexed by A, let B be a set, let f_{2}, g_{2} be non-empty many sorted sets indexed by B, let h_{1} be a many sorted function from f_{1} into g_{1}, and let h_{2} be a many sorted function from f_{2} into g_{2}. Then h_{1} +· h_{2} is a many sorted function from f_{1} +· f_{2} into g_{1} +· g_{2}.

Let S_{1}, S_{2} be many sorted signatures. The predicate S_{1} ≈ S_{2} is defined by: (Def.1) The arity of S_{1} ≈ the arity of S_{2} and the result sort of S_{1} ≈ the result

sort of S_{2}. Let us notice that this predicate is reflexive and symmetric.

Let S_{1}, S_{2} be non empty many sorted signatures. The functor S_{1} +· S_{2} yielding a strict non empty many sorted signature is defined by the conditions (Def.2). (Def.2) (i) The carrier of S_{1} +· S_{2} = (the carrier of S_{1}) ∪ (the carrier of S_{2}),

(ii) the operation symbols of S_{1}+·S_{2} = (the operation symbols of S_{1})∪(the

operation symbols of S_{2}), (iii) the arity of S_{1} +· S_{2} = (the arity of S_{1}) +· (the arity of S_{2}), and (iv) the result sort of S_{1} +· S_{2} = (the result sort of S_{1}) +· (the result sort

of S_{2}). The following propositions are true:

(7) For all non empty many sorted signatures S_{1}, S_{2}, S_{3} such that S_{1} ≈ S_{2} and S_{2} ≈ S_{3} and S_{3} ≈ S_{1} holds S_{1} +· S_{2} ≈ S_{3}.

(8) For every non empty many sorted signature S holds S +· S = the many sorted signature of S.

(9) For all non empty many sorted signatures S_{1}, S_{2} such that S_{1} ≈ S_{2} holds S_{1} +· S_{2} = S_{2} +· S_{1}.

(10) For all non empty many sorted signatures S_{1}, S_{2}, S_{3} holds (S_{1} +· S_{2}) +·

S_{3} = S_{1} +· (S_{2} +· S_{3}). One can verify that there exists a function which is one-to-one. Next we state four propositions:

(11) Let f be an one-to-one function and let S_{1}, S_{2} be circuit-like non empty many sorted signatures. Suppose the result sort of S_{1} ⊆ f and the result

sort of S_{2} ⊆ f. Then S_{1} +· S_{2} is circuit-like.

(12) For all circuit-like non empty many sorted signatures S_{1}, S_{2} such that InnerVertices(S_{1}) misses InnerVertices(S_{2}) holds S_{1} +· S_{2} is circuit-like.

(13) For all non empty many sorted signatures S_{1}, S_{2} such that S_{1} is not void or S_{2} is not void holds S_{1} +· S_{2} is non void.

(14) For all finite non empty many sorted signatures S_{1}, S_{2} holds S_{1} +· S_{2} is finite.

Let S_{1} be a non void non empty many sorted signature and let S_{2} be a non empty many sorted signature. Observe that S_{1} +· S_{2} is non void and S_{2} +· S_{1} is non void.

We now state several propositions:

(15) For all non empty many sorted signatures S_{1}, S_{2} such that S_{1} ≈ S_{2} holds InnerVertices(S_{1} +·S_{2}) = InnerVertices(S_{1})∪InnerVertices(S_{2}) and InputVertices(S_{1} +· S_{2}) ⊆ InputVertices(S_{1}) ∪ InputVertices(S_{2}).

(16) For all non empty many sorted signatures S_{1}, S_{2} and for every vertex v_{2} of S_{2} such that v_{2} ∈ InputVertices(S_{1} +·S_{2}) holds v_{2} ∈ InputVertices(S_{2}).

(17) Let S_{1}, S_{2} be non empty many sorted signatures. If S_{1} ≈ S_{2}, then for every vertex v_{1} of S_{1} such that v_{1} ∈ InputVertices(S_{1} +· S_{2}) holds v_{1} ∈ InputVertices(S_{1}).

(18) Let S_{1} be a non empty many sorted signature, and let S_{2} be a non void non empty many sorted signature, and let o_{2} be an operation symbol of S_{2}, and let o be an operation symbol of S_{1} +· S_{2}. Suppose o_{2} = o. Then Arity(o) = Arity(o_{2}) and the result sort of o = the result sort of o_{2}.

(19) Let S_{1} be a non empty many sorted signature and let S_{2}, S be circuitlike non void non empty many sorted signatures. Suppose S = S_{1} +· S_{2}. Let v_{2} be a vertex of S_{2}. Suppose v_{2} ∈ InnerVertices(S_{2}). Let v be a vertex of S. If v_{2} = v, then v ∈ InnerVertices(S) and the action at v = the action at v_{2}.

(20) Let S_{1} be a non void non empty many sorted signature and let S_{2} be a non empty many sorted signature. Suppose S_{1} ≈ S_{2}. Let o_{1} be an operation symbol of S_{1} and let o be an operation symbol of S_{1} +· S_{2}. Suppose o_{1} = o. Then Arity(o) = Arity(o_{1}) and the result sort of o = the result sort of o_{1}.

(21) Let S_{1}, S be circuit-like non void non empty many sorted signatures and let S_{2} be a non empty many sorted signature. Suppose S_{1} ≈ S_{2} and S = S_{1} +· S_{2}. Let v_{1} be a vertex of S_{1}. Suppose v_{1} ∈ InnerVertices(S_{1}). Let v be a vertex of S. If v_{1} = v, then v ∈ InnerVertices(S) and the action at v = the action at v_{1}.

2. Combinig of Circuits

Let S_{1}, S_{2} be non empty many sorted signatures, let A_{1} be an algebra over S_{1}, and let A_{2} be an algebra over S_{2}. The predicate A_{1} ≈ A_{2} is defined by: (Def.3) S_{1} ≈ S_{2} and the sorts of A_{1} ≈ the sorts of A_{2} and the characteristics of

A_{1} ≈ the characteristics of A_{2}. Let S_{1}, S_{2} be non empty many sorted signatures, let A_{1} be a non-empty

algebra over S_{1}, and let A_{2} be a non-empty algebra over S_{2}. Let us assume that the sorts of A_{1} ≈ the sorts of A_{2}. The functor A_{1} +·A_{2} yields a strict non-empty algebra over S_{1} +· S_{2} and is defined by the conditions (Def.4). (Def.4) (i) The sorts of A_{1} +· A_{2} = (the sorts of A_{1}) +· (the sorts of A_{2}), and

(ii) the characteristics of A_{1} +· A_{2} = (the characteristics of A_{1}) +· (the

characteristics of A_{2}). The following propositions are true:

(22) For every non void non empty many sorted signature S and for every algebra A over S holds A ≈ A.

(23) Let S_{1}, S_{2} be non void non empty many sorted signatures, and let A_{1} be an algebra over S_{1}, and let A_{2} be an algebra over S_{2}. If A_{1} ≈ A_{2}, then A_{2} ≈ A_{1}.

(24) Let S_{1}, S_{2}, S_{3} be non empty many sorted signatures, and let A_{1} be a non-empty algebra over S_{1}, and let A_{2} be a non-empty algebra over S_{2}, and let A_{3} be an algebra over S_{3}. If A_{1} ≈ A_{2} and A_{2} ≈ A_{3} and A_{3} ≈ A_{1}, then A_{1} +· A_{2} ≈ A_{3}.

(25) Let S be a strict non empty many sorted signature and let A be a non-empty algebra over S. Then A +· A = the algebra of A.

(26) Let S_{1}, S_{2} be non empty many sorted signatures, and let A_{1} be a nonempty algebra over S_{1}, and let A_{2} be a non-empty algebra over S_{2}. If A_{1} ≈ A_{2}, then A_{1} +· A_{2} = A_{2} +· A_{1}.

(27) Let S_{1}, S_{2}, S_{3} be non empty many sorted signatures, and let A_{1} be a non-empty algebra over S_{1}, and let A_{2} be a non-empty algebra over S_{2}, and let A_{3} be a non-empty algebra over S_{3}. Suppose that

(i) the sorts of A_{1} ≈ the sorts of A_{2}, (ii) the sorts of A_{2} ≈ the sorts of A_{3}, and (iii) the sorts of A_{3} ≈ the sorts of A_{1}.

Then (A_{1} +· A_{2}) +· A_{3} = A_{1} +· (A_{2} +· A_{3}).

(28) Let S_{1}, S_{2} be non empty many sorted signatures, and let A_{1} be a locallyfinite non-empty algebra over S_{1}, and let A_{2} be a locally-finite non-empty algebra over S_{2}. If the sorts of A_{1} ≈ the sorts of A_{2}, then A_{1} +· A_{2} is locally-finite.

(29) For all non-empty functions f, g and for every element x of ∏ f and for every element y of ∏ g holds x +· y ∈ ∏(f +· g).

(30) For all non-empty functions f, g and for every element x of ∏(f +· g) holds x dom g ∈ ∏ g.

(31) For all non-empty functions f, g such that f ≈ g and for every element x of ∏(f +· g) holds x dom f ∈ ∏ f.

(32) Let S_{1}, S_{2} be non empty many sorted signatures, and let A_{1} be a nonempty algebra over S_{1}, and let s_{1} be an element of ∏ (the sorts of A_{1}), and let A_{2} be a non-empty algebra over S_{2}, and let s_{2} be an element of ∏ (the sorts of A_{2}). If the sorts of A_{1} ≈ the sorts of A_{2}, then s_{1} +· s_{2} ∈ ∏ (the sorts of A_{1} +· A_{2}).

(33) Let S_{1}, S_{2} be non empty many sorted signatures, and let A_{1} be a non-empty algebra over S_{1}, and let A_{2} be a non-empty algebra over S_{2}. Suppose the sorts of A_{1} ≈ the sorts of A_{2}. Let s be an element of ∏ (the sorts of A_{1} +· A_{2}). Then s (the carrier of S_{1}) ∈ ∏ (the sorts of A_{1}) and s (the carrier of S_{2}) ∈ ∏ (the sorts of A_{2}).

(34) Let S_{1}, S_{2} be non void non empty many sorted signatures, and let A_{1} be a non-empty algebra over S_{1}, and let A_{2} be a non-empty algebra over S_{2}. Suppose the sorts of A_{1} ≈ the sorts of A_{2}. Let o be an operation symbol of S_{1} +· S_{2} and let o_{2} be an operation symbol of S_{2}. If o = o_{2}, then Den(o, A_{1} +· A_{2}) = Den(o_{2}, A_{2}).

(35) Let S_{1}, S_{2} be non void non empty many sorted signatures, and let A_{1} be a non-empty algebra over S_{1}, and let A_{2} be a non-empty algebra over S_{2}. Suppose the sorts of A_{1} ≈ the sorts of A_{2} and the characteristics of A_{1} ≈ the characteristics of A_{2}. Let o be an operation symbol of S_{1} +· S_{2} and let o_{1} be an operation symbol of S_{1}. If o = o_{1}, then Den(o, A_{1}+·A_{2}) = Den(o_{1}, A_{1}).

(36) Let S_{1}, S_{2}, S be non void circuit-like non empty many sorted signatures. Suppose S = S_{1} +· S_{2}. Let A_{1} be a non-empty circuit of S_{1}, and let A_{2} be a non-empty circuit of S_{2}, and let A be a non-empty circuit of S, and let s be a state of A, and let s_{2} be a state of A_{2}. Suppose s_{2} = s (the carrier of S_{2}). Let g be a gate of S and let g_{2} be a gate of S_{2}. If g = g_{2}, then g depends-on-in s = g_{2} depends-on-in s_{2}.

(37) Let S_{1}, S_{2}, S be non void circuit-like non empty many sorted signatures. Suppose S = S_{1} +· S_{2} and S_{1} ≈ S_{2}. Let A_{1} be a non-empty circuit of S_{1}, and let A_{2} be a non-empty circuit of S_{2}, and let A be a non-empty circuit of S, and let s be a state of A, and let s_{1} be a state of A_{1}. Suppose s_{1} = s (the carrier of S_{1}). Let g be a gate of S and let g_{1} be a gate of S_{1}. If g = g_{1}, then g depends-on-in s = g_{1} depends-on-in s_{1}.

(38) Let S_{1}, S_{2}, S be non void circuit-like non empty many sorted signatures. Suppose S = S_{1} +· S_{2}. Let A_{1} be a non-empty circuit of S_{1}, and let A_{2} be a non-empty circuit of S_{2}, and let A be a non-empty circuit of S. Suppose A_{1} ≈ A_{2} and A = A_{1} +· A_{2}. Let s be a state of A and let v be a vertex of S. Then

(i) for every state s_{1} of A_{1} such that s_{1} = s (the carrier of S_{1}) holds if v ∈ InnerVertices(S_{1}) or v ∈ the carrier of S_{1} and v ∈ InputVertices(S), then (Following(s))(v) = (Following(s_{1}))(v), and

(ii) for every state s_{2} of A_{2} such that s_{2} = s (the carrier of S_{2}) holds if v ∈ InnerVertices(S_{2}) or v ∈ the carrier of S_{2} and v ∈ InputVertices(S), then (Following(s))(v) = (Following(s_{2}))(v).

(39) Let S_{1}, S_{2}, S be non void circuit-like non empty many sorted signatures. Suppose InnerVertices(S_{1}) misses InputVertices(S_{2}) and S = S_{1}+·S_{2}. Let A_{1} be a non-empty circuit of S_{1}, and let A_{2} be a non-empty circuit of S_{2}, and let A be a non-empty circuit of S. Suppose A_{1} ≈ A_{2} and A = A_{1}+·A_{2}. Let s be a state of A, and let s_{1} be a state of A_{1}, and let s_{2} be a state of A_{2}. Suppose s_{1} = s (the carrier of S_{1}) and s_{2} = s (the carrier of S_{2}). Then Following(s) = Following(s_{1}) +· Following(s_{2}).

(40) Let S_{1}, S_{2}, S be non void circuit-like non empty many sorted signatures. Suppose InnerVertices(S_{2}) misses InputVertices(S_{1}) and S = S_{1}+·S_{2}. Let A_{1} be a non-empty circuit of S_{1}, and let A_{2} be a non-empty circuit of S_{2}, and let A be a non-empty circuit of S. Suppose A_{1} ≈ A_{2} and A = A_{1}+·A_{2}. Let s be a state of A, and let s_{1} be a state of A_{1}, and let s_{2} be a state of A_{2}. Suppose s_{1} = s (the carrier of S_{1}) and s_{2} = s (the carrier of S_{2}). Then Following(s) = Following(s_{2}) +· Following(s_{1}).

(41) Let S_{1}, S_{2}, S be non void circuit-like non empty many sorted signatures. Suppose InputVertices(S_{1}) ⊆ InputVertices(S_{2}) and S = S_{1} +· S_{2}. Let A_{1} be a non-empty circuit of S_{1}, and let A_{2} be a non-empty circuit of S_{2}, and let A be a non-empty circuit of S. Suppose A_{1} ≈ A_{2} and A = A_{1} +· A_{2}. Let s be a state of A, and let s_{1} be a state of A_{1}, and let s_{2} be a state of A_{2}. Suppose s_{1} = s (the carrier of S_{1}) and s_{2} = s (the carrier of S_{2}). Then Following(s) = Following(s_{2}) +· Following(s_{1}).

(42) Let S_{1}, S_{2}, S be non void circuit-like non empty many sorted signatures. Suppose InputVertices(S_{2}) ⊆ InputVertices(S_{1}) and S = S_{1} +· S_{2}. Let A_{1} be a non-empty circuit of S_{1}, and let A_{2} be a non-empty circuit of S_{2}, and let A be a non-empty circuit of S. Suppose A_{1} ≈ A_{2} and A = A_{1} +· A_{2}. Let s be a state of A, and let s_{1} be a state of A_{1}, and let s_{2} be a state of A_{2}. Suppose s_{1} = s (the carrier of S_{1}) and s_{2} = s (the carrier of S_{2}). Then Following(s) = Following(s_{1}) +· Following(s_{2}).

3. Signatures with One Operation

Let A, B be non empty sets and let a be an element of A. Then B ⟼ a is a function from B into A.

Let f be a set, let p be a finite sequence, and let x be a set. The functor 1GateCircStr(p, f, x) yields a non void strict many sorted signature and is defined by the conditions (Def.5). (Def.5) (i) The carrier of 1GateCircStr(p, f, x) = rng p ∪ {x},

(ii) the operation symbols of 1GateCircStr(p, f, x) = {⟨⟨p, f⟩⟩}, (iii) (the arity of 1GateCircStr(p, f, x))(⟨⟨p, f⟩⟩) = p, and (iv) (the result sort of 1GateCircStr(p, f, x))(⟨⟨p, f⟩⟩) = x. Let f be a set, let p be a finite sequence, and let x be a set. Note that

1GateCircStr(p, f, x) is non empty.

The following propositions are true:

(43) Let f, x be sets and let p be a finite sequence. Then the arity of 1GateCircStr(p, f, x) = {⟨⟨p, f⟩⟩} ⟼ p and the result sort of 1GateCircStr(p, f, x) = {⟨⟨p, f⟩⟩} ⟼ x.

(44) Let f, x be sets, and let p be a finite sequence, and let g be a gate of 1GateCircStr(p, f, x). Then g = ⟨⟨p, f⟩⟩ and Arity(g) = p and the result sort of g = x.

(45) For all sets f, x and for every finite sequence p holds InputVertices (1GateCircStr(p, f, x)) = rng p \ {x} and InnerVertices (1GateCircStr(p, f, x)) = {x}.

Let f be a set and let p be a finite sequence. The functor 1GateCircStr(p, f) yielding a non void strict many sorted signature is defined by the conditions (Def.6).

(Def.6) (i) The carrier of 1GateCircStr(p, f) = rng p ∪ {⟨⟨p, f⟩⟩}, (ii) the operation symbols of 1GateCircStr(p, f) = {⟨⟨p, f⟩⟩}, (iii) (the arity of 1GateCircStr(p, f))(⟨⟨p, f⟩⟩) = p, and (iv) (the result sort of 1GateCircStr(p, f))(⟨⟨p, f⟩⟩) = ⟨⟨p, f⟩⟩. Let f be a set and let p be a finite sequence. Note that 1GateCircStr(p, f)

is non empty.

One can prove the following propositions:

(46) For every set f and for every finite sequence p holds 1GateCircStr(p, f) = 1GateCircStr(p, f, ⟨⟨p, f⟩⟩).

(47) Let f be a set and let p be a finite sequence. Then the arity of 1GateCircStr(p, f) = {⟨⟨p, f⟩⟩} ⟼ p and the result sort of 1GateCircStr(p, f) = {⟨⟨p, f⟩⟩} ⟼ ⟨⟨p, f⟩⟩.

(48) Let f be a set, and let p be a finite sequence, and let g be a gate of 1GateCircStr(p, f). Then g = ⟨⟨p, f⟩⟩ and Arity(g) = p and the result sort of g = g.

(49) For every set f and for every finite sequence p holds InputVertices (1GateCircStr(p, f)) = rng p and InnerVertices(1GateCircStr(p, f)) = {⟨⟨p, f⟩⟩}.

(50) For every set f and for every finite sequence p and for every set x such that x ∈ rng p holds rk(x) ∈ rk(⟨⟨p, f⟩⟩).

(51) For every set f and for all finite sequences p, q holds 1GateCircStr(p, f) ≈ 1GateCircStr(q, f).

4. Unsplit Condition

A many sorted signature is unsplit if: (Def.7) The result sort of it = id_{(the operation symbols of it)}. A many sorted signature has arity held in gates if: (Def.8) For every set g such that g ∈ the operation symbols of it holds g = ⟨⟨(the

arity of it)(g), g_{2}⟩⟩. A many sorted signature has Boolean denotation held in gates if it satisfies the condition (Def.9). (Def.9) Let g be a set. Suppose g ∈ the operation symbols of it. Let p be

a finite sequence. Suppose p = (the arity of it)(g). Then there exists a function f from Boolean^{len p} into Boolean such that g = ⟨⟨g_{1}, f⟩⟩.

Let S be a non empty many sorted signature. An algebra over S has denotation held in gates if:

(Def.10) For every set g such that g ∈ the operation symbols of S holds g = ⟨⟨g_{1},

(the characteristics of it)(g)⟩⟩. A non empty many sorted signature has denotation held in gates if:

(Def.11) There exists algebra over it which has denotation held in gates.

One can verify that every non empty many sorted signature which has Boolean denotation held in gates has also denotation held in gates.

The following two propositions are true:

(52) Let S be a non empty many sorted signature. Then S is unsplit if and only if for every set o such that o ∈ the operation symbols of S holds (the result sort of S)(o) = o.

(53) Let S be a non empty many sorted signature. Suppose S is unsplit.

Then the operation symbols of S ⊆ the carrier of S. Let us note that every non empty many sorted signature which is unsplit is

also circuit-like.

The following proposition is true

(54) For every set f and for every finite sequence p holds 1GateCircStr(p, f)

is unsplit and has arity held in gates. Let f be a set and let p be a finite sequence. Observe that 1GateCircStr(p, f)

is unsplit and has arity held in gates.

Let us observe that there exists a many sorted signature which is unsplit non void strict and non empty and has arity held in gates.

One can prove the following propositions:

(55) For all unsplit non empty many sorted signatures S_{1}, S_{2} with arity held in gates holds S_{1} ≈ S_{2}.

(56) Let S_{1}, S_{2} be non empty many sorted signatures, and let A_{1} be an algebra over S_{1}, and let A_{2} be an algebra over S_{2}. Suppose A_{1} has denotation held in gates and A_{2} has denotation held in gates. Then the characteristics of A_{1} ≈ the characteristics of A_{2}.

(57) For all unsplit non empty many sorted signatures S_{1}, S_{2} holds S_{1} +· S_{2}

is unsplit. Let S_{1}, S_{2} be unsplit non empty many sorted signatures. Observe that

S_{1} +· S_{2} is unsplit.

We now state the proposition

(58) For all non empty many sorted signatures S_{1}, S_{2} with arity held in gates

holds S_{1} +· S_{2} has arity held in gates. Let S_{1}, S_{2} be non empty many sorted signatures with arity held in gates.

Note that S_{1} +· S_{2} has arity held in gates.

The following proposition is true

(59) Let S_{1}, S_{2} be non empty many sorted signatures. Suppose S_{1} has Boolean denotation held in gates and S_{2} has Boolean denotation held in gates. Then S_{1} +· S_{2} has Boolean denotation held in gates.

5. One Gate Circuits

Let n be a natural number. A finite sequence is said to be a finite sequence with length n if:

(Def.12) len it = n.

Let n be a natural number, let X, Y be non empty sets, let f be a function from X^{n} into Y, let p be a finite sequence with length n, and let x be a set. Let us assume that if x ∈ rng p, then X = Y. The functor 1GateCircuit(p, f, x) yielding a strict non-empty algebra over 1GateCircStr(p, f, x) is defined by:

(Def.13) The sorts of 1GateCircuit(p, f, x) = (rng p ⟼ X) +· ({x} ⟼ Y) and

(the characteristics of 1GateCircuit(p, f, x))(⟨⟨p, f⟩⟩) = f. Let n be a natural number, let X be a non empty set, let f be a function

from X^{n} into X, and let p be a finite sequence with length n. The functor 1GateCircuit(p, f) yielding a strict non-empty algebra over 1GateCircStr(p, f) is defined as follows:

(Def.14) The sorts of 1GateCircuit(p, f) = (the carrier of 1GateCircStr(p, f)) ⟼

(X) and (the characteristics of 1GateCircuit(p, f))(⟨⟨p, f⟩⟩) = f. Next we state the proposition

(60) Let n be a natural number, and let X be a non empty set, and let f be a function from X^{n} into X, and let p be a finite sequence with length n. Then 1GateCircuit(p, f) has denotation held in gates and 1GateCircStr(p, f) has denotation held in gates.

Let n be a natural number, let X be a non empty set, let f be a function from X^{n} into X, and let p be a finite sequence with length n. One can verify that 1GateCircuit(p, f) has denotation held in gates and 1GateCircStr(p, f) has denotation held in gates.

One can prove the following proposition

(61) Let n be a natural number, and let p be a finite sequence with length n, and let f be a function from Boolean^{n} into Boolean. Then 1GateCircStr(p, f) has Boolean denotation held in gates.

Let n be a natural number, let f be a function from Boolean^{n} into Boolean, and let p be a finite sequence with length n. Note that 1GateCircStr(p, f) has Boolean denotation held in gates.

One can check that there exists a many sorted signature which is non empty and has Boolean denotation held in gates.

Let S_{1}, S_{2} be non empty many sorted signatures with Boolean denotation held in gates. Observe that S_{1} +· S_{2} has Boolean denotation held in gates.

One can prove the following proposition

(62) Let n be a natural number, and let X be a non empty set, and let f be a function from X^{n} into X, and let p be a finite sequence with length n. Then the characteristics of 1GateCircuit(p, f) = {⟨⟨p, f⟩⟩} ⟼ f and for every vertex v of 1GateCircStr(p, f) holds (the sorts of 1GateCircuit(p, f))(v) = X.

Let n be a natural number, let X be a non empty finite set, let f be a function from X^{n} into X, and let p be a finite sequence with length n. One can check that 1GateCircuit(p, f) is locally-finite.

Next we state two propositions:

(63) Let n be a natural number, and let X be a non empty set, and let f be a function from X^{n} into X, and let p, q be finite sequences with length n. Then 1GateCircuit(p, f) ≈ 1GateCircuit(q, f).

(64) Let n be a natural number, and let X be a finite non empty set, and let f be a function from X^{n} into X, and let p be a finite sequence with length n, and let s be a state of 1GateCircuit(p, f). Then (Following(s))(⟨⟨p, f⟩⟩) = f(s · p).

Let X be a non empty set. Observe that there exists a non empty subset of X which is finite.

6. Boolean Circuits

Boolean is a finite non empty subset of . Let S be a non empty many sorted signature. An algebra over S is Boolean

if: (Def.15) For every vertex v of S holds (the sorts of it)(v) = Boolean .

Next we state the proposition (65) Let S be a non empty many sorted signature and let A be an algebra

over S. Then A is Boolean if and only if the sorts of A = (the carrier of S) ⟼ Boolean .

Let S be a non empty many sorted signature. Note that every algebra over S which is Boolean is also non-empty and locally-finite.

One can prove the following three propositions:

(66) Let S be a non empty many sorted signature and let A be an algebra over S. Then A is Boolean if and only if rng (the sorts of A) ⊆ {Boolean}.

(67) Let S_{1}, S_{2} be non empty many sorted signatures, and let A_{1} be an algebra over S_{1}, and let A_{2} be an algebra over S_{2}. Suppose A_{1} is Boolean and A_{2} is Boolean. Then the sorts of A_{1} ≈ the sorts of A_{2}.

(68) Let S_{1}, S_{2} be unsplit non empty many sorted signatures with arity held in gates, and let A_{1} be an algebra over S_{1}, and let A_{2} be an algebra over S_{2}. Suppose A_{1} is Boolean and has denotation held in gates and A_{2} is Boolean and has denotation held in gates. Then A_{1} ≈ A_{2}.

Let S be a non empty many sorted signature. One can check that there exists a strict algebra over S which is Boolean.

We now state three propositions:

(69) Let n be a natural number, and let f be a function from Boolean^{n} into Boolean, and let p be a finite sequence with length n. Then 1GateCircuit(p, f) is Boolean.

(70) Let S_{1}, S_{2} be non empty many sorted signatures, and let A_{1} be a Boolean algebra over S_{1}, and let A_{2} be a Boolean algebra over S_{2}. Then A_{1} +· A_{2} is Boolean.

(71) Let S_{1}, S_{2} be non empty many sorted signatures, and let A_{1} be a non-empty algebra over S_{1}, and let A_{2} be a non-empty algebra over S_{2}. Suppose A_{1} has denotation held in gates and A_{2} has denotation held in gates and the sorts of A_{1} ≈ the sorts of A_{2}. Then A_{1} +·A_{2} has denotation held in gates.

Let us observe that there exists a non empty many sorted signature which is unsplit non void and strict and has arity held in gates, denotation held in gates, and Boolean denotation held in gates.

Let S be a non empty many sorted signature with Boolean denotation held in gates. Note that there exists a strict algebra over S which is Boolean and has denotation held in gates.

Let S_{1}, S_{2} be unsplit non void non empty many sorted signatures with Boolean denotation held in gates, let A_{1} be a Boolean circuit of S_{1} with denotation held in gates, and let A_{2} be a Boolean circuit of S_{2} with denotation held in gates. One can verify that A_{1} +· A_{2} is Boolean and has denotation held in gates.

Let n be a natural number, let X be a finite non empty set, let f be a function from X^{n} into X, and let p be a finite sequence with length n. Observe that there exists a circuit of 1GateCircStr(p, f) which is strict and non-empty 294 yatsuka nakamura and grzegorz bancerek

and has denotation held in gates.

Let n be a natural number, let X be a finite non empty set, let f be a function from X^{n} into X, and let p be a finite sequence with length n. Note that 1GateCircuit(p, f) has denotation held in gates.

One can prove the following proposition

(72) Let S_{1}, S_{2} be unsplit non void non empty many sorted signatures with arity held in gates and Boolean denotation held in gates, and let A_{1} be a Boolean circuit of S_{1} with denotation held in gates, and let A_{2} be a Boolean circuit of S_{2} with denotation held in gates, and let s be a state of A_{1} +· A_{2}, and let v be a vertex of S_{1} +· S_{2}. Then

(i) for every state s_{1} of A_{1} such that s_{1} = s (the carrier of S_{1}) holds if v ∈ InnerVertices(S_{1}) or v ∈ the carrier of S_{1} and v ∈ InputVertices(S_{1} +·S_{2}), then (Following(s))(v) = (Following(s_{1}))(v), and

(ii) for every state s_{2} of A_{2} such that s_{2} = s (the carrier of S_{2}) holds if v ∈ InnerVertices(S_{2}) or v ∈ the carrier of S_{2} and v ∈ InputVertices(S_{1} +·S_{2}), then (Following(s))(v) = (Following(s_{2}))(v).

References

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

[2] Grzegorz Bancerek. Tarski’s classes and ranks. Formalized Mathematics, 1(3):563–567, 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. 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. 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. Partial functions. Formalized Mathematics, 1(2):357–367, 1990.

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

[10] Anna Lango and Grzegorz Bancerek. Product of families of groups and vector spaces. Formalized Mathematics, 3(2):235–240, 1992.

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

[12] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Introduction to circuits, II. Formalized Mathematics, 5(2):273–278, 1996.

[13] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Introduction to circuits, I. Formalized Mathematics, 5(2):227–232, 1996.

[14] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, II. Formalized Mathematics, 5(2):215–220, 1996.

[15] Yatsuka Nakamura, Piotr Rudnicki, Andrzej Trybulec, and Pauline N. Kawamoto. Preliminaries to circuits, I. Formalized Mathematics, 5(2):167–172, 1996.

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

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

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

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

combining of circuits 295

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

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

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

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

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

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

Received May 11, 1995

Index of MML Identifiers

ALTCAT 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 AUTALG 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 CANTOR 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 CAT 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 CIRCCOMB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 CIRCUIT1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 CIRCUIT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 CQC THE3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 DECOMP 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 EXTENS 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 FILTER 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 FINSEQ 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 FSM 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173 MBOOLEAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 MEASURE7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 MSAFREE1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 MSAFREE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 MSATERM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 MSUHOM 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 PRE CIRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 SPPOL 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 TREES 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185

Contents Formaliz. Math. 5 (2)

Ideals

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

Categorial Categories and Slice Categories

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Preliminaries to Circuits, I

By Yatsuka Nakamura et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

Minimization of Finite State Machines

By Miroslava Kaloper and Piotr Rudnicki . . . . . . . . . . . . . . 173

Subtrees

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

Terms Over Many Sorted Universal Algebra

By Grzegorz Bancerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

On the Decomposition of the Continuity

By Marian Przemski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

A Scheme for Extensions of Homomorphisms of Many Sorted Algebras

By Andrzej Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

The Correspondence Between Homomorphisms of Universal Algebra & Many Sorted Algebra

By Adam Grabowski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

Preliminaries to Circuits, II

By Yatsuka Nakamura et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

On the Group of Automorphisms of Universal Algebra & Many Sorted Algebra

By Artur Korniłowicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

Continued on inside back cover

Introduction to Circuits, I

By Yatsuka Nakamura et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

The Cantor Set

By Alexander Yu. Shibakov and Andrzej Trybulec … 233

Logical Equivalence of Formulae

By Oleg Okhotnikov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

Some Properties of Restrictions of Finite Sequences

By Czesław Byliński . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

Special Polygons

By Czesław Byliński and Yatsuka Nakamura . . . . . . . . . . . 247

The One-Dimensional Lebesgue Measure

By Józef Białas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

Categories without Uniqueness of cod and dom

By Andrzej Trybulec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

Extensions of Mappings on Generator Set

By Artur Korniłowicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

Introduction to Circuits, II

By Yatsuka Nakamura et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

Definitions and Basic Properties of Boolean & Union of Many Sorted Sets

By Artur Korniłowicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

Combining of Circuits

By Yatsuka Nakamura and Grzegorz Bancerek . . . . . . . 283

Index of MML Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296