thus
( len pD = width M implies ex M1 being Matrix of n,m,D st
( len M1 = len M & width M1 = width M & ( for i, j being Nat st [i,j] in Indices M holds
( ( i <> l implies M1 * i,j = M * i,j ) & ( i = l implies M1 * l,j = pD . j ) ) ) ) )
( not len pD = width M implies ex b1 being Matrix of n,m,D st b1 = M )proof
reconsider M9 =
M as
Matrix of
len M,
width M,
D by MATRIX_2:7;
reconsider n1 =
n,
m1 =
m as
Element of
NAT by ORDINAL1:def 13;
defpred S1[
set ,
set ,
set ]
means for
i,
j being
Nat st
i = $1 &
j = $2 holds
( (
i <> l implies $3
= M * i,
j ) & (
i = l implies $3
= pD . j ) );
assume A1:
len pD = width M
;
ex M1 being Matrix of n,m,D st
( len M1 = len M & width M1 = width M & ( for i, j being Nat st [i,j] in Indices M holds
( ( i <> l implies M1 * i,j = M * i,j ) & ( i = l implies M1 * l,j = pD . j ) ) ) )
A2:
for
i,
j being
Nat st
[i,j] in [:(Seg n1),(Seg m1):] holds
ex
x being
Element of
D st
S1[
i,
j,
x]
proof
let i,
j be
Nat;
( [i,j] in [:(Seg n1),(Seg m1):] implies ex x being Element of D st S1[i,j,x] )
assume A3:
[i,j] in [:(Seg n1),(Seg m1):]
;
ex x being Element of D st S1[i,j,x]
hence
ex
x being
Element of
D st
S1[
i,
j,
x]
;
verum
end;
A7:
for
i,
j being
Nat st
[i,j] in [:(Seg n1),(Seg m1):] holds
for
x1,
x2 being
Element of
D st
S1[
i,
j,
x1] &
S1[
i,
j,
x2] holds
x1 = x2
proof
let i,
j be
Nat;
( [i,j] in [:(Seg n1),(Seg m1):] implies for x1, x2 being Element of D st S1[i,j,x1] & S1[i,j,x2] holds
x1 = x2 )
assume
[i,j] in [:(Seg n1),(Seg m1):]
;
for x1, x2 being Element of D st S1[i,j,x1] & S1[i,j,x2] holds
x1 = x2
let x1,
x2 be
Element of
D;
( S1[i,j,x1] & S1[i,j,x2] implies x1 = x2 )
assume that A8:
S1[
i,
j,
x1]
and A9:
S1[
i,
j,
x2]
;
x1 = x2
A10:
(
i = l implies
x1 = pD . j )
by A8;
(
i <> l implies
x1 = M * i,
j )
by A8;
hence
x1 = x2
by A9, A10;
verum
end;
consider M1 being
Matrix of
n1,
m1,
D such that A11:
for
i,
j being
Nat st
[i,j] in Indices M1 holds
S1[
i,
j,
M1 * i,
j]
from MATRIX_1:sch 2(A7, A2);
reconsider M1 =
M1 as
Matrix of
n,
m,
D ;
take
M1
;
( len M1 = len M & width M1 = width M & ( for i, j being Nat st [i,j] in Indices M holds
( ( i <> l implies M1 * i,j = M * i,j ) & ( i = l implies M1 * l,j = pD . j ) ) ) )
Indices M9 = Indices M1
by MATRIX_1:27;
hence
(
len M1 = len M &
width M1 = width M & ( for
i,
j being
Nat st
[i,j] in Indices M holds
( (
i <> l implies
M1 * i,
j = M * i,
j ) & (
i = l implies
M1 * l,
j = pD . j ) ) ) )
by A11, A12;
verum
end;
thus
( not len pD = width M implies ex b1 being Matrix of n,m,D st b1 = M )
; verum