let a, b be non zero Nat; :: thesis: ( a,b are_coprime implies TSqFactors (a * b) = (TSqFactors a) + (TSqFactors b) )
reconsider an = a, bn = b as non zero Nat ;
assume A1: a,b are_coprime ; :: thesis: TSqFactors (a * b) = (TSqFactors a) + (TSqFactors b)
deffunc H1( non zero Nat) -> ManySortedSet of SetPrimes = TSqFactors $1;
now :: thesis: for i being object st i in SetPrimes holds
H1(a * b) . i = (H1(a) + H1(b)) . i
let i be object ; :: thesis: ( i in SetPrimes implies H1(a * b) . b1 = (H1(a) + H1(b)) . b1 )
assume i in SetPrimes ; :: thesis: H1(a * b) . b1 = (H1(a) + H1(b)) . b1
then reconsider p = i as Prime by NEWTON:def 6;
A2: p |-count (an * bn) = (p |-count a) + (p |-count b) by NAT_3:28;
A4: p > 1 by INT_2:def 4;
per cases ( p |-count (a * b) = 0 or p |-count (a * b) <> 0 ) ;
suppose A5: p |-count (a * b) = 0 ; :: thesis: H1(a * b) . b1 = (H1(a) + H1(b)) . b1
then A6: p |-count b = 0 by A2;
A7: p |-count a = 0 by A2, A5;
thus H1(a * b) . i = 0 by A5, MB148T
.= 0 + (H1(b) . i) by A6, MB148T
.= (H1(a) . i) + (H1(b) . i) by A7, MB148T
.= (H1(a) + H1(b)) . i by PRE_POLY:def 5 ; :: thesis: verum
end;
suppose A8: p |-count (a * b) <> 0 ; :: thesis: H1(a * b) . b1 = (H1(a) + H1(b)) . b1
thus H1(a * b) . i = (H1(a) + H1(b)) . i :: thesis: verum
proof
per cases ( p |-count a <> 0 or p |-count b <> 0 ) by A2, A8;
suppose A9: p |-count a <> 0 ; :: thesis: H1(a * b) . i = (H1(a) + H1(b)) . i
A10: p |-count b = 0
proof
consider ka being Nat such that
A11: p |-count a = ka + 1 by A9, NAT_1:6;
p |^ (p |-count a) divides a by A4, NAT_3:def 7;
then p * (p |^ ka) divides a by A11, NEWTON:6;
then consider la being Nat such that
A12: a = (p * (p |^ ka)) * la ;
a = p * ((p |^ ka) * la) by A12;
then A13: p divides a ;
assume p |-count b <> 0 ; :: thesis: contradiction
then consider kb being Nat such that
A14: p |-count b = kb + 1 by NAT_1:6;
p |^ (p |-count b) divides b by A4, NAT_3:def 7;
then p * (p |^ kb) divides b by A14, NEWTON:6;
then consider lb being Nat such that
A15: b = (p * (p |^ kb)) * lb ;
b = p * ((p |^ kb) * lb) by A15;
then p divides b ;
then p divides 1 by A1, A13, NAT_D:def 5;
hence contradiction by INT_2:def 4, NAT_D:7; :: thesis: verum
end;
thus H1(a * b) . i = p |^ (2 * ((p |-count (a * b)) div 2)) by A8, MB149T
.= (H1(a) . p) + 0 by A9, MB149T, A10, A2
.= (H1(a) . p) + (H1(b) . p) by A10, MB148T
.= (H1(a) + H1(b)) . i by PRE_POLY:def 5 ; :: thesis: verum
end;
suppose A16: p |-count b <> 0 ; :: thesis: H1(a * b) . i = (H1(a) + H1(b)) . i
A17: p |-count a = 0
proof
assume p |-count a <> 0 ; :: thesis: contradiction
then consider ka being Nat such that
A18: p |-count a = ka + 1 by NAT_1:6;
reconsider ka = ka as Element of NAT by ORDINAL1:def 12;
p |^ (p |-count a) divides a by A4, NAT_3:def 7;
then p * (p |^ ka) divides a by A18, NEWTON:6;
then consider la being Nat such that
A19: a = (p * (p |^ ka)) * la ;
a = p * ((p |^ ka) * la) by A19;
then A20: p divides a ;
consider kb being Nat such that
A21: p |-count b = kb + 1 by A16, NAT_1:6;
p |^ (p |-count b) divides b by A4, NAT_3:def 7;
then p * (p |^ kb) divides b by A21, NEWTON:6;
then consider lb being Nat such that
A22: b = (p * (p |^ kb)) * lb ;
b = p * ((p |^ kb) * lb) by A22;
then p divides b ;
then p divides 1 by A1, A20, NAT_D:def 5;
hence contradiction by INT_2:def 4, NAT_D:7; :: thesis: verum
end;
thus H1(a * b) . i = p |^ (2 * ((p |-count (a * b)) div 2)) by A8, MB149T
.= 0 + (H1(b) . p) by A16, MB149T, A17, A2
.= (H1(a) . p) + (H1(b) . p) by A17, MB148T
.= (H1(a) + H1(b)) . i by PRE_POLY:def 5 ; :: thesis: verum
end;
end;
end;
end;
end;
end;
hence TSqFactors (a * b) = (TSqFactors a) + (TSqFactors b) by PBOOLE:3; :: thesis: verum