let b, m be FinSequence of INT ; ( 2 <= len b & ( for i, j being Nat st i in Seg (len b) & j in Seg (len b) & i <> j holds
b . i,b . j are_coprime ) & m . 1 = 1 implies for k being Nat st 1 <= k & k <= (len b) - 1 & ( for i being Nat st 1 <= i & i <= k holds
m . (i + 1) = (m . i) * (b . i) ) holds
for j being Nat st k + 1 <= j & j <= len b holds
m . (k + 1),b . j are_coprime )
assume
2 <= len b
; ( ex i, j being Nat st
( i in Seg (len b) & j in Seg (len b) & i <> j & not b . i,b . j are_coprime ) or not m . 1 = 1 or for k being Nat st 1 <= k & k <= (len b) - 1 & ( for i being Nat st 1 <= i & i <= k holds
m . (i + 1) = (m . i) * (b . i) ) holds
for j being Nat st k + 1 <= j & j <= len b holds
m . (k + 1),b . j are_coprime )
assume A1:
( ( for i, j being Nat st i in Seg (len b) & j in Seg (len b) & i <> j holds
b . i,b . j are_coprime ) & m . 1 = 1 )
; for k being Nat st 1 <= k & k <= (len b) - 1 & ( for i being Nat st 1 <= i & i <= k holds
m . (i + 1) = (m . i) * (b . i) ) holds
for j being Nat st k + 1 <= j & j <= len b holds
m . (k + 1),b . j are_coprime
defpred S1[ Nat] means ( 1 <= $1 & $1 <= (len b) - 1 & ( for i being Nat st 1 <= i & i <= $1 holds
m . (i + 1) = (m . i) * (b . i) ) implies for j being Nat st $1 + 1 <= j & j <= len b holds
m . ($1 + 1),b . j are_coprime );
reconsider I0 = 0 as Element of NAT ;
A2:
S1[ 0 ]
;
A3:
for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be
Nat;
( S1[k] implies S1[k + 1] )
assume A4:
S1[
k]
;
S1[k + 1]
assume A5:
( 1
<= k + 1 &
k + 1
<= (len b) - 1 & ( for
i being
Nat st 1
<= i &
i <= k + 1 holds
m . (i + 1) = (m . i) * (b . i) ) )
;
for j being Nat st (k + 1) + 1 <= j & j <= len b holds
m . ((k + 1) + 1),b . j are_coprime
A6:
k <= k + 1
by NAT_1:12;
per cases
( k = 0 or k <> 0 )
;
suppose A13:
k <> 0
;
for j being Nat st (k + 1) + 1 <= j & j <= len b holds
m . ((k + 1) + 1),b . j are_coprime A14:
now for i being Nat st 1 <= i & i <= k holds
m . (i + 1) = (m . i) * (b . i)let i be
Nat;
( 1 <= i & i <= k implies m . (i + 1) = (m . i) * (b . i) )assume
( 1
<= i &
i <= k )
;
m . (i + 1) = (m . i) * (b . i)then
( 1
<= i &
i <= k + 1 )
by NAT_1:12;
hence
m . (i + 1) = (m . i) * (b . i)
by A5;
verum end; thus
for
j being
Nat st
(k + 1) + 1
<= j &
j <= len b holds
m . ((k + 1) + 1),
b . j are_coprime
verumproof
let j be
Nat;
( (k + 1) + 1 <= j & j <= len b implies m . ((k + 1) + 1),b . j are_coprime )
assume A15:
(
(k + 1) + 1
<= j &
j <= len b )
;
m . ((k + 1) + 1),b . j are_coprime
k + 1
<= (k + 1) + 1
by NAT_1:12;
then A16:
(
k + 1
<= j &
j <= len b )
by A15, XXREAL_0:2;
then A17:
m . (k + 1),
b . j are_coprime
by A14, A4, A5, A6, A13, NAT_1:14, XXREAL_0:2;
A18:
1
<= k + 1
by NAT_1:12;
k + 1
<= len b
by A16, XXREAL_0:2;
then A19:
k + 1
in Seg (len b)
by A18;
( 1
<= j &
j <= len b )
by A16, A18, XXREAL_0:2;
then A20:
j in Seg (len b)
;
k + 1
< j
by A15, NAT_1:16, XXREAL_0:2;
then A21:
b . (k + 1),
b . j are_coprime
by A1, A19, A20;
m . ((k + 1) + 1) = (m . (k + 1)) * (b . (k + 1))
by A5;
hence
m . ((k + 1) + 1),
b . j are_coprime
by A21, A17, INT_2:26;
verum
end; end; end;
end;
for k being Nat holds S1[k]
from NAT_1:sch 2(A2, A3);
hence
for k being Nat st 1 <= k & k <= (len b) - 1 & ( for i being Nat st 1 <= i & i <= k holds
m . (i + 1) = (m . i) * (b . i) ) holds
for j being Nat st k + 1 <= j & j <= len b holds
m . (k + 1),b . j are_coprime
; verum