let x1, x2, y1, y2 be FinSequence of REAL ; ( len x1 = len x2 & len y1 = len y2 implies mlt ((x1 ^ y1),(x2 ^ y2)) = (mlt (x1,x2)) ^ (mlt (y1,y2)) )
assume that
A1:
len x1 = len x2
and
A2:
len y1 = len y2
; mlt ((x1 ^ y1),(x2 ^ y2)) = (mlt (x1,x2)) ^ (mlt (y1,y2))
A3:
multreal .: ((x1 ^ y1),(x2 ^ y2)) = multreal * <:(x1 ^ y1),(x2 ^ y2):>
by FUNCOP_1:def 3;
A4:
dom (x1 ^ y1) = Seg (len (x1 ^ y1))
by FINSEQ_1:def 3;
( dom multreal = [:REAL,REAL:] & rng (x1 ^ y1) c= REAL )
by FUNCT_2:def 1;
then
[:(rng (x1 ^ y1)),(rng (x2 ^ y2)):] c= dom multreal
by ZFMISC_1:96;
then A5:
dom (multreal * <:(x1 ^ y1),(x2 ^ y2):>) = (dom (x1 ^ y1)) /\ (dom (x2 ^ y2))
by A3, FUNCOP_1:69;
A6:
len (x2 ^ y2) = (len x2) + (len y2)
by FINSEQ_1:22;
then
dom (x1 ^ y1) = dom (x2 ^ y2)
by A1, A2, A4, FINSEQ_1:22, FINSEQ_1:def 3;
then A7:
dom (mlt ((x1 ^ y1),(x2 ^ y2))) = dom (x1 ^ y1)
by A3, A5, RVSUM_1:def 9;
A8:
multreal .: (y1,y2) = multreal * <:y1,y2:>
by FUNCOP_1:def 3;
A9:
dom multreal = [:REAL,REAL:]
by FUNCT_2:def 1;
then
[:(rng y1),(rng y2):] c= dom multreal
by ZFMISC_1:96;
then A10:
dom (multreal * <:y1,y2:>) = (dom y1) /\ (dom y2)
by A8, FUNCOP_1:69;
dom y2 =
Seg (len y1)
by A2, FINSEQ_1:def 3
.=
dom y1
by FINSEQ_1:def 3
;
then A11:
dom (mlt (y1,y2)) = dom y1
by A8, A10, RVSUM_1:def 9;
then
dom (mlt (y1,y2)) = Seg (len y1)
by FINSEQ_1:def 3;
then A12:
len (mlt (y1,y2)) = len y1
by FINSEQ_1:def 3;
A13:
multreal .: (x1,x2) = multreal * <:x1,x2:>
by FUNCOP_1:def 3;
[:(rng x1),(rng x2):] c= dom multreal
by A9, ZFMISC_1:96;
then A14:
dom (multreal * <:x1,x2:>) = (dom x1) /\ (dom x2)
by A13, FUNCOP_1:69;
A15:
len (x1 ^ y1) = (len x1) + (len y1)
by FINSEQ_1:22;
dom x2 =
Seg (len x1)
by A1, FINSEQ_1:def 3
.=
dom x1
by FINSEQ_1:def 3
;
then A16:
dom (mlt (x1,x2)) = dom x1
by A13, A14, RVSUM_1:def 9;
then A17:
dom (mlt (x1,x2)) = Seg (len x1)
by FINSEQ_1:def 3;
A18:
for i being Nat st 1 <= i & i <= len (mlt ((x1 ^ y1),(x2 ^ y2))) holds
(mlt ((x1 ^ y1),(x2 ^ y2))) . i = ((mlt (x1,x2)) ^ (mlt (y1,y2))) . i
proof
let i be
Nat;
( 1 <= i & i <= len (mlt ((x1 ^ y1),(x2 ^ y2))) implies (mlt ((x1 ^ y1),(x2 ^ y2))) . i = ((mlt (x1,x2)) ^ (mlt (y1,y2))) . i )
assume that A19:
1
<= i
and A20:
i <= len (mlt ((x1 ^ y1),(x2 ^ y2)))
;
(mlt ((x1 ^ y1),(x2 ^ y2))) . i = ((mlt (x1,x2)) ^ (mlt (y1,y2))) . i
i in Seg (len (mlt ((x1 ^ y1),(x2 ^ y2))))
by A19, A20;
then A21:
i in dom (mlt ((x1 ^ y1),(x2 ^ y2)))
by FINSEQ_1:def 3;
then
i <= len (x1 ^ y1)
by A4, A7, FINSEQ_1:1;
then A22:
(x1 ^ y1) /. i = (x1 ^ y1) . i
by A19, FINSEQ_4:15;
i <= len (x2 ^ y2)
by A1, A2, A15, A6, A4, A7, A21, FINSEQ_1:1;
then A23:
(x2 ^ y2) /. i = (x2 ^ y2) . i
by A19, FINSEQ_4:15;
A24:
i <= (len x1) + (len y1)
by A15, A4, A7, A21, FINSEQ_1:1;
now ((x1 ^ y1) /. i) * ((x2 ^ y2) /. i) = ((mlt (x1,x2)) ^ (mlt (y1,y2))) . iper cases
( i <= len x1 or i > len x1 )
;
suppose A25:
i <= len x1
;
((x1 ^ y1) /. i) * ((x2 ^ y2) /. i) = ((mlt (x1,x2)) ^ (mlt (y1,y2))) . ithen A26:
i in Seg (len x1)
by A19;
then A27:
i in dom x1
by FINSEQ_1:def 3;
i in dom x2
by A1, A26, FINSEQ_1:def 3;
then A28:
(x2 ^ y2) . i = x2 . i
by FINSEQ_1:def 7;
A29:
i in dom (mlt (x1,x2))
by A16, A26, FINSEQ_1:def 3;
then A30:
((mlt (x1,x2)) ^ (mlt (y1,y2))) . i =
(mlt (x1,x2)) . i
by FINSEQ_1:def 7
.=
(x1 /. i) * (x2 /. i)
by A29, Th13
;
(
x1 /. i = x1 . i &
x2 /. i = x2 . i )
by A1, A19, A25, FINSEQ_4:15;
hence
((x1 ^ y1) /. i) * ((x2 ^ y2) /. i) = ((mlt (x1,x2)) ^ (mlt (y1,y2))) . i
by A22, A23, A27, A28, A30, FINSEQ_1:def 7;
verum end; suppose A31:
i > len x1
;
((x1 ^ y1) /. i) * ((x2 ^ y2) /. i) = ((mlt (x1,x2)) ^ (mlt (y1,y2))) . i
i <= len (x2 ^ y2)
by A1, A2, A15, A6, A4, A7, A21, FINSEQ_1:1;
then A32:
(x2 ^ y2) /. i = (x2 ^ y2) . i
by A19, FINSEQ_4:15;
i <= len (x1 ^ y1)
by A4, A7, A21, FINSEQ_1:1;
then A33:
(x1 ^ y1) /. i = (x1 ^ y1) . i
by A19, FINSEQ_4:15;
set k =
i -' (len x1);
A34:
i -' (len x1) = i - (len x1)
by A31, XREAL_1:233;
then A35:
i = (len x1) + (i -' (len x1))
;
i - (len x1) <= ((len x1) + (len y1)) - (len x1)
by A24, XREAL_1:13;
then A36:
i -' (len x1) <= len y1
by A31, XREAL_1:233;
i -' (len x1) > 0
by A31, A34, XREAL_1:50;
then
(i -' (len x1)) + 1
> 0 + 1
by XREAL_1:6;
then A37:
1
<= i -' (len x1)
by NAT_1:13;
then A38:
i -' (len x1) in Seg (len y1)
by A36;
then A39:
i -' (len x1) in dom (mlt (y1,y2))
by A11, FINSEQ_1:def 3;
i = (len (mlt (x1,x2))) + (i -' (len x1))
by A17, A35, FINSEQ_1:def 3;
then A40:
((mlt (x1,x2)) ^ (mlt (y1,y2))) . i =
(mlt (y1,y2)) . (i -' (len x1))
by A39, FINSEQ_1:def 7
.=
(y1 /. (i -' (len x1))) * (y2 /. (i -' (len x1)))
by A39, Th13
;
i -' (len x1) in dom y1
by A38, FINSEQ_1:def 3;
then A41:
(x1 ^ y1) . i = y1 . (i -' (len x1))
by A35, FINSEQ_1:def 7;
i -' (len x1) in Seg (len y1)
by A37, A36;
then A42:
i -' (len x1) in dom y2
by A2, FINSEQ_1:def 3;
(
y1 /. (i -' (len x1)) = y1 . (i -' (len x1)) &
y2 /. (i -' (len x1)) = y2 . (i -' (len x1)) )
by A2, A37, A36, FINSEQ_4:15;
hence
((x1 ^ y1) /. i) * ((x2 ^ y2) /. i) = ((mlt (x1,x2)) ^ (mlt (y1,y2))) . i
by A1, A35, A42, A41, A33, A32, A40, FINSEQ_1:def 7;
verum end; end; end;
hence
(mlt ((x1 ^ y1),(x2 ^ y2))) . i = ((mlt (x1,x2)) ^ (mlt (y1,y2))) . i
by A21, Th13;
verum
end;
len (mlt ((x1 ^ y1),(x2 ^ y2))) =
len (x1 ^ y1)
by A4, A7, FINSEQ_1:def 3
.=
(len x1) + (len y1)
by FINSEQ_1:22
;
then
len (mlt ((x1 ^ y1),(x2 ^ y2))) = (len (mlt (x1,x2))) + (len (mlt (y1,y2)))
by A17, A12, FINSEQ_1:def 3;
hence
mlt ((x1 ^ y1),(x2 ^ y2)) = (mlt (x1,x2)) ^ (mlt (y1,y2))
by A18, FINSEQ_1:22; verum