let a, b be real number ; :: thesis: for n being Element of NAT st ( ( n >= 1 & a >= 0 & b >= 0 ) or not n is even ) holds
n -root (a * b) = (n -root a) * (n -root b)

let n be Element of NAT ; :: thesis: ( ( ( n >= 1 & a >= 0 & b >= 0 ) or not n is even ) implies n -root (a * b) = (n -root a) * (n -root b) )
assume A1: ( ( n >= 1 & a >= 0 & b >= 0 ) or not n is even ) ; :: thesis: n -root (a * b) = (n -root a) * (n -root b)
A2: now
let a, b be real number ; :: thesis: for n being Element of NAT st n >= 1 & a >= 0 & b >= 0 holds
n -root (a * b) = (n -root a) * (n -root b)

let n be Element of NAT ; :: thesis: ( n >= 1 & a >= 0 & b >= 0 implies n -root (a * b) = (n -root a) * (n -root b) )
assume that
A3: n >= 1 and
A4: a >= 0 and
A5: b >= 0 ; :: thesis: n -root (a * b) = (n -root a) * (n -root b)
thus n -root (a * b) = n -Root (a * b) by A3, A4, A5, Def1
.= (n -Root a) * (n -Root b) by A3, A4, A5, PREPOWER:22
.= (n -root a) * (n -Root b) by A3, A4, Def1
.= (n -root a) * (n -root b) by A3, A5, Def1 ; :: thesis: verum
end;
now
assume A6: not n is even ; :: thesis: n -root (a * b) = (n -root a) * (n -root b)
then A7: n >= 1 by ABIAN:12;
now
per cases ( ( a >= 0 & b >= 0 ) or ( a < 0 & b < 0 ) or ( a >= 0 & b < 0 ) or ( a < 0 & b >= 0 ) ) ;
suppose ( a >= 0 & b >= 0 ) ; :: thesis: n -root (a * b) = (n -root a) * (n -root b)
hence n -root (a * b) = (n -root a) * (n -root b) by A2, A7; :: thesis: verum
end;
suppose A8: ( a < 0 & b < 0 ) ; :: thesis: n -root (a * b) = (n -root a) * (n -root b)
hence n -root (a * b) = n -Root ((- a) * (- b)) by A7, Def1
.= (- (- (n -Root (- a)))) * (n -Root (- b)) by A7, A8, PREPOWER:22
.= (- (n -root a)) * (- (- (n -Root (- b)))) by A6, A8, Def1
.= (- (n -root a)) * (- (n -root b)) by A6, A8, Def1
.= (n -root a) * (n -root b) ;
:: thesis: verum
end;
suppose A9: ( a >= 0 & b < 0 ) ; :: thesis: n -root (a * b) = (n -root a) * (n -root b)
thus n -root (a * b) = - (n -root (- (a * b))) by A6, Th11
.= - (n -root (a * (- b)))
.= - ((n -root a) * (n -root (- b))) by A2, A7, A9
.= (n -root a) * (- (n -root (- b)))
.= (n -root a) * (n -root b) by A6, Th11 ; :: thesis: verum
end;
suppose A10: ( a < 0 & b >= 0 ) ; :: thesis: n -root (a * b) = (n -root a) * (n -root b)
thus n -root (a * b) = - (n -root (- (a * b))) by A6, Th11
.= - (n -root ((- a) * b))
.= - ((n -root (- a)) * (n -root b)) by A2, A7, A10
.= (- (n -root (- a))) * (n -root b)
.= (n -root a) * (n -root b) by A6, Th11 ; :: thesis: verum
end;
end;
end;
hence n -root (a * b) = (n -root a) * (n -root b) ; :: thesis: verum
end;
hence n -root (a * b) = (n -root a) * (n -root b) by A1, A2; :: thesis: verum