set M = GoB v1,v2;
A2: ( len (GoB v1,v2) = len v1 & width (GoB v1,v2) = len v2 ) by Def1;
then A3: ( dom (GoB v1,v2) = dom v1 & width (GoB v1,v2) = len v2 ) by FINSEQ_3:31;
then A4: Indices (GoB v1,v2) = [:(dom v1),(Seg (len v2)):] by MATRIX_1:def 5;
thus not GoB v1,v2 is empty-yielding by A2, GOBOARD1:def 5; :: thesis: ( GoB v1,v2 is X_equal-in-line & GoB v1,v2 is Y_equal-in-column )
thus GoB v1,v2 is X_equal-in-line :: thesis: GoB v1,v2 is Y_equal-in-column
proof
let n be Element of NAT ; :: according to GOBOARD1:def 6 :: thesis: ( not n in dom (GoB v1,v2) or X_axis (Line (GoB v1,v2),n) is constant )
reconsider l = Line (GoB v1,v2),n as FinSequence of (TOP-REAL 2) ;
set x = X_axis l;
assume A5: n in dom (GoB v1,v2) ; :: thesis: X_axis (Line (GoB v1,v2),n) is constant
A6: ( len (X_axis l) = len l & len l = width (GoB v1,v2) & dom (X_axis l) = Seg (len (X_axis l)) ) by FINSEQ_1:def 3, GOBOARD1:def 3, MATRIX_1:def 8;
then A7: dom (X_axis l) = dom l by FINSEQ_3:31;
now
let i, j be Element of NAT ; :: thesis: ( i in dom (X_axis l) & j in dom (X_axis l) implies (X_axis l) . i = (X_axis l) . j )
assume A8: ( i in dom (X_axis l) & j in dom (X_axis l) ) ; :: thesis: (X_axis l) . i = (X_axis l) . j
then A9: ( [n,i] in Indices (GoB v1,v2) & [n,j] in Indices (GoB v1,v2) ) by A3, A4, A5, A6, ZFMISC_1:106;
reconsider r = v1 . n, s1 = v2 . i, s2 = v2 . j as Real ;
( (GoB v1,v2) * n,i = |[r,s1]| & (GoB v1,v2) * n,j = |[r,s2]| ) by A9, Def1;
then A10: ( ((GoB v1,v2) * n,i) `1 = r & ((GoB v1,v2) * n,j) `1 = r ) by EUCLID:56;
( l /. i = l . i & l /. j = l . j ) by A7, A8, PARTFUN1:def 8;
then ( l /. i = (GoB v1,v2) * n,i & l /. j = (GoB v1,v2) * n,j ) by A6, A8, MATRIX_1:def 8;
then ( (X_axis l) . i = r & (X_axis l) . j = r ) by A8, A10, GOBOARD1:def 3;
hence (X_axis l) . i = (X_axis l) . j ; :: thesis: verum
end;
hence X_axis (Line (GoB v1,v2),n) is constant by GOBOARD1:def 2; :: thesis: verum
end;
thus GoB v1,v2 is Y_equal-in-column :: thesis: verum
proof
let n be Element of NAT ; :: according to GOBOARD1:def 7 :: thesis: ( not n in Seg (width (GoB v1,v2)) or Y_axis (Col (GoB v1,v2),n) is constant )
reconsider c = Col (GoB v1,v2),n as FinSequence of (TOP-REAL 2) ;
set y = Y_axis c;
assume A11: n in Seg (width (GoB v1,v2)) ; :: thesis: Y_axis (Col (GoB v1,v2),n) is constant
( len (Y_axis c) = len c & len c = len (GoB v1,v2) & dom (Y_axis c) = Seg (len (Y_axis c)) ) by FINSEQ_1:def 3, GOBOARD1:def 4, MATRIX_1:def 9;
then A12: ( dom (Y_axis c) = dom c & dom c = dom (GoB v1,v2) ) by FINSEQ_3:31;
now
let i, j be Element of NAT ; :: thesis: ( i in dom (Y_axis c) & j in dom (Y_axis c) implies (Y_axis c) . i = (Y_axis c) . j )
assume A13: ( i in dom (Y_axis c) & j in dom (Y_axis c) ) ; :: thesis: (Y_axis c) . i = (Y_axis c) . j
then A14: ( [i,n] in Indices (GoB v1,v2) & [j,n] in Indices (GoB v1,v2) ) by A3, A4, A11, A12, ZFMISC_1:106;
reconsider r = v2 . n, s1 = v1 . i, s2 = v1 . j as Real ;
( (GoB v1,v2) * i,n = |[s1,r]| & (GoB v1,v2) * j,n = |[s2,r]| ) by A14, Def1;
then A15: ( ((GoB v1,v2) * i,n) `2 = r & ((GoB v1,v2) * j,n) `2 = r ) by EUCLID:56;
( c /. i = c . i & c /. j = c . j ) by A12, A13, PARTFUN1:def 8;
then ( c /. i = (GoB v1,v2) * i,n & c /. j = (GoB v1,v2) * j,n ) by A12, A13, MATRIX_1:def 9;
then ( (Y_axis c) . i = r & (Y_axis c) . j = r ) by A13, A15, GOBOARD1:def 4;
hence (Y_axis c) . i = (Y_axis c) . j ; :: thesis: verum
end;
hence Y_axis (Col (GoB v1,v2),n) is constant by GOBOARD1:def 2; :: thesis: verum
end;