defpred S1[ object , object ] means ex x, y being G_INTEG ex u being Element of Q. Gauss_INT_Ring st
( y <> 0 & u = [x,y] & $1 = QClass. u & $2 = x / y );
A1:
for z being object st z in the carrier of Gauss_INT_Field holds
ex w being object st
( w in the carrier of Gauss_RAT_Ring & S1[z,w] )
consider I being Function of Gauss_INT_Field,Gauss_RAT_Ring such that
A4:
for z being object st z in the carrier of Gauss_INT_Field holds
S1[z,I . z]
from FUNCT_2:sch 1(A1);
A5:
now for z1, z2 being object st z1 in dom I & z2 in dom I & I . z1 = I . z2 holds
z1 = z2let z1,
z2 be
object ;
( z1 in dom I & z2 in dom I & I . z1 = I . z2 implies z1 = z2 )assume A6:
(
z1 in dom I &
z2 in dom I &
I . z1 = I . z2 )
;
z1 = z2then A7:
(
z1 in the
carrier of
Gauss_INT_Field &
z2 in the
carrier of
Gauss_INT_Field )
by FUNCT_2:def 1;
then consider x1,
y1 being
G_INTEG,
u1 being
Element of
Q. Gauss_INT_Ring such that A8:
(
y1 <> 0 &
u1 = [x1,y1] &
z1 = QClass. u1 &
I . z1 = x1 / y1 )
by A4;
consider x2,
y2 being
G_INTEG,
u2 being
Element of
Q. Gauss_INT_Ring such that A9:
(
y2 <> 0 &
u2 = [x2,y2] &
z2 = QClass. u2 &
I . z2 = x2 / y2 )
by A4, A7;
thus
z1 = z2
by A6, A8, A9, Lm5;
verum end;
then A10:
I is one-to-one
by FUNCT_1:def 4;
then
rng I = the carrier of Gauss_RAT_Ring
by FUNCT_2:10;
then A13:
I is onto
by FUNCT_2:def 3;
A14:
for z1, z2 being Element of Gauss_INT_Field holds
( I . (z1 + z2) = (I . z1) + (I . z2) & I . (z1 * z2) = (I . z1) * (I . z2) )
proof
let z1,
z2 be
Element of
Gauss_INT_Field;
( I . (z1 + z2) = (I . z1) + (I . z2) & I . (z1 * z2) = (I . z1) * (I . z2) )
consider x1,
y1 being
G_INTEG,
u1 being
Element of
Q. Gauss_INT_Ring such that A15:
(
y1 <> 0 &
u1 = [x1,y1] &
z1 = QClass. u1 &
I . z1 = x1 / y1 )
by A4;
consider x2,
y2 being
G_INTEG,
u2 being
Element of
Q. Gauss_INT_Ring such that A16:
(
y2 <> 0 &
u2 = [x2,y2] &
z2 = QClass. u2 &
I . z2 = x2 / y2 )
by A4;
set z12 =
z1 + z2;
consider x12,
y12 being
G_INTEG,
u12 being
Element of
Q. Gauss_INT_Ring such that A17:
(
y12 <> 0 &
u12 = [x12,y12] &
z1 + z2 = QClass. u12 &
I . (z1 + z2) = x12 / y12 )
by A4;
A18:
(x1 / y1) + (x2 / y2) = ((x1 * y2) + (x2 * y1)) / (y1 * y2)
by A15, A16, XCMPLX_1:116;
A19:
(
(u1 `1) * (u2 `2) = x1 * y2 &
(u2 `1) * (u1 `2) = x2 * y1 &
(u1 `2) * (u2 `2) = y1 * y2 )
by Th6, A15, A16;
A20:
padd (
u1,
u2)
= [((x1 * y2) + (x2 * y1)),(y1 * y2)]
by A19, Th4;
z1 + z2 =
qadd (
(QClass. u1),
(QClass. u2))
by A15, A16, QUOFIELD:def 12
.=
QClass. (padd (u1,u2))
by QUOFIELD:9
;
then A21:
u12 in QClass. (padd (u1,u2))
by A17, QUOFIELD:5;
A22:
(u12 `1) * ((padd (u1,u2)) `2) = x12 * (y1 * y2)
by Th6, A17, A19;
((padd (u1,u2)) `1) * (u12 `2) = ((x1 * y2) + (y1 * x2)) * y12
by Th6, A17, A20;
then
x12 * (y1 * y2) = ((x1 * y2) + (y1 * x2)) * y12
by A22, A21, QUOFIELD:def 4;
then A23:
x12 / y12 = ((x1 * y2) + (x2 * y1)) / (y1 * y2)
by A15, A16, A17, XCMPLX_1:94;
set z12 =
z1 * z2;
consider x12,
y12 being
G_INTEG,
u12 being
Element of
Q. Gauss_INT_Ring such that A24:
(
y12 <> 0 &
u12 = [x12,y12] &
z1 * z2 = QClass. u12 &
I . (z1 * z2) = x12 / y12 )
by A4;
A25:
(x1 / y1) * (x2 / y2) = (x1 * x2) / (y1 * y2)
by XCMPLX_1:76;
A26:
(
(u1 `1) * (u2 `1) = x1 * x2 &
(u2 `2) * (u1 `2) = y1 * y2 )
by Th6, A15, A16;
z1 * z2 =
qmult (
(QClass. u1),
(QClass. u2))
by A15, A16, QUOFIELD:def 13
.=
QClass. (pmult (u1,u2))
by QUOFIELD:10
;
then A27:
u12 in QClass. (pmult (u1,u2))
by A24, QUOFIELD:5;
A28:
(u12 `1) * ((pmult (u1,u2)) `2) = x12 * (y1 * y2)
by Th6, A24, A26;
((pmult (u1,u2)) `1) * (u12 `2) = (x1 * x2) * y12
by Th6, A24, A26;
then
x12 * (y1 * y2) = (x1 * x2) * y12
by A28, A27, QUOFIELD:def 4;
then
x12 / y12 = (x1 * x2) / (y1 * y2)
by A15, A16, A24, XCMPLX_1:94;
hence
(
I . (z1 + z2) = (I . z1) + (I . z2) &
I . (z1 * z2) = (I . z1) * (I . z2) )
by A23, A25, A18, A24, A17, A15, A16, Th27, Th29;
verum
end;
A29: I . (0. Gauss_INT_Field) =
I . ((0. Gauss_INT_Field) + (0. Gauss_INT_Field))
by RLVECT_1:4
.=
(I . (0. Gauss_INT_Field)) + (I . (0. Gauss_INT_Field))
by A14
;
A30: 0. Gauss_RAT_Ring =
(I . (0. Gauss_INT_Field)) - (I . (0. Gauss_INT_Field))
by RLVECT_1:15
.=
(I . (0. Gauss_INT_Field)) + ((I . (0. Gauss_INT_Field)) - (I . (0. Gauss_INT_Field)))
by A29, RLVECT_1:28
.=
(I . (0. Gauss_INT_Field)) + (0. Gauss_RAT_Ring)
by RLVECT_1:15
.=
I . (0. Gauss_INT_Field)
by RLVECT_1:4
;
dom I = the carrier of Gauss_INT_Field
by FUNCT_2:def 1;
then A31:
I . (1. Gauss_INT_Field) <> 0. Gauss_RAT_Ring
by A5, A30;
A32: I . (1. Gauss_INT_Field) =
I . ((1. Gauss_INT_Field) * (1. Gauss_INT_Field))
.=
(I . (1. Gauss_INT_Field)) * (I . (1. Gauss_INT_Field))
by A14
;
1. Gauss_RAT_Ring =
((I . (1. Gauss_INT_Field)) ") * (I . (1. Gauss_INT_Field))
by VECTSP_1:def 10, A31
.=
(((I . (1. Gauss_INT_Field)) ") * (I . (1. Gauss_INT_Field))) * (I . (1. Gauss_INT_Field))
by A32, GROUP_1:def 3
.=
(1. Gauss_RAT_Ring) * (I . (1. Gauss_INT_Field))
by VECTSP_1:def 10, A31
.=
I . (1. Gauss_INT_Field)
;
hence
ex I being Function of Gauss_INT_Field,Gauss_RAT_Ring st
( ( for z being object st z in the carrier of Gauss_INT_Field holds
ex x, y being G_INTEG ex u being Element of Q. Gauss_INT_Ring st
( y <> 0 & u = [x,y] & z = QClass. u & I . z = x / y ) ) & I is one-to-one & I is onto & ( for x, y being Element of Gauss_INT_Field holds
( I . (x + y) = (I . x) + (I . y) & I . (x * y) = (I . x) * (I . y) ) ) & I . (0. Gauss_INT_Field) = 0. Gauss_RAT_Ring & I . (1. Gauss_INT_Field) = 1. Gauss_RAT_Ring )
by A4, A10, A13, A14, A30; verum