# Mizar Commentary on Walter Rudin's Principles of Mathematical Analysis/The Real and Complex Number Systems

## Introduction[edit | edit source]

The familiarity with the rational numbers as described in the Book can be found in `RAT_1`.

**1.1 Example** Proven more generally in `IRRAT_1:1`. No reference for the closer examination, but the idea of it will return with the Dedekind cuts.

**1.2 Remark**

`for r, s being Rational st r < s ex x being irrational Real st r < x & x < s`No reference.`for r, s being Rational st r < s ex x being Rational st r < x & x < s`No reference.

**1.3 Definitions**

is `x in A` from `HIDDEN` (and therefore always present without reference). is usually written as `not x in A`; nevertheless `x nin A` is introduced as antonym in `XBOOLE_0`.

The empty set is denoted by `{}` (`XBOOLE_0:def 2`) and the property of a set being empty by `empty` (`XBOOLE_0:def 1`), therefore the property of a set to be nonempty is `non empty`. With the usual `requirements` the term `A = {}` is evaluated just like `A is empty`.

is `A c= B` (`TARSKI:def 3`), there is no reference for . being a `proper` Subset of (`SUBSET_1:def 6`) can also be written as `A c< B` (`XBOOLE_0:def 8`). is given by the reflexivity property of `c=` in `TARSKI:def 3`.

is redefined in `XBOOLE_0:def 10`, is generally introduced as an antonym in `HIDDEN`.

**1.4 Definition** is `RAT` (defined in `NUMBERS:def 3`, redefined in `RAT_1:def 1`).

## Ordered Sets[edit | edit source]

The term "relation" is used in the Book without an explanation. A `Relation` is defined as a `Relation-like set` (`RELAT_1`), a `Relation of X,Y` is defined as a `Subset of [:X,Y:]` (`RELSET_1`), where `[:X,Y:]` is the cartesian product of and (`ZFMISC_1:def 2`). Many properties of relations are introduced in `RELAT_2`.

**1.5 Definition** The order on is defined as a (i) `total` (`PARTFUN1:def 2`) `connected` (`RELAT_2:def 14`) ["one"], `asymmetric` (`RELAT_2:def 13`) ["and only one"] (ii) `transitive` (`RELAT_2:def 16`) `Relation on S`. Note that in Mizar an `Order of S` (from `ORDERS_1`) is defined as a `total reflexive` (`RELAT_2:def 9`) `antisymmetric` (`RELAT_2:def 12`) `transitive Relation on S`. If `S is connected` additionally, then in Mizar `S is being_linear-order` (`ORDERS_1:def 6`).

`let S be set, R be Relation of S, x,y be object;` Instead of `x < y` we would write `[x,y] in R` (see also `RELAT_1`), but the `<` notation can be archived with the following notation.

**1.6 Definition**
A set equipped with a relation is a `RelStr` (`ORDERS_2`). `let S be RelStr`, then the underlying set is denoted by `the carrier of S` (see `STRUCT_0`), and the relation is `the InternalRel of S`. `let a, b be Element of S`. Then is denoted by `a <= b` (`ORDERS_2:def 5`) and is `a < b` (`ORDERS_2:def 6`). In this sense, a `LinearOrder` (`ORDERS_5`) is an ordered set as defined in the Book.

No reference for being an ordered set.

**1.7 Definition** Bounded below/above is `lower/upper-bounded` (`YELLOW_0:def 4/5`, see also `LATTICE3:def 8/9`). No reference for lower/upper bound.

**1.8 Definition** The described properties are encoded as the predicate `ex_sup/inf_of` in `YELLOW_0:def 7/8`. No reference for sup/inf.

**1.5-1.8 Definition (with reals)**

is defined as `x <= y` (`XXREAL_0:def 5`) for extended reals, the other variants are given by notations. Antisymmetry is `XXREAL_0:1`, transitivity is `XXREAL_0:2` and a lot of inequalities are given in `XREAL_1`.

All sets of extended reals have an upper and lower bound (and a least variant of it) in form of an extended real. `Upper/LowerBound` are defined in `XXREAL_2:def 1/2`. `sup/inf` are defined in `XXREAL_2:def 3/4`, and again as `upper/lower_bound` (`SEQ_4:def 1/2`) for upper/lower bounded sets of reals (identified with each other in `RINFSUP2:1-4`). A set of extended reals is `bounded_above/below` (`XXREAL_2:def 9/10`) if there is a real upper/lower bound.

**1.9 Examples**

(a) No reference, since no reference for refinement in Example 1.1.

(b) No reference.

(c) No reference.

**1.10 Definition** No reference.

**1.11 Theorem** The set of all upper/lower bounds of a set of extended reals is denoted by `SetMajorant/Minorant(B)` (`SUPINF_1:def 1/2`). Then the theorem is proven by `SUPINF_1:3`. No reference for general case.

## Fields[edit | edit source]

Like most algebraic structures, a `Field` (`VECTSP_1`) in Mizar is built up from its components. The basic structure of a field is that of a `doubleLoopStr` (`ALGSTR_0`), i.e. a set equipped with two binary operations and a One and a Zero. The additional attributes of a `Field` are to be `commutative` (`GROUP_1:def 12`) `non degenerated` (`STRUCT_0:def 8`) `almost_left_invertible` (`VECTSP_1:def 9`) `Abelian` (`RLVECT_1:def 2`) `add-associative` (`RLVECT_1:def 3`) `right_zeroed` (`RLVECT_1:def 4`) `right_complementable` (`ALGSTR_0:def 11`) `associative` (`GROUP_1:def 3`) `well-unital` (`VECTSP_1:def 6`) `distributive` (`VECTSP_1:def 7`) `non empty` (`STRUCT_0:def 1`).

**1.12 Definition**

(A1) and (M1) are encoded by `mode BinOp` from `BINOP_1`.

(A2) means `Abian` (`RLVECT_1:def 2`).

(A3) means `add-associative` (`RLVECT_1:def 3`).

(A4) is given by the basic structure, `right_zeroed` (`RLVECT_1:def 4`) and the commutativity of the addition.

(A5) means `right_complementable` (`ALGSTR_0:def 11` and `ALGSTR_0:def 13`).

(M2) means `commutative` (`GROUP_1:def 12`).

(M3) means `associative` (`GROUP_1:def 3`).

(M4) is given by the basic structure, `non degenerated` (`STRUCT_0:def 8`) and `well-unital` (`VECTSP_1:def 6`).

(M5) means `almost_left_invertible` (`VECTSP_1:def 9` and `VECTSP_1:def 9` and `VECTSP_1:def 10`).

(D) means `distributive` (`VECTSP_1:def 7`).

**1.12 Definition (with complex numbers)**

(A1) and (M1): The binary operations are given as functors rather than functions in `XCMPLX_0:def 4/5`. Their closure is clustered in `XCMPLX_0`, `XREAL_0`, `RAT_1`, `INT_1` and `NAT_1` for complex, real, rational, integer and natural numbers respectively.

(A2) and (M2) are encoded in the definitions of the functors directly in `XCMPLX_0`.

(A3) and (M3) are `XCMPLX_1:1` and `XCMPLX_1:4` respectively, should be used via `requirements`.

(A4) Existence of is `ORDINAL1:def 13/14`; as a member of the complex, real and natural numbers respectively in `XCMPLX_0`, `XREAL_0` and `NAT_1`. For rational and integer numbers this is at least done indirectly (else no reference) since natural numbers are also rational and integer. is finally done in `ARITHM:1`, which should be included by `requirements`, not by `theorems`.

(A5) is `XCMPLX_0:def 6`.

(M4) , like all other numerals in Mizar, is defined implicitly. `CARD_1:49` states , with the irreflexivity property built into `in` and `TARSKI:def 1` one can show that whenever needed, no direct reference. is `ARITHM:3`, again to be used via requirements.

(M5) is `XCMPLX_0:def 7`

(D) is `XCMPLX_1:8`, should be used via `requirements`.

**1.13 Remarks**

(a) is `ALGSTR_0:def 14`, is `ALGSTR_0:def 43`. Functors in Mizar are left-associative, hence `x+y+z=(x+y)+z` is built in, same for multiplication. is `x |^ n` (`GROUP_1:def 9`), , are given by `GROUP_1:27`, `GROUP_1:28`. is `n * x` (`GROUP_1A:def 8`), , are given by `GROUP_1A:26`, `GROUP_1A:26`.

(a) (with complex numbers) is `XCMPLX_0:def 8`, is `XCMPLX_0:def 9`. Both can be exchanged with their definition without any problem given the correct requirements and thanks to `XCMPLX_1`. Clusterings for subfields etc. are done where the clusterings for addition and multiplication is done (see above). , and are in `XCMPLX_1` and can be used without a problem. is `SQUARE_1:def 1`, is defined in `NEWTON:def 1` (for natural ), , , are given in `POLYEQ_5:1-3`, see also `NEWTON:81` and `POLYEQ_2:4`.

(b) is `GAUSSINT:def 14` with `GAUSSINT:14`.

(c) As you can see above, the field properties are done twice in Mizar, once for the general case and once for complex numbers. However, what is done for the complex numbers is used to show that the complex, real and rational numbers form a field in the general sense (see associated proofs for `F_Complex` in `COMPLFLD`, `F_Real` in `VECTSP_1` and `F_Rat` in `GAUSSINT`).

**1.14 Proposition**

(a) is `GROUP_1A:6`.

(b) is `GROUP_1A:7`.

(c) is `GROUP_1A:5`.

(d) is encoded in the involutiveness of `GROUP_1A:def 4`.

**1.14 Proposition (with complex numbers)**

(a) is `XCMPLX_1:2`.

(b) is `XCMPLX_1:3`.

(c) is encoded in the uniqueness of `XCMPLX_0:def 6`. For extended reals is `XXREAL_3:8`.

(d) is encoded in the involutiveness of `XCMPLX_0:def 6`.

**1.15 Proposition**

(a) is `VECTSP_1:5`.

(b) is `GCD_1:1`.

(c) is encoded in the uniqueness of `ALGSTR_0:def 30`.

(d) is `VECTSP_1:24`.

**1.15 Proposition (with complex numbers)**

(a) is `XCMPLX_1:5`.

(b) is `XCMPLX_1:7`.

(c) is encoded in the uniqueness of `XCMPLX_0:def 7`.

(d) is encoded in the involutiveness of `XCMPLX_0:def 7`.

**1.16 Proposition**

(a) is `VECTSP_1:7`.

(b) is `VECTSP_1:12`.

(c) is `VECTSP_1:8` and `VECTSP_1:9`.

(d) is `VECTSP_1:10`.

**1.16 Proposition (with complex numbers)**

(a) is `ARITHM:2`.

(b) is `XCMPLX_1:6` for one direction, the other one is clustered in `XCMPLX_0`.

(c) is `XCMPLX_1:174` and `XCMPLX_1:175`.

(d) is `XCMPLX_1:176`.

**1.17 Definition** No reference, hence also no reference for being an ordered field, except that the properties are present:

**1.17 Definition (with reals)**

(i) is given by `XREAL_1:6` (this works for `a < b` instead of `a <= b` because it means `not b <= a`).

(ii) is given by `XREAL_1:129`.

The attributes `positive/negative` are given by `XXREAL_0:def 6` and are properly clustered in `XREAL_0` for reals.

**1.18 Proposition** No reference, since ordered fields are not referenced.

**1.18 Proposition (with reals)**

(a) is `XREAL_1:58`.

(b) is `XREAL_1:68`.

(c) is `XREAL_1:69`.

(d) is `XREAL_1:63` or `SQUARE_1:12`. is built into the appropiate `requirements`.

(e) is `XREAL_1:88` and `XREAL_1:122`.

## The Real Field[edit | edit source]

**1.19 Theorem** Existence of is `NUMBERS:def 1`, other properties have been shown above. The explanation is mainly `GAUSSINT:13`.

**1.20 Theorem**

(a) No reference, closest is `SEQ_4:3`. #TODO find the archimedean property!

(b) is `RAT_1:7`.

**1.21 Theorem** is `PREPOWER:def 2`, where is written as `n -Root x`. Also written as `n -root x` (`POWER:def 1`). is given by `POWER:45`.

**Corollary** is `PREPOWER:22` or `POWER:11` or more generally `POWER:30`.

**1.22 Decimals** No reference (#TODO find it!), although `NUMERAL1` introduces at least the representation of naturals to base .

## The Extended Real Number System[edit | edit source]

**1.23 Definition**

/ are defined in `XXREAL_0:def 2/3`. is `XXREAL_0:9` and `XXREAL_0:12`.

As noted before, the definition of `sup/inf` in `XXREAL_2` guaranties the existence of a least upper/lower bound for any extended real. That / is an upper/lower bound of any set of extended reals is `XXREAL_2:41/42`.

(a) are `XXREAL_3:def 2`, `XXREAL_3:13`, `XXREAL_3:76/77` respectively.

(b) and (c) are `XXREAL_3:def 5`.

It should be noted that the undefined expressions involving are set to in Mizar.

A not infinite real is called `real` (`XREAL_0:def 1`) in Mizar, a possibly infinite one is called `ext-real` (`XXREAL_0:def 1`).

## The Complex Field[edit | edit source]

**1.24 Definition**

The (mostly used) ordered pair in Mizar is `[a,b]` (`TARSKI:def 5`), with the distinction property in `XTUPLE_0:1`. However, in Mizar the complex numbers consist of the set `REAL` (`NUMBERS:def 1`) and functions of the form `Funcs({0,1},REAL)` (see also `FUNCT_2:def 2`) where the value of isn't . This slight sophistication allows a rigorous inclusion `REAL c= COMPLEX` (`NUMBERS:11`) instead of an injection from reals into complex numbers thought as inclusion. To work with some kind of pairs nevertheless (until is introduced), `[*a,b*]` (`ARYTM_0:def 5`, see also `FUNCT_4:def 4`) is used.

Just as for normal ordered pairs, the uniqueness condition of function in Mizar ensures that `a=c & b=d implies [*a,b*]=[*c,d*]` automatically. The other direction is given by `ARYTM_0:10` and, for , by `COMPLEX1:77`.

Addition/Multiplication is given in `XCMPLX_0:def 4/5`.

**1.25 Theorem**

The field properties through the functors have been shown above. The clustering of `F_Complex` to a `Field` is done in `COMPLFLD`.

**1.26 Theorem** is the clustering done in `XREAL_0`. Thanks to the definition of `[*a,b*]` we really have `[*a,0*]=a`.

**1.27 Definition** is `XCMPLX_0:def 1`, is `<i>`.

**1.28 Theorem** is `COMPLEX1:18`.

**1.29 Theorem** has no direct reference, but `COMPLEX1:12`.

'*1.30 Definition*

is `z*'` (`COMPLEX1:def 11`).

/ is `Re z`/`Im z` (`COMPLEX1:def 1/2`).

**1.31 Theorem**

(a) is `COMPLEX1:32`.

(b) is `COMPLEX1:35`.

(c) is basically `COMPLEX1:41` and `COMPLEX1:42`.

(d) has no direct reference, `COMPLEX1:40` comes closest.

**1.32 Definition**

is `|.z.|` (`COMPLEX1:def 12`, see also `SQUARE_1:def 2`).

is given as a reduction in `COMPLEX1`, is `COMPLEX1:72`, the conclusion is `COMPLEX1:70/71`.

**1.33 Theorem**

(a) is clustered in `COMPLEX1` and also given by `COMPLEX1:44/45`.

(b) is `COMPLEX1:53`.

(c) is `COMPLEX1:65`.

(d) is `COMPLEX1:54`.

(e) is `COMPLEX1:56`.

**1.34 Notation**

To define something like , the notion of tuples is needed. This is done in `FINSEQ_1`, defining tuples as functions with domain . In `RVSUM_1` the existence of `complex-valued` (`VALUED_0:def 1`) `FinSequence` (`FINSEQ_1:def 2`) is clustered.

`let x be complex-valued FinSequence`, then is given by `Sum x` (`RVSUM_1:def 10`). Basic properties are in `RVSUM_1` for the real-valued case and in `RVSUM_2` for the complex-valued case.

**1.35 Theorem** No direct reference, can be followed from `CSSPACE:35` or `HERMITAN:46`. #TODO find direct reference of Schwarz inequality for complex-valued FinSequences!

## Euclidean Spaces[edit | edit source]

**1.36 Definitions**

is `REAL k` (`EUCLID:def 1`, see also `FINSEQ_2:def 4`).

Addition of vectors is `RVSUM_1:def 4`, scalar multiplication is `RVSUM_1:def 7`. The clustering to Elements of `REAL k` is done in `EUCLID`.

Commutativity of addition is encoded in `RVSUM_1:def 4`, associativity is `RVSUM_1:15`. Associativity for scalar multiplication is `RVSUM_1:49`. Distributivity laws are `RVSUM_1:50` and `RVSUM_1:51`. `k|->(0 qua Real)` is the zero vector (see also `FINSEQ_2:def 2`), its defining property is `RVSUM_1:16`.

The inner product is `|( x,y )|` (`RVSUM_1:def 16`), the norm is `|. x .|` (`EUCLID:def 5`, see also `RVSUM_1:def 8`), their relation is `EUCLID_2:37`.

as a vector space has no direct reference but is given by `RealVectSpace Seg k` (compare `FUNCSDOM:def 6` and `FINSEQ_1:def 1`).

**1.36 Definitions (for vector spaces)**

The book gave the definition of a vector space implicitly. In Mizar, a `VectSp` is a `ModuleStr` over a `Ring` (all defined in `VECTSP_1`) which is `scalar-distributive` (`VECTSP_1:def 15`) `vector-distributive` (`VECTSP_1:def 14`) `scalar-associative` (`VECTSP_1:def 16`) `scalar-unital` (`VECTSP_1:def 17`) `add-associative` (`RLVECT_1:def 3`) `right_zeroed` (`RLVECT_1:def 4`) `right_complementable` (`ALGSTR_0:def 11`) `Abelian` (`RLVECT_1:def 2`) `non empty` (`STRUCT_0:def 1`).

**1.37 Theorem**

(a) is `EUCLID:9`.

(b) is `EUCLID:7/8`.

(c) is `EUCLID:11`.

(d) is `EUCLID_2:15`.

(e) is `EUCLID:12`.

(f) is `EUCLID:19`.

**1.38 Remarks**

As a metric space, is `Euclid k` (`EUCLID:def 7`). As a topological space, it is `TOP-REAL k` (`EUCLID:def 8`). as a metric space is also `RealSpace` (`METRIC_1:def 13`) and as a topological space is also `R^1` (`TOPMETR:def 6`). Note that the difference is that the underlying set (the `carrier`) of both `RealSpace` and `R^1` is `REAL`, while the underlying set of both `Euclid 1` and `TOP-REAL 1` is `Funcs(Seg 1,REAL)`.

## Appendix[edit | edit source]

It is to be noted that in Mizar, as opposed to the Book, the real numbers are not constructed from the rationals by Dedekind cuts, but rather the non-negative reals are constructed from the nonnegative rationals, and only afterwards the sets of rationals and reals are constructed from their nonnegative part in `NUMBERS:def 3` and `NUMBERS:def 1` respectively.

**Step 1**

(II), (III) and the second part of (I) are in the definition of `DEDKIND_CUTS` (`ARYTM_2:def 1`). The empty set is not explicitly forbidden, as (I) would indicate, but since the empty set is identified with this hardly matters. The two properties mentioned can be derived from the definition of `DEDEKIND_CUT x` (`ARYTM_2:def 3`). The definition of `REAL+` is given immediatly by `ARYTM_2:def 2`. Just like with the complex numbers, the Dedekind cuts responding to rational numbers are directly excluded and `RAT+` is used instead.

**Step 2** is given by the predicate `x <=' y` (`ARYTM_2:def 5`), the connectedness is wired in there directly. The connectedness for the cuts is given by `ARYTM_2:7`, too.

**Step 3** No reference.

**Step 4** Addition of cuts is `ARYTM_2:def 6`, of nonnegative reals is `ARYTM_2:def 8`. (A1) and (A2) are wired directly into the definitions. (A3) is ARYTM_2:6. (A4) is given explicitly in `ARYTM_2:def 8`. (A5) is given via `ARYTM_1:def 2` and `ARYTM_1:18`.

**Step 5** is concretly given by `ARYTM_1:7`.

**Step 6** Multiplication of cuts is `ARYTM_2:def 7`, of nonnegative reals is `ARYTM_2:def 9`. Again (M1) and (M2) are wired directly into the definitions. (M3) is `ARYTM_2:12`, (M4) is `ARYTM_2:15`. (M5) is given only later with reals in `ARYTM_0:def 4`.

**Step 7** Given later by `ARYTM_0:def 2` and `ARYTM_0:15`. Then (D) is `ARYTM_0:14`. (Just for nonnegative reals it is given by `ARYTM_2:13`.)

**Step 8** is `DEDEKIND_CUT r` (`DEDEKIND_CUT x`). No direct reference for the properties.

**Step 9** As mentioned above, we have a direct inclusion by definition `ARYTM_2:def 2`, made plain by `ARYTM_2:1`.

## Exercises[edit | edit source]

1. is given by `BORSUK_5:18` and `BORSUK_5:22`. It's clustered in that article as well.

2. implicitly given by `IRRAT_1:1`, `PEPIN:41` and 1. since . No direct reference.

3. given above in Proposition 1.15.

4. implicitly given by `XXREAL_2:def 1`, `XXREAL_2:def 2` and `XXREAL_0:2`. No direct reference.

5. given by `SUPINF_2:15`.

6.(a) is corrolary of `POWER:33`; if that is not given, the proof could be built with `PREPOWER` (see especially `PREPOWER:def 4`), but no direct reference.

6.(b) is `PREPOWER:53`.

6.(c) has no reference. A similar approach is used in `PREPOWER:def 7`.

6.(d) is `PREPOWER:75` or `POWER:33`.

7.(a) given by `POWER:22`, more directly `POWER:49`.

7.(b) is `POWER:22`.

7.(c)-(g) have no direct reference; existence and uniqueness proofs of are done in `POWER:def 3`.

8. No reference. #TODO Find that `COMPLEX` cannot be ordered!

9. No reference.

10. No direct reference. Complex roots are defined in `POLYEQ_5:def 1`, see also `POLYEQ_5:11` and `POLYEQ_5:12` as well as `COMPTRIG:def 2`.

11. implicitly given by `COMPTRIG:62`, no direct reference.

12. No reference. #TODO Find that `|.Sum z.| <= Sum |.z.|`.

13. is `COMPLEX1:64`.

14. No reference.

15. No reference for equality, since no reference for normal Schwarz inequality.

16. No reference.

17. is `EUCLID_2:13`. The variant for real unitary spaces is `BHSP_5:5`.

18. No reference.

19. No reference.

20. No reference.