let E be set ; :: thesis: for A being Subset of (E ^omega)
for n, m being Nat holds A |^ (m + n) = (A |^ m) ^^ (A |^ n)

let A be Subset of (E ^omega); :: thesis: for n, m being Nat holds A |^ (m + n) = (A |^ m) ^^ (A |^ n)
let n, m be Nat; :: thesis: A |^ (m + n) = (A |^ m) ^^ (A |^ n)
defpred S1[ Nat] means for m, n being Nat st m + n <= $1 holds
A |^ (m + n) = (A |^ m) ^^ (A |^ n);
A1: now :: thesis: for l being Nat st S1[l] holds
S1[l + 1]
let l be Nat; :: thesis: ( S1[l] implies S1[l + 1] )
assume A2: S1[l] ; :: thesis: S1[l + 1]
now :: thesis: for m, n being Nat st m + n <= l + 1 holds
A |^ (m + n) = (A |^ m) ^^ (A |^ n)
let m, n be Nat; :: thesis: ( m + n <= l + 1 implies A |^ (m + n) = (A |^ m) ^^ (A |^ n) )
A3: now :: thesis: ( m + n < l + 1 implies A |^ (m + n) = (A |^ m) ^^ (A |^ n) )
assume m + n < l + 1 ; :: thesis: A |^ (m + n) = (A |^ m) ^^ (A |^ n)
then m + n <= l by NAT_1:13;
hence A |^ (m + n) = (A |^ m) ^^ (A |^ n) by A2; :: thesis: verum
end;
A4: now :: thesis: ( m + n = l + 1 implies A |^ (m + n) = (A |^ m) ^^ (A |^ n) )
assume A5: m + n = l + 1 ; :: thesis: A |^ (m + n) = (A |^ m) ^^ (A |^ n)
A6: now :: thesis: ( n = 0 implies A |^ (m + n) = (A |^ m) ^^ (A |^ n) )
assume A7: n = 0 ; :: thesis: A |^ (m + n) = (A |^ m) ^^ (A |^ n)
thus A |^ (m + n) = (A |^ (l + 1)) ^^ {(<%> E)} by A5, Th13
.= (A |^ m) ^^ (A |^ n) by A5, A7, Th24 ; :: thesis: verum
end;
A8: now :: thesis: ( m > 0 & n > 0 implies A |^ (m + n) = (A |^ m) ^^ (A |^ n) )
assume that
A9: m > 0 and
A10: n > 0 ; :: thesis: A |^ (m + n) = (A |^ m) ^^ (A |^ n)
consider k being Nat such that
A11: k + 1 = m by A9, NAT_1:6;
A |^ (m + n) = A |^ ((k + n) + 1) by A11
.= (A |^ (k + n)) ^^ A by Th23
.= A ^^ (A |^ (k + n)) by Th32
.= A ^^ ((A |^ k) ^^ (A |^ n)) by A2, A5, A11
.= (A ^^ (A |^ k)) ^^ (A |^ n) by Th18
.= ((A |^ k) ^^ A) ^^ (A |^ n) by Th32
.= ((A |^ k) ^^ (A |^ 1)) ^^ (A |^ n) by Th25
.= (A |^ m) ^^ (A |^ n) by A2, A5, A10, A11, Th2 ;
hence A |^ (m + n) = (A |^ m) ^^ (A |^ n) ; :: thesis: verum
end;
now :: thesis: ( m = 0 implies A |^ (m + n) = (A |^ m) ^^ (A |^ n) )
assume A12: m = 0 ; :: thesis: A |^ (m + n) = (A |^ m) ^^ (A |^ n)
thus A |^ (m + n) = {(<%> E)} ^^ (A |^ (l + 1)) by A5, Th13
.= (A |^ m) ^^ (A |^ n) by A5, A12, Th24 ; :: thesis: verum
end;
hence A |^ (m + n) = (A |^ m) ^^ (A |^ n) by A6, A8; :: thesis: verum
end;
assume m + n <= l + 1 ; :: thesis: A |^ (m + n) = (A |^ m) ^^ (A |^ n)
hence A |^ (m + n) = (A |^ m) ^^ (A |^ n) by A4, A3, XXREAL_0:1; :: thesis: verum
end;
hence S1[l + 1] ; :: thesis: verum
end;
A13: S1[ 0 ]
proof
let m, n be Nat; :: thesis: ( m + n <= 0 implies A |^ (m + n) = (A |^ m) ^^ (A |^ n) )
assume A14: m + n <= 0 ; :: thesis: A |^ (m + n) = (A |^ m) ^^ (A |^ n)
then A15: m = 0 ;
A16: m + n = 0 by A14;
hence A |^ (m + n) = (A |^ 0) ^^ {(<%> E)} by Th13
.= (A |^ m) ^^ (A |^ n) by A16, A15, Th24 ;
:: thesis: verum
end;
for l being Nat holds S1[l] from NAT_1:sch 2(A13, A1);
hence A |^ (m + n) = (A |^ m) ^^ (A |^ n) ; :: thesis: verum