let n be Nat; :: thesis: ( 3 divides n iff 3 divides Sum (digits n,10) )
consider p being XFinSequence of such that
A1:
( dom p = dom (digits n,10) & ( for i being Nat st i in dom p holds
p . i = ((digits n,10) . i) * (10 |^ i) ) & value (digits n,10),10 = Sum p )
by Def1;
defpred S1[ set , set ] means $2 = (p . $1) mod 3;
reconsider dop = dom p as Element of NAT by ORDINAL1:def 13;
A2:
for k being Element of NAT st k in dop holds
ex x being Element of NAT st S1[k,x]
;
consider p' being XFinSequence of such that
A3:
( dom p' = dop & ( for k being Element of NAT st k in dop holds
S1[k,p' . k] ) )
from STIRL2_1:sch 6(A2);
A4:
for i being Nat st i in dom p holds
p' . i = (p . i) mod 3
by A3;
A5:
now let i be
Nat;
:: thesis: ( i in dom p implies p' . i = ((digits n,10) . i) mod 3 )reconsider dz =
(10 |^ i) - 1 as
Nat by NAT_1:20, NEWTON:102;
reconsider dz =
dz as
Element of
NAT by ORDINAL1:def 13;
( 3
divides 3
* 3 & 9
divides dz )
by Th9, NAT_D:def 3;
then
3
divides dz
by NAT_D:4;
then
3
divides ((digits n,10) . i) * dz
by NAT_D:9;
then A6:
(((digits n,10) . i) * dz) mod 3
= 0
by PEPIN:6;
assume A7:
i in dom p
;
:: thesis: p' . i = ((digits n,10) . i) mod 3hence p' . i =
(p . i) mod 3
by A3
.=
(((digits n,10) . i) * (dz + 1)) mod 3
by A1, A7
.=
((((digits n,10) . i) * dz) + ((digits n,10) . i)) mod 3
.=
(0 + ((digits n,10) . i)) mod 3
by A6, NAT_D:22
.=
((digits n,10) . i) mod 3
;
:: thesis: verum end;
thus
( 3 divides n implies 3 divides Sum (digits n,10) )
:: thesis: ( 3 divides Sum (digits n,10) implies 3 divides n )
assume
3 divides Sum (digits n,10)
; :: thesis: 3 divides n
then
(Sum (digits n,10)) mod 3 = 0
by PEPIN:6;
then
(Sum p') mod 3 = 0
by A1, A3, A5, Th6;
then
(Sum p) mod 3 = 0
by A3, A4, Th6;
then
3 divides Sum p
by PEPIN:6;
hence
3 divides n
by A1, Th8; :: thesis: verum