let R be gcdDomain; :: thesis: for Amp being AmpleSet of R
for r1, r2, s1, s2 being Element of R st Amp is multiplicative & r1,r2 are_normalized_wrt Amp & s1,s2 are_normalized_wrt Amp holds
add1 r1,r2,s1,s2,Amp, add2 r1,r2,s1,s2,Amp are_normalized_wrt Amp
let Amp be AmpleSet of R; :: thesis: for r1, r2, s1, s2 being Element of R st Amp is multiplicative & r1,r2 are_normalized_wrt Amp & s1,s2 are_normalized_wrt Amp holds
add1 r1,r2,s1,s2,Amp, add2 r1,r2,s1,s2,Amp are_normalized_wrt Amp
let r1, r2, s1, s2 be Element of R; :: thesis: ( Amp is multiplicative & r1,r2 are_normalized_wrt Amp & s1,s2 are_normalized_wrt Amp implies add1 r1,r2,s1,s2,Amp, add2 r1,r2,s1,s2,Amp are_normalized_wrt Amp )
assume A1:
( Amp is multiplicative & r1,r2 are_normalized_wrt Amp & s1,s2 are_normalized_wrt Amp )
; :: thesis: add1 r1,r2,s1,s2,Amp, add2 r1,r2,s1,s2,Amp are_normalized_wrt Amp
then A2:
( r2 in Amp & s2 in Amp & r2 <> 0. R & s2 <> 0. R )
by Def15;
then A3:
( r2 = NF r2,Amp & s2 = NF s2,Amp & r2 <> 0. R & s2 <> 0. R )
by Def9;
A4:
( gcd r1,r2,Amp = 1. R & gcd s1,s2,Amp = 1. R )
by A1, Def15;
then A5:
( r1,r2 are_co-prime & s1,s2 are_co-prime )
by Def14;
now per cases
( r1 = 0. R or s1 = 0. R or gcd r2,s2,Amp = 1. R or (r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp))) = 0. R or ( r1 <> 0. R & s1 <> 0. R & gcd r2,s2,Amp <> 1. R & (r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp))) <> 0. R ) )
;
case A6:
r1 = 0. R
;
:: thesis: add1 r1,r2,s1,s2,Amp, add2 r1,r2,s1,s2,Amp are_normalized_wrt Ampthen
add2 r1,
r2,
s1,
s2,
Amp = s2
by A3, A5, Def17;
hence
add1 r1,
r2,
s1,
s2,
Amp,
add2 r1,
r2,
s1,
s2,
Amp are_normalized_wrt Amp
by A1, A3, A5, A6, Def16;
:: thesis: verum end; case A7:
s1 = 0. R
;
:: thesis: add1 r1,r2,s1,s2,Amp, add2 r1,r2,s1,s2,Amp are_normalized_wrt Ampthen
add2 r1,
r2,
s1,
s2,
Amp = r2
by A3, A5, Def17;
hence
add1 r1,
r2,
s1,
s2,
Amp,
add2 r1,
r2,
s1,
s2,
Amp are_normalized_wrt Amp
by A1, A3, A5, A7, Def16;
:: thesis: verum end; case A8:
gcd r2,
s2,
Amp = 1. R
;
:: thesis: add1 r1,r2,s1,s2,Amp, add2 r1,r2,s1,s2,Amp are_normalized_wrt Ampthen A9:
add1 r1,
r2,
s1,
s2,
Amp = (r1 * s2) + (r2 * s1)
by A3, A5, Def16;
A10:
add2 r1,
r2,
s1,
s2,
Amp = r2 * s2
by A3, A5, A8, Def17;
then A11:
gcd (add1 r1,r2,s1,s2,Amp),
(add2 r1,r2,s1,s2,Amp),
Amp =
gcd ((r1 * (s2 / (1. R))) + (s1 * r2)),
(r2 * s2),
Amp
by A9, Th10
.=
gcd ((r1 * (s2 / (1. R))) + (s1 * (r2 / (1. R)))),
(r2 * s2),
Amp
by Th10
.=
gcd ((r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp)))),
(r2 * (s2 / (gcd r2,s2,Amp))),
Amp
by A8, Th10
.=
gcd ((r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp)))),
(gcd r2,s2,Amp),
Amp
by A2, A4, Th41
.=
1. R
by A8, Th33
;
reconsider r2 =
r2,
s2 =
s2 as
Element of
Amp by A1, Def15;
A12:
r2 * s2 in Amp
by A1, Def10;
r2 * s2 <> 0. R
by A2, VECTSP_2:def 5;
hence
add1 r1,
r2,
s1,
s2,
Amp,
add2 r1,
r2,
s1,
s2,
Amp are_normalized_wrt Amp
by A10, A11, A12, Def15;
:: thesis: verum end; case
(r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp))) = 0. R
;
:: thesis: add1 r1,r2,s1,s2,Amp, add2 r1,r2,s1,s2,Amp are_normalized_wrt Ampthen A13:
add2 r1,
r2,
s1,
s2,
Amp = 1. R
by A3, A5, Def17;
then A14:
gcd (add1 r1,r2,s1,s2,Amp),
(add2 r1,r2,s1,s2,Amp),
Amp = 1. R
by Th33;
A15:
1. R in Amp
by Th22;
1. R <> 0. R
;
hence
add1 r1,
r2,
s1,
s2,
Amp,
add2 r1,
r2,
s1,
s2,
Amp are_normalized_wrt Amp
by A13, A14, A15, Def15;
:: thesis: verum end; case A16:
(
r1 <> 0. R &
s1 <> 0. R &
gcd r2,
s2,
Amp <> 1. R &
(r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp))) <> 0. R )
;
:: thesis: add1 r1,r2,s1,s2,Amp, add2 r1,r2,s1,s2,Amp are_normalized_wrt Ampthen A17:
add1 r1,
r2,
s1,
s2,
Amp = ((r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp)))) / (gcd ((r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp)))),(gcd r2,s2,Amp),Amp)
by A3, A5, Def16;
A18:
add2 r1,
r2,
s1,
s2,
Amp = (r2 * (s2 / (gcd r2,s2,Amp))) / (gcd ((r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp)))),(gcd r2,s2,Amp),Amp)
by A3, A5, A16, Def17;
A19:
gcd ((r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp)))),
(r2 * (s2 / (gcd r2,s2,Amp))),
Amp = gcd ((r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp)))),
(gcd r2,s2,Amp),
Amp
by A2, A4, Th41;
gcd r2,
s2,
Amp <> 0. R
by A2, Th34;
then
gcd ((r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp)))),
(gcd r2,s2,Amp),
Amp <> 0. R
by Th34;
then A20:
gcd (((r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp)))) / (gcd ((r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp)))),(gcd r2,s2,Amp),Amp)),
((r2 * (s2 / (gcd r2,s2,Amp))) / (gcd ((r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp)))),(gcd r2,s2,Amp),Amp)),
Amp = 1. R
by A19, Th39;
reconsider r2 =
r2,
s2 =
s2 as
Element of
Amp by A1, Def15;
A21:
gcd r2,
s2,
Amp divides s2
by Def12;
A22:
gcd r2,
s2,
Amp <> 0. R
by A2, Th34;
gcd r2,
s2,
Amp in Amp
by Def12;
then reconsider z3 =
s2 / (gcd r2,s2,Amp) as
Element of
Amp by A1, A21, A22, Th27;
r2 * z3 in Amp
by A1, Def10;
then reconsider z1 =
r2 * (s2 / (gcd r2,s2,Amp)) as
Element of
Amp ;
reconsider z2 =
gcd ((r1 * (s2 / (gcd r2,s2,Amp))) + (s1 * (r2 / (gcd r2,s2,Amp)))),
(gcd r2,s2,Amp),
Amp as
Element of
Amp by Def12;
A23:
z2 divides z1
A25:
z2 <> 0. R
by A22, Th34;
then A26:
z1 / z2 in Amp
by A1, A23, Th27;
z1 / z2 <> 0. R
proof
A27:
r2 * s2 <> 0. R
by A2, VECTSP_2:def 5;
A28:
gcd r2,
s2,
Amp divides r2 * s2
by A21, Th7;
then
z1 = (r2 * s2) / (gcd r2,s2,Amp)
by A21, A22, Th11;
then
z1 <> 0. R
by A22, A27, A28, Th8;
hence
z1 / z2 <> 0. R
by A23, A25, Th8;
:: thesis: verum
end; hence
add1 r1,
r2,
s1,
s2,
Amp,
add2 r1,
r2,
s1,
s2,
Amp are_normalized_wrt Amp
by A17, A18, A20, A26, Def15;
:: thesis: verum end; end; end;
hence
add1 r1,r2,s1,s2,Amp, add2 r1,r2,s1,s2,Amp are_normalized_wrt Amp
; :: thesis: verum