anproj_8.miz



    begin

    reserve a,b,c,d,e,f for Real,

k,m for Nat,

D for non empty set,

V for non trivial RealLinearSpace,

u,v,w for Element of V,

p,q,r for Element of ( ProjectiveSpace V);

    theorem :: ANPROJ_8:1

    

     Th1: [1, 1] in [:( Seg 3), ( Seg 3):] & [1, 2] in [:( Seg 3), ( Seg 3):] & [1, 3] in [:( Seg 3), ( Seg 3):] & [2, 1] in [:( Seg 3), ( Seg 3):] & [2, 2] in [:( Seg 3), ( Seg 3):] & [2, 3] in [:( Seg 3), ( Seg 3):] & [3, 1] in [:( Seg 3), ( Seg 3):] & [3, 2] in [:( Seg 3), ( Seg 3):] & [3, 3] in [:( Seg 3), ( Seg 3):]

    proof

      1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

      hence thesis by ZFMISC_1: 87;

    end;

    theorem :: ANPROJ_8:2

    

     Th2: [1, 1] in [:( Seg 3), ( Seg 1):] & [2, 1] in [:( Seg 3), ( Seg 1):] & [3, 1] in [:( Seg 3), ( Seg 1):]

    proof

      1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

      hence thesis by ZFMISC_1: 87;

    end;

    theorem :: ANPROJ_8:3

    

     Th3: [1, 1] in [:( Seg 1), ( Seg 3):] & [1, 2] in [:( Seg 1), ( Seg 3):] & [1, 3] in [:( Seg 1), ( Seg 3):]

    proof

      1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

      hence thesis by ZFMISC_1: 87;

    end;

    theorem :: ANPROJ_8:4

     <* <*a*>, <*b*>, <*c*>*> is Matrix of 3, 1, F_Real

    proof

      ( rng <*a*>) c= REAL ;

      then

      reconsider p = <*a*> as FinSequence of REAL by FINSEQ_1:def 4;

      ( rng <*b*>) c= REAL ;

      then

      reconsider q = <*b*> as FinSequence of REAL by FINSEQ_1:def 4;

      ( rng <*c*>) c= REAL ;

      then

      reconsider r = <*c*> as FinSequence of REAL by FINSEQ_1:def 4;

      ( len p) = 1 & ( len q) = 1 & ( len r) = 1 by FINSEQ_1: 40;

      hence thesis by MATRIXR2: 34;

    end;

    theorem :: ANPROJ_8:5

    

     Th4: for N be Matrix of 3, 1, F_Real st N = <* <*a*>, <*b*>, <*c*>*> holds ( Col (N,1)) = <*a, b, c*>

    proof

      let N be Matrix of 3, 1, F_Real ;

      assume

       A1: N = <* <*a*>, <*b*>, <*c*>*>;

      then

       A2: ( len N) = 3 & (N . 1) = <*a*> & (N . 2) = <*b*> & (N . 3) = <*c*> by FINSEQ_1: 45;

      then

       A3: ( dom N) = ( Seg 3) by FINSEQ_1:def 3;

      

       A4: ( len ( Col (N,1))) = ( len N) by MATRIX_0:def 8

      .= 3 by A1, FINSEQ_1: 45;

       [1, 1] in ( Indices N) by MATRIX_0: 23, Th2;

      then

      consider p1 be FinSequence of F_Real such that

       A5: p1 = (N . 1) and

       A6: (N * (1,1)) = (p1 . 1) by MATRIX_0:def 5;

       [2, 1] in ( Indices N) by MATRIX_0: 23, Th2;

      then

      consider p2 be FinSequence of F_Real such that

       A8: p2 = (N . 2) and

       A9: (N * (2,1)) = (p2 . 1) by MATRIX_0:def 5;

      

       A10: (N * (2,1)) = b by A2, A8, A9, FINSEQ_1: 40;

       [3, 1] in ( Indices N) by MATRIX_0: 23, Th2;

      then

      consider p3 be FinSequence of F_Real such that

       A11: p3 = (N . 3) and

       A12: (N * (3,1)) = (p3 . 1) by MATRIX_0:def 5;

      

       A13: (N * (3,1)) = c by A2, A11, A12, FINSEQ_1: 40;

      (( Col (N,1)) . 1) = (N * (1,1)) & (( Col (N,1)) . 2) = (N * (2,1)) & (( Col (N,1)) . 3) = (N * (3,1)) by A3, FINSEQ_1: 1, MATRIX_0:def 8;

      hence thesis by A10, A13, A4, A2, A5, A6, FINSEQ_1: 40, FINSEQ_1: 45;

    end;

    theorem :: ANPROJ_8:6

    

     Th5: for K be non empty multMagma holds for a1,a2,a3,b1,b2,b3 be Element of K holds ( mlt ( <*a1, a2, a3*>, <*b1, b2, b3*>)) = <*(a1 * b1), (a2 * b2), (a3 * b3)*>

    proof

      let K be non empty multMagma;

      let a1,a2,a3,b1,b2,b3 be Element of K;

      

      thus ( mlt ( <*a1, a2, a3*>, <*b1, b2, b3*>)) = (the multF of K .: ( <*a1, a2, a3*>, <*b1, b2, b3*>)) by FVSUM_1:def 7

      .= <*(a1 * b1), (a2 * b2), (a3 * b3)*> by FINSEQ_2: 76;

    end;

    theorem :: ANPROJ_8:7

    

     Th6: for K be commutative associative left_unital Abelian add-associative right_zeroed right_complementable non empty doubleLoopStr holds for a1,a2,a3,b1,b2,b3 be Element of K holds ( <*a1, a2, a3*> "*" <*b1, b2, b3*>) = (((a1 * b1) + (a2 * b2)) + (a3 * b3))

    proof

      let K be commutative associative left_unital Abelian add-associative right_zeroed right_complementable non empty doubleLoopStr;

      let a1,a2,a3,b1,b2,b3 be Element of K;

      set p = <*a1, a2, a3*>, q = <*b1, b2, b3*>;

      ( Sum ( mlt (p,q))) = (the addF of K $$ ( mlt (p,q))) by FVSUM_1:def 8

      .= (the addF of K $$ <*(a1 * b1), (a2 * b2), (a3 * b3)*>) by Th5

      .= (((a1 * b1) + (a2 * b2)) + (a3 * b3)) by FINSOP_1: 14;

      hence thesis by FVSUM_1:def 9;

    end;

    theorem :: ANPROJ_8:8

    

     Th7: for M be Matrix of 3, F_Real holds for N be Matrix of 3, 1, F_Real st N = <* <* 0 *>, <* 0 *>, <* 0 *>*> holds (M * N) = <* <* 0 *>, <* 0 *>, <* 0 *>*>

    proof

      let M be Matrix of 3, F_Real ;

      let N be Matrix of 3, 1, F_Real ;

      assume

       A1: N = <* <* 0 *>, <* 0 *>, <* 0 *>*>;

      

       A2: ( len M) = 3 & ( width M) = 3 by MATRIX_0: 23;

      

       A3: ( len N) = 3 & ( width N) = 1 by MATRIX_0: 23;

      ( width M) = ( len N) by A3, MATRIX_0: 23;

      then

       A4A: ( len (M * N)) = ( len M) & ( width (M * N)) = ( width N) by MATRIX_3:def 4;

      then

       A4: ( len (M * N)) = 3 & ( width (M * N)) = 1 by MATRIX_0: 23;

      then

       A5: (M * N) is Matrix of 3, 1, F_Real by MATRIX_0: 20;

      now

        

        thus ( len ( Line (M,1))) = ( width M) by MATRIX_0:def 7

        .= 3 by MATRIX_0: 23;

        1 in ( Seg ( width M)) & 2 in ( Seg ( width M)) & 3 in ( Seg ( width M)) by A2, FINSEQ_1: 1;

        hence (( Line (M,1)) . 1) = (M * (1,1)) & (( Line (M,1)) . 2) = (M * (1,2)) & (( Line (M,1)) . 3) = (M * (1,3)) by MATRIX_0:def 7;

      end;

      then

       A6: ( Line (M,1)) = <*(M * (1,1)), (M * (1,2)), (M * (1,3))*> by FINSEQ_1: 45;

      reconsider ze = 0 as Element of F_Real ;

      ( <*(M * (1,1)), (M * (1,2)), (M * (1,3))*> "*" <*ze, ze, ze*>) = ((((M * (1,1)) * ze) + ((M * (1,2)) * ze)) + ((M * (1,3)) * ze)) by Th6;

      then

       A7: (( Line (M,1)) "*" ( Col (N,1))) = 0 by A1, Th4, A6;

      now

        

         A8: 1 in ( Seg 3) by FINSEQ_1: 1;

        ( len ( Line ((M * N),1))) = ( width (M * N)) by MATRIX_0:def 7

        .= 1 by A4A, MATRIX_0: 23;

        then

         A9: ( Line ((M * N),1)) = <*(( Line ((M * N),1)) . 1)*> by FINSEQ_1: 40;

        2 in ( Seg 3) by FINSEQ_1: 1;

        then

         A10: ((M * N) . 2) = ( Line ((M * N),2)) by A5, MATRIX_0: 52;

        

         A11: ( len ( Line ((M * N),2))) = ( width (M * N)) by MATRIX_0:def 7

        .= 1 by A4A, MATRIX_0: 23;

        3 in ( Seg 3) by FINSEQ_1: 1;

        then

         A12: ((M * N) . 3) = ( Line ((M * N),3)) by A5, MATRIX_0: 52;

        

         A13: ( len ( Line ((M * N),3))) = ( width (M * N)) by MATRIX_0:def 7

        .= 1 by A4A, MATRIX_0: 23;

        (( Line ((M * N),1)) . 1) = 0

        proof

          

           A14: [1, 1] in ( Indices (M * N)) by A5, MATRIX_0: 23, Th2;

          1 in ( Seg ( width (M * N))) by A4, FINSEQ_1: 1;

          

          then (( Line ((M * N),1)) . 1) = ((M * N) * (1,1)) by MATRIX_0:def 7

          .= 0 by A7, A14, A2, A3, MATRIX_3:def 4;

          hence thesis;

        end;

        hence ((M * N) . 1) = <* 0 *> by A9, A8, A5, MATRIX_0: 52;

        now

          

          thus ( len ( Line (M,2))) = ( width M) by MATRIX_0:def 7

          .= 3 by MATRIX_0: 23;

          1 in ( Seg ( width M)) & 2 in ( Seg ( width M)) & 3 in ( Seg ( width M)) by A2, FINSEQ_1: 1;

          hence (( Line (M,2)) . 1) = (M * (2,1)) & (( Line (M,2)) . 2) = (M * (2,2)) & (( Line (M,2)) . 3) = (M * (2,3)) by MATRIX_0:def 7;

        end;

        then

         A15: ( Line (M,2)) = <*(M * (2,1)), (M * (2,2)), (M * (2,3))*> by FINSEQ_1: 45;

        reconsider ze = 0 as Element of F_Real ;

        ( <*(M * (2,1)), (M * (2,2)), (M * (2,3))*> "*" <*ze, ze, ze*>) = ((((M * (2,1)) * ze) + ((M * (2,2)) * ze)) + ((M * (2,3)) * ze)) by Th6;

        then

         A16: (( Line (M,2)) "*" ( Col (N,1))) = 0 by A1, Th4, A15;

        (( Line ((M * N),2)) . 1) = 0

        proof

          

           A17: [2, 1] in ( Indices (M * N)) by A5, MATRIX_0: 23, Th2;

          1 in ( Seg ( width (M * N))) by A4, FINSEQ_1: 1;

          

          then (( Line ((M * N),2)) . 1) = ((M * N) * (2,1)) by MATRIX_0:def 7

          .= 0 by A16, A17, A2, A3, MATRIX_3:def 4;

          hence thesis;

        end;

        hence ((M * N) . 2) = <* 0 *> by FINSEQ_1: 40, A10, A11;

        now

          

          thus ( len ( Line (M,3))) = ( width M) by MATRIX_0:def 7

          .= 3 by MATRIX_0: 23;

          1 in ( Seg ( width M)) & 2 in ( Seg ( width M)) & 3 in ( Seg ( width M)) by A2, FINSEQ_1: 1;

          hence (( Line (M,3)) . 1) = (M * (3,1)) & (( Line (M,3)) . 2) = (M * (3,2)) & (( Line (M,3)) . 3) = (M * (3,3)) by MATRIX_0:def 7;

        end;

        then

         A18: ( Line (M,3)) = <*(M * (3,1)), (M * (3,2)), (M * (3,3))*> by FINSEQ_1: 45;

        reconsider ze = 0 as Element of F_Real ;

        ( <*(M * (3,1)), (M * (3,2)), (M * (3,3))*> "*" <*ze, ze, ze*>) = ((((M * (3,1)) * ze) + ((M * (3,2)) * ze)) + ((M * (3,3)) * ze)) by Th6;

        then

         A19: (( Line (M,3)) "*" ( Col (N,1))) = 0 by A1, Th4, A18;

        (( Line ((M * N),3)) . 1) = 0

        proof

          

           A20: [3, 1] in ( Indices (M * N)) by A5, MATRIX_0: 23, Th2;

          1 in ( Seg ( width (M * N))) by A4, FINSEQ_1: 1;

          

          then (( Line ((M * N),3)) . 1) = ((M * N) * (3,1)) by MATRIX_0:def 7

          .= 0 by A20, A2, A3, MATRIX_3:def 4, A19;

          hence thesis;

        end;

        hence ((M * N) . 3) = <* 0 *> by A13, FINSEQ_1: 40, A12;

      end;

      hence thesis by A4A, MATRIX_0: 23, FINSEQ_1: 45;

    end;

    theorem :: ANPROJ_8:9

    

     Th8: (u,v,w) are_LinDep iff (u = v or u = w or v = w or {u, v, w} is linearly-dependent)

    proof

      hereby

        assume (u,v,w) are_LinDep ;

        then ex a, b, c st (((a * u) + (b * v)) + (c * w)) = ( 0. V) & (a <> 0 or b <> 0 or c <> 0 ) by ANPROJ_1:def 2;

        hence u = v or u = w or v = w or {u, v, w} is linearly-dependent by RLVECT_4: 7;

      end;

      assume u = v or u = w or v = w or {u, v, w} is linearly-dependent;

      then ex a, b, c st (((a * u) + (b * v)) + (c * w)) = ( 0. V) & (a <> 0 or b <> 0 or c <> 0 ) by RLVECT_4: 7;

      hence (u,v,w) are_LinDep by ANPROJ_1:def 2;

    end;

    theorem :: ANPROJ_8:10

    

     Th9: (p,q,r) are_collinear iff ex u, v, w st p = ( Dir u) & q = ( Dir v) & r = ( Dir w) & not u is zero & not v is zero & not w is zero & (u = v or u = w or v = w or {u, v, w} is linearly-dependent)

    proof

      hereby

        assume (p,q,r) are_collinear ;

        then

        consider u, v, w such that

         A1: p = ( Dir u) & q = ( Dir v) & r = ( Dir w) & not u is zero & not v is zero & not w is zero & (u,v,w) are_LinDep by ANPROJ_2: 23;

        p = ( Dir u) & q = ( Dir v) & r = ( Dir w) & not u is zero & not v is zero & not w is zero & (u = v or u = w or v = w or {u, v, w} is linearly-dependent) by A1, Th8;

        hence ex u, v, w st p = ( Dir u) & q = ( Dir v) & r = ( Dir w) & not u is zero & not v is zero & not w is zero & (u = v or u = w or v = w or {u, v, w} is linearly-dependent);

      end;

      given u, v, w such that

       A2: p = ( Dir u) & q = ( Dir v) & r = ( Dir w) & not u is zero & not v is zero & not w is zero & (u = v or u = w or v = w or {u, v, w} is linearly-dependent);

      p = ( Dir u) & q = ( Dir v) & r = ( Dir w) & not u is zero & not v is zero & not w is zero & (u,v,w) are_LinDep by Th8, A2;

      hence (p,q,r) are_collinear by ANPROJ_2: 23;

    end;

    theorem :: ANPROJ_8:11

    (p,q,r) are_collinear iff ex u, v, w st p = ( Dir u) & q = ( Dir v) & r = ( Dir w) & not u is zero & not v is zero & not w is zero & ex a, b, c st (((a * u) + (b * v)) + (c * w)) = ( 0. V) & (a <> 0 or b <> 0 or c <> 0 )

    proof

      hereby

        assume (p,q,r) are_collinear ;

        then

        consider u, v, w such that

         A1: p = ( Dir u) & q = ( Dir v) & r = ( Dir w) & not u is zero & not v is zero & not w is zero & (u,v,w) are_LinDep by ANPROJ_2: 23;

        take u, v, w;

        thus p = ( Dir u) & q = ( Dir v) & r = ( Dir w) & not u is zero & not v is zero & not w is zero & ex a, b, c st (((a * u) + (b * v)) + (c * w)) = ( 0. V) & (a <> 0 or b <> 0 or c <> 0 ) by A1, ANPROJ_1:def 2;

      end;

      given u, v, w such that

       A2: p = ( Dir u) & q = ( Dir v) & r = ( Dir w) & not u is zero & not v is zero & not w is zero & ex a, b, c st (((a * u) + (b * v)) + (c * w)) = ( 0. V) & (a <> 0 or b <> 0 or c <> 0 );

      p = ( Dir u) & q = ( Dir v) & r = ( Dir w) & not u is zero & not v is zero & not w is zero & (u,v,w) are_LinDep by A2, ANPROJ_1:def 2;

      hence (p,q,r) are_collinear by ANPROJ_2: 23;

    end;

    theorem :: ANPROJ_8:12

    

     Th10: for u,v,w be Element of V st a <> 0 & (((a * u) + (b * v)) + (c * w)) = ( 0. V) holds u = (((( - b) / a) * v) + ((( - c) / a) * w))

    proof

      let u,v,w be Element of V;

      assume that

       A1: a <> 0 and

       A2: (((a * u) + (b * v)) + (c * w)) = ( 0. V);

      ((a * u) + ((b * v) + (c * w))) = ( 0. V) by RLVECT_1:def 3, A2;

      then

       A3: ( - ((b * v) + (c * w))) = (a * u) by RLVECT_1: 6;

      (a * u) = (1 * ( - ((b * v) + (c * w)))) by A3, RLVECT_1:def 8

      .= ((a * (1 / a)) * ( - ((b * v) + (c * w)))) by A1, XCMPLX_1: 106

      .= (a * ((1 / a) * ( - ((b * v) + (c * w))))) by RLVECT_1:def 7;

      

      then u = ((1 / a) * ( - ((b * v) + (c * w)))) by A1, RLVECT_1: 36

      .= ((1 / a) * (( - 1) * ((b * v) + (c * w)))) by RLVECT_1: 16

      .= ((1 / a) * ((( - 1) * (b * v)) + (( - 1) * (c * w)))) by RLVECT_1:def 5

      .= (((1 / a) * (( - 1) * (b * v))) + ((1 / a) * (( - 1) * (c * w)))) by RLVECT_1:def 5

      .= ((((1 / a) * ( - 1)) * (b * v)) + ((1 / a) * (( - 1) * (c * w)))) by RLVECT_1:def 7

      .= (((( - (1 / a)) * b) * v) + ((1 / a) * (( - 1) * (c * w)))) by RLVECT_1:def 7

      .= ((((( - 1) / a) * b) * v) + ((1 / a) * (( - 1) * (c * w)))) by XCMPLX_1: 187

      .= ((((( - 1) * b) / a) * v) + ((1 / a) * (( - 1) * (c * w)))) by XCMPLX_1: 74

      .= (((( - b) / a) * v) + (((1 / a) * ( - 1)) * (c * w))) by RLVECT_1:def 7

      .= (((( - b) / a) * v) + ((( - (1 / a)) * c) * w)) by RLVECT_1:def 7

      .= (((( - b) / a) * v) + (((( - 1) / a) * c) * w)) by XCMPLX_1: 187

      .= (((( - b) / a) * v) + (((( - 1) * c) / a) * w)) by XCMPLX_1: 74

      .= (((( - b) / a) * v) + ((( - c) / a) * w));

      hence thesis;

    end;

    theorem :: ANPROJ_8:13

    

     Th11: a <> 0 & (((a * b) + (c * d)) + (e * f)) = 0 implies b = (( - ((c / a) * d)) - ((e / a) * f))

    proof

      assume that

       A1: a <> 0 and

       A2: (((a * b) + (c * d)) + (e * f)) = 0 ;

      b = (((( - c) * d) + (( - e) * f)) / a) by A1, A2, XCMPLX_1: 89

      .= (((( - c) * d) / a) + ((( - e) * f) / a)) by XCMPLX_1: 62

      .= (((( - c) / a) * d) + ((( - e) * f) / a)) by XCMPLX_1: 74

      .= (((( - c) / a) * d) + ((( - e) / a) * f)) by XCMPLX_1: 74

      .= ((( - (c / a)) * d) + ((( - e) / a) * f)) by XCMPLX_1: 187

      .= ((( - (c / a)) * d) + (( - (e / a)) * f)) by XCMPLX_1: 187;

      hence thesis;

    end;

    theorem :: ANPROJ_8:14

    

     Th12: for u,v,w be Point of ( TOP-REAL 3) st ex a, b, c st (((a * u) + (b * v)) + (c * w)) = ( 0. ( TOP-REAL 3)) & a <> 0 holds |{u, v, w}| = 0

    proof

      let u,v,w be Point of ( TOP-REAL 3);

      assume

       A4: ex a, b, c st (((a * u) + (b * v)) + (c * w)) = ( 0. ( TOP-REAL 3)) & a <> 0 ;

      consider a, b, c such that

       B1: (((a * u) + (b * v)) + (c * w)) = ( 0. ( TOP-REAL 3)) and

       B2: a <> 0 by A4;

      reconsider u1 = u, v1 = v, w1 = w as Element of ( REAL 3) by EUCLID: 22;

      reconsider vw = (v <X> w) as Element of ( REAL 3) by EUCLID: 22;

       |{u, v, w}| = |{(((( - b) / a) * v) + ((( - c) / a) * w)), v, w}| by B1, B2, Th10

      .= |((((( - b) / a) * v) + ((( - c) / a) * w)), (v <X> w))| by EUCLID_5:def 5

      .= (((( - b) / a) * |(v1, vw)|) + ((( - c) / a) * |(w1, vw)|)) by EUCLID_4: 27

      .= (((( - b) / a) * |{v, v, w}|) + ((( - c) / a) * |(w1, vw)|)) by EUCLID_5:def 5

      .= (((( - b) / a) * |{v, v, w}|) + ((( - c) / a) * |{w, v, w}|)) by EUCLID_5:def 5

      .= (((( - b) / a) * 0 ) + ((( - c) / a) * |{w, v, w}|)) by EUCLID_5: 31

      .= (((( - b) / a) * 0 ) + ((( - c) / a) * 0 )) by EUCLID_5: 31

      .= 0 ;

      hence thesis;

    end;

    theorem :: ANPROJ_8:15

    

     Th13: for n be Nat holds ( dom ( 1_Rmatrix n)) = ( Seg n)

    proof

      let n be Nat;

      ( len ( 1_Rmatrix n)) = n by MATRIX_0: 24;

      hence thesis by FINSEQ_1:def 3;

    end;

    theorem :: ANPROJ_8:16

    

     Th14: for A be Matrix of F_Real holds ( MXR2MXF ( MXF2MXR A)) = A

    proof

      let A be Matrix of F_Real ;

      ( MXR2MXF ( MXF2MXR A)) = ( MXF2MXR A) by MATRIXR1:def 1;

      hence thesis by MATRIXR1:def 2;

    end;

    theorem :: ANPROJ_8:17

    

     Th15: for A,B be Matrix of F_Real holds for RA,RB be Matrix of REAL st A = RA & B = RB holds (A * B) = (RA * RB)

    proof

      let A,B be Matrix of F_Real ;

      let RA,RB be Matrix of REAL ;

      assume that

       A1: A = RA and

       A2: B = RB;

      (RA * RB) = ( MXF2MXR (( MXR2MXF RA) * ( MXR2MXF RB))) by MATRIXR1:def 6

      .= ( MXF2MXR (A * ( MXR2MXF RB))) by A1, MATRIXR1:def 1

      .= ( MXF2MXR (A * B)) by A2, MATRIXR1:def 1;

      then ( MXR2MXF (RA * RB)) = (A * B) by Th14;

      hence thesis by MATRIXR1:def 1;

    end;

    theorem :: ANPROJ_8:18

    for n be Nat holds for M be Matrix of n, REAL holds for N be Matrix of n, F_Real st M = N holds M is invertible iff N is invertible

    proof

      let n be Nat;

      let M be Matrix of n, REAL ;

      let N be Matrix of n, F_Real ;

      assume

       A1: M = N;

      

       A2: ( 1. ( F_Real ,n)) = ( MXF2MXR ( 1. ( F_Real ,n))) by MATRIXR1:def 2

      .= ( 1_Rmatrix n) by MATRIXR2:def 2;

      hereby

        assume M is invertible;

        then

        consider B be Matrix of n, REAL such that

         A3: (B * M) = ( 1_Rmatrix n) and

         A4: (M * B) = ( 1_Rmatrix n) by MATRIXR2:def 5;

        reconsider C = B as Matrix of n, F_Real ;

        

         A5: (B * M) = (C * N) by A1, Th15;

        C is_reverse_of N

        proof

          (C * N) = (N * C) by A1, A3, A4, A5, Th15;

          hence thesis by A2, A3, A1, Th15, MATRIX_6:def 2;

        end;

        hence N is invertible by MATRIX_6:def 3;

      end;

      assume N is invertible;

      then

      consider N2 be Matrix of n, F_Real such that

       A6: N is_reverse_of N2 by MATRIX_6:def 3;

      reconsider M2 = N2 as Matrix of n, REAL ;

      now

        take M2;

        

         A7: (M2 * M) = (N2 * N) by A1, Th15

        .= ( 1. ( F_Real ,n)) by A6, MATRIX_6:def 2;

        hence (M2 * M) = ( 1_Rmatrix n) by A2;

        (M2 * M) = (N2 * N) by A1, Th15

        .= (N * N2) by A6, MATRIX_6:def 2

        .= (M * M2) by A1, Th15;

        hence (M * M2) = ( 1_Rmatrix n) by A7, A2;

      end;

      hence M is invertible by MATRIXR2:def 5;

    end;

    reserve o,p,q,r,s,t for Point of ( TOP-REAL 3),

M for Matrix of 3, F_Real ;

    theorem :: ANPROJ_8:19

    

     Th16: for p1,p2,p3,q1,q2,q3,r1,r2,r3 be Real holds <* <*p1, p2, p3*>, <*q1, q2, q3*>, <*r1, r2, r3*>*> is Matrix of 3, F_Real

    proof

      let p1,p2,p3,q1,q2,q3,r1,r2,r3 be Real;

      reconsider P1 = p1, P2 = p2, P3 = p3, Q1 = q1, Q2 = q2, Q3 = q3, R1 = r1, R2 = r2, R3 = r3 as Element of F_Real by XREAL_0:def 1;

       <* <*P1, P2, P3*>, <*Q1, Q2, Q3*>, <*R1, R2, R3*>*> is Matrix of 3, F_Real by MATRIXR2: 35;

      hence thesis;

    end;

    theorem :: ANPROJ_8:20

    

     Th17: for p1,p2,p3,q1,q2,q3,r1,r2,r3 be Real holds M = <* <*p1, q1, r1*>, <*p2, q2, r2*>, <*p3, q3, r3*>*> implies (M * (1,1)) = p1 & (M * (1,2)) = q1 & (M * (1,3)) = r1 & (M * (2,1)) = p2 & (M * (2,2)) = q2 & (M * (2,3)) = r2 & (M * (3,1)) = p3 & (M * (3,2)) = q3 & (M * (3,3)) = r3

    proof

      let p1,p2,p3,q1,q2,q3,r1,r2,r3 be Real;

      assume M = <* <*p1, q1, r1*>, <*p2, q2, r2*>, <*p3, q3, r3*>*>;

      then

       A1: (M . 1) = <*p1, q1, r1*> & (M . 2) = <*p2, q2, r2*> & (M . 3) = <*p3, q3, r3*> by FINSEQ_1: 45;

      

       A2: [1, 1] in ( Indices M) & [1, 2] in ( Indices M) & [1, 3] in ( Indices M) & [2, 1] in ( Indices M) & [2, 2] in ( Indices M) & [2, 3] in ( Indices M) & [3, 1] in ( Indices M) & [3, 2] in ( Indices M) & [3, 3] in ( Indices M) by MATRIX_0: 24, Th1;

      then ex s be FinSequence of F_Real st s = (M . 1) & (M * (1,1)) = (s . 1) by MATRIX_0:def 5;

      hence (M * (1,1)) = p1 by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 1) & (M * (1,2)) = (s . 2) by A2, MATRIX_0:def 5;

      hence (M * (1,2)) = q1 by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 1) & (M * (1,3)) = (s . 3) by A2, MATRIX_0:def 5;

      hence (M * (1,3)) = r1 by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 2) & (M * (2,1)) = (s . 1) by A2, MATRIX_0:def 5;

      hence (M * (2,1)) = p2 by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 2) & (M * (2,2)) = (s . 2) by A2, MATRIX_0:def 5;

      hence (M * (2,2)) = q2 by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 2) & (M * (2,3)) = (s . 3) by A2, MATRIX_0:def 5;

      hence (M * (2,3)) = r2 by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 3) & (M * (3,1)) = (s . 1) by A2, MATRIX_0:def 5;

      hence (M * (3,1)) = p3 by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 3) & (M * (3,2)) = (s . 2) by A2, MATRIX_0:def 5;

      hence (M * (3,2)) = q3 by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 3) & (M * (3,3)) = (s . 3) by A2, MATRIX_0:def 5;

      hence (M * (3,3)) = r3 by A1, FINSEQ_1: 45;

    end;

    theorem :: ANPROJ_8:21

    

     Th18: M = <*p, q, r*> implies (M * (1,1)) = (p `1 ) & (M * (1,2)) = (p `2 ) & (M * (1,3)) = (p `3 ) & (M * (2,1)) = (q `1 ) & (M * (2,2)) = (q `2 ) & (M * (2,3)) = (q `3 ) & (M * (3,1)) = (r `1 ) & (M * (3,2)) = (r `2 ) & (M * (3,3)) = (r `3 )

    proof

      assume M = <*p, q, r*>;

      then (M . 1) = p & (M . 2) = q & (M . 3) = r by FINSEQ_1: 45;

      then

       A1: (M . 1) = <*(p `1 ), (p `2 ), (p `3 )*> & (M . 2) = <*(q `1 ), (q `2 ), (q `3 )*> & (M . 3) = <*(r `1 ), (r `2 ), (r `3 )*> by EUCLID_5: 3;

      

       A2: [1, 1] in ( Indices M) & [1, 2] in ( Indices M) & [1, 3] in ( Indices M) & [2, 1] in ( Indices M) & [2, 2] in ( Indices M) & [2, 3] in ( Indices M) & [3, 1] in ( Indices M) & [3, 2] in ( Indices M) & [3, 3] in ( Indices M) by MATRIX_0: 24, Th1;

      then ex s be FinSequence of F_Real st s = (M . 1) & (M * (1,1)) = (s . 1) by MATRIX_0:def 5;

      hence (M * (1,1)) = (p `1 ) by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 1) & (M * (1,2)) = (s . 2) by A2, MATRIX_0:def 5;

      hence (M * (1,2)) = (p `2 ) by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 1) & (M * (1,3)) = (s . 3) by A2, MATRIX_0:def 5;

      hence (M * (1,3)) = (p `3 ) by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 2) & (M * (2,1)) = (s . 1) by A2, MATRIX_0:def 5;

      hence (M * (2,1)) = (q `1 ) by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 2) & (M * (2,2)) = (s . 2) by A2, MATRIX_0:def 5;

      hence (M * (2,2)) = (q `2 ) by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 2) & (M * (2,3)) = (s . 3) by A2, MATRIX_0:def 5;

      hence (M * (2,3)) = (q `3 ) by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 3) & (M * (3,1)) = (s . 1) by A2, MATRIX_0:def 5;

      hence (M * (3,1)) = (r `1 ) by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 3) & (M * (3,2)) = (s . 2) by A2, MATRIX_0:def 5;

      hence (M * (3,2)) = (r `2 ) by A1, FINSEQ_1: 45;

      ex s be FinSequence of F_Real st s = (M . 3) & (M * (3,3)) = (s . 3) by A2, MATRIX_0:def 5;

      hence (M * (3,3)) = (r `3 ) by A1, FINSEQ_1: 45;

    end;

    theorem :: ANPROJ_8:22

    

     Th19: for p1,p2,p3,q1,q2,q3,r1,r2,r3 be Real holds M = <* <*p1, q1, r1*>, <*p2, q2, r2*>, <*p3, q3, r3*>*> implies (M @ ) = <* <*p1, p2, p3*>, <*q1, q2, q3*>, <*r1, r2, r3*>*>

    proof

      let p1,p2,p3,q1,q2,q3,r1,r2,r3 be Real;

      assume

       A1: M = <* <*p1, q1, r1*>, <*p2, q2, r2*>, <*p3, q3, r3*>*>;

      ( Indices M) = [:( Seg 3), ( Seg 3):] by MATRIX_0: 24;

      then

       A2: ((M @ ) * (1,1)) = (M * (1,1)) & ((M @ ) * (1,2)) = (M * (2,1)) & ((M @ ) * (1,3)) = (M * (3,1)) & ((M @ ) * (2,1)) = (M * (1,2)) & ((M @ ) * (2,2)) = (M * (2,2)) & ((M @ ) * (2,3)) = (M * (3,2)) & ((M @ ) * (3,1)) = (M * (1,3)) & ((M @ ) * (3,2)) = (M * (2,3)) & ((M @ ) * (3,3)) = (M * (3,3)) by MATRIX_0:def 6, Th1;

      (M * (1,1)) = p1 & (M * (2,1)) = p2 & (M * (3,1)) = p3 & (M * (1,2)) = q1 & (M * (2,2)) = q2 & (M * (3,2)) = q3 & (M * (1,3)) = r1 & (M * (2,3)) = r2 & (M * (3,3)) = r3 by A1, Th17;

      hence thesis by A2, MATRIXR2: 37;

    end;

    theorem :: ANPROJ_8:23

    

     Th20: M = <*p, q, r*> implies (M @ ) = <* <*(p `1 ), (q `1 ), (r `1 )*>, <*(p `2 ), (q `2 ), (r `2 )*>, <*(p `3 ), (q `3 ), (r `3 )*>*>

    proof

      assume

       A1: M = <*p, q, r*>;

      ( Indices M) = [:( Seg 3), ( Seg 3):] by MATRIX_0: 24;

      then

       A2: ((M @ ) * (1,1)) = (M * (1,1)) & ((M @ ) * (1,2)) = (M * (2,1)) & ((M @ ) * (1,3)) = (M * (3,1)) & ((M @ ) * (2,1)) = (M * (1,2)) & ((M @ ) * (2,2)) = (M * (2,2)) & ((M @ ) * (2,3)) = (M * (3,2)) & ((M @ ) * (3,1)) = (M * (1,3)) & ((M @ ) * (3,2)) = (M * (2,3)) & ((M @ ) * (3,3)) = (M * (3,3)) by MATRIX_0:def 6, Th1;

      (M * (1,1)) = (p `1 ) & (M * (2,1)) = (q `1 ) & (M * (3,1)) = (r `1 ) & (M * (1,2)) = (p `2 ) & (M * (2,2)) = (q `2 ) & (M * (3,2)) = (r `2 ) & (M * (1,3)) = (p `3 ) & (M * (2,3)) = (q `3 ) & (M * (3,3)) = (r `3 ) by A1, Th18;

      hence thesis by A2, MATRIXR2: 37;

    end;

    theorem :: ANPROJ_8:24

    

     Th21: ( lines M) = {( Line (M,1)), ( Line (M,2)), ( Line (M,3))}

    proof

      

       A1: ( lines M) c= {( Line (M,1)), ( Line (M,2)), ( Line (M,3))}

      proof

        let x be object;

        assume x in ( lines M);

        then

        consider i be Nat such that

         A2: i in ( Seg 3) and

         A3: x = ( Line (M,i)) by MATRIX13: 103;

        i = 1 or i = 2 or i = 3 by A2, FINSEQ_3: 1, ENUMSET1:def 1;

        hence thesis by A3, ENUMSET1:def 1;

      end;

       {( Line (M,1)), ( Line (M,2)), ( Line (M,3))} c= ( lines M)

      proof

        let x be object;

        assume x in {( Line (M,1)), ( Line (M,2)), ( Line (M,3))};

        then

         A4: x = ( Line (M,1)) or x = ( Line (M,2)) or x = ( Line (M,3)) by ENUMSET1:def 1;

        1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

        hence thesis by A4, MATRIX13: 103;

      end;

      hence thesis by A1;

    end;

    theorem :: ANPROJ_8:25

    

     Th22: M = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*> implies ( Line (M,1)) = p & ( Line (M,2)) = q & ( Line (M,3)) = r

    proof

      assume

       A1: M = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*>;

      1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

      then ( Line (M,1)) = (M . 1) & ( Line (M,2)) = (M . 2) & ( Line (M,3)) = (M . 3) by MATRIX_0: 52;

      then ( Line (M,1)) = <*(p `1 ), (p `2 ), (p `3 )*> & ( Line (M,2)) = <*(q `1 ), (q `2 ), (q `3 )*> & ( Line (M,3)) = <*(r `1 ), (r `2 ), (r `3 )*> by A1, FINSEQ_1: 45;

      hence thesis by EUCLID_5: 3;

    end;

    theorem :: ANPROJ_8:26

    for x be object holds x in ( lines (M @ )) iff ex i be Nat st i in ( Seg 3) & x = ( Col (M,i))

    proof

      let x be object;

      hereby

        assume x in ( lines (M @ ));

        then

        consider i be Nat such that

         A1: i in ( Seg 3) and

         A2: x = ( Line ((M @ ),i)) by MATRIX13: 103;

        i in ( Seg ( width M)) by A1, MATRIX_0: 24;

        then x = ( Col (M,i)) by A2, MATRIX_0: 59;

        hence ex i be Nat st i in ( Seg 3) & x = ( Col (M,i)) by A1;

      end;

      given i be Nat such that

       A3: i in ( Seg 3) and

       A4: x = ( Col (M,i));

      i in ( Seg ( width M)) by A3, MATRIX_0: 24;

      then x = ( Line ((M @ ),i)) by A4, MATRIX_0: 59;

      hence x in ( lines (M @ )) by A3, MATRIX13: 103;

    end;

    begin

    theorem :: ANPROJ_8:27

    

     Th23: |{p, q, r}| = ((((((((p `1 ) * (q `2 )) * (r `3 )) - (((p `3 ) * (q `2 )) * (r `1 ))) - (((p `1 ) * (q `3 )) * (r `2 ))) + (((p `2 ) * (q `3 )) * (r `1 ))) - (((p `2 ) * (q `1 )) * (r `3 ))) + (((p `3 ) * (q `1 )) * (r `2 )))

    proof

      

       A1: p = |[(p `1 ), (p `2 ), (p `3 )]| by EUCLID_5: 3;

      

       A2: (q <X> r) = |[(((q `2 ) * (r `3 )) - ((q `3 ) * (r `2 ))), (((q `3 ) * (r `1 )) - ((q `1 ) * (r `3 ))), (((q `1 ) * (r `2 )) - ((q `2 ) * (r `1 )))]| by EUCLID_5:def 4;

       |(p, (q <X> r))| = ((((p `1 ) * (((q `2 ) * (r `3 )) - ((q `3 ) * (r `2 )))) + ((p `2 ) * (((q `3 ) * (r `1 )) - ((q `1 ) * (r `3 ))))) + ((p `3 ) * (((q `1 ) * (r `2 )) - ((q `2 ) * (r `1 ))))) by A1, A2, EUCLID_5: 30;

      hence thesis by EUCLID_5:def 5;

    end;

    ::$Notion-Name

    theorem :: ANPROJ_8:28

    ((( |{p, q, r}| * |{p, s, t}|) - ( |{p, q, s}| * |{p, r, t}|)) + ( |{p, q, t}| * |{p, r, s}|)) = 0

    proof

      

       A1: |{p, q, r}| = ((((((((p `1 ) * (q `2 )) * (r `3 )) - (((p `3 ) * (q `2 )) * (r `1 ))) - (((p `1 ) * (q `3 )) * (r `2 ))) + (((p `2 ) * (q `3 )) * (r `1 ))) - (((p `2 ) * (q `1 )) * (r `3 ))) + (((p `3 ) * (q `1 )) * (r `2 ))) by Th23;

      

       A2: |{p, s, t}| = ((((((((p `1 ) * (s `2 )) * (t `3 )) - (((p `3 ) * (s `2 )) * (t `1 ))) - (((p `1 ) * (s `3 )) * (t `2 ))) + (((p `2 ) * (s `3 )) * (t `1 ))) - (((p `2 ) * (s `1 )) * (t `3 ))) + (((p `3 ) * (s `1 )) * (t `2 ))) by Th23;

      

       A3: |{p, q, s}| = ((((((((p `1 ) * (q `2 )) * (s `3 )) - (((p `3 ) * (q `2 )) * (s `1 ))) - (((p `1 ) * (q `3 )) * (s `2 ))) + (((p `2 ) * (q `3 )) * (s `1 ))) - (((p `2 ) * (q `1 )) * (s `3 ))) + (((p `3 ) * (q `1 )) * (s `2 ))) by Th23;

      

       A4: |{p, r, t}| = ((((((((p `1 ) * (r `2 )) * (t `3 )) - (((p `3 ) * (r `2 )) * (t `1 ))) - (((p `1 ) * (r `3 )) * (t `2 ))) + (((p `2 ) * (r `3 )) * (t `1 ))) - (((p `2 ) * (r `1 )) * (t `3 ))) + (((p `3 ) * (r `1 )) * (t `2 ))) by Th23;

      

       A5: |{p, q, t}| = ((((((((p `1 ) * (q `2 )) * (t `3 )) - (((p `3 ) * (q `2 )) * (t `1 ))) - (((p `1 ) * (q `3 )) * (t `2 ))) + (((p `2 ) * (q `3 )) * (t `1 ))) - (((p `2 ) * (q `1 )) * (t `3 ))) + (((p `3 ) * (q `1 )) * (t `2 ))) by Th23;

       |{p, r, s}| = ((((((((p `1 ) * (r `2 )) * (s `3 )) - (((p `3 ) * (r `2 )) * (s `1 ))) - (((p `1 ) * (r `3 )) * (s `2 ))) + (((p `2 ) * (r `3 )) * (s `1 ))) - (((p `2 ) * (r `1 )) * (s `3 ))) + (((p `3 ) * (r `1 )) * (s `2 ))) by Th23;

      hence thesis by A1, A2, A3, A4, A5;

    end;

    theorem :: ANPROJ_8:29

    

     Th24: |{p, q, r}| = ( - |{p, r, q}|)

    proof

      

       A1: |{p, q, r}| = ((((((((p `1 ) * (q `2 )) * (r `3 )) - (((p `3 ) * (q `2 )) * (r `1 ))) - (((p `1 ) * (q `3 )) * (r `2 ))) + (((p `2 ) * (q `3 )) * (r `1 ))) - (((p `2 ) * (q `1 )) * (r `3 ))) + (((p `3 ) * (q `1 )) * (r `2 ))) by Th23;

       |{p, r, q}| = ((((((((p `1 ) * (r `2 )) * (q `3 )) - (((p `3 ) * (r `2 )) * (q `1 ))) - (((p `1 ) * (r `3 )) * (q `2 ))) + (((p `2 ) * (r `3 )) * (q `1 ))) - (((p `2 ) * (r `1 )) * (q `3 ))) + (((p `3 ) * (r `1 )) * (q `2 ))) by Th23;

      hence thesis by A1;

    end;

    theorem :: ANPROJ_8:30

    

     Th25: |{p, q, r}| = ( - |{q, p, r}|)

    proof

      

       A1: |{p, q, r}| = ((((((((p `1 ) * (q `2 )) * (r `3 )) - (((p `3 ) * (q `2 )) * (r `1 ))) - (((p `1 ) * (q `3 )) * (r `2 ))) + (((p `2 ) * (q `3 )) * (r `1 ))) - (((p `2 ) * (q `1 )) * (r `3 ))) + (((p `3 ) * (q `1 )) * (r `2 ))) by Th23;

       |{q, p, r}| = ((((((((q `1 ) * (p `2 )) * (r `3 )) - (((q `3 ) * (p `2 )) * (r `1 ))) - (((q `1 ) * (p `3 )) * (r `2 ))) + (((q `2 ) * (p `3 )) * (r `1 ))) - (((q `2 ) * (p `1 )) * (r `3 ))) + (((q `3 ) * (p `1 )) * (r `2 ))) by Th23;

      hence thesis by A1;

    end;

    theorem :: ANPROJ_8:31

    

     Th26: |{(a * p), q, r}| = (a * |{p, q, r}|)

    proof

       |{(a * p), q, r}| = (((((((((a * p) `1 ) * (q `2 )) * (r `3 )) - ((((a * p) `3 ) * (q `2 )) * (r `1 ))) - ((((a * p) `1 ) * (q `3 )) * (r `2 ))) + ((((a * p) `2 ) * (q `3 )) * (r `1 ))) - ((((a * p) `2 ) * (q `1 )) * (r `3 ))) + ((((a * p) `3 ) * (q `1 )) * (r `2 ))) by Th23

      .= ((((((((a * (p `1 )) * (q `2 )) * (r `3 )) - ((((a * p) `3 ) * (q `2 )) * (r `1 ))) - ((((a * p) `1 ) * (q `3 )) * (r `2 ))) + ((((a * p) `2 ) * (q `3 )) * (r `1 ))) - ((((a * p) `2 ) * (q `1 )) * (r `3 ))) + ((((a * p) `3 ) * (q `1 )) * (r `2 ))) by EUCLID_5: 9

      .= ((((((((a * (p `1 )) * (q `2 )) * (r `3 )) - (((a * (p `3 )) * (q `2 )) * (r `1 ))) - ((((a * p) `1 ) * (q `3 )) * (r `2 ))) + ((((a * p) `2 ) * (q `3 )) * (r `1 ))) - ((((a * p) `2 ) * (q `1 )) * (r `3 ))) + ((((a * p) `3 ) * (q `1 )) * (r `2 ))) by EUCLID_5: 9

      .= ((((((((a * (p `1 )) * (q `2 )) * (r `3 )) - (((a * (p `3 )) * (q `2 )) * (r `1 ))) - (((a * (p `1 )) * (q `3 )) * (r `2 ))) + ((((a * p) `2 ) * (q `3 )) * (r `1 ))) - ((((a * p) `2 ) * (q `1 )) * (r `3 ))) + ((((a * p) `3 ) * (q `1 )) * (r `2 ))) by EUCLID_5: 9

      .= ((((((((a * (p `1 )) * (q `2 )) * (r `3 )) - (((a * (p `3 )) * (q `2 )) * (r `1 ))) - (((a * (p `1 )) * (q `3 )) * (r `2 ))) + (((a * (p `2 )) * (q `3 )) * (r `1 ))) - ((((a * p) `2 ) * (q `1 )) * (r `3 ))) + ((((a * p) `3 ) * (q `1 )) * (r `2 ))) by EUCLID_5: 9

      .= ((((((((a * (p `1 )) * (q `2 )) * (r `3 )) - (((a * (p `3 )) * (q `2 )) * (r `1 ))) - (((a * (p `1 )) * (q `3 )) * (r `2 ))) + (((a * (p `2 )) * (q `3 )) * (r `1 ))) - (((a * (p `2 )) * (q `1 )) * (r `3 ))) + ((((a * p) `3 ) * (q `1 )) * (r `2 ))) by EUCLID_5: 9

      .= ((((((((a * (p `1 )) * (q `2 )) * (r `3 )) - (((a * (p `3 )) * (q `2 )) * (r `1 ))) - (((a * (p `1 )) * (q `3 )) * (r `2 ))) + (((a * (p `2 )) * (q `3 )) * (r `1 ))) - (((a * (p `2 )) * (q `1 )) * (r `3 ))) + (((a * (p `3 )) * (q `1 )) * (r `2 ))) by EUCLID_5: 9

      .= (a * ((((((((p `1 ) * (q `2 )) * (r `3 )) - (((p `3 ) * (q `2 )) * (r `1 ))) - (((p `1 ) * (q `3 )) * (r `2 ))) + (((p `2 ) * (q `3 )) * (r `1 ))) - (((p `2 ) * (q `1 )) * (r `3 ))) + (((p `3 ) * (q `1 )) * (r `2 ))))

      .= (a * |{p, q, r}|) by Th23;

      hence thesis;

    end;

    theorem :: ANPROJ_8:32

    

     Th27: |{p, (a * q), r}| = (a * |{p, q, r}|)

    proof

       |{p, (a * q), r}| = ( - |{(a * q), p, r}|) by Th25

      .= ( - (a * |{q, p, r}|)) by Th26

      .= ( - (a * ( - |{p, q, r}|))) by Th25;

      hence thesis;

    end;

    theorem :: ANPROJ_8:33

    

     Th28: |{p, q, (a * r)}| = (a * |{p, q, r}|)

    proof

       |{p, q, (a * r)}| = ( - |{p, (a * r), q}|) by Th24

      .= ( - (a * |{p, r, q}|)) by Th27

      .= ( - (a * ( - |{p, q, r}|))) by Th24;

      hence thesis;

    end;

    theorem :: ANPROJ_8:34

    M = <* <*(p `1 ), (q `1 ), (r `1 )*>, <*(p `2 ), (q `2 ), (r `2 )*>, <*(p `3 ), (q `3 ), (r `3 )*>*> implies |{p, q, r}| = ( Det M)

    proof

      assume M = <* <*(p `1 ), (q `1 ), (r `1 )*>, <*(p `2 ), (q `2 ), (r `2 )*>, <*(p `3 ), (q `3 ), (r `3 )*>*>;

      then

       A1: (M @ ) = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*> by Th19;

      

       A2: p = |[(p `1 ), (p `2 ), (p `3 )]| by EUCLID_5: 3;

      

       A3: (q <X> r) = |[(((q `2 ) * (r `3 )) - ((q `3 ) * (r `2 ))), (((q `3 ) * (r `1 )) - ((q `1 ) * (r `3 ))), (((q `1 ) * (r `2 )) - ((q `2 ) * (r `1 )))]| by EUCLID_5:def 4;

      

       A4: |(p, (q <X> r))| = ((((p `1 ) * (((q `2 ) * (r `3 )) - ((q `3 ) * (r `2 )))) + ((p `2 ) * (((q `3 ) * (r `1 )) - ((q `1 ) * (r `3 ))))) + ((p `3 ) * (((q `1 ) * (r `2 )) - ((q `2 ) * (r `1 ))))) by A2, A3, EUCLID_5: 30;

      reconsider p1 = (p `1 ), p2 = (p `2 ), p3 = (p `3 ), q1 = (q `1 ), q2 = (q `2 ), q3 = (q `3 ), r1 = (r `1 ), r2 = (r `2 ), r3 = (r `3 ) as Element of F_Real by XREAL_0:def 1;

      ( Det M) = ( Det (M @ )) by MATRIX_7: 37

      .= (((((((p1 * q2) * r3) - ((p3 * q2) * r1)) - ((p1 * q3) * r2)) + ((p2 * q3) * r1)) - ((p2 * q1) * r3)) + ((p3 * q1) * r2)) by A1, MATRIX_9: 46;

      hence thesis by A4, EUCLID_5:def 5;

    end;

    theorem :: ANPROJ_8:35

    

     Th29: M = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*> implies |{p, q, r}| = ( Det M)

    proof

      assume

       A1: M = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*>;

      

       A2: p = |[(p `1 ), (p `2 ), (p `3 )]| by EUCLID_5: 3;

      

       A3: (q <X> r) = |[(((q `2 ) * (r `3 )) - ((q `3 ) * (r `2 ))), (((q `3 ) * (r `1 )) - ((q `1 ) * (r `3 ))), (((q `1 ) * (r `2 )) - ((q `2 ) * (r `1 )))]| by EUCLID_5:def 4;

      

       A4: |(p, (q <X> r))| = ((((p `1 ) * (((q `2 ) * (r `3 )) - ((q `3 ) * (r `2 )))) + ((p `2 ) * (((q `3 ) * (r `1 )) - ((q `1 ) * (r `3 ))))) + ((p `3 ) * (((q `1 ) * (r `2 )) - ((q `2 ) * (r `1 ))))) by A2, A3, EUCLID_5: 30;

      reconsider p1 = (p `1 ), p2 = (p `2 ), p3 = (p `3 ), q1 = (q `1 ), q2 = (q `2 ), q3 = (q `3 ), r1 = (r `1 ), r2 = (r `2 ), r3 = (r `3 ) as Element of F_Real by XREAL_0:def 1;

      ( Det M) = (((((((p1 * q2) * r3) - ((p3 * q2) * r1)) - ((p1 * q3) * r2)) + ((p2 * q3) * r1)) - ((p2 * q1) * r3)) + ((p3 * q1) * r2)) by A1, MATRIX_9: 46;

      hence thesis by A4, EUCLID_5:def 5;

    end;

    theorem :: ANPROJ_8:36

    

     Th30: for M be Matrix of k, F_Real holds ( Det M) = ( 0. F_Real ) iff ( the_rank_of M) < k

    proof

      let M be Matrix of k, F_Real ;

      

       A1: ( Det M) = ( 0. F_Real ) iff ( the_rank_of M) <> k by MATRIX13: 83;

      

       A2: ( the_rank_of M) <= ( len M) by MATRIX13: 74;

      ( len M) = k by MATRIX_0:def 2;

      hence thesis by A1, A2, XXREAL_0: 1;

    end;

    theorem :: ANPROJ_8:37

    

     Th31: for M be Matrix of k, F_Real holds ( the_rank_of M) < k iff ( lines M) is linearly-dependent or not M is without_repeated_line

    proof

      let M be Matrix of k, F_Real ;

      

       A1: ( the_rank_of M) = k iff ( lines M) is linearly-independent & M is without_repeated_line by MATRIX13: 121;

      

       A2: ( the_rank_of M) <= ( len M) by MATRIX13: 74;

      ( len M) = k by MATRIX_0:def 2;

      hence thesis by A1, A2, XXREAL_0: 1;

    end;

    theorem :: ANPROJ_8:38

    

     Th32: for M be Matrix of k, m, F_Real holds ( Mx2Tran M) is Function of ( RLSp2RVSp ( TOP-REAL k)), ( RLSp2RVSp ( TOP-REAL m))

    proof

      let M be Matrix of k, m, F_Real ;

      ( RLSp2RVSp ( TOP-REAL k)) = ModuleStr (# the carrier of ( TOP-REAL k), the addF of ( TOP-REAL k), the ZeroF of ( TOP-REAL k), ( MultF_Real* ( TOP-REAL k)) #) & ( RLSp2RVSp ( TOP-REAL m)) = ModuleStr (# the carrier of ( TOP-REAL m), the addF of ( TOP-REAL m), the ZeroF of ( TOP-REAL m), ( MultF_Real* ( TOP-REAL m)) #) by DUALSP01:def 2;

      hence thesis;

    end;

    theorem :: ANPROJ_8:39

    

     Th33: for M be Matrix of k, F_Real holds ( Mx2Tran M) is linear-transformation of ( RLSp2RVSp ( TOP-REAL k)), ( RLSp2RVSp ( TOP-REAL k))

    proof

      let M be Matrix of k, F_Real ;

      reconsider M2 = ( Mx2Tran M) as Function of ( RLSp2RVSp ( TOP-REAL k)), ( RLSp2RVSp ( TOP-REAL k)) by Th32;

      

       A1: ( RLSp2RVSp ( TOP-REAL k)) = ModuleStr (# the carrier of ( TOP-REAL k), the addF of ( TOP-REAL k), the ZeroF of ( TOP-REAL k), ( MultF_Real* ( TOP-REAL k)) #) by DUALSP01:def 2;

      for x,y be Element of ( RLSp2RVSp ( TOP-REAL k)) holds (M2 . (x + y)) = ((M2 . x) + (M2 . y))

      proof

        let x,y be Element of ( RLSp2RVSp ( TOP-REAL k));

        reconsider xr = x, yr = y as Element of ( TOP-REAL k) by A1;

        

         A2: (x + y) = (xr + yr) by A1;

        (M2 . (x + y)) = ((( Mx2Tran M) . xr) + (( Mx2Tran M) . yr)) by A2, MATRTOP1: 22

        .= ((M2 . x) + (M2 . y)) by A1;

        hence thesis;

      end;

      then

       A3: M2 is additive;

      for a be Scalar of F_Real , x be Vector of ( RLSp2RVSp ( TOP-REAL k)) holds (M2 . (a * x)) = (a * (M2 . x))

      proof

        let a be Scalar of F_Real , x be Vector of ( RLSp2RVSp ( TOP-REAL k));

        reconsider ra = a as Real;

        reconsider rx = x as Element of ( TOP-REAL k) by A1;

        reconsider X = ( RLSp2RVSp ( TOP-REAL 3)) as ModuleStr over F_Real ;

        

         A4: (a * x) = (a * rx)

        proof

          ( MultF_Real* ( TOP-REAL k)) = the Mult of ( TOP-REAL k) by DUALSP01:def 1;

          hence thesis by A1, RLVECT_1:def 1;

        end;

        (a * (( Mx2Tran M) . x)) = (a * (M2 . x))

        proof

          (a * (M2 . x)) = (the Mult of ( TOP-REAL k) . (a,(( Mx2Tran M) . x))) by A1, DUALSP01:def 1

          .= (a * (( Mx2Tran M) . rx)) by RLVECT_1:def 1;

          hence thesis;

        end;

        hence thesis by A4, MATRTOP1: 23;

      end;

      hence thesis by A3, MOD_2:def 2;

    end;

    theorem :: ANPROJ_8:40

    

     Th34: M = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*> & ( the_rank_of M) < 3 implies ex a, b, c st (((a * p) + (b * q)) + (c * r)) = ( 0. ( TOP-REAL 3)) & (a <> 0 or b <> 0 or c <> 0 )

    proof

      assume that

       A1: M = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*> and

       A2: ( the_rank_of M) < 3;

      per cases by A2, Th31;

        suppose

         A3: ( lines M) is linearly-dependent;

        ( Line (M,1)) = p & ( Line (M,2)) = q & ( Line (M,3)) = r by A1, Th22;

        then ( lines M) = {p, q, r} by Th21;

        then {p, q, r} is linearly-dependent by A3, MATRTOP2: 7;

        hence thesis by RLVECT_4: 7;

      end;

        suppose not M is without_repeated_line;

        reconsider M2 = ( Mx2Tran M) as linear-transformation of ( RLSp2RVSp ( TOP-REAL 3)), ( RLSp2RVSp ( TOP-REAL 3)) by Th33;

        

         A4: not M2 is one-to-one by A2, MATRTOP1: 39;

        ex x be Element of ( RLSp2RVSp ( TOP-REAL 3)) st x in ( ker M2) & not x in ( (0). ( RLSp2RVSp ( TOP-REAL 3)))

        proof

          assume

           A5: not ex x be Element of ( RLSp2RVSp ( TOP-REAL 3)) st x in ( ker M2) & not x in ( (0). ( RLSp2RVSp ( TOP-REAL 3)));

          

           A6: the carrier of ( ker M2) c= the carrier of ( RLSp2RVSp ( TOP-REAL 3)) by VECTSP_4:def 2;

          

           A7: the carrier of ( (0). ( RLSp2RVSp ( TOP-REAL 3))) c= the carrier of ( ker M2)

          proof

            let x be object;

            assume x in the carrier of ( (0). ( RLSp2RVSp ( TOP-REAL 3)));

            then x in ( (0). ( RLSp2RVSp ( TOP-REAL 3)));

            then x = ( 0. ( RLSp2RVSp ( TOP-REAL 3))) by VECTSP_4: 35;

            then x in ( ker M2) by RANKNULL: 11;

            hence thesis;

          end;

          the carrier of ( ker M2) c= the carrier of ( (0). ( RLSp2RVSp ( TOP-REAL 3)))

          proof

            let x be object;

            assume

             A8: x in the carrier of ( ker M2);

            then

             A9: x in ( ker M2);

            reconsider y = x as Element of the carrier of ( RLSp2RVSp ( TOP-REAL 3)) by A8, A6;

            y in ( (0). ( RLSp2RVSp ( TOP-REAL 3))) by A5, A9;

            hence thesis;

          end;

          then the carrier of ( ker M2) = the carrier of ( (0). ( RLSp2RVSp ( TOP-REAL 3))) by A7;

          hence thesis by A4, MATRLIN2: 43, VECTSP_4: 29;

        end;

        then

        consider x2 be Element of ( RLSp2RVSp ( TOP-REAL 3)) such that

         A10: x2 in ( ker M2) and

         A11: not x2 in ( (0). ( RLSp2RVSp ( TOP-REAL 3)));

        

         A12: x2 <> ( 0. ( RLSp2RVSp ( TOP-REAL 3))) by A11, VECTSP_4: 35;

        

         A13: ( RLSp2RVSp ( TOP-REAL 3)) = ModuleStr (# the carrier of ( TOP-REAL 3), the addF of ( TOP-REAL 3), the ZeroF of ( TOP-REAL 3), ( MultF_Real* ( TOP-REAL 3)) #) by DUALSP01:def 2;

        

        then

         A14: ( 0. ( RLSp2RVSp ( TOP-REAL 3))) = the ZeroF of ( TOP-REAL 3) by STRUCT_0:def 6

        .= ( 0. ( TOP-REAL 3)) by STRUCT_0:def 6;

        then

         A15: (( Mx2Tran M) . x2) = |[ 0 , 0 , 0 ]| by A10, EUCLID_5: 4, RANKNULL: 10;

        reconsider pt = (( Mx2Tran M) . x2) as Element of ( TOP-REAL 3) by A10, A14, RANKNULL: 10;

        

         A16: <*(pt `1 ), (pt `2 ), (pt `3 )*> = |[ 0 , 0 , 0 ]| by A15, EUCLID_5: 3;

        

         A17: (pt `1 ) = (pt . 1) by EUCLID_5:def 1;

        ( RLSp2RVSp ( TOP-REAL 3)) = ModuleStr (# the carrier of ( TOP-REAL 3), the addF of ( TOP-REAL 3), the ZeroF of ( TOP-REAL 3), ( MultF_Real* ( TOP-REAL 3)) #) by DUALSP01:def 2;

        then the ZeroF of ( RLSp2RVSp ( TOP-REAL 3)) = ( 0. ( TOP-REAL 3)) by STRUCT_0:def 6;

        then

         A18: x2 <> ( 0. ( TOP-REAL 3)) by A12, STRUCT_0:def 6;

        

         A19: ( len M) = 3 by MATRIX_0:def 2;

        then

         A20: ( dom M) = ( Seg 3) by FINSEQ_1:def 3;

        then

         A21: ( len ( Col (M,1))) = 3 & for j be Nat st j in ( Seg 3) holds (( Col (M,1)) . j) = (M * (j,1)) by A19, MATRIX_0:def 8;

        

         A22: (( Col (M,1)) . 1) = (M * (1,1)) & (( Col (M,1)) . 2) = (M * (2,1)) & (( Col (M,1)) . 3) = (M * (3,1)) by A20, MATRIX_0:def 8, FINSEQ_1: 1;

        

         A23: ( len ( Col (M,2))) = 3 & for j be Nat st j in ( Seg 3) holds (( Col (M,2)) . j) = (M * (j,2)) by A19, A20, MATRIX_0:def 8;

        

         A24: (( Col (M,2)) . 1) = (M * (1,2)) & (( Col (M,2)) . 2) = (M * (2,2)) & (( Col (M,2)) . 3) = (M * (3,2)) by A20, MATRIX_0:def 8, FINSEQ_1: 1;

        

         A25: ( len ( Col (M,3))) = 3 & for j be Nat st j in ( Seg 3) holds (( Col (M,3)) . j) = (M * (j,3)) by A19, A20, MATRIX_0:def 8;

        

         A26: (( Col (M,3)) . 1) = (M * (1,3)) & (( Col (M,3)) . 2) = (M * (2,3)) & (( Col (M,3)) . 3) = (M * (3,3)) by A20, MATRIX_0:def 8, FINSEQ_1: 1;

        

         A27: (pt `2 ) = (pt . 2) by EUCLID_5:def 2;

        reconsider x3 = x2 as Element of ( TOP-REAL 3) by A13;

        

         A28: (pt `3 ) = (pt . 3) by EUCLID_5:def 3;

        reconsider x4 = x3 as FinSequence of F_Real by RVSUM_1: 145;

        

         A29: ( @ x3) = x3 by MATRTOP1:def 1;

        then

         A30: ( @ x3) = <*(x3 `1 ), (x3 `2 ), (x3 `3 )*> by EUCLID_5: 3;

        

         A31: 0 = (pt . 1) by A17, A16, FINSEQ_1: 78

        .= (( @ x3) "*" ( Col (M,1))) by MATRTOP1: 18;

        reconsider a1 = (x3 `1 ), a2 = (x3 `2 ), a3 = (x3 `3 ), b1 = (M * (1,1)), b2 = (M * (2,1)), b3 = (M * (3,1)), c1 = (M * (1,2)), c2 = (M * (2,2)), c3 = (M * (3,2)), d1 = (M * (1,3)), d2 = (M * (2,3)), d3 = (M * (3,3)) as Element of F_Real by XREAL_0:def 1;

        

         A32: <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*> = <* <*(M * (1,1)), (M * (1,2)), (M * (1,3))*>, <*(M * (2,1)), (M * (2,2)), (M * (2,3))*>, <*(M * (3,1)), (M * (3,2)), (M * (3,3))*>*> by A1, MATRIXR2: 37;

        

         A33: p = <*(p `1 ), (p `2 ), (p `3 )*> by EUCLID_5: 3

        .= <*(M * (1,1)), (M * (1,2)), (M * (1,3))*> by A32, FINSEQ_1: 78;

        

         A34: q = <*(q `1 ), (q `2 ), (q `3 )*> by EUCLID_5: 3

        .= <*(M * (2,1)), (M * (2,2)), (M * (2,3))*> by A32, FINSEQ_1: 78;

        

         A35: r = <*(r `1 ), (r `2 ), (r `3 )*> by EUCLID_5: 3

        .= <*(M * (3,1)), (M * (3,2)), (M * (3,3))*> by A32, FINSEQ_1: 78;

        reconsider q1 = <*(x3 `1 ), (x3 `2 ), (x3 `3 )*>, r1 = <*(M * (1,1)), (M * (2,1)), (M * (3,1))*>, r2 = <*(M * (1,2)), (M * (2,2)), (M * (3,2))*>, r3 = <*(M * (1,3)), (M * (2,3)), (M * (3,3))*> as FinSequence of the carrier of F_Real by A29, EUCLID_5: 3;

        

         A36: 0 = (q1 "*" r1) by A31, A22, A30, A21, FINSEQ_1: 45

        .= (((a1 * b1) + (a2 * b2)) + (a3 * b3)) by Th6;

        

         A37: 0 = (pt . 2) by A16, FINSEQ_1: 78, A27

        .= (( @ x3) "*" ( Col (M,2))) by MATRTOP1: 18;

        

         A38: 0 = (q1 "*" r2) by A37, A23, FINSEQ_1: 45, A24, A30

        .= (((a1 * c1) + (a2 * c2)) + (a3 * c3)) by Th6;

        

         A39: 0 = (pt . 3) by A16, FINSEQ_1: 78, A28

        .= (( @ x3) "*" ( Col (M,3))) by MATRTOP1: 18;

        

         A40: 0 = (q1 "*" r3) by A39, A26, A25, FINSEQ_1: 45, A30

        .= (((a1 * d1) + (a2 * d2)) + (a3 * d3)) by Th6;

        

         A41: a1 <> 0 or a2 <> 0 or a3 <> 0 by A18, EUCLID_5: 3, EUCLID_5: 4;

        (((a1 * p) + (a2 * q)) + (a3 * r)) = ((a1 * |[b1, c1, d1]|) + ((a2 * |[b2, c2, d2]|) + (a3 * |[b3, c3, d3]|))) by A33, RVSUM_1: 15, A34, A35

        .= ((a1 * |[b1, c1, d1]|) + ((a2 * |[b2, c2, d2]|) + |[(a3 * b3), (a3 * c3), (a3 * d3)]|)) by EUCLID_5: 8

        .= ((a1 * |[b1, c1, d1]|) + ( |[(a2 * b2), (a2 * c2), (a2 * d2)]| + |[(a3 * b3), (a3 * c3), (a3 * d3)]|)) by EUCLID_5: 8

        .= ( |[(a1 * b1), (a1 * c1), (a1 * d1)]| + ( |[(a2 * b2), (a2 * c2), (a2 * d2)]| + |[(a3 * b3), (a3 * c3), (a3 * d3)]|)) by EUCLID_5: 8

        .= ( |[(a1 * b1), (a1 * c1), (a1 * d1)]| + |[((a2 * b2) + (a3 * b3)), ((a2 * c2) + (a3 * c3)), ((a2 * d2) + (a3 * d3))]|) by EUCLID_5: 6

        .= |[((a1 * b1) + ((a2 * b2) + (a3 * b3))), ((a1 * c1) + ((a2 * c2) + (a3 * c3))), ((a1 * d1) + ((a2 * d2) + (a3 * d3)))]| by EUCLID_5: 6

        .= ( 0. ( TOP-REAL 3)) by A36, A38, A40, EUCLID_5: 4;

        hence thesis by A41;

      end;

    end;

    theorem :: ANPROJ_8:41

    

     Th35: ((((a * p) + (b * q)) + (c * r)) = ( 0. ( TOP-REAL 3)) & (a <> 0 or b <> 0 or c <> 0 )) implies |{p, q, r}| = 0

    proof

      assume (((a * p) + (b * q)) + (c * r)) = ( 0. ( TOP-REAL 3)) & (a <> 0 or b <> 0 or c <> 0 );

      then

      consider a, b, c such that

       A1: (((a * p) + (b * q)) + (c * r)) = ( 0. ( TOP-REAL 3)) and

       A2: a <> 0 or b <> 0 or c <> 0 ;

      per cases by A2;

        suppose a <> 0 ;

        hence thesis by A1, Th12;

      end;

        suppose b <> 0 ;

        then

         A3: |{q, p, r}| = 0 by A1, Th12;

         |{p, q, r}| = ( - |{q, p, r}|) by Th25;

        hence thesis by A3;

      end;

        suppose

         A4: c <> 0 ;

        (((c * r) + (a * p)) + (b * q)) = ( 0. ( TOP-REAL 3)) by A1, RLVECT_1:def 3;

        then |{r, p, q}| = 0 by A4, Th12;

        hence thesis by EUCLID_5: 33;

      end;

    end;

    theorem :: ANPROJ_8:42

    

     Th36: |{p, q, r}| = 0 implies ex a, b, c st (((a * p) + (b * q)) + (c * r)) = ( 0. ( TOP-REAL 3)) & (a <> 0 or b <> 0 or c <> 0 )

    proof

      assume

       A1: |{p, q, r}| = 0 ;

      reconsider M = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*> as Matrix of 3, F_Real by Th16;

      ( Det M) = 0 by A1, Th29

      .= ( 0. F_Real ) by STRUCT_0:def 6;

      then ( the_rank_of M) < 3 by Th30;

      hence thesis by Th34;

    end;

    theorem :: ANPROJ_8:43

    

     Th37: (p,q,r) are_LinDep iff |{p, q, r}| = 0

    proof

      hereby

        assume (p,q,r) are_LinDep ;

        then ex a, b, c st (((a * p) + (b * q)) + (c * r)) = ( 0. ( TOP-REAL 3)) & (a <> 0 or b <> 0 or c <> 0 ) by ANPROJ_1:def 2;

        hence |{p, q, r}| = 0 by Th35;

      end;

      assume |{p, q, r}| = 0 ;

      then ex a, b, c st (((a * p) + (b * q)) + (c * r)) = ( 0. ( TOP-REAL 3)) & (a <> 0 or b <> 0 or c <> 0 ) by Th36;

      hence (p,q,r) are_LinDep by ANPROJ_1:def 2;

    end;

    begin

    theorem :: ANPROJ_8:44

    

     Th38: |(p, (p <X> q))| = 0

    proof

      

      thus |(p, (p <X> q))| = |{p, p, q}| by EUCLID_5:def 5

      .= 0 by EUCLID_5: 31;

    end;

    theorem :: ANPROJ_8:45

    

     Th39: |(p, (q <X> p))| = 0

    proof

      

      thus |(p, (q <X> p))| = |{p, q, p}| by EUCLID_5:def 5

      .= 0 by EUCLID_5: 31;

    end;

    theorem :: ANPROJ_8:46

    

     Th40: |{o, p, ((o <X> p) <X> (q <X> r))}| = 0 & |{q, r, ((o <X> p) <X> (q <X> r))}| = 0

    proof

      set s = ((o <X> p) <X> (q <X> r));

      

      thus |{o, p, s}| = |((o <X> p), s)| by EUCLID_5: 35

      .= 0 by Th38;

      

      thus |{q, r, s}| = |((q <X> r), ((o <X> p) <X> (q <X> r)))| by EUCLID_5: 35

      .= 0 by Th39;

    end;

    theorem :: ANPROJ_8:47

    

     Th41: (o,p,((o <X> p) <X> (q <X> r))) are_LinDep & (q,r,((o <X> p) <X> (q <X> r))) are_LinDep

    proof

       |{o, p, ((o <X> p) <X> (q <X> r))}| = 0 & |{q, r, ((o <X> p) <X> (q <X> r))}| = 0 by Th40;

      hence thesis by Th37;

    end;

    theorem :: ANPROJ_8:48

    

     Th42: (( 0. ( TOP-REAL 3)) <X> p) = ( 0. ( TOP-REAL 3)) & (p <X> ( 0. ( TOP-REAL 3))) = ( 0. ( TOP-REAL 3))

    proof

      

       A1: (( 0. ( TOP-REAL 3)) <X> p) = ( |[ 0 , 0 , 0 ]| <X> |[(p `1 ), (p `2 ), (p `3 )]|) by EUCLID_5: 3, EUCLID_5: 4

      .= ( 0. ( TOP-REAL 3)) by EUCLID_5: 19;

      (p <X> ( 0. ( TOP-REAL 3))) = ( - ( 0. ( TOP-REAL 3))) by A1, EUCLID_5: 17

      .= ( 0. ( TOP-REAL 3)) by RLVECT_1: 12;

      hence thesis by A1;

    end;

    theorem :: ANPROJ_8:49

     |{p, q, ( 0. ( TOP-REAL 3))}| = 0

    proof

       |{p, q, ( 0. ( TOP-REAL 3))}| = |(p, (q <X> ( 0. ( TOP-REAL 3))))| by EUCLID_5:def 5

      .= |(p, ( 0. ( TOP-REAL 3)))| by Th42;

      hence thesis by EUCLID_2: 32;

    end;

    theorem :: ANPROJ_8:50

    (p <X> q) = ( 0. ( TOP-REAL 3)) & r = |[1, 1, 1]| implies (p,q,r) are_LinDep

    proof

      assume that

       A1: (p <X> q) = ( 0. ( TOP-REAL 3)) and

       A2: r = |[1, 1, 1]|;

       |[(((p `2 ) * (q `3 )) - ((p `3 ) * (q `2 ))), (((p `3 ) * (q `1 )) - ((p `1 ) * (q `3 ))), (((p `1 ) * (q `2 )) - ((p `2 ) * (q `1 )))]| = |[ 0 , 0 , 0 ]| by A1, EUCLID_5:def 4, EUCLID_5: 4;

      then (((p `2 ) * (q `3 )) - ((p `3 ) * (q `2 ))) = ( |[ 0 , 0 , 0 ]| `1 ) & (((p `3 ) * (q `1 )) - ((p `1 ) * (q `3 ))) = ( |[ 0 , 0 , 0 ]| `2 ) & (((p `1 ) * (q `2 )) - ((p `2 ) * (q `1 ))) = ( |[ 0 , 0 , 0 ]| `3 ) by EUCLID_5: 14;

      then

       A3: (((p `2 ) * (q `3 )) - ((p `3 ) * (q `2 ))) = 0 & (((p `3 ) * (q `1 )) - ((p `1 ) * (q `3 ))) = 0 & (((p `1 ) * (q `2 )) - ((p `2 ) * (q `1 ))) = 0 by EUCLID_5: 14;

      reconsider r = |[1, 1, 1]| as Element of ( TOP-REAL 3);

       |{p, q, r}| = 0

      proof

        (r `1 ) = 1 & (r `2 ) = 1 & (r `3 ) = 1 by EUCLID_5: 2;

        

        then |{p, q, r}| = ((((((((p `1 ) * (q `2 )) * 1) - (((p `3 ) * (q `2 )) * 1)) - (((p `1 ) * (q `3 )) * 1)) + (((p `2 ) * (q `3 )) * 1)) - (((p `2 ) * (q `1 )) * 1)) + (((p `3 ) * (q `1 )) * 1)) by Th23

        .= 0 by A3;

        hence thesis;

      end;

      hence thesis by A2, Th37;

    end;

    theorem :: ANPROJ_8:51

    

     Th43: not p is zero & not q is zero & (p <X> q) = ( 0. ( TOP-REAL 3)) implies are_Prop (p,q)

    proof

      assume that

       A1: not p is zero and

       A2: not q is zero and

       A3: (p <X> q) = ( 0. ( TOP-REAL 3));

      

       A4: |[(((p `2 ) * (q `3 )) - ((p `3 ) * (q `2 ))), (((p `3 ) * (q `1 )) - ((p `1 ) * (q `3 ))), (((p `1 ) * (q `2 )) - ((p `2 ) * (q `1 )))]| = |[ 0 , 0 , 0 ]| by A3, EUCLID_5:def 4, EUCLID_5: 4;

      then

       A5: (((p `2 ) * (q `3 )) - ((p `3 ) * (q `2 ))) = ( |[ 0 , 0 , 0 ]| `1 ) & (((p `3 ) * (q `1 )) - ((p `1 ) * (q `3 ))) = ( |[ 0 , 0 , 0 ]| `2 ) & (((p `1 ) * (q `2 )) - ((p `2 ) * (q `1 ))) = ( |[ 0 , 0 , 0 ]| `3 ) by EUCLID_5: 14;

      then

       A6: (((p `2 ) * (q `3 )) - ((p `3 ) * (q `2 ))) = 0 & (((p `3 ) * (q `1 )) - ((p `1 ) * (q `3 ))) = 0 & (((p `1 ) * (q `2 )) - ((p `2 ) * (q `1 ))) = 0 by EUCLID_5: 14;

      per cases ;

        suppose

         A7: (p `1 ) <> 0 & (p `2 ) <> 0 & (p `3 ) <> 0 ;

        

         A8: (q `1 ) <> 0 & (q `2 ) <> 0 & (q `3 ) <> 0

        proof

          assume (q `1 ) = 0 or (q `2 ) = 0 or (q `3 ) = 0 ;

          per cases ;

            suppose

             A9: (q `1 ) = 0 ;

            then

             A10: (q `3 ) = 0 by A6, A7, XCMPLX_1: 6;

            (q `2 ) = 0 by A9, A6, A7, XCMPLX_1: 6;

            hence thesis by A9, A10, EUCLID_5: 3, EUCLID_5: 4, A2;

          end;

            suppose

             A11: (q `2 ) = 0 ;

            then ((p `2 ) * (q `3 )) = 0 by A5, EUCLID_5: 14;

            then

             A12: (q `3 ) = 0 by A7, XCMPLX_1: 6;

            then ((p `3 ) * (q `1 )) = 0 by A5, EUCLID_5: 14;

            then (q `1 ) = 0 by A7, XCMPLX_1: 6;

            hence thesis by A2, A11, A12, EUCLID_5: 3, EUCLID_5: 4;

          end;

            suppose

             A13: (q `3 ) = 0 ;

            then ((p `3 ) * (q `1 )) = 0 by A5, EUCLID_5: 14;

            then

             A14: (q `1 ) = 0 by A7, XCMPLX_1: 6;

            then ((p `1 ) * (q `2 )) = 0 by A5, EUCLID_5: 14;

            then (q `2 ) = 0 by A7, XCMPLX_1: 6;

            hence thesis by A2, A13, A14, EUCLID_5: 3, EUCLID_5: 4;

          end;

        end;

        reconsider l = ((p `2 ) / (q `2 )) as Real;

        p = (l * q)

        proof

          

           A15: (p `1 ) = (((p `3 ) * (q `1 )) / (q `3 )) by A8, A6, XCMPLX_1: 89

          .= (((p `3 ) / (q `3 )) * (q `1 )) by XCMPLX_1: 74;

          

           A16: (p `2 ) = (l * (q `2 )) by A8, XCMPLX_1: 87;

          (p `3 ) = (((p `1 ) * (q `3 )) / (q `1 )) by A8, A6, XCMPLX_1: 89

          .= (((p `1 ) / (q `1 )) * (q `3 )) by XCMPLX_1: 74;

          then

           A17: (p `3 ) = (l * (q `3 )) by A8, A6, XCMPLX_1: 94;

          p = |[(p `1 ), (p `2 ), (p `3 )]| by EUCLID_5: 3

          .= |[(l * (q `1 )), (l * (q `2 )), (l * (q `3 ))]| by A16, A17, A15, A8, A4, XCMPLX_1: 94

          .= (l * q) by EUCLID_5: 7;

          hence thesis;

        end;

        hence thesis by A7, A8, XCMPLX_1: 50, ANPROJ_1: 1;

      end;

        suppose

         A18: (p `1 ) = 0 ;

        per cases by EUCLID_5: 3, A1, EUCLID_5: 4;

          suppose

           A19: (p `2 ) <> 0 ;

          then

           A20: (q `1 ) = 0 by A18, A6, XCMPLX_1: 6;

          

           A21: (q `2 ) <> 0

          proof

            assume

             A22: (q `2 ) = 0 ;

            then ((p `2 ) * (q `3 )) = 0 by A5, EUCLID_5: 14;

            then (q `3 ) = 0 by A19, XCMPLX_1: 6;

            hence thesis by A20, A22, EUCLID_5: 3, A2, EUCLID_5: 4;

          end;

          set l = ((p `2 ) / (q `2 ));

          p = (l * q)

          proof

            (p `3 ) = (((p `2 ) * (q `3 )) / (q `2 )) by A6, A21, XCMPLX_1: 89;

            then

             A22: (p `3 ) = (l * (q `3 )) by XCMPLX_1: 74;

            p = |[(p `1 ), (p `2 ), (p `3 )]| by EUCLID_5: 3

            .= |[(l * (q `1 )), (l * (q `2 )), (l * (q `3 ))]| by A20, A18, A21, XCMPLX_1: 87, A22

            .= (l * q) by EUCLID_5: 7;

            hence thesis;

          end;

          hence thesis by A21, A19, XCMPLX_1: 50, ANPROJ_1: 1;

        end;

          suppose

           A23: (p `3 ) <> 0 ;

          

           A24: (q `1 ) = 0

          proof

            ((p `3 ) * (q `1 )) = 0 by A18, A5, EUCLID_5: 14;

            hence thesis by A23, XCMPLX_1: 6;

          end;

          

           A25: (q `3 ) <> 0

          proof

            assume

             A26: (q `3 ) = 0 ;

            then (q `2 ) = 0 by A6, A23, XCMPLX_1: 6;

            hence thesis by A24, A26, EUCLID_5: 3, A2, EUCLID_5: 4;

          end;

          set l = ((p `3 ) / (q `3 ));

          p = (l * q)

          proof

            

             A27: (l * (q `2 )) = (((p `2 ) * (q `3 )) / (q `3 )) by A6, XCMPLX_1: 74

            .= (p `2 ) by A25, XCMPLX_1: 89;

            p = |[(p `1 ), (p `2 ), (p `3 )]| by EUCLID_5: 3

            .= |[(l * (q `1 )), (l * (q `2 )), (l * (q `3 ))]| by A24, A18, A27, A25, XCMPLX_1: 87

            .= (l * q) by EUCLID_5: 7;

            hence thesis;

          end;

          hence thesis by A23, A25, XCMPLX_1: 50, ANPROJ_1: 1;

        end;

      end;

        suppose

         A28: (p `2 ) = 0 ;

        per cases by A1, EUCLID_5: 3, EUCLID_5: 4;

          suppose

           A29: (p `1 ) <> 0 ;

          

           A30: (q `2 ) = 0

          proof

            ((p `1 ) * (q `2 )) = 0 by A28, A5, EUCLID_5: 14;

            hence thesis by A29, XCMPLX_1: 6;

          end;

          

           A31: (q `1 ) <> 0

          proof

            assume

             A32: (q `1 ) = 0 ;

            then (q `3 ) = 0 by A6, A29, XCMPLX_1: 6;

            hence thesis by A30, A32, EUCLID_5: 3, A2, EUCLID_5: 4;

          end;

          set l = ((p `1 ) / (q `1 ));

          p = (l * q)

          proof

            (p `3 ) = (((p `1 ) * (q `3 )) / (q `1 )) by A6, A31, XCMPLX_1: 89;

            then

             A33: (p `3 ) = (((p `1 ) / (q `1 )) * (q `3 )) by XCMPLX_1: 74;

            p = |[(p `1 ), (p `2 ), (p `3 )]| by EUCLID_5: 3

            .= |[(l * (q `1 )), (l * (q `2 )), (l * (q `3 ))]| by A28, A30, A31, XCMPLX_1: 87, A33

            .= (l * q) by EUCLID_5: 7;

            hence thesis;

          end;

          hence thesis by A31, A29, XCMPLX_1: 50, ANPROJ_1: 1;

        end;

          suppose

           A34: (p `3 ) <> 0 ;

          then

           A35: (q `2 ) = 0 by A28, A6, XCMPLX_1: 6;

          

           A36: (q `3 ) <> 0

          proof

            assume

             A37: (q `3 ) = 0 ;

            then ((p `3 ) * (q `1 )) = 0 by A5, EUCLID_5: 14;

            then (q `1 ) = 0 by A34, XCMPLX_1: 6;

            hence thesis by A35, A37, EUCLID_5: 3, A2, EUCLID_5: 4;

          end;

          set l = ((p `3 ) / (q `3 ));

          p = (l * q)

          proof

            

             A38: (l * (q `1 )) = (((q `3 ) * (p `1 )) / (q `3 )) by A6, XCMPLX_1: 74

            .= (p `1 ) by A36, XCMPLX_1: 89;

            p = |[(p `1 ), (p `2 ), (p `3 )]| by EUCLID_5: 3

            .= |[(l * (q `1 )), (l * (q `2 )), (l * (q `3 ))]| by A28, A35, A38, A36, XCMPLX_1: 87

            .= (l * q) by EUCLID_5: 7;

            hence thesis;

          end;

          hence thesis by A34, A36, XCMPLX_1: 50, ANPROJ_1: 1;

        end;

      end;

        suppose

         A39: (p `3 ) = 0 ;

        per cases by A1, EUCLID_5: 3, EUCLID_5: 4;

          suppose

           A40: (p `2 ) <> 0 ;

          

           A41: (q `3 ) = 0

          proof

            ((p `2 ) * (q `3 )) = 0 by A39, A5, EUCLID_5: 14;

            hence thesis by A40, XCMPLX_1: 6;

          end;

          

           A42: (q `2 ) <> 0

          proof

            assume

             A43: (q `2 ) = 0 ;

            then (q `1 ) = 0 by A6, A40, XCMPLX_1: 6;

            hence thesis by A41, A43, EUCLID_5: 3, A2, EUCLID_5: 4;

          end;

          set l = ((p `2 ) / (q `2 ));

          p = (l * q)

          proof

            (p `1 ) = (((p `2 ) * (q `1 )) / (q `2 )) by A6, A42, XCMPLX_1: 89;

            then

             A44: (p `1 ) = (l * (q `1 )) by XCMPLX_1: 74;

            p = |[(p `1 ), (p `2 ), (p `3 )]| by EUCLID_5: 3

            .= |[(l * (q `1 )), (l * (q `2 )), (l * (q `3 ))]| by A39, A41, A42, XCMPLX_1: 87, A44

            .= (l * q) by EUCLID_5: 7;

            hence thesis;

          end;

          hence thesis by A42, A40, XCMPLX_1: 50, ANPROJ_1: 1;

        end;

          suppose

           A45: (p `1 ) <> 0 ;

          then

           A46: (q `3 ) = 0 by A39, A6, XCMPLX_1: 6;

          

           A47: (q `1 ) <> 0

          proof

            assume

             A48: (q `1 ) = 0 ;

            then ((p `1 ) * (q `2 )) = 0 by A5, EUCLID_5: 14;

            then (q `2 ) = 0 by A45, XCMPLX_1: 6;

            hence thesis by A2, A46, A48, EUCLID_5: 3, EUCLID_5: 4;

          end;

          set l = ((p `1 ) / (q `1 ));

          p = (l * q)

          proof

            

             A49: (l * (q `2 )) = (((q `1 ) * (p `2 )) / (q `1 )) by A6, XCMPLX_1: 74

            .= (p `2 ) by A47, XCMPLX_1: 89;

            p = |[(p `1 ), (p `2 ), (p `3 )]| by EUCLID_5: 3

            .= |[(l * (q `1 )), (l * (q `2 )), (l * (q `3 ))]| by A39, A46, A49, A47, XCMPLX_1: 87

            .= (l * q) by EUCLID_5: 7;

            hence thesis;

          end;

          hence thesis by A45, A47, XCMPLX_1: 50, ANPROJ_1: 1;

        end;

      end;

    end;

    theorem :: ANPROJ_8:52

    

     Th44: for p,q,r,s be non zero Point of ( TOP-REAL 3) st ((p <X> q) <X> (r <X> s)) is zero holds are_Prop (p,q) or are_Prop (r,s) or are_Prop ((p <X> q),(r <X> s))

    proof

      let p,q,r,s be non zero Point of ( TOP-REAL 3);

      assume ((p <X> q) <X> (r <X> s)) is zero;

      then (p <X> q) is zero or (r <X> s) is zero or are_Prop ((p <X> q),(r <X> s)) by Th43;

      hence thesis by Th43;

    end;

    theorem :: ANPROJ_8:53

    

     Th45: |{p, q, (p <X> q)}| = (( |(q, q)| * |(p, p)|) - ( |(q, p)| * |(p, q)|))

    proof

       |{p, q, (p <X> q)}| = |(p, (q <X> (p <X> q)))| by EUCLID_5:def 5

      .= |(p, (( |(q, q)| * p) - ( |(q, p)| * q)))| by EUCLID_5: 32

      .= ( |(p, ( |(q, q)| * p))| - |(p, ( |(q, p)| * q))|) by EUCLID_2: 27

      .= (( |(q, q)| * |(p, p)|) - |(p, ( |(q, p)| * q))|) by EUCLID_2: 20

      .= (( |(q, q)| * |(p, p)|) - ( |(q, p)| * |(p, q)|)) by EUCLID_2: 20;

      hence thesis;

    end;

    theorem :: ANPROJ_8:54

    

     Th46: |((p <X> q), (p <X> q))| = (( |(q, q)| * |(p, p)|) - ( |(q, p)| * |(p, q)|))

    proof

      set r1 = ((p <X> q) `1 ), r2 = ((p <X> q) `2 ), r3 = ((p <X> q) `3 );

      (p <X> q) = |[(((p `2 ) * (q `3 )) - ((p `3 ) * (q `2 ))), (((p `3 ) * (q `1 )) - ((p `1 ) * (q `3 ))), (((p `1 ) * (q `2 )) - ((p `2 ) * (q `1 )))]| by EUCLID_5:def 4;

      then

       A1: r1 = (((p `2 ) * (q `3 )) - ((p `3 ) * (q `2 ))) & r2 = (((p `3 ) * (q `1 )) - ((p `1 ) * (q `3 ))) & r3 = (((p `1 ) * (q `2 )) - ((p `2 ) * (q `1 ))) by EUCLID_5: 2;

      

       A2: |((p <X> q), (p <X> q))| = (((r1 * r1) + (r2 * r2)) + (r3 * r3)) by EUCLID_5: 29;

      (( |(q, q)| * |(p, p)|) - ( |(q, p)| * |(p, q)|)) = ((((((q `1 ) * (q `1 )) + ((q `2 ) * (q `2 ))) + ((q `3 ) * (q `3 ))) * |(p, p)|) - ( |(q, p)| * |(p, q)|)) by EUCLID_5: 29

      .= ((((((q `1 ) * (q `1 )) + ((q `2 ) * (q `2 ))) + ((q `3 ) * (q `3 ))) * ((((p `1 ) * (p `1 )) + ((p `2 ) * (p `2 ))) + ((p `3 ) * (p `3 )))) - ( |(q, p)| * |(p, q)|)) by EUCLID_5: 29

      .= ((((((q `1 ) * (q `1 )) + ((q `2 ) * (q `2 ))) + ((q `3 ) * (q `3 ))) * ((((p `1 ) * (p `1 )) + ((p `2 ) * (p `2 ))) + ((p `3 ) * (p `3 )))) - (((((q `1 ) * (p `1 )) + ((q `2 ) * (p `2 ))) + ((q `3 ) * (p `3 ))) * |(p, q)|)) by EUCLID_5: 29

      .= ((((((q `1 ) * (q `1 )) + ((q `2 ) * (q `2 ))) + ((q `3 ) * (q `3 ))) * ((((p `1 ) * (p `1 )) + ((p `2 ) * (p `2 ))) + ((p `3 ) * (p `3 )))) - (((((q `1 ) * (p `1 )) + ((q `2 ) * (p `2 ))) + ((q `3 ) * (p `3 ))) * ((((p `1 ) * (q `1 )) + ((p `2 ) * (q `2 ))) + ((p `3 ) * (q `3 ))))) by EUCLID_5: 29;

      hence thesis by A1, A2;

    end;

    theorem :: ANPROJ_8:55

    

     Th47: p is non zero & |(p, q)| = 0 & |(p, r)| = 0 & |(p, s)| = 0 implies |{q, r, s}| = 0

    proof

      assume that

       A1: p is non zero and

       A2: |(p, q)| = 0 and

       A3: |(p, r)| = 0 and

       A4: |(p, s)| = 0 ;

      

       A5: ((((p `1 ) * (q `1 )) + ((p `2 ) * (q `2 ))) + ((p `3 ) * (q `3 ))) = 0 by A2, EUCLID_5: 29;

      

       A6: ((((p `1 ) * (r `1 )) + ((p `2 ) * (r `2 ))) + ((p `3 ) * (r `3 ))) = 0 by A3, EUCLID_5: 29;

      

       A7: ((((p `1 ) * (s `1 )) + ((p `2 ) * (s `2 ))) + ((p `3 ) * (s `3 ))) = 0 by A4, EUCLID_5: 29;

      per cases by A1, EUCLID_5: 3, EUCLID_5: 4;

        suppose

         A8: (p `1 ) <> 0 ;

        set l2 = ((p `2 ) / (p `1 )), l3 = ((p `3 ) / (p `1 ));

        

         A9: (q `1 ) = (( - (l2 * (q `2 ))) - (l3 * (q `3 ))) by Th11, A8, A5;

        

         A10: (r `1 ) = (( - (l2 * (r `2 ))) - (l3 * (r `3 ))) by Th11, A8, A6;

        

         A11: (s `1 ) = (( - (l2 * (s `2 ))) - (l3 * (s `3 ))) by Th11, A8, A7;

         |{q, r, s}| = ((((((((( - (l2 * (q `2 ))) - (l3 * (q `3 ))) * (r `2 )) * (s `3 )) - (((q `3 ) * (r `2 )) * (( - (l2 * (s `2 ))) - (l3 * (s `3 ))))) - (((( - (l2 * (q `2 ))) - (l3 * (q `3 ))) * (r `3 )) * (s `2 ))) + (((q `2 ) * (r `3 )) * (( - (l2 * (s `2 ))) - (l3 * (s `3 ))))) - (((q `2 ) * (( - (l2 * (r `2 ))) - (l3 * (r `3 )))) * (s `3 ))) + (((q `3 ) * (( - (l2 * (r `2 ))) - (l3 * (r `3 )))) * (s `2 ))) by A9, A10, A11, Th23

        .= 0 ;

        hence thesis;

      end;

        suppose

         A12: (p `2 ) <> 0 ;

        set l1 = ((p `1 ) / (p `2 )), l3 = ((p `3 ) / (p `2 ));

        

         A13: (q `2 ) = (( - (l1 * (q `1 ))) - (l3 * (q `3 ))) by Th11, A12, A5;

        

         A14: (r `2 ) = (( - (l1 * (r `1 ))) - (l3 * (r `3 ))) by Th11, A12, A6;

        

         A15: (s `2 ) = (( - (l1 * (s `1 ))) - (l3 * (s `3 ))) by Th11, A12, A7;

         |{q, r, s}| = ((((((((q `1 ) * (r `2 )) * (s `3 )) - (((q `3 ) * (r `2 )) * (s `1 ))) - (((q `1 ) * (r `3 )) * (s `2 ))) + (((q `2 ) * (r `3 )) * (s `1 ))) - (((q `2 ) * (r `1 )) * (s `3 ))) + (((q `3 ) * (r `1 )) * (s `2 ))) by Th23

        .= 0 by A13, A14, A15;

        hence thesis;

      end;

        suppose

         A16: (p `3 ) <> 0 ;

        set l1 = ((p `1 ) / (p `3 )), l2 = ((p `2 ) / (p `3 ));

        ((((p `3 ) * (q `3 )) + ((p `1 ) * (q `1 ))) + ((p `2 ) * (q `2 ))) = 0 by A5;

        then

         A17: (q `3 ) = (( - (l1 * (q `1 ))) - (l2 * (q `2 ))) by Th11, A16;

        ((((p `3 ) * (r `3 )) + ((p `1 ) * (r `1 ))) + ((p `2 ) * (r `2 ))) = 0 by A6;

        then

         A18: (r `3 ) = (( - (l1 * (r `1 ))) - (l2 * (r `2 ))) by Th11, A16;

        ((((p `1 ) * (s `1 )) + ((p `2 ) * (s `2 ))) + ((p `3 ) * (s `3 ))) = 0 by A4, EUCLID_5: 29;

        then ((((p `3 ) * (s `3 )) + ((p `1 ) * (s `1 ))) + ((p `2 ) * (s `2 ))) = 0 ;

        then

         A19: (s `3 ) = (( - (l1 * (s `1 ))) - (l2 * (s `2 ))) by Th11, A16;

         |{q, r, s}| = ((((((((q `1 ) * (r `2 )) * (s `3 )) - (((q `3 ) * (r `2 )) * (s `1 ))) - (((q `1 ) * (r `3 )) * (s `2 ))) + (((q `2 ) * (r `3 )) * (s `1 ))) - (((q `2 ) * (r `1 )) * (s `3 ))) + (((q `3 ) * (r `1 )) * (s `2 ))) by Th23

        .= 0 by A17, A18, A19;

        hence thesis;

      end;

    end;

    theorem :: ANPROJ_8:56

     |{p, q, (p <X> q)}| = ( |.(p <X> q).| ^2 )

    proof

       |{p, q, (p <X> q)}| = (( |(q, q)| * |(p, p)|) - ( |(q, p)| * |(p, q)|)) by Th45

      .= |((p <X> q), (p <X> q))| by Th46;

      hence thesis by EUCLID_2: 4;

    end;

    theorem :: ANPROJ_8:57

    ( ProjectiveSpace ( TOP-REAL 3)) is CollProjectivePlane

    proof

      set PTR3 = ( ProjectiveSpace ( TOP-REAL 3));

      ex u,v,w1 be Element of ( TOP-REAL 3) st for a,b,c be Real st (((a * u) + (b * v)) + (c * w1)) = ( 0. ( TOP-REAL 3)) holds a = 0 & b = 0 & c = 0

      proof

        reconsider u = <e1> , v = <e2> , w = <e3> as Element of ( TOP-REAL 3) by EUCLID: 22;

        take u, v, w;

        now

          let a,b,c be Real;

          assume (((a * <e1> ) + (b * <e2> )) + (c * <e3> )) = ( 0. ( TOP-REAL 3));

          then

           A1: |[a, b, c]| = |[ 0 , 0 , 0 ]| by EUCLID_5: 4, EUCLID_8: 39;

          ( |[a, b, c]| `1 ) = a & ( |[a, b, c]| `2 ) = b & ( |[a, b, c]| `3 ) = c by EUCLID_5: 2;

          hence a = 0 & b = 0 & c = 0 by A1, EUCLID_5: 2;

        end;

        hence thesis;

      end;

      then ( TOP-REAL 3) is up-3-dimensional by ANPROJ_2:def 6;

      then

      reconsider PTR3 as CollProjectiveSpace;

      for p,p1,q,q1 be Element of PTR3 holds ex r be Element of PTR3 st (p,p1,r) are_collinear & (q,q1,r) are_collinear

      proof

        let p,p1,q,q1 be Element of PTR3;

        consider up be Element of ( TOP-REAL 3) such that

         A2: not up is zero and

         A3: p = ( Dir up) by ANPROJ_1: 26;

        consider up1 be Element of ( TOP-REAL 3) such that

         A4: not up1 is zero and

         A5: p1 = ( Dir up1) by ANPROJ_1: 26;

        consider uq be Element of ( TOP-REAL 3) such that

         A6: not uq is zero and

         A7: q = ( Dir uq) by ANPROJ_1: 26;

        consider uq1 be Element of ( TOP-REAL 3) such that

         A8: not uq1 is zero and

         A9: q1 = ( Dir uq1) by ANPROJ_1: 26;

        ex r be Element of PTR3 st (p,p1,r) are_collinear & (q,q1,r) are_collinear

        proof

          set w = ((up <X> up1) <X> (uq <X> uq1));

          per cases ;

            suppose w is zero;

            per cases by A4, A6, A8, A2, Th44;

              suppose are_Prop (up,up1);

              then

               A10: p = p1 by A3, A5, A2, A4, ANPROJ_1: 22;

              take q;

              thus (p,p1,q) are_collinear by A10, COLLSP: 2;

              thus (q,q1,q) are_collinear by COLLSP: 2;

            end;

              suppose are_Prop (uq,uq1);

              then

               A11: q = q1 by A6, A7, A8, A9, ANPROJ_1: 22;

              take p;

              thus (p,p1,p) are_collinear by COLLSP: 2;

              thus (q,q1,p) are_collinear by A11, COLLSP: 2;

            end;

              suppose

               A12: are_Prop ((up <X> up1),(uq <X> uq1));

              then

              consider a be Real such that a <> 0 and

               A13: (uq <X> uq1) = (a * (up <X> up1)) by ANPROJ_1: 1;

              per cases ;

                suppose (up <X> up1) is zero;

                then are_Prop (up,up1) by A2, A4, Th43;

                then

                 A14: p = p1 by A3, A5, A2, A4, ANPROJ_1: 22;

                take q;

                thus (p,p1,q) are_collinear by A14, COLLSP: 2;

                thus (q,q1,q) are_collinear by COLLSP: 2;

              end;

                suppose

                 A15: not (up <X> up1) is zero;

                

                 A16: not (uq <X> uq1) is zero

                proof

                  assume

                   A17: (uq <X> uq1) is zero;

                  consider a be Real such that

                   A18: a <> 0 and

                   A19: (uq <X> uq1) = (a * (up <X> up1)) by A12, ANPROJ_1: 1;

                  set r1 = ((up <X> up1) `1 ), r2 = ((up <X> up1) `2 ), r3 = ((up <X> up1) `3 );

                   |[(a * r1), (a * r2), (a * r3)]| = (a * |[r1, r2, r3]|) by EUCLID_5: 8

                  .= |[ 0 , 0 , 0 ]| by A19, A17, EUCLID_5: 3, EUCLID_5: 4;

                  then (a * r1) = 0 & (a * r2) = 0 & (a * r3) = 0 by FINSEQ_1: 78;

                  then r1 = 0 & r2 = 0 & r3 = 0 by A18, XCMPLX_1: 6;

                  hence thesis by A15, EUCLID_5: 3, EUCLID_5: 4;

                end;

                reconsider r = ( Dir up) as Element of PTR3 by A2, ANPROJ_1: 26;

                take r;

                 |{up, up1, up}| = 0 by EUCLID_5: 31;

                hence (p,p1,r) are_collinear by A2, A3, A4, A5, Th37, ANPROJ_2: 23;

                now

                  thus (uq <X> uq1) is non zero by A16;

                  

                  thus |((uq <X> uq1), uq)| = |{uq, uq, uq1}| by EUCLID_5:def 5

                  .= 0 by EUCLID_5: 31;

                  

                  thus |((uq <X> uq1), uq1)| = |{uq1, uq, uq1}| by EUCLID_5:def 5

                  .= 0 by EUCLID_5: 31;

                  reconsider rp1 = (up <X> up1), rp = up as Element of ( REAL 3) by EUCLID: 22;

                  

                   A20: (a * |((up <X> up1), up)|) = |((a * rp1), rp)| by EUCLID_8: 68

                  .= |((a * (up <X> up1)), up)|;

                   |((up <X> up1), up)| = |{up, up, up1}| by EUCLID_5:def 5

                  .= 0 by EUCLID_5: 31;

                  hence |((uq <X> uq1), up)| = 0 by A20, A13;

                end;

                then |{uq, uq1, up}| = 0 by Th47;

                hence (q,q1,r) are_collinear by A2, A6, A7, A8, A9, Th37, ANPROJ_2: 23;

              end;

            end;

          end;

            suppose

             A21: not w is zero;

            then

            reconsider r = ( Dir w) as Element of PTR3 by ANPROJ_1: 26;

            take r;

            thus (p,p1,r) are_collinear by A2, A3, A4, A5, A21, Th41, ANPROJ_2: 23;

            thus (q,q1,r) are_collinear by A6, A7, A8, A9, A21, Th41, ANPROJ_2: 23;

          end;

        end;

        hence thesis;

      end;

      hence thesis by ANPROJ_2:def 14;

    end;

    begin

    theorem :: ANPROJ_8:58

    

     Th48: for u,v,w,x be Element of ( TOP-REAL 3) st not u is zero & not x is zero & ( Dir u) = ( Dir x) holds |{u, v, w}| = 0 iff |{x, v, w}| = 0

    proof

      let u,v,w,x be Element of ( TOP-REAL 3);

      assume that

       A1: not u is zero and

       A2: not x is zero and

       A3: ( Dir u) = ( Dir x);

      

       A4: are_Prop (u,x) by A1, A2, A3, ANPROJ_1: 22;

      then

      consider a be Real such that a <> 0 and

       A5: u = (a * x) by ANPROJ_1: 1;

      consider b be Real such that b <> 0 and

       A6: x = (b * u) by A4, ANPROJ_1: 1;

      hereby

        assume

         A7: |{u, v, w}| = 0 ;

        

        thus |{x, v, w}| = (b * |{u, v, w}|) by A6, Th26

        .= 0 by A7;

      end;

      assume

       A8: |{x, v, w}| = 0 ;

      

      thus |{u, v, w}| = (a * |{x, v, w}|) by A5, Th26

      .= 0 by A8;

    end;

    theorem :: ANPROJ_8:59

    

     Th49: for u,v,w,x be Element of ( TOP-REAL 3) st not v is zero & not x is zero & ( Dir v) = ( Dir x) holds |{u, v, w}| = 0 iff |{u, x, w}| = 0

    proof

      let u,v,w,x be Element of ( TOP-REAL 3);

      assume that

       A1: not v is zero and

       A2: not x is zero and

       A3: ( Dir v) = ( Dir x);

      

       A4: are_Prop (v,x) by A1, A2, A3, ANPROJ_1: 22;

      then

      consider a be Real such that a <> 0 and

       A5: v = (a * x) by ANPROJ_1: 1;

      consider b be Real such that b <> 0 and

       A6: x = (b * v) by A4, ANPROJ_1: 1;

      hereby

        assume

         A7: |{u, v, w}| = 0 ;

        

        thus |{u, x, w}| = (b * |{u, v, w}|) by A6, Th27

        .= 0 by A7;

      end;

      assume

       A8: |{u, x, w}| = 0 ;

      

      thus |{u, v, w}| = (a * |{u, x, w}|) by A5, Th27

      .= 0 by A8;

    end;

    theorem :: ANPROJ_8:60

    

     Th50: for u,v,w,x be Element of ( TOP-REAL 3) st not w is zero & not x is zero & ( Dir w) = ( Dir x) holds |{u, v, w}| = 0 iff |{u, v, x}| = 0

    proof

      let u,v,w,x be Element of ( TOP-REAL 3);

      assume that

       A1: not w is zero and

       A2: not x is zero and

       A3: ( Dir w) = ( Dir x);

      

       A4: are_Prop (w,x) by A1, A2, A3, ANPROJ_1: 22;

      then

      consider a be Real such that a <> 0 and

       A5: w = (a * x) by ANPROJ_1: 1;

      consider b be Real such that b <> 0 and

       A6: x = (b * w) by A4, ANPROJ_1: 1;

      hereby

        assume

         A7: |{u, v, w}| = 0 ;

        

        thus |{u, v, x}| = (b * |{u, v, w}|) by A6, Th28

        .= 0 by A7;

      end;

      assume

       A8: |{u, v, x}| = 0 ;

      

      thus |{u, v, w}| = (a * |{u, v, x}|) by A5, Th28

      .= 0 by A8;

    end;

    theorem :: ANPROJ_8:61

    (( 1_Rmatrix 3) . 1) = <e1> & (( 1_Rmatrix 3) . 2) = <e2> & (( 1_Rmatrix 3) . 3) = <e3> by MATRIXR2: 77, MATRIXR2: 78, EUCLID_8:def 1, EUCLID_8:def 2, EUCLID_8:def 3;

    theorem :: ANPROJ_8:62

    ( Base_FinSeq (3,1)) = <e1> & ( Base_FinSeq (3,2)) = <e2> & ( Base_FinSeq (3,3)) = <e3> by MATRIXR2: 77, EUCLID_8:def 1, EUCLID_8:def 2, EUCLID_8:def 3;

    theorem :: ANPROJ_8:63

    

     Th51: for pr be FinSequence of D st ( len pr) = 3 holds ( Col ( <*pr*>,1)) = <*(pr . 1)*> & ( Col ( <*pr*>,2)) = <*(pr . 2)*> & ( Col ( <*pr*>,3)) = <*(pr . 3)*>

    proof

      let pr be FinSequence of D;

      assume ( len pr) = 3;

      then

       A2: ( Indices <*pr*>) = [:( Seg 1), ( Seg 3):] by MATRIX_0: 23;

      consider p be FinSequence of D such that

       A3: p = ( <*pr*> . 1) and

       A4: ( <*pr*> * (1,1)) = (p . 1) by A2, Th3, MATRIX_0:def 5;

      

       A5: ( len ( Col ( <*pr*>,1))) = ( len <*pr*>) by MATRIX_0:def 8;

      

       A6: ( len <*pr*>) = 1 by FINSEQ_1: 39;

      then

       A7: ( dom <*pr*>) = ( Seg 1) by FINSEQ_1:def 3;

      

      then (( Col ( <*pr*>,1)) . 1) = ( <*pr*> * (1,1)) by FINSEQ_1: 1, MATRIX_0:def 8

      .= (pr . 1) by A4, A3, FINSEQ_1: 40;

      hence ( Col ( <*pr*>,1)) = <*(pr . 1)*> by A6, A5, FINSEQ_1: 40;

      consider p be FinSequence of D such that

       A8: p = ( <*pr*> . 1) and

       A9: ( <*pr*> * (1,2)) = (p . 2) by A2, Th3, MATRIX_0:def 5;

      

       A10: ( len ( Col ( <*pr*>,2))) = ( len <*pr*>) by MATRIX_0:def 8;

      (( Col ( <*pr*>,2)) . 1) = ( <*pr*> * (1,2)) by A7, FINSEQ_1: 1, MATRIX_0:def 8

      .= (pr . 2) by A9, A8, FINSEQ_1: 40;

      hence ( Col ( <*pr*>,2)) = <*(pr . 2)*> by A6, A10, FINSEQ_1: 40;

      consider p be FinSequence of D such that

       A11: p = ( <*pr*> . 1) and

       A12: ( <*pr*> * (1,3)) = (p . 3) by A2, Th3, MATRIX_0:def 5;

      

       A13: ( len ( Col ( <*pr*>,3))) = ( len <*pr*>) by MATRIX_0:def 8;

      (( Col ( <*pr*>,3)) . 1) = ( <*pr*> * (1,3)) by A7, FINSEQ_1: 1, MATRIX_0:def 8

      .= (pr . 3) by A12, A11, FINSEQ_1: 40;

      hence ( Col ( <*pr*>,3)) = <*(pr . 3)*> by A6, A13, FINSEQ_1: 40;

    end;

    theorem :: ANPROJ_8:64

    

     Th52: ( Col ( <* <e1> *>,1)) = <*1*> & ( Col ( <* <e1> *>,2)) = <* 0 *> & ( Col ( <* <e1> *>,3)) = <* 0 *>

    proof

      

       A1: ( len <e1> ) = 3 by CARD_1:def 7;

      ( <e1> . 1) = 1 & ( <e1> . 2) = 0 & ( <e1> . 3) = 0 by FINSEQ_1: 45, EUCLID_8:def 1;

      hence thesis by A1, Th51;

    end;

    theorem :: ANPROJ_8:65

    

     Th53: ( Col ( <* <e2> *>,1)) = <* 0 *> & ( Col ( <* <e2> *>,2)) = <*1*> & ( Col ( <* <e2> *>,3)) = <* 0 *>

    proof

      

       A1: ( len <e2> ) = 3 by CARD_1:def 7;

      ( <e2> . 1) = 0 & ( <e2> . 2) = 1 & ( <e2> . 3) = 0 by FINSEQ_1: 45, EUCLID_8:def 2;

      hence thesis by A1, Th51;

    end;

    theorem :: ANPROJ_8:66

    

     Th54: ( Col ( <* <e3> *>,1)) = <* 0 *> & ( Col ( <* <e3> *>,2)) = <* 0 *> & ( Col ( <* <e3> *>,3)) = <*1*>

    proof

      

       A1: ( len <e3> ) = 3 by CARD_1:def 7;

      ( <e3> . 1) = 0 & ( <e3> . 2) = 0 & ( <e3> . 3) = 1 by FINSEQ_1: 45, EUCLID_8:def 3;

      hence thesis by A1, Th51;

    end;

    theorem :: ANPROJ_8:67

    

     Th55: ( Col (( 1. ( F_Real ,3)),1)) = <*1, 0 , 0 *> & ( Col (( 1. ( F_Real ,3)),2)) = <* 0 , 1, 0 *> & ( Col (( 1. ( F_Real ,3)),3)) = <* 0 , 0 , 1*>

    proof

      

       A1: ( 1. ( F_Real ,3)) = ( MXF2MXR ( 1. ( F_Real ,3))) by MATRIXR1:def 2

      .= ( 1_Rmatrix 3) by MATRIXR2:def 2;

      

       A2: [1, 1] in ( Indices ( 1. ( F_Real ,3))) by Th1, MATRIX_0: 24;

      

       A3: 1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

      then 1 in ( dom ( 1_Rmatrix 3)) by Th13;

      

      then

       A4: (( Col (( 1_Rmatrix 3),1)) . 1) = (( 1. ( F_Real ,3)) * (1,1)) by A1, MATRIX_0:def 8

      .= ( 1. F_Real ) by A2, MATRIX_1:def 3

      .= 1 by STRUCT_0:def 7;

      

       A5: [2, 1] in ( Indices ( 1. ( F_Real ,3))) by Th1, MATRIX_0: 24;

      2 in ( dom ( 1_Rmatrix 3)) by A3, Th13;

      

      then

       A6: (( Col (( 1_Rmatrix 3),1)) . 2) = (( 1. ( F_Real ,3)) * (2,1)) by A1, MATRIX_0:def 8

      .= ( 0. F_Real ) by A5, MATRIX_1:def 3

      .= 0 by STRUCT_0:def 6;

      

       A7: [3, 1] in ( Indices ( 1. ( F_Real ,3))) by Th1, MATRIX_0: 24;

      3 in ( dom ( 1_Rmatrix 3)) by A3, Th13;

      

      then

       A8: (( Col (( 1_Rmatrix 3),1)) . 3) = (( 1. ( F_Real ,3)) * (3,1)) by A1, MATRIX_0:def 8

      .= ( 0. F_Real ) by A7, MATRIX_1:def 3

      .= 0 by STRUCT_0:def 6;

      ( len ( Col (( 1_Rmatrix 3),1))) = ( len ( 1. ( F_Real ,3))) by A1, MATRIX_0:def 8

      .= 3 by MATRIX_0: 24;

      hence ( Col (( 1. ( F_Real ,3)),1)) = <*1, 0 , 0 *> by A1, A4, A6, A8, FINSEQ_1: 45;

      

       A9: [1, 2] in ( Indices ( 1. ( F_Real ,3))) by Th1, MATRIX_0: 24;

      

       A10: 1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

      then 1 in ( dom ( 1_Rmatrix 3)) by Th13;

      

      then

       A11: (( Col (( 1_Rmatrix 3),2)) . 1) = (( 1. ( F_Real ,3)) * (1,2)) by A1, MATRIX_0:def 8

      .= ( 0. F_Real ) by A9, MATRIX_1:def 3

      .= 0 by STRUCT_0:def 6;

      

       A12: [2, 2] in ( Indices ( 1. ( F_Real ,3))) by Th1, MATRIX_0: 24;

      2 in ( dom ( 1_Rmatrix 3)) by A10, Th13;

      

      then

       A13: (( Col (( 1_Rmatrix 3),2)) . 2) = (( 1. ( F_Real ,3)) * (2,2)) by A1, MATRIX_0:def 8

      .= ( 1. F_Real ) by A12, MATRIX_1:def 3

      .= 1 by STRUCT_0:def 7;

      

       A14: [3, 2] in ( Indices ( 1. ( F_Real ,3))) by Th1, MATRIX_0: 24;

      3 in ( dom ( 1_Rmatrix 3)) by A10, Th13;

      

      then

       A15: (( Col (( 1_Rmatrix 3),2)) . 3) = (( 1. ( F_Real ,3)) * (3,2)) by A1, MATRIX_0:def 8

      .= ( 0. F_Real ) by A14, MATRIX_1:def 3

      .= 0 by STRUCT_0:def 6;

      ( len ( Col (( 1_Rmatrix 3),2))) = ( len ( 1. ( F_Real ,3))) by A1, MATRIX_0:def 8

      .= 3 by MATRIX_0: 24;

      hence ( Col (( 1. ( F_Real ,3)),2)) = <* 0 , 1, 0 *> by A1, A11, A13, A15, FINSEQ_1: 45;

      

       A16: [1, 3] in ( Indices ( 1. ( F_Real ,3))) by Th1, MATRIX_0: 24;

      

       A17: 1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

      then 1 in ( dom ( 1_Rmatrix 3)) by Th13;

      

      then

       A18: (( Col (( 1_Rmatrix 3),3)) . 1) = (( 1. ( F_Real ,3)) * (1,3)) by A1, MATRIX_0:def 8

      .= ( 0. F_Real ) by A16, MATRIX_1:def 3

      .= 0 by STRUCT_0:def 6;

      

       A19: [2, 3] in ( Indices ( 1. ( F_Real ,3))) by Th1, MATRIX_0: 24;

      2 in ( dom ( 1_Rmatrix 3)) by A17, Th13;

      

      then

       A20: (( Col (( 1_Rmatrix 3),3)) . 2) = (( 1. ( F_Real ,3)) * (2,3)) by A1, MATRIX_0:def 8

      .= ( 0. F_Real ) by A19, MATRIX_1:def 3

      .= 0 by STRUCT_0:def 6;

      

       A21: [3, 3] in ( Indices ( 1. ( F_Real ,3))) by Th1, MATRIX_0: 24;

      3 in ( dom ( 1_Rmatrix 3)) by A17, Th13;

      

      then

       A22: (( Col (( 1_Rmatrix 3),3)) . 3) = (( 1. ( F_Real ,3)) * (3,3)) by A1, MATRIX_0:def 8

      .= ( 1. F_Real ) by A21, MATRIX_1:def 3

      .= 1 by STRUCT_0:def 7;

      ( len ( Col (( 1_Rmatrix 3),3))) = ( len ( 1. ( F_Real ,3))) by A1, MATRIX_0:def 8

      .= 3 by MATRIX_0: 24;

      hence ( Col (( 1. ( F_Real ,3)),3)) = <* 0 , 0 , 1*> by A1, A18, A20, A22, FINSEQ_1: 45;

    end;

    theorem :: ANPROJ_8:68

    

     Th56: ( Line (( 1. ( F_Real ,3)),1)) = <*1, 0 , 0 *> & ( Line (( 1. ( F_Real ,3)),2)) = <* 0 , 1, 0 *> & ( Line (( 1. ( F_Real ,3)),3)) = <* 0 , 0 , 1*>

    proof

      now

        

        thus ( len ( Line (( 1. ( F_Real ,3)),1))) = ( width ( 1. ( F_Real ,3))) by MATRIX_0:def 7

        .= 3 by MATRIX_0: 23;

         [1, 1] in ( Indices ( 1. ( F_Real ,3))) by MATRIX_0: 23, Th1;

        

        then (( Line (( 1. ( F_Real ,3)),1)) . 1) = ( 1. F_Real ) by MATRIX_3: 7

        .= 1 by STRUCT_0:def 7;

        hence (( Line (( 1. ( F_Real ,3)),1)) . 1) = 1;

         [1, 2] in ( Indices ( 1. ( F_Real ,3))) by MATRIX_0: 23, Th1;

        

        then (( Line (( 1. ( F_Real ,3)),1)) . 2) = ( 0. F_Real ) by MATRIX_3: 8

        .= 0 by STRUCT_0:def 6;

        hence (( Line (( 1. ( F_Real ,3)),1)) . 2) = 0 ;

         [1, 3] in ( Indices ( 1. ( F_Real ,3))) by MATRIX_0: 23, Th1;

        

        then (( Line (( 1. ( F_Real ,3)),1)) . 3) = ( 0. F_Real ) by MATRIX_3: 8

        .= 0 by STRUCT_0:def 6;

        hence (( Line (( 1. ( F_Real ,3)),1)) . 3) = 0 ;

      end;

      hence ( Line (( 1. ( F_Real ,3)),1)) = <*1, 0 , 0 *> by FINSEQ_1: 45;

      now

        

        thus ( len ( Line (( 1. ( F_Real ,3)),2))) = ( width ( 1. ( F_Real ,3))) by MATRIX_0:def 7

        .= 3 by MATRIX_0: 23;

         [2, 1] in ( Indices ( 1. ( F_Real ,3))) by MATRIX_0: 23, Th1;

        

        then (( Line (( 1. ( F_Real ,3)),2)) . 1) = ( 0. F_Real ) by MATRIX_3: 8

        .= 0 by STRUCT_0:def 6;

        hence (( Line (( 1. ( F_Real ,3)),2)) . 1) = 0 ;

         [2, 2] in ( Indices ( 1. ( F_Real ,3))) by MATRIX_0: 23, Th1;

        

        then (( Line (( 1. ( F_Real ,3)),2)) . 2) = ( 1. F_Real ) by MATRIX_3: 7

        .= 1 by STRUCT_0:def 7;

        hence (( Line (( 1. ( F_Real ,3)),2)) . 2) = 1;

         [2, 3] in ( Indices ( 1. ( F_Real ,3))) by MATRIX_0: 23, Th1;

        

        then (( Line (( 1. ( F_Real ,3)),2)) . 3) = ( 0. F_Real ) by MATRIX_3: 8

        .= 0 by STRUCT_0:def 6;

        hence (( Line (( 1. ( F_Real ,3)),2)) . 3) = 0 ;

      end;

      hence ( Line (( 1. ( F_Real ,3)),2)) = <* 0 , 1, 0 *> by FINSEQ_1: 45;

      now

        

        thus ( len ( Line (( 1. ( F_Real ,3)),3))) = ( width ( 1. ( F_Real ,3))) by MATRIX_0:def 7

        .= 3 by MATRIX_0: 23;

         [3, 1] in ( Indices ( 1. ( F_Real ,3))) by MATRIX_0: 23, Th1;

        

        then (( Line (( 1. ( F_Real ,3)),3)) . 1) = ( 0. F_Real ) by MATRIX_3: 8

        .= 0 by STRUCT_0:def 6;

        hence (( Line (( 1. ( F_Real ,3)),3)) . 1) = 0 ;

         [3, 2] in ( Indices ( 1. ( F_Real ,3))) by MATRIX_0: 23, Th1;

        

        then (( Line (( 1. ( F_Real ,3)),3)) . 2) = ( 0. F_Real ) by MATRIX_3: 8

        .= 0 by STRUCT_0:def 6;

        hence (( Line (( 1. ( F_Real ,3)),3)) . 2) = 0 ;

         [3, 3] in ( Indices ( 1. ( F_Real ,3))) by MATRIX_0: 23, Th1;

        

        then (( Line (( 1. ( F_Real ,3)),3)) . 3) = ( 1. F_Real ) by MATRIX_3: 7

        .= 1 by STRUCT_0:def 7;

        hence (( Line (( 1. ( F_Real ,3)),3)) . 3) = 1;

      end;

      hence ( Line (( 1. ( F_Real ,3)),3)) = <* 0 , 0 , 1*> by FINSEQ_1: 45;

    end;

    theorem :: ANPROJ_8:69

    

     Th57: ( <* <e1> *> @ ) = <* <*1*>, <* 0 *>, <* 0 *>*> & ( <* <e2> *> @ ) = <* <* 0 *>, <*1*>, <* 0 *>*> & ( <* <e3> *> @ ) = <* <* 0 *>, <* 0 *>, <*1*>*>

    proof

       <e1> in ( REAL 3);

      then

       A1: <e1> in (3 -tuples_on REAL ) by EUCLID:def 1;

      

       A2: ( len <* <e1> *>) = 1 by FINSEQ_1: 39;

      ( rng <* <e1> *>) = { <e1> } by FINSEQ_1: 39;

      then <e1> in ( rng <* <e1> *>) by TARSKI:def 1;

      

      then

       A4: ( width <* <e1> *>) = ( len <e1> ) by A2, MATRIX_0:def 3

      .= 3 by A1, FINSEQ_2: 133;

      

       A5: ( width ( <* <e1> *> @ )) = ( len <* <e1> *>) by A4, MATRIX_0: 29

      .= 1 by FINSEQ_1: 39;

      now

        thus ( len ( <* <e1> *> @ )) = 3 by MATRIX_0:def 6, A4;

        then

         A7: ( <* <e1> *> @ ) is Matrix of 3, 1, F_Real by A5, MATRIX_0: 20;

        

         A8: 1 in ( Seg 3) by FINSEQ_1: 1;

        

        hence (( <* <e1> *> @ ) . 1) = ( Line (( <* <e1> *> @ ),1)) by A7, MATRIX_0: 52

        .= <*1*> by A8, A4, MATRIX_0: 59, Th52;

        

         A9: 2 in ( Seg 3) by FINSEQ_1: 1;

        

        hence (( <* <e1> *> @ ) . 2) = ( Line (( <* <e1> *> @ ),2)) by A7, MATRIX_0: 52

        .= <* 0 *> by A9, A4, MATRIX_0: 59, Th52;

        

         A10: 3 in ( Seg 3) by FINSEQ_1: 1;

        

        hence (( <* <e1> *> @ ) . 3) = ( Line (( <* <e1> *> @ ),3)) by A7, MATRIX_0: 52

        .= <* 0 *> by A10, A4, MATRIX_0: 59, Th52;

      end;

      hence ( <* <e1> *> @ ) = <* <*1*>, <* 0 *>, <* 0 *>*> by FINSEQ_1: 45;

       <e2> in ( REAL 3);

      then

       A11: <e2> in (3 -tuples_on REAL ) by EUCLID:def 1;

      

       A12: ( len <* <e2> *>) = 1 by FINSEQ_1: 39;

      ( rng <* <e2> *>) = { <e2> } by FINSEQ_1: 39;

      then <e2> in ( rng <* <e2> *>) by TARSKI:def 1;

      

      then

       A13bis: ( width <* <e2> *>) = ( len <e2> ) by A12, MATRIX_0:def 3

      .= 3 by A11, FINSEQ_2: 133;

      

      then

       A14: ( width ( <* <e2> *> @ )) = ( len <* <e2> *>) by MATRIX_0: 29

      .= 1 by FINSEQ_1: 39;

      now

        thus ( len ( <* <e2> *> @ )) = 3 by MATRIX_0:def 6, A13bis;

        then

         A16: ( <* <e2> *> @ ) is Matrix of 3, 1, F_Real by A14, MATRIX_0: 20;

        

         A17: 1 in ( Seg 3) by FINSEQ_1: 1;

        

        hence (( <* <e2> *> @ ) . 1) = ( Line (( <* <e2> *> @ ),1)) by A16, MATRIX_0: 52

        .= <* 0 *> by A17, A13bis, MATRIX_0: 59, Th53;

        

         A18: 2 in ( Seg 3) by FINSEQ_1: 1;

        

        hence (( <* <e2> *> @ ) . 2) = ( Line (( <* <e2> *> @ ),2)) by A16, MATRIX_0: 52

        .= <*1*> by A18, A13bis, MATRIX_0: 59, Th53;

        

         A19: 3 in ( Seg 3) by FINSEQ_1: 1;

        

        hence (( <* <e2> *> @ ) . 3) = ( Line (( <* <e2> *> @ ),3)) by A16, MATRIX_0: 52

        .= <* 0 *> by A19, A13bis, MATRIX_0: 59, Th53;

      end;

      hence ( <* <e2> *> @ ) = <* <* 0 *>, <*1*>, <* 0 *>*> by FINSEQ_1: 45;

       <e3> in ( REAL 3);

      then

       A20: <e3> in (3 -tuples_on REAL ) by EUCLID:def 1;

      

       A21: ( len <* <e3> *>) = 1 by FINSEQ_1: 39;

      ( rng <* <e3> *>) = { <e3> } by FINSEQ_1: 39;

      then <e3> in ( rng <* <e3> *>) by TARSKI:def 1;

      

      then

       A23: ( width <* <e3> *>) = ( len <e3> ) by A21, MATRIX_0:def 3

      .= 3 by A20, FINSEQ_2: 133;

      

       A24: ( width ( <* <e3> *> @ )) = ( len <* <e3> *>) by A23, MATRIX_0: 29

      .= 1 by FINSEQ_1: 39;

      now

        thus

         A25: ( len ( <* <e3> *> @ )) = 3 by MATRIX_0:def 6, A23;

        

         A26: ( <* <e3> *> @ ) is Matrix of 3, 1, F_Real by A25, A24, MATRIX_0: 20;

        

         A27: 1 in ( Seg 3) by FINSEQ_1: 1;

        

        hence (( <* <e3> *> @ ) . 1) = ( Line (( <* <e3> *> @ ),1)) by A26, MATRIX_0: 52

        .= <* 0 *> by A27, A23, MATRIX_0: 59, Th54;

        

         A28: 2 in ( Seg 3) by FINSEQ_1: 1;

        

        hence (( <* <e3> *> @ ) . 2) = ( Line (( <* <e3> *> @ ),2)) by A26, MATRIX_0: 52

        .= <* 0 *> by A28, A23, MATRIX_0: 59, Th54;

        

         A29: 3 in ( Seg 3) by FINSEQ_1: 1;

        

        hence (( <* <e3> *> @ ) . 3) = ( Line (( <* <e3> *> @ ),3)) by A26, MATRIX_0: 52

        .= <*1*> by A29, A23, MATRIX_0: 59, Th54;

      end;

      hence ( <* <e3> *> @ ) = <* <* 0 *>, <* 0 *>, <*1*>*> by FINSEQ_1: 45;

    end;

    reserve pf for FinSequence of D;

    theorem :: ANPROJ_8:70

    

     Th58: for pf be FinSequence of D holds k in ( dom pf) implies ( <*pf*> * (1,k)) = (pf . k)

    proof

      let pf be FinSequence of D;

      assume

       A1: k in ( dom pf);

      

       A2: ( Indices <*pf*>) = [:( Seg 1), ( Seg ( len pf)):] by MATRIX_0: 23

      .= [: {1}, ( dom pf):] by FINSEQ_1: 2, FINSEQ_1:def 3;

      1 in {1} by TARSKI:def 1;

      then [1, k] in ( Indices <*pf*>) by A1, A2, ZFMISC_1: 87;

      then ex q be FinSequence of D st q = ( <*pf*> . 1) & ( <*pf*> * (1,k)) = (q . k) by MATRIX_0:def 5;

      hence thesis by FINSEQ_1:def 8;

    end;

    theorem :: ANPROJ_8:71

    

     Th59: k in ( dom pf) implies ( Col ( <*pf*>,k)) = <*(pf . k)*>

    proof

      assume

       A1: k in ( dom pf);

      

       A2: ( len ( Col ( <*pf*>,k))) = ( len <*pf*>) & for j be Nat st j in ( dom <*pf*>) holds (( Col ( <*pf*>,k)) . j) = ( <*pf*> * (j,k)) by MATRIX_0:def 8;

      then

       A3: ( len ( Col ( <*pf*>,k))) = 1 by FINSEQ_1: 39;

      then

       A4: ( dom ( Col ( <*pf*>,k))) = {1} by FINSEQ_1:def 3, FINSEQ_1: 2;

      (( Col ( <*pf*>,k)) . 1) = ( <*pf*> * (1,k)) by FINSEQ_5: 6, A2;

      then ( rng ( Col ( <*pf*>,k))) = {( <*pf*> * (1,k))} by A4, FUNCT_1: 4;

      then ( rng ( Col ( <*pf*>,k))) = {(pf . k)} by A1, Th58;

      hence thesis by A3, FINSEQ_1: 39;

    end;

    theorem :: ANPROJ_8:72

    for pr be Element of ( REAL 3) st pf = pr holds ( MXR2MXF ( ColVec2Mx pr)) = ( <*pf*> @ )

    proof

      let pr be Element of ( REAL 3);

      assume

       A1: pf = pr;

      set M1 = ( MXR2MXF ( ColVec2Mx pr)), M2 = ( ColVec2Mx pr);

      

       A2: M1 = ( ColVec2Mx pr) by MATRIXR1:def 1;

      pr in ( REAL 3);

      then

       A3: pr in (3 -tuples_on REAL ) by EUCLID:def 1;

      then

       A4: ( len pr) = 3 by FINSEQ_2: 133;

      

       A5: ( len M2) = ( len pr) & ( width M2) = 1 & for j be Nat st j in ( dom pr) holds (M2 . j) = <*(pr . j)*> by A4, MATRIXR1:def 9;

      now

        

         A6: ( width <*pf*>) = ( len pr) by A1, MATRIX_0: 23;

        hence ( len M2) = ( len ( <*pf*> @ )) by A5, MATRIX_0:def 6;

        thus for k be Nat st 1 <= k & k <= ( len M2) holds (M2 . k) = (( <*pf*> @ ) . k)

        proof

          let k be Nat;

          assume that

           A7: 1 <= k and

           A8: k <= ( len M2);

          

           A9: k in ( Seg ( len pr)) by A5, A7, A8, FINSEQ_1: 1;

          then

           A10: k in ( dom pr) by FINSEQ_1:def 3;

          

           A11: ( len <*pf*>) = 1 by MATRIX_0: 23;

          

           A12: ( width <*pf*>) = 3 by A6, A3, FINSEQ_2: 133;

          ( Seg ( len ( <*pf*> @ ))) = ( Seg ( len pr)) by A6, MATRIX_0:def 6;

          

          then ( dom ( <*pf*> @ )) = ( Seg ( len pr)) by FINSEQ_1:def 3

          .= ( dom pr) by FINSEQ_1:def 3;

          then

           A13: k in ( dom ( <*pf*> @ )) by A9, FINSEQ_1:def 3;

          

          then

           A14: (( <*pf*> @ ) . k) = ( Line (( <*pf*> @ ),k)) by MATRIX_0: 60

          .= ( Col ((( <*pf*> @ ) @ ),k)) by A13, MATRIX_0: 58

          .= ( Col ( <*pf*>,k)) by A12, A11, MATRIX_0: 57

          .= <*(pf . k)*> by A10, A1, Th59;

          k in ( dom pr) by A9, FINSEQ_1:def 3;

          hence thesis by A4, MATRIXR1:def 9, A1, A14;

        end;

      end;

      hence thesis by A2, FINSEQ_1:def 17;

    end;

    reserve PQR for Matrix of 3, F_Real ;

    theorem :: ANPROJ_8:73

    

     Th60: PQR = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*> implies ( Line (PQR,1)) = p & ( Line (PQR,2)) = q & ( Line (PQR,3)) = r

    proof

      assume

       A1: PQR = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*>;

      1 in ( Seg 3) by FINSEQ_1: 1;

      

      hence ( Line (PQR,1)) = (PQR . 1) by MATRIX_0: 52

      .= <*(p `1 ), (p `2 ), (p `3 )*> by A1, FINSEQ_1: 45

      .= p by EUCLID_5: 3;

      2 in ( Seg 3) by FINSEQ_1: 1;

      

      hence ( Line (PQR,2)) = (PQR . 2) by MATRIX_0: 52

      .= <*(q `1 ), (q `2 ), (q `3 )*> by A1, FINSEQ_1: 45

      .= q by EUCLID_5: 3;

      3 in ( Seg 3) by FINSEQ_1: 1;

      

      hence ( Line (PQR,3)) = (PQR . 3) by MATRIX_0: 52

      .= <*(r `1 ), (r `2 ), (r `3 )*> by A1, FINSEQ_1: 45

      .= r by EUCLID_5: 3;

    end;

    theorem :: ANPROJ_8:74

    PQR = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*> implies ( Col (PQR,1)) = <*(p `1 ), (q `1 ), (r `1 )*> & ( Col (PQR,2)) = <*(p `2 ), (q `2 ), (r `2 )*> & ( Col (PQR,3)) = <*(p `3 ), (q `3 ), (r `3 )*>

    proof

      assume

       A1: PQR = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*>;

      ( len PQR) = 3 by MATRIX_0: 24;

      then

       A2: ( dom PQR) = ( Seg 3) by FINSEQ_1:def 3;

      

       A3: PQR = <* <*(PQR * (1,1)), (PQR * (1,2)), (PQR * (1,3))*>, <*(PQR * (2,1)), (PQR * (2,2)), (PQR * (2,3))*>, <*(PQR * (3,1)), (PQR * (3,2)), (PQR * (3,3))*>*> by MATRIXR2: 37;

      then (PQR . 1) = <*(PQR * (1,1)), (PQR * (1,2)), (PQR * (1,3))*> by FINSEQ_1: 45;

      then

       A4: <*(PQR * (1,1)), (PQR * (1,2)), (PQR * (1,3))*> = <*(p `1 ), (p `2 ), (p `3 )*> by A1, FINSEQ_1: 45;

      (PQR . 2) = <*(PQR * (2,1)), (PQR * (2,2)), (PQR * (2,3))*> by A3, FINSEQ_1: 45;

      then

       A5: <*(PQR * (2,1)), (PQR * (2,2)), (PQR * (2,3))*> = <*(q `1 ), (q `2 ), (q `3 )*> by A1, FINSEQ_1: 45;

      (PQR . 3) = <*(PQR * (3,1)), (PQR * (3,2)), (PQR * (3,3))*> by A3, FINSEQ_1: 45;

      then

       A6: <*(PQR * (3,1)), (PQR * (3,2)), (PQR * (3,3))*> = <*(r `1 ), (r `2 ), (r `3 )*> by A1, FINSEQ_1: 45;

      now

        

        thus ( len ( Col (PQR,1))) = ( len PQR) by MATRIX_0:def 8

        .= 3 by MATRIX_0: 24;

        

        thus ( len ( Col (PQR,2))) = ( len PQR) by MATRIX_0:def 8

        .= 3 by MATRIX_0: 24;

        

        thus ( len ( Col (PQR,3))) = ( len PQR) by MATRIX_0:def 8

        .= 3 by MATRIX_0: 24;

        

        thus (( Col (PQR,1)) . 1) = (PQR * (1,1)) by A2, MATRIX_0:def 8, FINSEQ_1: 1

        .= (p `1 ) by A4, FINSEQ_1: 78;

        

        thus (( Col (PQR,1)) . 2) = (PQR * (2,1)) by A2, MATRIX_0:def 8, FINSEQ_1: 1

        .= (q `1 ) by A5, FINSEQ_1: 78;

        

        thus (( Col (PQR,1)) . 3) = (PQR * (3,1)) by A2, MATRIX_0:def 8, FINSEQ_1: 1

        .= (r `1 ) by A6, FINSEQ_1: 78;

        

        thus (( Col (PQR,2)) . 1) = (PQR * (1,2)) by A2, MATRIX_0:def 8, FINSEQ_1: 1

        .= (p `2 ) by A4, FINSEQ_1: 78;

        

        thus (( Col (PQR,2)) . 2) = (PQR * (2,2)) by A2, MATRIX_0:def 8, FINSEQ_1: 1

        .= (q `2 ) by A5, FINSEQ_1: 78;

        

        thus (( Col (PQR,2)) . 3) = (PQR * (3,2)) by A2, MATRIX_0:def 8, FINSEQ_1: 1

        .= (r `2 ) by A6, FINSEQ_1: 78;

        

        thus (( Col (PQR,3)) . 1) = (PQR * (1,3)) by A2, MATRIX_0:def 8, FINSEQ_1: 1

        .= (p `3 ) by A4, FINSEQ_1: 78;

        

        thus (( Col (PQR,3)) . 2) = (PQR * (2,3)) by A2, MATRIX_0:def 8, FINSEQ_1: 1

        .= (q `3 ) by A5, FINSEQ_1: 78;

        

        thus (( Col (PQR,3)) . 3) = (PQR * (3,3)) by A2, MATRIX_0:def 8, FINSEQ_1: 1

        .= (r `3 ) by A6, FINSEQ_1: 78;

      end;

      hence thesis by FINSEQ_1: 45;

    end;

    theorem :: ANPROJ_8:75

    

     Th61: ( width <*pf*>) = ( len pf)

    proof

      

       A1: ( len <*pf*>) = 1 by FINSEQ_1: 39;

      ( rng <*pf*>) = {pf} by FINSEQ_1: 39;

      then pf in ( rng <*pf*>) by TARSKI:def 1;

      hence thesis by A1, MATRIX_0:def 3;

    end;

    theorem :: ANPROJ_8:76

    

     Th62: ( len pf) = 3 implies ( Line (( <*pf*> @ ),1)) = <*(pf . 1)*> & ( Line (( <*pf*> @ ),2)) = <*(pf . 2)*> & ( Line (( <*pf*> @ ),3)) = <*(pf . 3)*>

    proof

      assume

       A1: ( len pf) = 3;

      

       A3: ( width <*pf*>) = 3 by A1, Th61;

      1 in ( Seg ( width <*pf*>)) by A3, FINSEQ_1: 1;

      

      hence ( Line (( <*pf*> @ ),1)) = ( Col ( <*pf*>,1)) by MATRIX_0: 59

      .= <*(pf . 1)*> by A1, Th51;

      2 in ( Seg ( width <*pf*>)) by A3, FINSEQ_1: 1;

      

      hence ( Line (( <*pf*> @ ),2)) = ( Col ( <*pf*>,2)) by MATRIX_0: 59

      .= <*(pf . 2)*> by A1, Th51;

      3 in ( Seg ( width <*pf*>)) by A3, FINSEQ_1: 1;

      

      hence ( Line (( <*pf*> @ ),3)) = ( Col ( <*pf*>,3)) by MATRIX_0: 59

      .= <*(pf . 3)*> by A1, Th51;

    end;

    theorem :: ANPROJ_8:77

    

     Th63: ( len pf) = 3 implies ( <*pf*> @ ) = <* <*(pf . 1)*>, <*(pf . 2)*>, <*(pf . 3)*>*>

    proof

      assume

       A1: ( len pf) = 3;

      

       A2: ( len <*pf*>) = 1 by FINSEQ_1: 39;

      ( rng <*pf*>) = {pf} by FINSEQ_1: 39;

      then pf in ( rng <*pf*>) by TARSKI:def 1;

      then

       A3: ( width <*pf*>) = 3 by A1, A2, MATRIX_0:def 3;

      

      then

       A4: ( width ( <*pf*> @ )) = ( len <*pf*>) by MATRIX_0: 29

      .= 1 by FINSEQ_1: 39;

      now

        thus ( len ( <*pf*> @ )) = 3 by MATRIX_0:def 6, A3;

        then

         A5: ( <*pf*> @ ) is Matrix of 3, 1, D by A4, MATRIX_0: 20;

        1 in ( Seg 3) by FINSEQ_1: 1;

        

        hence (( <*pf*> @ ) . 1) = ( Line (( <*pf*> @ ),1)) by A5, MATRIX_0: 52

        .= <*(pf . 1)*> by A1, Th62;

        2 in ( Seg 3) by FINSEQ_1: 1;

        

        hence (( <*pf*> @ ) . 2) = ( Line (( <*pf*> @ ),2)) by A5, MATRIX_0: 52

        .= <*(pf . 2)*> by A1, Th62;

        3 in ( Seg 3) by FINSEQ_1: 1;

        

        hence (( <*pf*> @ ) . 3) = ( Line (( <*pf*> @ ),3)) by A5, MATRIX_0: 52

        .= <*(pf . 3)*> by A1, Th62;

      end;

      hence ( <*pf*> @ ) = <* <*(pf . 1)*>, <*(pf . 2)*>, <*(pf . 3)*>*> by FINSEQ_1: 45;

    end;

    definition

      let D;

      let p be FinSequence of D;

      assume

       A1: ( len p) = 3;

      :: ANPROJ_8:def1

      func F2M p -> FinSequence of (1 -tuples_on D) equals

      : DEF1: <* <*(p . 1)*>, <*(p . 2)*>, <*(p . 3)*>*>;

      coherence

      proof

        

         A0: ( rng p) c= D by FINSEQ_1:def 4;

        

         A2: <*(p . 1)*> in (1 -tuples_on D) & <*(p . 2)*> in (1 -tuples_on D) & <*(p . 3)*> in (1 -tuples_on D)

        proof

          

           A3: ( dom p) = ( Seg 3) by A1, FINSEQ_1:def 3;

          then (p . 1) in ( rng p) by FUNCT_1: 3, FINSEQ_1: 1;

          hence <*(p . 1)*> in (1 -tuples_on D) by A0, FINSEQ_2: 98;

          (p . 2) in ( rng p) by A3, FINSEQ_1: 1, FUNCT_1: 3;

          hence <*(p . 2)*> in (1 -tuples_on D) by A0, FINSEQ_2: 98;

          (p . 3) in ( rng p) by A3, FINSEQ_1: 1, FUNCT_1: 3;

          hence <*(p . 3)*> in (1 -tuples_on D) by A0, FINSEQ_2: 98;

        end;

        

         A4: ( rng <* <*(p . 1)*>, <*(p . 2)*>, <*(p . 3)*>*>) = { <*(p . 1)*>, <*(p . 2)*>, <*(p . 3)*>} by FINSEQ_2: 128;

         { <*(p . 1)*>, <*(p . 2)*>, <*(p . 3)*>} c= (1 -tuples_on D) by A2, ENUMSET1:def 1;

        hence thesis by A4, FINSEQ_1:def 4;

      end;

    end

    theorem :: ANPROJ_8:78

    

     Th64: for p be FinSequence of REAL st ( len p) = 3 holds ( len ( F2M p)) = 3

    proof

      let p be FinSequence of REAL ;

      assume ( len p) = 3;

      then ( F2M p) = <* <*(p . 1)*>, <*(p . 2)*>, <*(p . 3)*>*> by DEF1;

      hence thesis by FINSEQ_1: 45;

    end;

    theorem :: ANPROJ_8:79

    for p be FinSequence of REAL st ( len p) = 3 holds p is 3 -element FinSequence of REAL

    proof

      let p be FinSequence of REAL ;

      assume ( len p) = 3;

      then p = <*(p . 1), (p . 2), (p . 3)*> by FINSEQ_1: 45;

      hence thesis;

    end;

    theorem :: ANPROJ_8:80

    

     Th65: for p be FinSequence of REAL st p = |[ 0 , 0 , 0 ]| holds ( F2M p) = <* <* 0 *>, <* 0 *>, <* 0 *>*>

    proof

      let p be FinSequence of REAL ;

      assume p = |[ 0 , 0 , 0 ]|;

      then ( len p) = 3 & (p . 1) = 0 & (p . 2) = 0 & (p . 3) = 0 by FINSEQ_1: 45;

      hence thesis by DEF1;

    end;

    theorem :: ANPROJ_8:81

    ( len pf) = 3 implies <*( Col ( <*pf*>,1)), ( Col ( <*pf*>,2)), ( Col ( <*pf*>,3))*> = ( F2M pf)

    proof

      assume

       A0: ( len pf) = 3;

      then ( Col ( <*pf*>,1)) = <*(pf . 1)*> & ( Col ( <*pf*>,2)) = <*(pf . 2)*> & ( Col ( <*pf*>,3)) = <*(pf . 3)*> by Th51;

      hence thesis by A0, DEF1;

    end;

    definition

      let D;

      let p be FinSequence of (1 -tuples_on D);

      assume

       A1: ( len p) = 3;

      :: ANPROJ_8:def2

      func M2F p -> FinSequence of D equals

      : DEF2: <*((p . 1) . 1), ((p . 2) . 1), ((p . 3) . 1)*>;

      coherence

      proof

        ( rng <*((p . 1) . 1), ((p . 2) . 1), ((p . 3) . 1)*>) c= D

        proof

          let x be object;

          assume x in ( rng <*((p . 1) . 1), ((p . 2) . 1), ((p . 3) . 1)*>);

          then x in {((p . 1) . 1), ((p . 2) . 1), ((p . 3) . 1)} by FINSEQ_2: 128;

          then

           A2: x = ((p . 1) . 1) or x = ((p . 2) . 1) or x = ((p . 3) . 1) by ENUMSET1:def 1;

          

           A3: ( dom p) = ( Seg 3) by A1, FINSEQ_1:def 3;

          then

           A4: (p . 1) in ( rng p) by FINSEQ_1: 1, FUNCT_1: 3;

          

           A5: ( rng p) c= (1 -tuples_on D) by FINSEQ_1:def 4;

          

           A0: (1 -tuples_on D) = the set of all <*d*> where d be Element of D by FINSEQ_2: 96;

          then (p . 1) in the set of all <*d*> where d be Element of D by A4, A5;

          then

          consider d be Element of D such that

           A6: (p . 1) = <*d*>;

          

           A7: ((p . 1) . 1) = d by A6, FINSEQ_1:def 8;

          (p . 2) in ( rng p) by A3, FINSEQ_1: 1, FUNCT_1: 3;

          then (p . 2) in the set of all <*d*> where d be Element of D by A0, A5;

          then

          consider d be Element of D such that

           A10: (p . 2) = <*d*>;

          

           A11: ((p . 2) . 1) = d by A10, FINSEQ_1:def 8;

          

           A12: (p . 3) in ( rng p) by A3, FINSEQ_1: 1, FUNCT_1: 3;

          (p . 3) in (1 -tuples_on D) by A5, A12;

          then

          consider d be Element of D such that

           A14: (p . 3) = <*d*> by A0;

          ((p . 3) . 1) = d by A14, FINSEQ_1:def 8;

          hence thesis by A2, A7, A11;

        end;

        hence thesis by FINSEQ_1:def 4;

      end;

    end

    theorem :: ANPROJ_8:82

    

     Th66: for p be FinSequence of (1 -tuples_on REAL ) st ( len p) = 3 holds ( M2F p) is Point of ( TOP-REAL 3)

    proof

      let p be FinSequence of (1 -tuples_on REAL );

      assume

       A1: ( len p) = 3;

      

       A2: ( dom p) = ( Seg 3) by A1, FINSEQ_1:def 3;

      then

       A3: (p . 1) in ( rng p) by FINSEQ_1: 1, FUNCT_1: 3;

      

       A4: ( rng p) c= (1 -tuples_on REAL ) by FINSEQ_1:def 4;

      (1 -tuples_on REAL ) = the set of all <*d*> where d be Element of REAL by FINSEQ_2: 96;

      then (p . 1) in the set of all <*d*> where d be Element of REAL by A3, A4;

      then

      consider d be Element of REAL such that

       A5: (p . 1) = <*d*>;

      

       A6: ((p . 1) . 1) = d by A5, FINSEQ_1:def 8;

      

       A7: (p . 2) in ( rng p) by A2, FINSEQ_1: 1, FUNCT_1: 3;

      (1 -tuples_on REAL ) = the set of all <*d*> where d be Element of REAL by FINSEQ_2: 96;

      then (p . 2) in the set of all <*d*> where d be Element of REAL by A7, A4;

      then

      consider d be Element of REAL such that

       A9: (p . 2) = <*d*>;

      

       A10: ((p . 2) . 1) = d by A9, FINSEQ_1:def 8;

      

       A11: (p . 3) in ( rng p) by A2, FINSEQ_1: 1, FUNCT_1: 3;

      ( rng p) c= (1 -tuples_on REAL ) by FINSEQ_1:def 4;

      then

       A12: (p . 3) in (1 -tuples_on REAL ) by A11;

      (1 -tuples_on REAL ) = the set of all <*d*> where d be Element of REAL by FINSEQ_2: 96;

      then

      consider d be Element of REAL such that

       A13: (p . 3) = <*d*> by A12;

      

       A14: ((p . 3) . 1) = d by A13, FINSEQ_1:def 8;

      ( M2F p) = <*((p . 1) . 1), ((p . 2) . 1), ((p . 3) . 1)*> by A1, DEF2;

      then ( M2F p) in (3 -tuples_on REAL ) by A6, A10, A14, FINSEQ_2: 104;

      then ( M2F p) in ( REAL 3) by EUCLID:def 1;

      hence thesis by EUCLID: 22;

    end;

    definition

      let p be FinSequence of (1 -tuples_on REAL );

      let a be Real;

      assume

       A1: ( len p) = 3;

      :: ANPROJ_8:def3

      func a * p -> FinSequence of (1 -tuples_on REAL ) means

      : DEF3: ex p1,p2,p3 be Real st p1 = ((p . 1) . 1) & p2 = ((p . 2) . 1) & p3 = ((p . 3) . 1) & it = <* <*(a * p1)*>, <*(a * p2)*>, <*(a * p3)*>*>;

      existence

      proof

        ( dom p) = ( Seg 3) by A1, FINSEQ_1:def 3;

        then

         A2: (p . 1) in ( rng p) & (p . 2) in ( rng p) & (p . 3) in ( rng p) by FINSEQ_1: 1, FUNCT_1: 3;

        

         A3: ( rng p) c= (1 -tuples_on REAL ) by FINSEQ_1:def 4;

        

         A4: (1 -tuples_on REAL ) = the set of all <*d*> where d be Element of REAL by FINSEQ_2: 96;

        then (p . 1) in the set of all <*d*> where d be Element of REAL by A2, A3;

        then

        consider d1 be Element of REAL such that

         A5: (p . 1) = <*d1*>;

        reconsider p1 = d1 as Real;

        (p . 2) in the set of all <*d*> where d be Element of REAL by A2, A3, A4;

        then

        consider d2 be Element of REAL such that

         A6: (p . 2) = <*d2*>;

        reconsider p2 = d2 as Real;

        (p . 3) in the set of all <*d*> where d be Element of REAL by A4, A2, A3;

        then

        consider d3 be Element of REAL such that

         A7: (p . 3) = <*d3*>;

        reconsider p3 = d3 as Real;

        now

          take p1, p2, p3;

          thus p1 = ((p . 1) . 1) & p2 = ((p . 2) . 1) & p3 = ((p . 3) . 1) by A5, A6, A7, FINSEQ_1:def 8;

          

           A8: <*(a * p1)*> in (1 -tuples_on REAL ) & <*(a * p2)*> in (1 -tuples_on REAL ) & <*(a * p3)*> in (1 -tuples_on REAL )

          proof

            (a * p1) in REAL by XREAL_0:def 1;

            hence <*(a * p1)*> in (1 -tuples_on REAL ) by FINSEQ_2: 98;

            (a * p2) in REAL by XREAL_0:def 1;

            hence <*(a * p2)*> in (1 -tuples_on REAL ) by FINSEQ_2: 98;

            (a * p3) in REAL by XREAL_0:def 1;

            hence <*(a * p3)*> in (1 -tuples_on REAL ) by FINSEQ_2: 98;

          end;

          

           A9: ( rng <* <*(a * p1)*>, <*(a * p2)*>, <*(a * p3)*>*>) = { <*(a * p1)*>, <*(a * p2)*>, <*(a * p3)*>} by FINSEQ_2: 128;

           { <*(a * p1)*>, <*(a * p2)*>, <*(a * p3)*>} c= (1 -tuples_on REAL ) by A8, ENUMSET1:def 1;

          hence <* <*(a * p1)*>, <*(a * p2)*>, <*(a * p3)*>*> is FinSequence of (1 -tuples_on REAL ) by A9, FINSEQ_1:def 4;

        end;

        hence thesis;

      end;

      uniqueness ;

    end

    theorem :: ANPROJ_8:83

    

     Th67: for p be FinSequence of (1 -tuples_on REAL ) st ( len p) = 3 holds ( M2F (a * p)) = (a * ( M2F p))

    proof

      let p be FinSequence of (1 -tuples_on REAL );

      assume

       A1: ( len p) = 3;

      then

      consider p1,p2,p3 be Real such that

       A2: p1 = ((p . 1) . 1) & p2 = ((p . 2) . 1) & p3 = ((p . 3) . 1) and

       A3: (a * p) = <* <*(a * p1)*>, <*(a * p2)*>, <*(a * p3)*>*> by DEF3;

      ((a * p) . 1) = <*(a * p1)*> & ((a * p) . 2) = <*(a * p2)*> & ((a * p) . 3) = <*(a * p3)*> by A3, FINSEQ_1: 45;

      then

       A4: (((a * p) . 1) . 1) = (a * p1) & (((a * p) . 2) . 1) = (a * p2) & (((a * p) . 3) . 1) = (a * p3) by FINSEQ_1: 40;

      ( len (a * p)) = 3 by A3, FINSEQ_1: 45;

      then

       A5: ( M2F (a * p)) = |[(a * p1), (a * p2), (a * p3)]| by A4, DEF2;

      reconsider q = ( M2F p) as FinSequence of F_Real ;

      ( M2F p) = |[p1, p2, p3]| by A1, A2, DEF2;

      hence thesis by A5, EUCLID_8: 59;

    end;

    theorem :: ANPROJ_8:84

    

     Th68: for p be FinSequence of (1 -tuples_on REAL ) st ( len p) = 3 holds <* <*((p . 1) . 1)*>, <*((p . 2) . 1)*>, <*((p . 3) . 1)*>*> = p

    proof

      let p be FinSequence of (1 -tuples_on REAL );

      assume

       A1: ( len p) = 3;

      then ( dom p) = ( Seg 3) by FINSEQ_1:def 3;

      then

       A2: (p . 1) in ( rng p) & (p . 2) in ( rng p) & (p . 3) in ( rng p) by FINSEQ_1: 1, FUNCT_1: 3;

      

       A3: ( rng p) c= (1 -tuples_on REAL ) by FINSEQ_1:def 4;

      

       A4: (1 -tuples_on REAL ) = the set of all <*d*> where d be Element of REAL by FINSEQ_2: 96;

      then (p . 1) in the set of all <*d*> where d be Element of REAL by A2, A3;

      then

      consider d1 be Element of REAL such that

       A5: (p . 1) = <*d1*>;

      

       A6: ((p . 1) . 1) = d1 by A5, FINSEQ_1:def 8;

      (p . 2) in the set of all <*d*> where d be Element of REAL by A2, A3, A4;

      then

      consider d2 be Element of REAL such that

       A7: (p . 2) = <*d2*>;

      

       A8: ((p . 2) . 1) = d2 by A7, FINSEQ_1:def 8;

      (p . 3) in the set of all <*d*> where d be Element of REAL by A2, A3, A4;

      then

      consider d3 be Element of REAL such that

       A9: (p . 3) = <*d3*>;

      

       A10: ((p . 3) . 1) = d3 by A9, FINSEQ_1:def 8;

      thus thesis by A5, A6, A7, A8, A9, A10, A1, FINSEQ_1: 45;

    end;

    theorem :: ANPROJ_8:85

    

     Th69: for p be FinSequence of (1 -tuples_on REAL ) st ( len p) = 3 holds ( F2M ( M2F p)) = p

    proof

      let p be FinSequence of (1 -tuples_on REAL );

      assume

       A1: ( len p) = 3;

      set q = ( M2F p);

      q = <*((p . 1) . 1), ((p . 2) . 1), ((p . 3) . 1)*> by A1, DEF2;

      then ( len q) = 3 & (q . 1) = ((p . 1) . 1) & (q . 2) = ((p . 2) . 1) & (q . 3) = ((p . 3) . 1) by FINSEQ_1: 45;

      then ( F2M q) = <* <*((p . 1) . 1)*>, <*((p . 2) . 1)*>, <*((p . 3) . 1)*>*> by DEF1;

      hence thesis by A1, Th68;

    end;

    theorem :: ANPROJ_8:86

    

     Th70: for p be FinSequence of REAL st ( len p) = 3 holds ( M2F ( F2M p)) = p

    proof

      let p be FinSequence of REAL ;

      assume

       A1: ( len p) = 3;

      set q = ( F2M p);

      q = <* <*(p . 1)*>, <*(p . 2)*>, <*(p . 3)*>*> by A1, DEF1;

      then

       A2: ( len q) = 3 & (q . 1) = <*(p . 1)*> & (q . 2) = <*(p . 2)*> & (q . 3) = <*(p . 3)*> by FINSEQ_1: 45;

      then ((q . 1) . 1) = (p . 1) & ((q . 2) . 1) = (p . 2) & ((q . 3) . 1) = (p . 3) by FINSEQ_1:def 8;

      

      then ( M2F q) = <*(p . 1), (p . 2), (p . 3)*> by A2, DEF2

      .= p by A1, FINSEQ_1: 45;

      hence thesis;

    end;

    theorem :: ANPROJ_8:87

    ( <* <e1> *> @ ) = ( F2M <e1> ) & ( <* <e2> *> @ ) = ( F2M <e2> ) & ( <* <e3> *> @ ) = ( F2M <e3> )

    proof

      ( len <e1> ) = 3 & ( <e1> . 1) = 1 & ( <e1> . 2) = 0 & ( <e1> . 3) = 0 by EUCLID_8:def 1, FINSEQ_1: 45;

      hence ( <* <e1> *> @ ) = ( F2M <e1> ) by DEF1, Th57;

      ( len <e2> ) = 3 & ( <e2> . 1) = 0 & ( <e2> . 2) = 1 & ( <e2> . 3) = 0 by EUCLID_8:def 2, FINSEQ_1: 45;

      hence ( <* <e2> *> @ ) = ( F2M <e2> ) by DEF1, Th57;

      ( len <e3> ) = 3 & ( <e3> . 1) = 0 & ( <e3> . 2) = 0 & ( <e3> . 3) = 1 by EUCLID_8:def 3, FINSEQ_1: 45;

      hence ( <* <e3> *> @ ) = ( F2M <e3> ) by DEF1, Th57;

    end;

    theorem :: ANPROJ_8:88

    for p be FinSequence of D st ( len p) = 3 holds ( <*p*> @ ) = ( F2M p)

    proof

      let p be FinSequence of D;

      assume

       A1: ( len p) = 3;

      then ( <*p*> @ ) = <* <*(p . 1)*>, <*(p . 2)*>, <*(p . 3)*>*> by Th63;

      hence thesis by A1, DEF1;

    end;

    theorem :: ANPROJ_8:89

    

     Th72: ( Line ( <*pf*>,1)) = pf

    proof

      1 in ( Seg 1) by FINSEQ_1: 1;

      then ( Line ( <*pf*>,1)) = ( <*pf*> . 1) by MATRIX_0: 52;

      hence thesis by FINSEQ_1: 40;

    end;

    theorem :: ANPROJ_8:90

    

     Th73: for M be Matrix of 3, 1, D holds ( Line (M,1)) = <*(M * (1,1))*> & ( Line (M,2)) = <*(M * (2,1))*> & ( Line (M,3)) = <*(M * (3,1))*>

    proof

      let M be Matrix of 3, 1, D;

      

       A1: ( len M) = 3 & ( width M) = 1 & ( Indices M) = [:( Seg 3), ( Seg 1):] by MATRIX_0: 23;

      now

        

         A2: ( len ( Line (M,1))) = ( width M) by MATRIX_0:def 7

        .= 1 by MATRIX_0: 23;

        ( dom <*(M * (1,1))*>) = ( Seg 1) by FINSEQ_1:def 8;

        hence ( dom ( Line (M,1))) = ( dom <*(M * (1,1))*>) by A2, FINSEQ_1:def 3;

        thus for x be object st x in ( dom ( Line (M,1))) holds (( Line (M,1)) . x) = ( <*(M * (1,1))*> . x)

        proof

          let x be object;

          assume x in ( dom ( Line (M,1)));

          then x in {1} by A2, FINSEQ_1:def 3, FINSEQ_1: 2;

          then

           A3: x = 1 by TARSKI:def 1;

          (( Line (M,1)) . 1) = (M * (1,1)) by A1, FINSEQ_1: 1, MATRIX_0:def 7

          .= ( <*(M * (1,1))*> . 1) by FINSEQ_1:def 8;

          hence thesis by A3;

        end;

      end;

      hence ( Line (M,1)) = <*(M * (1,1))*> by FUNCT_1:def 11;

      now

        

         A4: ( len ( Line (M,2))) = ( width M) by MATRIX_0:def 7

        .= 1 by MATRIX_0: 23;

        ( dom <*(M * (2,1))*>) = ( Seg 1) by FINSEQ_1:def 8;

        hence ( dom ( Line (M,2))) = ( dom <*(M * (2,1))*>) by A4, FINSEQ_1:def 3;

        thus for x be object st x in ( dom ( Line (M,2))) holds (( Line (M,2)) . x) = ( <*(M * (2,1))*> . x)

        proof

          let x be object;

          assume x in ( dom ( Line (M,2)));

          then x in {1} by A4, FINSEQ_1:def 3, FINSEQ_1: 2;

          then

           A5: x = 1 by TARSKI:def 1;

          (( Line (M,2)) . 1) = (M * (2,1)) by A1, FINSEQ_1: 1, MATRIX_0:def 7

          .= ( <*(M * (2,1))*> . 1) by FINSEQ_1:def 8;

          hence thesis by A5;

        end;

      end;

      hence ( Line (M,2)) = <*(M * (2,1))*> by FUNCT_1:def 11;

      now

        

         A6: ( len ( Line (M,3))) = ( width M) by MATRIX_0:def 7

        .= 1 by MATRIX_0: 23;

        ( dom <*(M * (3,1))*>) = ( Seg 1) by FINSEQ_1:def 8;

        hence ( dom ( Line (M,3))) = ( dom <*(M * (3,1))*>) by A6, FINSEQ_1:def 3;

        thus for x be object st x in ( dom ( Line (M,3))) holds (( Line (M,3)) . x) = ( <*(M * (3,1))*> . x)

        proof

          let x be object;

          assume x in ( dom ( Line (M,3)));

          then x in {1} by A6, FINSEQ_1:def 3, FINSEQ_1: 2;

          then

           A7: x = 1 by TARSKI:def 1;

          (( Line (M,3)) . 1) = (M * (3,1)) by A1, FINSEQ_1: 1, MATRIX_0:def 7

          .= ( <*(M * (3,1))*> . 1) by FINSEQ_1:def 8;

          hence thesis by A7;

        end;

      end;

      hence ( Line (M,3)) = <*(M * (3,1))*> by FUNCT_1:def 11;

    end;

    reserve R for Ring;

    theorem :: ANPROJ_8:91

    

     Th74: for N be Matrix of 3, R holds for p be FinSequence of R st ( len p) = 3 holds (N * ( <*p*> @ )) is 3, 1 -size

    proof

      let N be Matrix of 3, R;

      let p be FinSequence of R;

      assume

       A1: ( len p) = 3;

      then

       A2: ( width <*p*>) = 3 by MATRIX_0: 23;

      

      then

       A3: ( width N) = ( width <*p*>) by MATRIX_0: 24

      .= ( len ( <*p*> @ )) by MATRIX_0:def 6;

      now

        ( len (N * ( <*p*> @ ))) = ( len N) by A3, MATRIX_3:def 4;

        hence

         A4: ( len (N * ( <*p*> @ ))) = 3 by MATRIX_0: 24;

        thus for pf be FinSequence of R st pf in ( rng (N * ( <*p*> @ ))) holds ( len pf) = 1

        proof

          let pf be FinSequence of R;

          assume

           A5: pf in ( rng (N * ( <*p*> @ )));

          

           A6: ( len <*p*>) = 1 by MATRIX_0: 23;

          

           A7: ( width <*p*>) = 3 by A1, MATRIX_0: 23;

          

           A8: ( width N) = ( width <*p*>) by A2, MATRIX_0: 24

          .= ( len ( <*p*> @ )) by MATRIX_0:def 6;

          

           A9: ( width ( <*p*> @ )) = ( len (( <*p*> @ ) @ )) by MATRIX_0:def 6

          .= 1 by A6, A7, MATRIX_0: 57;

          consider s be FinSequence such that

           A10: s in ( rng (N * ( <*p*> @ ))) and

           A11: ( len s) = ( width (N * ( <*p*> @ ))) by A4, MATRIX_0:def 3;

          consider n0 be Nat such that

           A12: for x be object st x in ( rng (N * ( <*p*> @ ))) holds ex s be FinSequence st s = x & ( len s) = n0 by MATRIX_0:def 1;

          

           A13: ex s0 be FinSequence st s0 = pf & ( len s0) = n0 by A12, A5;

          ex s1 be FinSequence st s1 = s & ( len s1) = n0 by A10, A12;

          hence thesis by A9, A8, MATRIX_3:def 4, A11, A13;

        end;

      end;

      hence thesis by MATRIX_0:def 2;

    end;

    theorem :: ANPROJ_8:92

    

     Th75: for pf be FinSequence of R holds for N be Matrix of 3, R st ( len pf) = 3 holds ( Line ((N * ( <*pf*> @ )),1)) = <*((N * ( <*pf*> @ )) * (1,1))*> & ( Line ((N * ( <*pf*> @ )),2)) = <*((N * ( <*pf*> @ )) * (2,1))*> & ( Line ((N * ( <*pf*> @ )),3)) = <*((N * ( <*pf*> @ )) * (3,1))*>

    proof

      let pf be FinSequence of R;

      let N be Matrix of 3, R;

      assume ( len pf) = 3;

      then (N * ( <*pf*> @ )) is Matrix of 3, 1, R by Th74;

      hence thesis by Th73;

    end;

    theorem :: ANPROJ_8:93

    

     Th76: ( Col (( <*pf*> @ ),1)) = pf

    proof

      ( len <*pf*>) = 1 by FINSEQ_1: 39;

      then ( dom <*pf*>) = ( Seg 1) by FINSEQ_1:def 3;

      then ( Col (( <*pf*> @ ),1)) = ( Line ( <*pf*>,1)) by FINSEQ_1: 1, MATRIX_0: 58;

      hence thesis by Th72;

    end;

    theorem :: ANPROJ_8:94

    for pf,qf,rf be FinSequence of F_Real st p = pf & q = qf & r = rf & |{p, q, r}| <> 0 holds ex M be Matrix of 3, F_Real st M is invertible & (M * pf) = ( F2M <e1> ) & (M * qf) = ( F2M <e2> ) & (M * rf) = ( F2M <e3> )

    proof

      let pf,qf,rf be FinSequence of F_Real ;

      assume that

       A1: p = pf and

       A2: q = qf and

       A3: r = rf and

       A4: |{p, q, r}| <> 0 ;

      reconsider pr = p, qr = q, rr = r as Element of ( REAL 3) by EUCLID: 22;

      reconsider PQR = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*> as Matrix of 3, F_Real by Th16;

      ( len PQR) = 3 by MATRIX_0: 24;

      then

       A5: ( dom PQR) = ( Seg 3) by FINSEQ_1:def 3;

      

      then

       A6: ( Col ((PQR @ ),1)) = ( Line (PQR,1)) by FINSEQ_1: 1, MATRIX_0: 58

      .= p by Th60;

      

       A7: ( Col ((PQR @ ),2)) = ( Line (PQR,2)) by A5, FINSEQ_1: 1, MATRIX_0: 58

      .= q by Th60;

      

       A8: ( Col ((PQR @ ),3)) = ( Line (PQR,3)) by A5, FINSEQ_1: 1, MATRIX_0: 58

      .= r by Th60;

       |{p, q, r}| = ( Det PQR) by Th29

      .= ( Det (PQR @ )) by MATRIXR2: 43;

      then ( Det (PQR @ )) <> ( 0. F_Real ) by A4, STRUCT_0:def 6;

      then

      consider N be Matrix of 3, F_Real such that

       A9: N is_reverse_of (PQR @ ) by LAPLACE: 34, MATRIX_6:def 3;

      take N;

      thus N is invertible by A9, MATRIX_6:def 3;

      pr in ( REAL 3) & qr in ( REAL 3) & rr in ( REAL 3);

      then

       A10: pr in (3 -tuples_on REAL ) & qr in (3 -tuples_on REAL ) & rr in (3 -tuples_on REAL ) by EUCLID:def 1;

      then

       A11: ( len pr) = 3 & ( len qr) = 3 & ( len rr) = 3 by FINSEQ_2: 133;

      ( len (PQR @ )) = 3 by MATRIX_0: 24;

      then

       A12: ( width N) = ( len (PQR @ )) by MATRIX_0: 24;

      

       A13: ( dom (N * (PQR @ ))) = ( Seg ( len (N * (PQR @ )))) by FINSEQ_1:def 3

      .= ( Seg 3) by MATRIX_0: 24;

      

       A14: ( Indices (N * (PQR @ ))) = [:( Seg 3), ( Seg 3):] by MATRIX_0: 24;

      

       A15: ( width <*pf*>) = ( len pf) by MATRIX_0: 23

      .= 3 by A10, A1, FINSEQ_2: 133;

      

       A16: ( width <*qf*>) = ( len qf) by MATRIX_0: 23

      .= 3 by A10, A2, FINSEQ_2: 133;

      

       A17: ( width <*rf*>) = ( len rf) by MATRIX_0: 23

      .= 3 by A10, A3, FINSEQ_2: 133;

      

       A18: ( width N) = 3 by MATRIX_0: 24

      .= ( len ( <*pf*> @ )) by MATRIX_0:def 6, A15;

      

       A19: ( width N) = 3 by MATRIX_0: 24

      .= ( len ( <*qf*> @ )) by MATRIX_0:def 6, A16;

      

       A20: ( width N) = 3 by MATRIX_0: 24

      .= ( len ( <*rf*> @ )) by MATRIX_0:def 6, A17;

      

       A21: (N * pf) = (N * ( <*pf*> @ )) & (N * qf) = (N * ( <*qf*> @ )) & (N * rf) = (N * ( <*rf*> @ )) by LAPLACE:def 9;

      

       A22: ( len (N * pf)) = ( len (N * ( <*pf*> @ ))) by LAPLACE:def 9

      .= ( len N) by A18, MATRIX_3:def 4

      .= 3 by MATRIX_0: 24;

      

       A23: ( len (N * qf)) = ( len (N * ( <*qf*> @ ))) by LAPLACE:def 9

      .= ( len N) by A19, MATRIX_3:def 4

      .= 3 by MATRIX_0: 24;

      

       A24: ( len (N * rf)) = ( len (N * ( <*rf*> @ ))) by LAPLACE:def 9

      .= ( len N) by A20, MATRIX_3:def 4

      .= 3 by MATRIX_0: 24;

      (N * ( <*pf*> @ )) is Matrix of 3, 1, F_Real & (N * ( <*qf*> @ )) is Matrix of 3, 1, F_Real & (N * ( <*rf*> @ )) is Matrix of 3, 1, F_Real by A1, A2, A3, A10, Th74, FINSEQ_2: 133;

      then

       A25: ( Indices (N * ( <*pf*> @ ))) = [:( Seg 3), ( Seg 1):] & ( Indices (N * ( <*qf*> @ ))) = [:( Seg 3), ( Seg 1):] & ( Indices (N * ( <*rf*> @ ))) = [:( Seg 3), ( Seg 1):] by MATRIX_0: 23;

      reconsider CN1 = ( Col ((N * (PQR @ )),1)), CN2 = ( Col ((N * (PQR @ )),2)), CN3 = ( Col ((N * (PQR @ )),3)) as FinSequence of REAL ;

      (N * ( <*pf*> @ )) = ( F2M <e1> )

      proof

        (N * ( <*pf*> @ )) = ( F2M CN1)

        proof

          now

            

             A26: ( dom (N * pf)) = ( Seg 3) by A22, FINSEQ_1:def 3;

            

             A27: ( len ( Col ((N * (PQR @ )),1))) = ( len ( Col (( 1. ( F_Real ,3)),1))) by A9, MATRIX_6:def 2

            .= ( len ( 1. ( F_Real ,3))) by MATRIX_0:def 8

            .= 3 by MATRIX_0: 24;

            then ( len ( F2M CN1)) = 3 by Th64;

            then ( dom ( F2M CN1)) = ( Seg 3) by FINSEQ_1:def 3;

            hence ( dom (N * ( <*pf*> @ ))) = ( dom ( F2M CN1)) by A21, A22, FINSEQ_1:def 3;

            thus for x be object st x in ( dom (N * ( <*pf*> @ ))) holds ((N * ( <*pf*> @ )) . x) = (( F2M CN1) . x)

            proof

              let x be object;

              assume

               A28: x in ( dom (N * ( <*pf*> @ )));

              then

              reconsider y = x as Nat;

              y in ( Seg 3) by A28, A26, LAPLACE:def 9;

              then y = 1 or ... or y = 3 by FINSEQ_1: 91;

              per cases ;

                suppose

                 A29: y = 1;

                ( F2M CN1) = <* <*(CN1 . 1)*>, <*(CN1 . 2)*>, <*(CN1 . 3)*>*> by A27, DEF1;

                

                then

                 A30: (( F2M CN1) . 1) = <*(CN1 . 1)*> by FINSEQ_1: 45

                .= <*((N * (PQR @ )) * (1,1))*> by FINSEQ_1: 1, A13, MATRIX_0:def 8;

                

                 A31: <*((N * (PQR @ )) * (1,1))*> = <*(( Line (N,1)) "*" ( Col ((PQR @ ),1)))*> by A12, A14, Th1, MATRIX_3:def 4;

                

                 A32: 1 in ( Seg 3) & (N * ( <*pf*> @ )) is Matrix of 3, 1, F_Real by FINSEQ_1: 1, A10, A1, Th74, FINSEQ_2: 133;

                ( Line ((N * ( <*pf*> @ )),1)) = <*(( Line (N,1)) "*" ( Col ((PQR @ ),1)))*>

                proof

                  1 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

                  then

                   A33: [1, 1] in ( Indices (N * ( <*pf*> @ ))) by A25, ZFMISC_1: 87;

                  ( Line ((N * ( <*pf*> @ )),1)) = <*((N * ( <*pf*> @ )) * (1,1))*> by A11, A1, Th75

                  .= <*(( Line (N,1)) "*" ( Col (( <*pf*> @ ),1)))*> by A18, A33, MATRIX_3:def 4;

                  hence thesis by A1, A6, Th76;

                end;

                hence thesis by A29, A32, MATRIX_0: 52, A31, A30;

              end;

                suppose

                 A34: y = 2;

                ( F2M CN1) = <* <*(CN1 . 1)*>, <*(CN1 . 2)*>, <*(CN1 . 3)*>*> by A27, DEF1;

                

                then

                 A35: (( F2M CN1) . 2) = <*(CN1 . 2)*> by FINSEQ_1: 45

                .= <*((N * (PQR @ )) * (2,1))*> by A13, FINSEQ_1: 1, MATRIX_0:def 8;

                

                 A36: <*((N * (PQR @ )) * (2,1))*> = <*(( Line (N,2)) "*" ( Col ((PQR @ ),1)))*> by A12, MATRIX_3:def 4, A14, Th1;

                

                 A37: 1 in ( Seg 3) & (N * ( <*pf*> @ )) is Matrix of 3, 1, F_Real by FINSEQ_1: 1, A10, A1, Th74, FINSEQ_2: 133;

                ( Line ((N * ( <*pf*> @ )),2)) = <*(( Line (N,2)) "*" ( Col ((PQR @ ),1)))*>

                proof

                  2 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

                  then

                   A38: [2, 1] in ( Indices (N * ( <*pf*> @ ))) by A25, ZFMISC_1: 87;

                  ( Line ((N * ( <*pf*> @ )),2)) = <*((N * ( <*pf*> @ )) * (2,1))*> by A11, A1, Th75

                  .= <*(( Line (N,2)) "*" ( Col (( <*pf*> @ ),1)))*> by A18, A38, MATRIX_3:def 4;

                  hence thesis by A1, A6, Th76;

                end;

                hence thesis by A34, A37, FINSEQ_1: 1, MATRIX_0: 52, A36, A35;

              end;

                suppose

                 A39: y = 3;

                ( F2M CN1) = <* <*(CN1 . 1)*>, <*(CN1 . 2)*>, <*(CN1 . 3)*>*> by A27, DEF1;

                

                then

                 A40: (( F2M CN1) . 3) = <*(CN1 . 3)*> by FINSEQ_1: 45

                .= <*((N * (PQR @ )) * (3,1))*> by A13, FINSEQ_1: 1, MATRIX_0:def 8;

                

                 A41: <*((N * (PQR @ )) * (3,1))*> = <*(( Line (N,3)) "*" ( Col ((PQR @ ),1)))*> by A14, Th1, A12, MATRIX_3:def 4;

                

                 A42: 1 in ( Seg 3) & (N * ( <*pf*> @ )) is Matrix of 3, 1, F_Real by FINSEQ_1: 1, A10, FINSEQ_2: 133, A1, Th74;

                ( Line ((N * ( <*pf*> @ )),3)) = <*(( Line (N,3)) "*" ( Col ((PQR @ ),1)))*>

                proof

                  3 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

                  then

                   A43: [3, 1] in ( Indices (N * ( <*pf*> @ ))) by A25, ZFMISC_1: 87;

                  ( Line ((N * ( <*pf*> @ )),3)) = <*((N * ( <*pf*> @ )) * (3,1))*> by A1, A11, Th75

                  .= <*(( Line (N,3)) "*" ( Col (( <*pf*> @ ),1)))*> by A18, A43, MATRIX_3:def 4;

                  hence thesis by Th76, A1, A6;

                end;

                hence thesis by A41, A39, A42, FINSEQ_1: 1, MATRIX_0: 52, A40;

              end;

            end;

          end;

          hence thesis by FUNCT_1:def 11;

        end;

        hence thesis by A9, MATRIX_6:def 2, Th55, EUCLID_8:def 1;

      end;

      hence (N * pf) = ( F2M <e1> ) by LAPLACE:def 9;

      (N * ( <*qf*> @ )) = ( F2M <e2> )

      proof

        (N * ( <*qf*> @ )) = ( F2M CN2)

        proof

          now

            

             A44: ( dom (N * qf)) = ( Seg 3) by A23, FINSEQ_1:def 3;

            

             A45: ( len ( Col ((N * (PQR @ )),2))) = ( len ( Col (( 1. ( F_Real ,3)),2))) by A9, MATRIX_6:def 2

            .= ( len ( 1. ( F_Real ,3))) by MATRIX_0:def 8

            .= 3 by MATRIX_0: 24;

            then ( len ( F2M CN2)) = 3 by Th64;

            then ( dom ( F2M CN2)) = ( Seg 3) by FINSEQ_1:def 3;

            hence ( dom (N * ( <*qf*> @ ))) = ( dom ( F2M CN2)) by A21, A23, FINSEQ_1:def 3;

            thus for x be object st x in ( dom (N * ( <*qf*> @ ))) holds ((N * ( <*qf*> @ )) . x) = (( F2M CN2) . x)

            proof

              let x be object;

              assume

               A46: x in ( dom (N * ( <*qf*> @ )));

              then

              reconsider y = x as Nat;

              y in ( Seg 3) by A46, A44, LAPLACE:def 9;

              then y = 1 or ... or y = 3 by FINSEQ_1: 91;

              per cases ;

                suppose

                 A47: y = 1;

                ( F2M CN2) = <* <*(CN2 . 1)*>, <*(CN2 . 2)*>, <*(CN2 . 3)*>*> by A45, DEF1;

                

                then

                 A48: (( F2M CN2) . 1) = <*(CN2 . 1)*> by FINSEQ_1: 45

                .= <*((N * (PQR @ )) * (1,2))*> by FINSEQ_1: 1, A13, MATRIX_0:def 8;

                

                 A49: <*((N * (PQR @ )) * (1,2))*> = <*(( Line (N,1)) "*" ( Col ((PQR @ ),2)))*> by A12, A14, Th1, MATRIX_3:def 4;

                

                 A50: 1 in ( Seg 3) & (N * ( <*qf*> @ )) is Matrix of 3, 1, F_Real by FINSEQ_1: 1, A10, A2, Th74, FINSEQ_2: 133;

                ( Line ((N * ( <*qf*> @ )),1)) = <*(( Line (N,1)) "*" ( Col ((PQR @ ),2)))*>

                proof

                  1 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

                  then

                   A51: [1, 1] in ( Indices (N * ( <*qf*> @ ))) by A25, ZFMISC_1: 87;

                  ( Line ((N * ( <*qf*> @ )),1)) = <*((N * ( <*qf*> @ )) * (1,1))*> by A11, A2, Th75

                  .= <*(( Line (N,1)) "*" ( Col (( <*qf*> @ ),1)))*> by A19, A51, MATRIX_3:def 4;

                  hence thesis by A2, A7, Th76;

                end;

                hence thesis by A47, A50, MATRIX_0: 52, A49, A48;

              end;

                suppose

                 A52: y = 2;

                ( F2M CN2) = <* <*(CN2 . 1)*>, <*(CN2 . 2)*>, <*(CN2 . 3)*>*> by A45, DEF1;

                

                then

                 A53: (( F2M CN2) . 2) = <*(CN2 . 2)*> by FINSEQ_1: 45

                .= <*((N * (PQR @ )) * (2,2))*> by A13, FINSEQ_1: 1, MATRIX_0:def 8;

                

                 A54: <*((N * (PQR @ )) * (2,2))*> = <*(( Line (N,2)) "*" ( Col ((PQR @ ),2)))*> by A12, MATRIX_3:def 4, A14, Th1;

                

                 A55: 2 in ( Seg 3) & (N * ( <*qf*> @ )) is Matrix of 3, 1, F_Real by FINSEQ_1: 1, A10, A2, Th74, FINSEQ_2: 133;

                ( Line ((N * ( <*qf*> @ )),2)) = <*(( Line (N,2)) "*" ( Col ((PQR @ ),2)))*>

                proof

                  2 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

                  then

                   A56: [2, 1] in ( Indices (N * ( <*qf*> @ ))) by A25, ZFMISC_1: 87;

                  ( Line ((N * ( <*qf*> @ )),2)) = <*((N * ( <*qf*> @ )) * (2,1))*> by A11, A2, Th75

                  .= <*(( Line (N,2)) "*" ( Col (( <*qf*> @ ),1)))*> by A19, A56, MATRIX_3:def 4;

                  hence thesis by A2, A7, Th76;

                end;

                hence thesis by A52, A55, MATRIX_0: 52, A54, A53;

              end;

                suppose

                 A57: y = 3;

                ( F2M CN2) = <* <*(CN2 . 1)*>, <*(CN2 . 2)*>, <*(CN2 . 3)*>*> by A45, DEF1;

                

                then

                 A58: (( F2M CN2) . 3) = <*(CN2 . 3)*> by FINSEQ_1: 45

                .= <*((N * (PQR @ )) * (3,2))*> by A13, FINSEQ_1: 1, MATRIX_0:def 8;

                

                 A59: <*((N * (PQR @ )) * (3,2))*> = <*(( Line (N,3)) "*" ( Col ((PQR @ ),2)))*> by A14, Th1, A12, MATRIX_3:def 4;

                

                 A60: 3 in ( Seg 3) & (N * ( <*qf*> @ )) is Matrix of 3, 1, F_Real by FINSEQ_1: 1, A10, FINSEQ_2: 133, A2, Th74;

                ( Line ((N * ( <*qf*> @ )),3)) = <*(( Line (N,3)) "*" ( Col ((PQR @ ),2)))*>

                proof

                  3 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

                  then

                   A61: [3, 1] in ( Indices (N * ( <*qf*> @ ))) by A25, ZFMISC_1: 87;

                  ( Line ((N * ( <*qf*> @ )),3)) = <*((N * ( <*qf*> @ )) * (3,1))*> by A2, A11, Th75

                  .= <*(( Line (N,3)) "*" ( Col (( <*qf*> @ ),1)))*> by A19, A61, MATRIX_3:def 4;

                  hence thesis by Th76, A2, A7;

                end;

                hence thesis by A59, A57, A60, MATRIX_0: 52, A58;

              end;

            end;

          end;

          hence thesis by FUNCT_1:def 11;

        end;

        hence thesis by A9, MATRIX_6:def 2, Th55, EUCLID_8:def 2;

      end;

      hence (N * qf) = ( F2M <e2> ) by LAPLACE:def 9;

      (N * ( <*rf*> @ )) = ( F2M <e3> )

      proof

        (N * ( <*rf*> @ )) = ( F2M CN3)

        proof

          now

            

             A62: ( dom (N * rf)) = ( Seg 3) by A24, FINSEQ_1:def 3;

            

             A63: ( len ( Col ((N * (PQR @ )),3))) = ( len ( Col (( 1. ( F_Real ,3)),3))) by A9, MATRIX_6:def 2

            .= ( len ( 1. ( F_Real ,3))) by MATRIX_0:def 8

            .= 3 by MATRIX_0: 24;

            ( len ( F2M CN3)) = 3 by A63, Th64;

            then ( dom ( F2M CN3)) = ( Seg 3) by FINSEQ_1:def 3;

            hence ( dom (N * ( <*rf*> @ ))) = ( dom ( F2M CN3)) by A21, A24, FINSEQ_1:def 3;

            thus for x be object st x in ( dom (N * ( <*rf*> @ ))) holds ((N * ( <*rf*> @ )) . x) = (( F2M CN3) . x)

            proof

              let x be object;

              assume

               A64: x in ( dom (N * ( <*rf*> @ )));

              then

              reconsider y = x as Nat;

              y in ( Seg 3) by A64, A62, LAPLACE:def 9;

              then y = 1 or ... or y = 3 by FINSEQ_1: 91;

              per cases ;

                suppose

                 A65: y = 1;

                ( F2M CN3) = <* <*(CN3 . 1)*>, <*(CN3 . 2)*>, <*(CN3 . 3)*>*> by A63, DEF1;

                

                then

                 A66: (( F2M CN3) . 1) = <*(CN3 . 1)*> by FINSEQ_1: 45

                .= <*((N * (PQR @ )) * (1,3))*> by FINSEQ_1: 1, A13, MATRIX_0:def 8;

                

                 A67: <*((N * (PQR @ )) * (1,3))*> = <*(( Line (N,1)) "*" ( Col ((PQR @ ),3)))*> by A12, A14, Th1, MATRIX_3:def 4;

                

                 A68: 1 in ( Seg 3) & (N * ( <*rf*> @ )) is Matrix of 3, 1, F_Real by FINSEQ_1: 1, A10, A3, Th74, FINSEQ_2: 133;

                ( Line ((N * ( <*rf*> @ )),1)) = <*(( Line (N,1)) "*" ( Col ((PQR @ ),3)))*>

                proof

                  1 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

                  then

                   A69: [1, 1] in ( Indices (N * ( <*rf*> @ ))) by A25, ZFMISC_1: 87;

                  ( Line ((N * ( <*rf*> @ )),1)) = <*((N * ( <*rf*> @ )) * (1,1))*> by A11, A3, Th75

                  .= <*(( Line (N,1)) "*" ( Col (( <*rf*> @ ),1)))*> by A20, A69, MATRIX_3:def 4;

                  hence thesis by A3, A8, Th76;

                end;

                hence thesis by A65, A68, MATRIX_0: 52, A67, A66;

              end;

                suppose

                 A70: y = 2;

                ( F2M CN3) = <* <*(CN3 . 1)*>, <*(CN3 . 2)*>, <*(CN3 . 3)*>*> by A63, DEF1;

                

                then

                 A71: (( F2M CN3) . 2) = <*(CN3 . 2)*> by FINSEQ_1: 45

                .= <*((N * (PQR @ )) * (2,3))*> by A13, FINSEQ_1: 1, MATRIX_0:def 8;

                

                 A72: <*((N * (PQR @ )) * (2,3))*> = <*(( Line (N,2)) "*" ( Col ((PQR @ ),3)))*> by A12, MATRIX_3:def 4, A14, Th1;

                

                 A73: 1 in ( Seg 3) & (N * ( <*rf*> @ )) is Matrix of 3, 1, F_Real by FINSEQ_1: 1, A10, A3, Th74, FINSEQ_2: 133;

                ( Line ((N * ( <*rf*> @ )),2)) = <*(( Line (N,2)) "*" ( Col ((PQR @ ),3)))*>

                proof

                  2 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

                  then

                   A74: [2, 1] in ( Indices (N * ( <*rf*> @ ))) by A25, ZFMISC_1: 87;

                  ( Line ((N * ( <*rf*> @ )),2)) = <*((N * ( <*rf*> @ )) * (2,1))*> by A11, A3, Th75

                  .= <*(( Line (N,2)) "*" ( Col (( <*rf*> @ ),1)))*> by A20, A74, MATRIX_3:def 4;

                  hence thesis by A3, A8, Th76;

                end;

                hence thesis by A70, A73, FINSEQ_1: 1, MATRIX_0: 52, A72, A71;

              end;

                suppose

                 A75: y = 3;

                ( F2M CN3) = <* <*(CN3 . 1)*>, <*(CN3 . 2)*>, <*(CN3 . 3)*>*> by A63, DEF1;

                

                then

                 A76: (( F2M CN3) . 3) = <*(CN3 . 3)*> by FINSEQ_1: 45

                .= <*((N * (PQR @ )) * (3,3))*> by A13, FINSEQ_1: 1, MATRIX_0:def 8;

                

                 A77: <*((N * (PQR @ )) * (3,3))*> = <*(( Line (N,3)) "*" ( Col ((PQR @ ),3)))*> by A14, Th1, A12, MATRIX_3:def 4;

                

                 A78: 3 in ( Seg 3) & (N * ( <*rf*> @ )) is Matrix of 3, 1, F_Real by FINSEQ_1: 1, A10, FINSEQ_2: 133, A3, Th74;

                ( Line ((N * ( <*rf*> @ )),3)) = <*(( Line (N,3)) "*" ( Col ((PQR @ ),3)))*>

                proof

                  3 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

                  then

                   A79: [3, 1] in ( Indices (N * ( <*rf*> @ ))) by A25, ZFMISC_1: 87;

                  ( Line ((N * ( <*rf*> @ )),3)) = <*((N * ( <*rf*> @ )) * (3,1))*> by A3, A11, Th75

                  .= <*(( Line (N,3)) "*" ( Col (( <*rf*> @ ),1)))*> by A20, A79, MATRIX_3:def 4;

                  hence thesis by Th76, A3, A8;

                end;

                hence thesis by A77, A75, A78, MATRIX_0: 52, A76;

              end;

            end;

          end;

          hence thesis by FUNCT_1:def 11;

        end;

        hence thesis by A9, MATRIX_6:def 2, Th55, EUCLID_8:def 3;

      end;

      hence (N * rf) = ( F2M <e3> ) by LAPLACE:def 9;

    end;

    theorem :: ANPROJ_8:95

    

     Th77: for pf,qf,rf be FinSequence of F_Real holds for pt,qt,rt be FinSequence of (1 -tuples_on REAL ) st PQR = <* <*(p `1 ), (q `1 ), (r `1 )*>, <*(p `2 ), (q `2 ), (r `2 )*>, <*(p `3 ), (q `3 ), (r `3 )*>*> & p = pf & q = qf & r = rf & pt = (M * pf) & qt = (M * qf) & rt = (M * rf) holds ((M * PQR) @ ) = <*( M2F pt), ( M2F qt), ( M2F rt)*>

    proof

      let pf,qf,rf be FinSequence of F_Real ;

      let pt,qt,rt be FinSequence of (1 -tuples_on REAL );

      assume that

       A1: PQR = <* <*(p `1 ), (q `1 ), (r `1 )*>, <*(p `2 ), (q `2 ), (r `2 )*>, <*(p `3 ), (q `3 ), (r `3 )*>*> and

       A2: p = pf and

       A3: q = qf and

       A4: r = rf and

       A5: pt = (M * pf) and

       A6: qt = (M * qf) and

       A7: rt = (M * rf);

      

       A8: (PQR @ ) = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*> by A1, Th19;

      

       A9: ( len PQR) = 3 by MATRIX_0: 24;

      

       A10: ( width PQR) = 3 by MATRIX_0: 23;

      

       A11: ( Indices (M * PQR)) = [:( Seg 3), ( Seg 3):] by MATRIX_0: 24;

      ( len (PQR @ )) = 3 by MATRIX_0: 23;

      then

       A12: ( dom (PQR @ )) = ( Seg 3) by FINSEQ_1:def 3;

      

      then

       A13: ( Col (((PQR @ ) @ ),1)) = ( Line ((PQR @ ),1)) by FINSEQ_1: 1, MATRIX_0: 58

      .= p by A8, Th60;

      

       A14: ( Col (((PQR @ ) @ ),2)) = ( Line ((PQR @ ),2)) by A12, FINSEQ_1: 1, MATRIX_0: 58

      .= q by A8, Th60;

      

       A15: ( Col (((PQR @ ) @ ),3)) = ( Line ((PQR @ ),3)) by A12, FINSEQ_1: 1, MATRIX_0: 58

      .= r by A8, Th60;

      pf in ( TOP-REAL 3) & qf in ( TOP-REAL 3) & rf in ( TOP-REAL 3) by A2, A3, A4;

      then

       A16: pf in ( REAL 3) & qf in ( REAL 3) & rf in ( REAL 3) by EUCLID: 22;

      then

       A17: ( len pf) = 3 & ( len qf) = 3 & ( len rf) = 3 by EUCLID_8: 50;

      

       A18: ( width M) = ( len ( <*pf*> @ )) & ( width M) = ( len ( <*qf*> @ )) & ( width M) = ( len ( <*rf*> @ ))

      proof

        ( width <*pf*>) = 3 by A17, Th61;

        

        then ( len ( <*pf*> @ )) = ( width <*pf*>) by MATRIX_0: 29

        .= ( len pf) by MATRIX_0: 23;

        then ( len ( <*pf*> @ )) = 3 by A16, EUCLID_8: 50;

        hence ( width M) = ( len ( <*pf*> @ )) by MATRIX_0: 23;

        ( width <*qf*>) = 3 by A17, Th61;

        

        then ( len ( <*qf*> @ )) = ( width <*qf*>) by MATRIX_0: 29

        .= ( len qf) by MATRIX_0: 23;

        then ( len ( <*qf*> @ )) = 3 by A16, EUCLID_8: 50;

        hence ( width M) = ( len ( <*qf*> @ )) by MATRIX_0: 23;

        ( width <*rf*>) = 3 by A17, Th61;

        

        then ( len ( <*rf*> @ )) = ( width <*rf*>) by MATRIX_0: 29

        .= ( len rf) by MATRIX_0: 23;

        then ( len ( <*rf*> @ )) = 3 by A16, EUCLID_8: 50;

        hence ( width M) = ( len ( <*rf*> @ )) by MATRIX_0: 23;

      end;

      

       A19: ( len pt) = 3 & ( len qt) = 3 & ( len rt) = 3

      proof

        ( width M) = ( len ( <*pf*> @ )) & ( len M) = 3 by MATRIX_0: 23, A18;

        then ( len (M * ( <*pf*> @ ))) = 3 by MATRIX_3:def 4;

        hence ( len pt) = 3 by A5, LAPLACE:def 9;

        ( width M) = ( len ( <*qf*> @ )) & ( len M) = 3 by A18, MATRIX_0: 23;

        then ( len (M * ( <*qf*> @ ))) = 3 by MATRIX_3:def 4;

        hence ( len qt) = 3 by A6, LAPLACE:def 9;

        ( width M) = ( len ( <*rf*> @ )) & ( len M) = 3 by A18, MATRIX_0: 23;

        then ( len (M * ( <*rf*> @ ))) = 3 by MATRIX_3:def 4;

        hence ( len rt) = 3 by A7, LAPLACE:def 9;

      end;

      set PQRM = <* <*(pt . 1), (pt . 2), (pt . 3)*>, <*(qt . 1), (qt . 2), (qt . 3)*>, <*(rt . 1), (rt . 2), (rt . 3)*>*>;

      

       A20: ( dom (M * PQR)) = ( Seg ( len (M * PQR))) by FINSEQ_1:def 3

      .= ( Seg 3) by MATRIX_0: 24;

      

       A21: ( width (M * PQR)) = 3 by MATRIX_0: 23;

      

       A22: ( len ((M * PQR) @ )) = 3 by MATRIX_0: 23;

      then

       A23: ( dom ((M * PQR) @ )) = ( Seg 3) by FINSEQ_1:def 3;

      

       A24: 1 in ( Seg ( width (M * PQR))) & 2 in ( Seg ( width (M * PQR))) & 3 in ( Seg ( width (M * PQR))) by A21, FINSEQ_1: 1;

      now

        ( len <*( M2F pt), ( M2F qt), ( M2F rt)*>) = 3 by FINSEQ_1: 45;

        hence ( dom ((M * PQR) @ )) = ( dom <*( M2F pt), ( M2F qt), ( M2F rt)*>) by A23, FINSEQ_1:def 3;

        thus for x be object st x in ( dom ((M * PQR) @ )) holds (((M * PQR) @ ) . x) = ( <*( M2F pt), ( M2F qt), ( M2F rt)*> . x)

        proof

          let x be object;

          assume

           A25: x in ( dom ((M * PQR) @ ));

          then

          reconsider y = x as Nat;

          y in ( Seg 3) by A25, A22, FINSEQ_1:def 3;

          then y = 1 or ... or y = 3 by FINSEQ_1: 91;

          per cases ;

            suppose

             A26: y = 1;

            

             A27: (M * ( <*pf*> @ )) is Matrix of 3, 1, F_Real by A16, EUCLID_8: 50, Th74;

            then

             A28: ( Indices (M * ( <*pf*> @ ))) = [:( Seg 3), ( Seg 1):] by MATRIX_0: 23;

             A29:

            now

              thus ( len pt) = 3 by A19;

               <*((M * PQR) * (1,1))*> = (pt . 1)

              proof

                1 in ( Seg 3) by FINSEQ_1: 1;

                then

                 A30: ( width M) = ( len PQR) & [1, 1] in ( Indices (M * PQR)) by A9, MATRIX_0: 23, A11, ZFMISC_1: 87;

                

                 A31: ((M * ( <*pf*> @ )) . 1) = <*(( Line (M,1)) "*" ( Col (PQR,1)))*>

                proof

                  

                   A32: 1 in ( Seg 3) by FINSEQ_1: 1;

                  ( Line ((M * ( <*pf*> @ )),1)) = <*(( Line (M,1)) "*" ( Col (PQR,1)))*>

                  proof

                    1 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

                    then

                     A33: [1, 1] in ( Indices (M * ( <*pf*> @ ))) by A28, ZFMISC_1: 87;

                    ( len pf) = 3 by A16, EUCLID_8: 50;

                    

                    then ( Line ((M * ( <*pf*> @ )),1)) = <*((M * ( <*pf*> @ )) * (1,1))*> by Th75

                    .= <*(( Line (M,1)) "*" ( Col (( <*pf*> @ ),1)))*> by A18, A33, MATRIX_3:def 4

                    .= <*(( Line (M,1)) "*" pf)*> by Th76

                    .= <*(( Line (M,1)) "*" ( Col (PQR,1)))*> by A13, A9, A10, MATRIX_0: 57, A2;

                    hence thesis;

                  end;

                  hence thesis by A32, A27, MATRIX_0: 52;

                end;

                (pt . 1) = ((M * ( <*pf*> @ )) . 1) by A5, LAPLACE:def 9;

                hence thesis by A30, MATRIX_3:def 4, A31;

              end;

              hence <*(( Line ((M * PQR),1)) . 1)*> = (pt . 1) by A24, MATRIX_0:def 7;

               <*((M * PQR) * (2,1))*> = (pt . 2)

              proof

                1 in ( Seg 3) & 2 in ( Seg 3) by FINSEQ_1: 1;

                then

                 A34: ( width M) = ( len PQR) & [2, 1] in ( Indices (M * PQR)) by A9, MATRIX_0: 23, A11, ZFMISC_1: 87;

                

                 A34BIS: ((M * ( <*pf*> @ )) . 2) = <*(( Line (M,2)) "*" ( Col (PQR,1)))*>

                proof

                  

                   A35: 2 in ( Seg 3) by FINSEQ_1: 1;

                  ( Line ((M * ( <*pf*> @ )),2)) = <*(( Line (M,2)) "*" ( Col (PQR,1)))*>

                  proof

                    1 in ( Seg 1) & 2 in ( Seg 3) by FINSEQ_1: 1;

                    then

                     A36: [2, 1] in ( Indices (M * ( <*pf*> @ ))) by A28, ZFMISC_1: 87;

                    ( len pf) = 3 by A16, EUCLID_8: 50;

                    

                    then ( Line ((M * ( <*pf*> @ )),2)) = <*((M * ( <*pf*> @ )) * (2,1))*> by Th75

                    .= <*(( Line (M,2)) "*" ( Col (( <*pf*> @ ),1)))*> by A18, A36, MATRIX_3:def 4

                    .= <*(( Line (M,2)) "*" pf)*> by Th76

                    .= <*(( Line (M,2)) "*" ( Col (PQR,1)))*> by A13, A9, A10, MATRIX_0: 57, A2;

                    hence thesis;

                  end;

                  hence thesis by A35, A27, MATRIX_0: 52;

                end;

                (pt . 2) = ((M * ( <*pf*> @ )) . 2) by A5, LAPLACE:def 9;

                hence thesis by A34, MATRIX_3:def 4, A34BIS;

              end;

              hence <*(( Line ((M * PQR),2)) . 1)*> = (pt . 2) by A24, MATRIX_0:def 7;

               <*((M * PQR) * (3,1))*> = (pt . 3)

              proof

                1 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

                then

                 A37: ( width M) = ( len PQR) & [3, 1] in ( Indices (M * PQR)) by A9, MATRIX_0: 23, A11, ZFMISC_1: 87;

                

                 A38: ((M * ( <*pf*> @ )) . 3) = <*(( Line (M,3)) "*" ( Col (PQR,1)))*>

                proof

                  

                   A39: 3 in ( Seg 3) by FINSEQ_1: 1;

                  ( Line ((M * ( <*pf*> @ )),3)) = <*(( Line (M,3)) "*" ( Col (PQR,1)))*>

                  proof

                    1 in ( Seg 1) & 3 in ( Seg 3) by FINSEQ_1: 1;

                    then

                     A39BIS: [3, 1] in ( Indices (M * ( <*pf*> @ ))) by A28, ZFMISC_1: 87;

                    ( len pf) = 3 by A16, EUCLID_8: 50;

                    

                    then ( Line ((M * ( <*pf*> @ )),3)) = <*((M * ( <*pf*> @ )) * (3,1))*> by Th75

                    .= <*(( Line (M,3)) "*" ( Col (( <*pf*> @ ),1)))*> by A18, A39BIS, MATRIX_3:def 4

                    .= <*(( Line (M,3)) "*" pf)*> by Th76

                    .= <*(( Line (M,3)) "*" ( Col (PQR,1)))*> by A13, A9, A10, MATRIX_0: 57, A2;

                    hence thesis;

                  end;

                  hence thesis by A39, A27, MATRIX_0: 52;

                end;

                (pt . 3) = ((M * ( <*pf*> @ )) . 3) by A5, LAPLACE:def 9;

                hence thesis by A37, MATRIX_3:def 4, A38;

              end;

              hence <*(( Line ((M * PQR),3)) . 1)*> = (pt . 3) by A24, MATRIX_0:def 7;

            end;

            

             A40: (( Line ((M * PQR),1)) . 1) = ((M * PQR) * (1,1)) & (( Line ((M * PQR),2)) . 1) = ((M * PQR) * (2,1)) & (( Line ((M * PQR),3)) . 1) = ((M * PQR) * (3,1)) by A24, MATRIX_0:def 7;

            1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

            then [1, 1] in ( Indices (M * PQR)) & [2, 1] in ( Indices (M * PQR)) & [3, 1] in ( Indices (M * PQR)) by A11, ZFMISC_1: 87;

            then

             A41: (((M * PQR) @ ) * (1,1)) = ((M * PQR) * (1,1)) & (((M * PQR) @ ) * (1,2)) = ((M * PQR) * (2,1)) & (((M * PQR) @ ) * (1,3)) = ((M * PQR) * (3,1)) by MATRIX_0:def 6;

            ( width ((M * PQR) @ )) = ( len (M * PQR)) by A21, MATRIX_0: 29;

            then ( Seg ( width ((M * PQR) @ ))) = ( dom (M * PQR)) by FINSEQ_1:def 3;

            then

             A43: (( Line (((M * PQR) @ ),1)) . 1) = (((M * PQR) @ ) * (1,1)) & (( Line (((M * PQR) @ ),1)) . 2) = (((M * PQR) @ ) * (1,2)) & (( Line (((M * PQR) @ ),1)) . 3) = (((M * PQR) @ ) * (1,3)) by A20, FINSEQ_1: 1, MATRIX_0:def 7;

            

             A44: 1 in ( Seg 3) by FINSEQ_1: 1;

            reconsider FMPQR = ( Line (((M * PQR) @ ),1)) as FinSequence of REAL ;

            ( width ((M * PQR) @ )) = 3 by MATRIX_0: 23;

            then

             A45: ( len FMPQR) = 3 by MATRIX_0:def 7;

            

             A46: <* <*(( Line (((M * PQR) @ ),1)) . 1)*>, <*(( Line (((M * PQR) @ ),1)) . 2)*>, <*(( Line (((M * PQR) @ ),1)) . 3)*>*> = ( F2M FMPQR) by A45, DEF1;

            FMPQR = ( M2F ( F2M FMPQR)) by A45, Th70

            .= ( M2F pt) by A46, A43, A41, A29, FINSEQ_1: 45, A40;

            then (((M * PQR) @ ) . 1) = ( M2F pt) by A44, MATRIX_0: 52;

            hence thesis by A26, FINSEQ_1: 45;

          end;

            suppose

             A47: y = 2;

            

             A48: (M * ( <*qf*> @ )) is Matrix of 3, 1, F_Real by A16, EUCLID_8: 50, Th74;

            then

             A49: ( Indices (M * ( <*qf*> @ ))) = [:( Seg 3), ( Seg 1):] by MATRIX_0: 23;

             A50:

            now

              thus ( len qt) = 3 by A19;

               <*((M * PQR) * (1,2))*> = (qt . 1)

              proof

                1 in ( Seg 3) & 2 in ( Seg 3) by FINSEQ_1: 1;

                then

                 A51: ( width M) = ( len PQR) & [1, 2] in ( Indices (M * PQR)) by A9, MATRIX_0: 23, A11, ZFMISC_1: 87;

                

                 A52: ((M * ( <*qf*> @ )) . 1) = <*(( Line (M,1)) "*" ( Col (PQR,2)))*>

                proof

                  

                   A53: 1 in ( Seg 3) by FINSEQ_1: 1;

                  ( Line ((M * ( <*qf*> @ )),1)) = <*(( Line (M,1)) "*" ( Col (PQR,2)))*>

                  proof

                    1 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

                    then

                     A54: [1, 1] in ( Indices (M * ( <*qf*> @ ))) by A49, ZFMISC_1: 87;

                    ( len qf) = 3 by A16, EUCLID_8: 50;

                    

                    then ( Line ((M * ( <*qf*> @ )),1)) = <*((M * ( <*qf*> @ )) * (1,1))*> by Th75

                    .= <*(( Line (M,1)) "*" ( Col (( <*qf*> @ ),1)))*> by A18, A54, MATRIX_3:def 4

                    .= <*(( Line (M,1)) "*" qf)*> by Th76

                    .= <*(( Line (M,1)) "*" ( Col (PQR,2)))*> by A14, A9, A10, MATRIX_0: 57, A3;

                    hence thesis;

                  end;

                  hence thesis by A53, A48, MATRIX_0: 52;

                end;

                (qt . 1) = ((M * ( <*qf*> @ )) . 1) by A6, LAPLACE:def 9;

                hence thesis by A51, MATRIX_3:def 4, A52;

              end;

              hence <*(( Line ((M * PQR),1)) . 2)*> = (qt . 1) by A24, MATRIX_0:def 7;

               <*((M * PQR) * (2,2))*> = (qt . 2)

              proof

                1 in ( Seg 3) & 2 in ( Seg 3) by FINSEQ_1: 1;

                then

                 A55: ( width M) = ( len PQR) & [2, 2] in ( Indices (M * PQR)) by A9, MATRIX_0: 23, A11, ZFMISC_1: 87;

                

                 A56: ((M * ( <*qf*> @ )) . 2) = <*(( Line (M,2)) "*" ( Col (PQR,2)))*>

                proof

                  

                   A57: 2 in ( Seg 3) by FINSEQ_1: 1;

                  ( Line ((M * ( <*qf*> @ )),2)) = <*(( Line (M,2)) "*" ( Col (PQR,2)))*>

                  proof

                    1 in ( Seg 1) & 2 in ( Seg 3) by FINSEQ_1: 1;

                    then

                     A58: [2, 1] in ( Indices (M * ( <*qf*> @ ))) by A49, ZFMISC_1: 87;

                    ( len qf) = 3 by A16, EUCLID_8: 50;

                    

                    then ( Line ((M * ( <*qf*> @ )),2)) = <*((M * ( <*qf*> @ )) * (2,1))*> by Th75

                    .= <*(( Line (M,2)) "*" ( Col (( <*qf*> @ ),1)))*> by A18, A58, MATRIX_3:def 4

                    .= <*(( Line (M,2)) "*" qf)*> by Th76

                    .= <*(( Line (M,2)) "*" ( Col (PQR,2)))*> by A14, A9, A10, MATRIX_0: 57, A3;

                    hence thesis;

                  end;

                  hence thesis by A57, A48, MATRIX_0: 52;

                end;

                (qt . 2) = ((M * ( <*qf*> @ )) . 2) by A6, LAPLACE:def 9;

                hence thesis by A55, MATRIX_3:def 4, A56;

              end;

              hence <*(( Line ((M * PQR),2)) . 2)*> = (qt . 2) by A24, MATRIX_0:def 7;

               <*((M * PQR) * (3,2))*> = (qt . 3)

              proof

                2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

                then

                 A57: ( width M) = ( len PQR) & [3, 2] in ( Indices (M * PQR)) by A9, MATRIX_0: 23, A11, ZFMISC_1: 87;

                

                 A58: ((M * ( <*qf*> @ )) . 3) = <*(( Line (M,3)) "*" ( Col (PQR,2)))*>

                proof

                  

                   A59: 3 in ( Seg 3) by FINSEQ_1: 1;

                  ( Line ((M * ( <*qf*> @ )),3)) = <*(( Line (M,3)) "*" ( Col (PQR,2)))*>

                  proof

                    1 in ( Seg 1) & 3 in ( Seg 3) by FINSEQ_1: 1;

                    then

                     A59BIS: [3, 1] in ( Indices (M * ( <*qf*> @ ))) by A49, ZFMISC_1: 87;

                    ( len qf) = 3 by A16, EUCLID_8: 50;

                    

                    then ( Line ((M * ( <*qf*> @ )),3)) = <*((M * ( <*qf*> @ )) * (3,1))*> by Th75

                    .= <*(( Line (M,3)) "*" ( Col (( <*qf*> @ ),1)))*> by A18, A59BIS, MATRIX_3:def 4

                    .= <*(( Line (M,3)) "*" qf)*> by Th76

                    .= <*(( Line (M,3)) "*" ( Col (PQR,2)))*> by A14, A9, A10, MATRIX_0: 57, A3;

                    hence thesis;

                  end;

                  hence thesis by A59, A48, MATRIX_0: 52;

                end;

                (qt . 3) = ((M * ( <*qf*> @ )) . 3) by A6, LAPLACE:def 9;

                hence thesis by A57, MATRIX_3:def 4, A58;

              end;

              hence <*(( Line ((M * PQR),3)) . 2)*> = (qt . 3) by A24, MATRIX_0:def 7;

            end;

            

             A60: (( Line ((M * PQR),1)) . 2) = ((M * PQR) * (1,2)) & (( Line ((M * PQR),2)) . 2) = ((M * PQR) * (2,2)) & (( Line ((M * PQR),3)) . 2) = ((M * PQR) * (3,2)) by A24, MATRIX_0:def 7;

            1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

            then [1, 2] in ( Indices (M * PQR)) & [2, 2] in ( Indices (M * PQR)) & [3, 2] in ( Indices (M * PQR)) by A11, ZFMISC_1: 87;

            then

             A61: (((M * PQR) @ ) * (2,1)) = ((M * PQR) * (1,2)) & (((M * PQR) @ ) * (2,2)) = ((M * PQR) * (2,2)) & (((M * PQR) @ ) * (2,3)) = ((M * PQR) * (3,2)) by MATRIX_0:def 6;

            ( width ((M * PQR) @ )) = ( len (M * PQR)) by A21, MATRIX_0: 29;

            then ( Seg ( width ((M * PQR) @ ))) = ( dom (M * PQR)) by FINSEQ_1:def 3;

            then

             A62: (( Line (((M * PQR) @ ),2)) . 1) = (((M * PQR) @ ) * (2,1)) & (( Line (((M * PQR) @ ),2)) . 2) = (((M * PQR) @ ) * (2,2)) & (( Line (((M * PQR) @ ),2)) . 3) = (((M * PQR) @ ) * (2,3)) by A20, FINSEQ_1: 1, MATRIX_0:def 7;

            

             A63: 2 in ( Seg 3) by FINSEQ_1: 1;

            reconsider FMPQR = ( Line (((M * PQR) @ ),2)) as FinSequence of REAL ;

            ( width ((M * PQR) @ )) = 3 by MATRIX_0: 23;

            then

             A64: ( len FMPQR) = 3 by MATRIX_0:def 7;

            then

             A65: <* <*(( Line (((M * PQR) @ ),2)) . 1)*>, <*(( Line (((M * PQR) @ ),2)) . 2)*>, <*(( Line (((M * PQR) @ ),2)) . 3)*>*> = ( F2M FMPQR) by DEF1;

            FMPQR = ( M2F ( F2M FMPQR)) by A64, Th70

            .= ( M2F qt) by A65, A62, A61, A50, FINSEQ_1: 45, A60;

            then (((M * PQR) @ ) . 2) = ( M2F qt) by A63, MATRIX_0: 52;

            hence thesis by A47, FINSEQ_1: 45;

          end;

            suppose

             A66: y = 3;

            

             A67: (M * ( <*rf*> @ )) is Matrix of 3, 1, F_Real by A16, EUCLID_8: 50, Th74;

            then

             A68: ( Indices (M * ( <*rf*> @ ))) = [:( Seg 3), ( Seg 1):] by MATRIX_0: 23;

             A69:

            now

              thus ( len rt) = 3 by A19;

               <*((M * PQR) * (1,3))*> = (rt . 1)

              proof

                1 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

                then

                 A70: ( width M) = ( len PQR) & [1, 3] in ( Indices (M * PQR)) by A9, MATRIX_0: 23, A11, ZFMISC_1: 87;

                

                 A71: ((M * ( <*rf*> @ )) . 1) = <*(( Line (M,1)) "*" ( Col (PQR,3)))*>

                proof

                  

                   A72: 1 in ( Seg 3) by FINSEQ_1: 1;

                  ( Line ((M * ( <*rf*> @ )),1)) = <*(( Line (M,1)) "*" ( Col (PQR,3)))*>

                  proof

                    1 in ( Seg 3) & 1 in ( Seg 1) by FINSEQ_1: 1;

                    then

                     A73: [1, 1] in ( Indices (M * ( <*rf*> @ ))) by A68, ZFMISC_1: 87;

                    ( len rf) = 3 by A16, EUCLID_8: 50;

                    

                    then ( Line ((M * ( <*rf*> @ )),1)) = <*((M * ( <*rf*> @ )) * (1,1))*> by Th75

                    .= <*(( Line (M,1)) "*" ( Col (( <*rf*> @ ),1)))*> by A18, A73, MATRIX_3:def 4

                    .= <*(( Line (M,1)) "*" rf)*> by Th76

                    .= <*(( Line (M,1)) "*" ( Col (PQR,3)))*> by A15, A9, A10, MATRIX_0: 57, A4;

                    hence thesis;

                  end;

                  hence thesis by A72, A67, MATRIX_0: 52;

                end;

                (rt . 1) = ((M * ( <*rf*> @ )) . 1) by A7, LAPLACE:def 9;

                hence thesis by A70, MATRIX_3:def 4, A71;

              end;

              hence <*(( Line ((M * PQR),1)) . 3)*> = (rt . 1) by A24, MATRIX_0:def 7;

               <*((M * PQR) * (2,3))*> = (rt . 2)

              proof

                2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

                then

                 A74: ( width M) = ( len PQR) & [2, 3] in ( Indices (M * PQR)) by A9, MATRIX_0: 23, A11, ZFMISC_1: 87;

                

                 A75: ((M * ( <*rf*> @ )) . 2) = <*(( Line (M,2)) "*" ( Col (PQR,3)))*>

                proof

                  

                   A76: 2 in ( Seg 3) by FINSEQ_1: 1;

                  ( Line ((M * ( <*rf*> @ )),2)) = <*(( Line (M,2)) "*" ( Col (PQR,3)))*>

                  proof

                    1 in ( Seg 1) & 2 in ( Seg 3) by FINSEQ_1: 1;

                    then

                     A77: [2, 1] in ( Indices (M * ( <*rf*> @ ))) by A68, ZFMISC_1: 87;

                    ( len rf) = 3 by A16, EUCLID_8: 50;

                    

                    then ( Line ((M * ( <*rf*> @ )),2)) = <*((M * ( <*rf*> @ )) * (2,1))*> by Th75

                    .= <*(( Line (M,2)) "*" ( Col (( <*rf*> @ ),1)))*> by A18, A77, MATRIX_3:def 4

                    .= <*(( Line (M,2)) "*" rf)*> by Th76

                    .= <*(( Line (M,2)) "*" ( Col (PQR,3)))*> by A15, A9, A10, MATRIX_0: 57, A4;

                    hence thesis;

                  end;

                  hence thesis by A76, A67, MATRIX_0: 52;

                end;

                (rt . 2) = ((M * ( <*rf*> @ )) . 2) by A7, LAPLACE:def 9;

                hence thesis by A74, MATRIX_3:def 4, A75;

              end;

              hence <*(( Line ((M * PQR),2)) . 3)*> = (rt . 2) by A24, MATRIX_0:def 7;

               <*((M * PQR) * (3,3))*> = (rt . 3)

              proof

                3 in ( Seg 3) by FINSEQ_1: 1;

                then

                 A78: ( width M) = ( len PQR) & [3, 3] in ( Indices (M * PQR)) by A9, MATRIX_0: 23, A11, ZFMISC_1: 87;

                

                 A79: ((M * ( <*rf*> @ )) . 3) = <*(( Line (M,3)) "*" ( Col (PQR,3)))*>

                proof

                  

                   A80: 3 in ( Seg 3) by FINSEQ_1: 1;

                  ( Line ((M * ( <*rf*> @ )),3)) = <*(( Line (M,3)) "*" ( Col (PQR,3)))*>

                  proof

                    1 in ( Seg 1) & 3 in ( Seg 3) by FINSEQ_1: 1;

                    then

                     A81: [3, 1] in ( Indices (M * ( <*rf*> @ ))) by A68, ZFMISC_1: 87;

                    ( len rf) = 3 by A16, EUCLID_8: 50;

                    

                    then ( Line ((M * ( <*rf*> @ )),3)) = <*((M * ( <*rf*> @ )) * (3,1))*> by Th75

                    .= <*(( Line (M,3)) "*" ( Col (( <*rf*> @ ),1)))*> by A18, A81, MATRIX_3:def 4

                    .= <*(( Line (M,3)) "*" rf)*> by Th76

                    .= <*(( Line (M,3)) "*" ( Col (PQR,3)))*> by A15, A9, A10, MATRIX_0: 57, A4;

                    hence thesis;

                  end;

                  hence thesis by A80, A67, MATRIX_0: 52;

                end;

                (rt . 3) = ((M * ( <*rf*> @ )) . 3) by A7, LAPLACE:def 9;

                hence thesis by A78, MATRIX_3:def 4, A79;

              end;

              hence <*(( Line ((M * PQR),3)) . 3)*> = (rt . 3) by A24, MATRIX_0:def 7;

            end;

            

             A82: (( Line ((M * PQR),1)) . 3) = ((M * PQR) * (1,3)) & (( Line ((M * PQR),2)) . 3) = ((M * PQR) * (2,3)) & (( Line ((M * PQR),3)) . 3) = ((M * PQR) * (3,3)) by A24, MATRIX_0:def 7;

            1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

            then [1, 3] in ( Indices (M * PQR)) & [2, 3] in ( Indices (M * PQR)) & [3, 3] in ( Indices (M * PQR)) by A11, ZFMISC_1: 87;

            then

             A83: (((M * PQR) @ ) * (3,1)) = ((M * PQR) * (1,3)) & (((M * PQR) @ ) * (3,2)) = ((M * PQR) * (2,3)) & (((M * PQR) @ ) * (3,3)) = ((M * PQR) * (3,3)) by MATRIX_0:def 6;

            ( width ((M * PQR) @ )) = ( len (M * PQR)) by A21, MATRIX_0: 29;

            then ( Seg ( width ((M * PQR) @ ))) = ( dom (M * PQR)) by FINSEQ_1:def 3;

            then

             A84: (( Line (((M * PQR) @ ),3)) . 1) = (((M * PQR) @ ) * (3,1)) & (( Line (((M * PQR) @ ),3)) . 2) = (((M * PQR) @ ) * (3,2)) & (( Line (((M * PQR) @ ),3)) . 3) = (((M * PQR) @ ) * (3,3)) by A20, FINSEQ_1: 1, MATRIX_0:def 7;

            3 in ( Seg 3) by FINSEQ_1: 1;

            then

             A85: (((M * PQR) @ ) . 3) = ( Line (((M * PQR) @ ),3)) by MATRIX_0: 52;

            reconsider FMPQR = ( Line (((M * PQR) @ ),3)) as FinSequence of REAL ;

            ( width ((M * PQR) @ )) = 3 by MATRIX_0: 23;

            then

             A86: ( len FMPQR) = 3 by MATRIX_0:def 7;

            then

             A87: <* <*(( Line (((M * PQR) @ ),3)) . 1)*>, <*(( Line (((M * PQR) @ ),3)) . 2)*>, <*(( Line (((M * PQR) @ ),3)) . 3)*>*> = ( F2M FMPQR) by DEF1;

            FMPQR = ( M2F ( F2M FMPQR)) by A86, Th70

            .= ( M2F rt) by A87, A84, A83, A69, FINSEQ_1: 45, A82;

            hence thesis by A85, A66, FINSEQ_1: 45;

          end;

        end;

      end;

      hence thesis by FUNCT_1:def 11;

    end;

    theorem :: ANPROJ_8:96

    for pt,qt,rt be FinSequence of (1 -tuples_on REAL ) st M = <*( M2F pt), ( M2F qt), ( M2F rt)*> & ( Det M) = 0 & ( M2F pt) = p & ( M2F qt) = q & ( M2F rt) = r holds |{p, q, r}| = 0

    proof

      let pt,qt,rt be FinSequence of (1 -tuples_on REAL );

      assume that

       A1: M = <*( M2F pt), ( M2F qt), ( M2F rt)*> and

       A2: ( Det M) = 0 and

       A3: ( M2F pt) = p and

       A4: ( M2F qt) = q and

       A5: ( M2F rt) = r;

      p = <*(p `1 ), (p `2 ), (p `3 )*> & q = <*(q `1 ), (q `2 ), (q `3 )*> & r = <*(r `1 ), (r `2 ), (r `3 )*> by EUCLID_5: 3;

      hence thesis by A2, A1, A3, A4, A5, Th29;

    end;

    theorem :: ANPROJ_8:97

    

     Th78: for pm,qm,rm be Point of ( TOP-REAL 3) holds for pt,qt,rt be FinSequence of (1 -tuples_on REAL ) holds for pf,qf,rf be FinSequence of F_Real st M is invertible & p = pf & q = qf & r = rf & pt = (M * pf) & qt = (M * qf) & rt = (M * rf) & ( M2F pt) = pm & ( M2F qt) = qm & ( M2F rt) = rm holds |{p, q, r}| = 0 iff |{pm, qm, rm}| = 0

    proof

      let pm,qm,rm be Point of ( TOP-REAL 3);

      let pt,qt,rt be FinSequence of (1 -tuples_on REAL );

      let pf,qf,rf be FinSequence of F_Real ;

      assume that

       A1: M is invertible and

       A2: p = pf and

       A3: q = qf and

       A4: r = rf and

       A5: pt = (M * pf) and

       A6: qt = (M * qf) and

       A7: rt = (M * rf) and

       A8: ( M2F pt) = pm and

       A9: ( M2F qt) = qm and

       A10: ( M2F rt) = rm;

      reconsider PQR = <* <*(p `1 ), (p `2 ), (p `3 )*>, <*(q `1 ), (q `2 ), (q `3 )*>, <*(r `1 ), (r `2 ), (r `3 )*>*> as Matrix of 3, F_Real by Th16;

      

       A11: ( Det M) <> ( 0. F_Real ) by A1, LAPLACE: 34;

      

       A12: pm = <*(pm `1 ), (pm `2 ), (pm `3 )*> & qm = <*(qm `1 ), (qm `2 ), (qm `3 )*> & rm = <*(rm `1 ), (rm `2 ), (rm `3 )*> by EUCLID_5: 3;

      p = <*(p `1 ), (p `2 ), (p `3 )*> & q = <*(q `1 ), (q `2 ), (q `3 )*> & r = <*(r `1 ), (r `2 ), (r `3 )*> by EUCLID_5: 3;

      then (PQR @ ) = <* <*(p `1 ), (q `1 ), (r `1 )*>, <*(p `2 ), (q `2 ), (r `2 )*>, <*(p `3 ), (q `3 ), (r `3 )*>*> by Th20;

      then

       A13: ((M * (PQR @ )) @ ) = <*pm, qm, rm*> by A8, A9, A10, A2, A3, A4, A5, A6, A7, Th77;

      

       A14: ( Det ((M * (PQR @ )) @ )) = ( Det (M * (PQR @ ))) by MATRIXR2: 43

      .= (( Det M) * ( Det (PQR @ ))) by MATRIXR2: 45

      .= (( Det M) * ( Det PQR)) by MATRIXR2: 43;

      ( Det PQR) = ( 0. F_Real ) iff ( Det ((M * (PQR @ )) @ )) = ( 0. F_Real )

      proof

        thus ( Det PQR) = ( 0. F_Real ) implies ( Det ((M * (PQR @ )) @ )) = ( 0. F_Real ) by A14;

        assume ( Det ((M * (PQR @ )) @ )) = ( 0. F_Real );

        then ((( Det M) " ) * (( Det M) * ( Det PQR))) = (( Det M) * ( 0. F_Real )) by A14;

        then (((( Det M) " ) * ( Det M)) * ( Det PQR)) = ( 0. F_Real );

        then (( 1. F_Real ) * ( Det PQR)) = ( 0. F_Real ) by A11, VECTSP_1:def 10;

        hence ( Det PQR) = ( 0. F_Real );

      end;

      then |{p, q, r}| = ( 0. F_Real ) iff |{pm, qm, rm}| = ( 0. F_Real ) by A13, A12, Th29;

      hence thesis by STRUCT_0:def 6;

    end;

    theorem :: ANPROJ_8:98

    

     Th79: 0 < m implies for M be Matrix of m, 1, F_Real holds M is FinSequence of (1 -tuples_on REAL )

    proof

      assume

       A0: 0 < m;

      let M be Matrix of m, 1, F_Real ;

      

       A1: ( len M) = m by A0, MATRIX_0: 23;

      ( width M) = 1 by A0, MATRIX_0: 23;

      then

      consider s be FinSequence such that

       A2: s in ( rng M) and

       A3: ( len s) = 1 by A0, A1, MATRIX_0:def 3;

      consider n be Nat such that

       A4: for x be object st x in ( rng M) holds ex s be FinSequence st s = x & ( len s) = n by MATRIX_0:def 1;

      consider s1 be FinSequence such that

       A5: s1 = s and

       A6: ( len s1) = n by A4, A2;

      ( rng M) c= (1 -tuples_on REAL )

      proof

        let x be object;

        assume

         A7: x in ( rng M);

        then

        consider s be FinSequence such that

         A8: s = x and

         A9: ( len s) = n by A4;

        consider n0 be Nat such that

         A10: for x be object st x in ( rng M) holds ex p be FinSequence of F_Real st x = p & ( len p) = n0 by MATRIX_0: 9;

        consider p be FinSequence of F_Real such that

         A11: x = p and ( len p) = n0 by A10, A7;

        ( rng p) c= REAL ;

        hence thesis by A11, A8, A9, A5, A6, A3, FINSEQ_2: 132;

      end;

      hence thesis by FINSEQ_1:def 4;

    end;

    theorem :: ANPROJ_8:99

    

     Th80: for uf be FinSequence of F_Real st ( len uf) = 3 holds ( <*uf*> @ ) = (( 1. ( F_Real ,3)) * ( <*uf*> @ ))

    proof

      let uf be FinSequence of F_Real ;

      assume

       A1: ( len uf) = 3;

      then

       A2: ( <*uf*> @ ) = <* <*(uf . 1)*>, <*(uf . 2)*>, <*(uf . 3)*>*> by Th63;

      then

       A3: ( len ( <*uf*> @ )) = 3 by FINSEQ_1: 45;

      set M = ( 1. ( F_Real ,3));

      uf is 3 -element by A1, CARD_1:def 7;

      then

       A4: uf in ( REAL 3) by EUCLID_9: 2;

      now

        

         A5: (M * ( <*uf*> @ )) is Matrix of 3, 1, F_Real by A4, EUCLID_8: 50, Th74;

        hence ( len (( 1. ( F_Real ,3)) * ( <*uf*> @ ))) = 3 by MATRIX_0: 23;

        thus ((( 1. ( F_Real ,3)) * ( <*uf*> @ )) . 1) = <*(uf . 1)*>

        proof

          1 in ( Seg 3) by FINSEQ_1: 1;

          then

           A6: ((M * ( <*uf*> @ )) . 1) = ( Line ((M * ( <*uf*> @ )),1)) by A5, MATRIX_0: 52;

          now

            

            thus ( len ( Line ((M * ( <*uf*> @ )),1))) = ( width (M * ( <*uf*> @ ))) by MATRIX_0:def 7

            .= 1 by A5, MATRIX_0: 23;

            thus (( Line ((M * ( <*uf*> @ )),1)) . 1) = (uf . 1)

            proof

              

               A7: [1, 1] in ( Indices (M * ( <*uf*> @ ))) by A5, MATRIX_0: 23, Th2;

              

               A8: ( width M) = ( len ( <*uf*> @ )) by A3, MATRIX_0: 23;

              reconsider a1 = 1, a2 = 0 as Element of F_Real ;

              

               A9: ( Line (M,1)) = <*a1, a2, a2*> & uf = <*(uf . 1), (uf . 2), (uf . 3)*> by Th56, A1, FINSEQ_1: 45;

              ( dom uf) = ( Seg 3) by A1, FINSEQ_1:def 3;

              then

              reconsider uf1 = (uf . 1), uf2 = (uf . 2), uf3 = (uf . 3) as Element of F_Real by FINSEQ_1: 1, FINSEQ_2: 11;

              

               A10: (( Line (M,1)) "*" uf) = (((a1 * uf1) + (a2 * uf2)) + (a2 * uf3)) by A9, Th6

              .= (uf . 1);

              1 in ( Seg 1) by FINSEQ_1: 1;

              then 1 in ( Seg ( width (M * ( <*uf*> @ )))) by A5, MATRIX_0: 23;

              

              then (( Line ((M * ( <*uf*> @ )),1)) . 1) = ((M * ( <*uf*> @ )) * (1,1)) by MATRIX_0:def 7

              .= (( Line (M,1)) "*" ( Col (( <*uf*> @ ),1))) by A7, A8, MATRIX_3:def 4

              .= (( Line (M,1)) "*" uf) by Th76;

              hence thesis by A10;

            end;

          end;

          hence thesis by A6, FINSEQ_1: 40;

        end;

        thus ((( 1. ( F_Real ,3)) * ( <*uf*> @ )) . 2) = <*(uf . 2)*>

        proof

          2 in ( Seg 3) by FINSEQ_1: 1;

          then

           A11: ((M * ( <*uf*> @ )) . 2) = ( Line ((M * ( <*uf*> @ )),2)) by A5, MATRIX_0: 52;

          now

            

            thus ( len ( Line ((M * ( <*uf*> @ )),2))) = ( width (M * ( <*uf*> @ ))) by MATRIX_0:def 7

            .= 1 by A5, MATRIX_0: 23;

            thus (( Line ((M * ( <*uf*> @ )),2)) . 1) = (uf . 2)

            proof

              

               A12: [2, 1] in ( Indices (M * ( <*uf*> @ ))) by A5, MATRIX_0: 23, Th2;

              

               A13: ( width M) = ( len ( <*uf*> @ )) by A3, MATRIX_0: 23;

              reconsider a1 = 1, a2 = 0 as Element of F_Real ;

              

               A14: ( Line (M,2)) = <*a2, a1, a2*> & uf = <*(uf . 1), (uf . 2), (uf . 3)*> by Th56, A1, FINSEQ_1: 45;

              ( dom uf) = ( Seg 3) by A1, FINSEQ_1:def 3;

              then

              reconsider uf1 = (uf . 1), uf2 = (uf . 2), uf3 = (uf . 3) as Element of F_Real by FINSEQ_1: 1, FINSEQ_2: 11;

              

               A15: (( Line (M,2)) "*" uf) = (((a2 * uf1) + (a1 * uf2)) + (a2 * uf3)) by A14, Th6

              .= (uf . 2);

              1 in ( Seg 1) by FINSEQ_1: 1;

              then 1 in ( Seg ( width (M * ( <*uf*> @ )))) by A5, MATRIX_0: 23;

              

              then (( Line ((M * ( <*uf*> @ )),2)) . 1) = ((M * ( <*uf*> @ )) * (2,1)) by MATRIX_0:def 7

              .= (( Line (M,2)) "*" ( Col (( <*uf*> @ ),1))) by A12, A13, MATRIX_3:def 4

              .= (( Line (M,2)) "*" uf) by Th76;

              hence thesis by A15;

            end;

          end;

          hence thesis by A11, FINSEQ_1: 40;

        end;

        thus ((( 1. ( F_Real ,3)) * ( <*uf*> @ )) . 3) = <*(uf . 3)*>

        proof

          3 in ( Seg 3) by FINSEQ_1: 1;

          then

           A16: ((M * ( <*uf*> @ )) . 3) = ( Line ((M * ( <*uf*> @ )),3)) by A5, MATRIX_0: 52;

          now

            

            thus ( len ( Line ((M * ( <*uf*> @ )),3))) = ( width (M * ( <*uf*> @ ))) by MATRIX_0:def 7

            .= 1 by A5, MATRIX_0: 23;

            thus (( Line ((M * ( <*uf*> @ )),3)) . 1) = (uf . 3)

            proof

              

               A17: [3, 1] in ( Indices (M * ( <*uf*> @ ))) by A5, MATRIX_0: 23, Th2;

              

               A18: ( width M) = ( len ( <*uf*> @ )) by A3, MATRIX_0: 23;

              reconsider a1 = 1, a2 = 0 as Element of F_Real ;

              

               A19: ( Line (M,3)) = <*a2, a2, a1*> & uf = <*(uf . 1), (uf . 2), (uf . 3)*> by Th56, A1, FINSEQ_1: 45;

              ( dom uf) = ( Seg 3) by A1, FINSEQ_1:def 3;

              then

              reconsider uf1 = (uf . 1), uf2 = (uf . 2), uf3 = (uf . 3) as Element of F_Real by FINSEQ_1: 1, FINSEQ_2: 11;

              

               A20: (( Line (M,3)) "*" uf) = (((a2 * uf1) + (a2 * uf2)) + (a1 * uf3)) by A19, Th6

              .= (uf . 3);

              1 in ( Seg 1) by FINSEQ_1: 1;

              then 1 in ( Seg ( width (M * ( <*uf*> @ )))) by A5, MATRIX_0: 23;

              

              then (( Line ((M * ( <*uf*> @ )),3)) . 1) = ((M * ( <*uf*> @ )) * (3,1)) by MATRIX_0:def 7

              .= (( Line (M,3)) "*" ( Col (( <*uf*> @ ),1))) by A17, A18, MATRIX_3:def 4

              .= (( Line (M,3)) "*" uf) by Th76;

              hence thesis by A20;

            end;

          end;

          hence thesis by A16, FINSEQ_1: 40;

        end;

      end;

      hence thesis by A2, FINSEQ_1: 45;

    end;

    theorem :: ANPROJ_8:100

    

     Th81: for u be Element of ( TOP-REAL 3) holds for uf be FinSequence of F_Real st u = uf & ( <*uf*> @ ) = <* <* 0 *>, <* 0 *>, <* 0 *>*> holds u = ( 0. ( TOP-REAL 3))

    proof

      let u be Element of ( TOP-REAL 3);

      let uf be FinSequence of F_Real ;

      assume that

       A1: u = uf and

       A2: ( <*uf*> @ ) = <* <* 0 *>, <* 0 *>, <* 0 *>*>;

      u in ( TOP-REAL 3);

      then u in ( REAL 3) by EUCLID: 22;

      then

       A3: u in (3 -tuples_on REAL ) by EUCLID:def 1;

      then

       A4: ( len uf) = 3 by A1, FINSEQ_2: 133;

      ( <*uf*> @ ) = <* <*(uf . 1)*>, <*(uf . 2)*>, <*(uf . 3)*>*> by A3, A1, FINSEQ_2: 133, Th63;

      then <*(uf . 1)*> = <* 0 *> & <*(uf . 2)*> = <* 0 *> & <*(uf . 3)*> = <* 0 *> by A2, FINSEQ_1: 78;

      then (uf . 1) = 0 & (uf . 2) = 0 & (uf . 3) = 0 by FINSEQ_1: 76;

      hence thesis by A1, A4, FINSEQ_1: 45, EUCLID_5: 4;

    end;

    theorem :: ANPROJ_8:101

    

     Th82: for N be invertible Matrix of 3, F_Real holds for u,mu be Element of ( TOP-REAL 3) holds for uf be FinSequence of F_Real holds for ut be FinSequence of (1 -tuples_on REAL ) st u is non zero & u = uf & ut = (N * uf) & mu = ( M2F ut) holds mu is non zero

    proof

      let N be invertible Matrix of 3, F_Real ;

      let u,mu be Element of ( TOP-REAL 3);

      let uf be FinSequence of F_Real ;

      let ut be FinSequence of (1 -tuples_on REAL );

      assume that

       A1: u is non zero and

       A2: u = uf and

       A3: ut = (N * uf) and

       A4: mu = ( M2F ut);

      uf in ( TOP-REAL 3) by A2;

      then

       A5: uf in ( REAL 3) by EUCLID: 22;

      

       A6: ( len uf) = 3 by A5, EUCLID_8: 50;

      

       A7: ( width <*uf*>) = 3 by A6, Th61;

      

      then

       A8: ( len ( <*uf*> @ )) = ( width <*uf*>) by MATRIX_0: 29

      .= ( len uf) by MATRIX_0: 23;

      then

       A9: ( len ( <*uf*> @ )) = 3 by A5, EUCLID_8: 50;

      

       A10: ( len <*uf*>) = 1 by MATRIX_0: 23;

      then

       A11: ( len ( <*uf*> @ )) = 3 & ( width ( <*uf*> @ )) = 1 by A7, MATRIX_0: 29;

      ( width N) = 3 by MATRIX_0: 24;

      then ( len (N * ( <*uf*> @ ))) = ( len N) & ( width (N * ( <*uf*> @ ))) = ( width ( <*uf*> @ )) by A11, MATRIX_3:def 4;

      then

       A12: ( len (N * ( <*uf*> @ ))) = 3 & ( width (N * ( <*uf*> @ ))) = 1 by A10, A7, MATRIX_0: 29, MATRIX_0: 24;

      

       A13: ( width N) = 3 by MATRIX_0: 24

      .= ( len ( <*uf*> @ )) by A8, A5, EUCLID_8: 50;

      

       A14: ( len ut) = ( len (N * ( <*uf*> @ ))) by A3, LAPLACE:def 9

      .= ( len N) by A13, MATRIX_3:def 4

      .= 3 by MATRIX_0: 23;

      assume

       A15: mu is zero;

      reconsider MU = ( M2F ut) as FinSequence of REAL ;

      

       A16: ut = ( F2M MU) by A14, Th69

      .= <* <* 0 *>, <* 0 *>, <* 0 *>*> by A15, A4, EUCLID_5: 4, Th65;

      

       A17: (N ~ ) is_reverse_of N by MATRIX_6:def 4;

      

       A18: ( width (N ~ )) = 3 by MATRIX_0: 24;

      

       A19: ( len N) = 3 & ( width N) = 3 by MATRIX_0: 24;

      

       A20: (( 1. ( F_Real ,3)) * ( <*uf*> @ )) = (((N ~ ) * N) * ( <*uf*> @ )) by A17, MATRIX_6:def 2

      .= ((N ~ ) * (N * ( <*uf*> @ ))) by A9, A18, A19, MATRIX_3: 33;

      

       A21: (N * ( <*uf*> @ )) is Matrix of 3, 1, F_Real by A12, MATRIX_0: 20;

      (N * ( <*uf*> @ )) = <* <* 0 *>, <* 0 *>, <* 0 *>*> by LAPLACE:def 9, A3, A16;

      then ((N ~ ) * (N * ( <*uf*> @ ))) = <* <* 0 *>, <* 0 *>, <* 0 *>*> by Th7, A21;

      then ( <*uf*> @ ) = <* <* 0 *>, <* 0 *>, <* 0 *>*> by A20, Th80, A5, EUCLID_8: 50;

      hence thesis by A1, A2, Th81;

    end;

    definition

      let N be invertible Matrix of 3, F_Real ;

      :: ANPROJ_8:def4

      func homography (N) -> Function of ( ProjectiveSpace ( TOP-REAL 3)), ( ProjectiveSpace ( TOP-REAL 3)) means

      : DEF4: for x be Point of ( ProjectiveSpace ( TOP-REAL 3)) holds ex u,v be Element of ( TOP-REAL 3), uf be FinSequence of F_Real , p be FinSequence of (1 -tuples_on REAL ) st x = ( Dir u) & not u is zero & u = uf & p = (N * uf) & v = ( M2F p) & not v is zero & (it . x) = ( Dir v);

      existence

      proof

        defpred P[ object, object] means ex x be Point of ( ProjectiveSpace ( TOP-REAL 3)) st x = $1 & ex u,v be Element of ( TOP-REAL 3), uf be FinSequence of F_Real , p be FinSequence of (1 -tuples_on REAL ) st x = ( Dir u) & not u is zero & u = uf & p = (N * uf) & v = ( M2F p) & not v is zero & $2 = ( Dir v);

        

         A1: for x be object st x in the carrier of ( ProjectiveSpace ( TOP-REAL 3)) holds ex y be object st y in the carrier of ( ProjectiveSpace ( TOP-REAL 3)) & P[x, y]

        proof

          let x be object;

          assume x in the carrier of ( ProjectiveSpace ( TOP-REAL 3));

          then

          reconsider x1 = x as Element of ( ProjectiveSpace ( TOP-REAL 3));

          consider u be Element of ( TOP-REAL 3) such that

           A2: u is non zero and

           A3: x1 = ( Dir u) by ANPROJ_1: 26;

          reconsider uf = u as FinSequence of F_Real by EUCLID: 24;

          

           A4: (N * ( <*uf*> @ )) is 3, 1 -size by FINSEQ_3: 153, Th74;

          

           A5: (N * ( <*uf*> @ )) is Matrix of 3, 1, F_Real by FINSEQ_3: 153, Th74;

          (N * ( <*uf*> @ )) is FinSequence of (1 -tuples_on REAL ) by A4, Th79;

          then

          reconsider p = (N * uf) as FinSequence of (1 -tuples_on REAL ) by LAPLACE:def 9;

          

           A6: the carrier of ( ProjectiveSpace ( TOP-REAL 3)) = ( ProjectivePoints ( TOP-REAL 3)) by ANPROJ_1: 23;

          ( len p) = ( len (N * ( <*uf*> @ ))) by LAPLACE:def 9

          .= 3 by A5, MATRIX_0: 23;

          then

          reconsider v = ( M2F p) as Element of ( TOP-REAL 3) by Th66;

          set y = ( Dir v);

          

           A7: y is Element of ( ProjectivePoints ( TOP-REAL 3)) by A2, Th82, ANPROJ_1: 21;

          now

            take x1;

            thus x1 = x;

            now

              take u, v, uf, p;

              thus x1 = ( Dir u) by A3;

              thus not u is zero by A2;

              thus u = uf;

              thus p = (N * uf);

              thus v = ( M2F p);

              thus not v is zero by A2, Th82;

              thus y = ( Dir v);

            end;

            hence ex u,v be Element of ( TOP-REAL 3), uf be FinSequence of F_Real , p be FinSequence of (1 -tuples_on REAL ) st x1 = ( Dir u) & not u is zero & u = uf & p = (N * uf) & v = ( M2F p) & not v is zero & y = ( Dir v);

          end;

          hence thesis by A7, A6;

        end;

        ex f be Function of the carrier of ( ProjectiveSpace ( TOP-REAL 3)), the carrier of ( ProjectiveSpace ( TOP-REAL 3)) st for x be object st x in the carrier of ( ProjectiveSpace ( TOP-REAL 3)) holds P[x, (f . x)] from FUNCT_2:sch 1( A1);

        then

        consider f be Function of the carrier of ( ProjectiveSpace ( TOP-REAL 3)), the carrier of ( ProjectiveSpace ( TOP-REAL 3)) such that

         A8: for x be object st x in the carrier of ( ProjectiveSpace ( TOP-REAL 3)) holds P[x, (f . x)];

        for x be Point of ( ProjectiveSpace ( TOP-REAL 3)) holds ex u,v be Element of ( TOP-REAL 3), uf be FinSequence of F_Real , p be FinSequence of (1 -tuples_on REAL ) st x = ( Dir u) & not u is zero & u = uf & p = (N * uf) & v = ( M2F p) & not v is zero & (f . x) = ( Dir v)

        proof

          let x be Point of ( ProjectiveSpace ( TOP-REAL 3));

           P[x, (f . x)] by A8;

          hence thesis;

        end;

        hence thesis;

      end;

      uniqueness

      proof

        let f1,f2 be Function of ( ProjectiveSpace ( TOP-REAL 3)), ( ProjectiveSpace ( TOP-REAL 3)) such that

         A9: for x be Point of ( ProjectiveSpace ( TOP-REAL 3)) holds ex u,v be Element of ( TOP-REAL 3), uf be FinSequence of F_Real , p be FinSequence of (1 -tuples_on REAL ) st x = ( Dir u) & not u is zero & u = uf & p = (N * uf) & v = ( M2F p) & not v is zero & (f1 . x) = ( Dir v) and

         A10: for x be Point of ( ProjectiveSpace ( TOP-REAL 3)) holds ex u,v be Element of ( TOP-REAL 3), uf be FinSequence of F_Real , p be FinSequence of (1 -tuples_on REAL ) st x = ( Dir u) & not u is zero & u = uf & p = (N * uf) & v = ( M2F p) & not v is zero & (f2 . x) = ( Dir v);

        now

          reconsider g1 = f1 as Function of the carrier of ( ProjectiveSpace ( TOP-REAL 3)), the carrier of ( ProjectiveSpace ( TOP-REAL 3));

          ( dom g1) = the carrier of ( ProjectiveSpace ( TOP-REAL 3)) by FUNCT_2:def 1;

          hence ( dom f1) = ( dom f2) by FUNCT_2:def 1;

          hereby

            let x be object;

            assume

             A11: x in ( dom f1);

            then

            consider u1,v1 be Element of ( TOP-REAL 3), uf1 be FinSequence of F_Real , p1 be FinSequence of (1 -tuples_on REAL ) such that

             A12: x = ( Dir u1) and

             A13: not u1 is zero and

             A14: u1 = uf1 and

             A15: p1 = (N * uf1) and

             A16: v1 = ( M2F p1) and not v1 is zero and

             A17: (f1 . x) = ( Dir v1) by A9;

            consider u2,v2 be Element of ( TOP-REAL 3), uf2 be FinSequence of F_Real , p2 be FinSequence of (1 -tuples_on REAL ) such that

             A18: x = ( Dir u2) and

             A19: not u2 is zero and

             A20: u2 = uf2 and

             A21: p2 = (N * uf2) and

             A22: v2 = ( M2F p2) and not v2 is zero and

             A23: (f2 . x) = ( Dir v2) by A11, A10;

             are_Prop (u1,u2) by A12, A13, A18, A19, ANPROJ_1: 22;

            then

            consider a be Real such that

             A24: a <> 0 and

             A25: u1 = (a * u2) by ANPROJ_1: 1;

            

             B01: ( width N) = 3 by MATRIX_0: 23;

             A26:

            now

              ( len uf1) = 3 by A14, FINSEQ_3: 153;

              then ( width <*uf1*>) = 3 by Th61;

              

              hence ( len ( <*uf1*> @ )) = ( width <*uf1*>) by MATRIX_0: 29

              .= ( len uf1) by MATRIX_0: 23

              .= 3 by A14, FINSEQ_3: 153;

            end;

             A27:

            now

              ( len uf2) = 3 by A20, FINSEQ_3: 153;

              then ( width <*uf2*>) = 3 by Th61;

              

              hence ( len ( <*uf2*> @ )) = ( width <*uf2*>) by MATRIX_0: 29

              .= ( len uf2) by MATRIX_0: 23

              .= 3 by A20, FINSEQ_3: 153;

            end;

            

             A28: ( len p2) = ( len (N * ( <*uf2*> @ ))) by A21, LAPLACE:def 9

            .= ( len N) by B01, A27, MATRIX_3:def 4;

            now

              ( M2F p1) = (a * v2)

              proof

                ( len p2) = 3 by A28, MATRIX_0: 23;

                then

                consider q1,q2,q3 be Real such that

                 A29: q1 = ((p2 . 1) . 1) & q2 = ((p2 . 2) . 1) & q3 = ((p2 . 3) . 1) and

                 A30: (a * p2) = <* <*(a * q1)*>, <*(a * q2)*>, <*(a * q3)*>*> by DEF3;

                

                 A31: ( len (a * p2)) = 3 by A30, FINSEQ_1: 45;

                

                 A32: (N * ( <*uf1*> @ )) is Matrix of 3, 1, F_Real by A14, FINSEQ_3: 153, Th74;

                then

                 A33: ( Indices (N * ( <*uf1*> @ ))) = [:( Seg 3), ( Seg 1):] by MATRIX_0: 23;

                

                 A34: (N * ( <*uf2*> @ )) is 3, 1 -size by A20, FINSEQ_3: 153, Th74;

                

                 A35: ( len p1) = ( len (N * ( <*uf1*> @ ))) by A15, LAPLACE:def 9

                .= 3 by A32, MATRIX_0: 23;

                

                 A36: p1 = (a * p2)

                proof

                  p1 = <* <*(a * q1)*>, <*(a * q2)*>, <*(a * q3)*>*>

                  proof

                    

                     A37: p1 = (N * ( <*uf1*> @ )) by A15, LAPLACE:def 9;

                    

                    then

                     A38: ( len p1) = ( len N) by B01, A26, MATRIX_3:def 4

                    .= 3 by MATRIX_0: 23;

                    

                     A39: p2 = (N * ( <*uf2*> @ )) by A21, LAPLACE:def 9;

                    

                     A40: (N * ( <*uf1*> @ )) is Matrix of 3, 1, F_Real by A14, FINSEQ_3: 153, Th74;

                    

                     A41: 1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

                    

                     A42: ( Seg ( width (N * ( <*uf1*> @ )))) = ( Seg 1) by A32, MATRIX_0: 23;

                    

                     A43: (N * ( <*uf2*> @ )) is Matrix of 3, 1, F_Real by A20, FINSEQ_3: 153, Th74;

                    

                     A44: 1 in ( Seg 3) & 2 in ( Seg 3) & 3 in ( Seg 3) by FINSEQ_1: 1;

                    

                     A45: ( Seg ( width (N * ( <*uf2*> @ )))) = ( Seg 1) by A43, MATRIX_0: 23;

                    now

                      thus ( len p1) = 3 by A38;

                      thus (p1 . 1) = <*(a * q1)*>

                      proof

                        

                         A46: [1, 1] in ( Indices (N * ( <*uf2*> @ ))) by Th2, A34, MATRIX_0: 23;

                        

                         A47: (p1 . 1) = ( Line ((N * ( <*uf1*> @ )),1)) by A37, A40, A41, MATRIX_0: 52;

                        

                        then

                         A48: ( len (p1 . 1)) = ( width (N * ( <*uf1*> @ ))) by MATRIX_0:def 7

                        .= 1 by A40, MATRIX_0: 23;

                        

                         A49: ((p1 . 1) . 1) = ((N * ( <*uf1*> @ )) * (1,1)) by A47, FINSEQ_1: 1, A42, MATRIX_0:def 7

                        .= (( Line (N,1)) "*" ( Col (( <*uf1*> @ ),1))) by B01, A26, Th2, A33, MATRIX_3:def 4;

                        

                         A50: (p2 . 1) = ( Line ((N * ( <*uf2*> @ )),1)) by A39, A43, A44, MATRIX_0: 52;

                        

                         A51: ((p2 . 1) . 1) = ((N * ( <*uf2*> @ )) * (1,1)) by A50, FINSEQ_1: 1, A45, MATRIX_0:def 7

                        .= (( Line (N,1)) "*" ( Col (( <*uf2*> @ ),1))) by B01, A46, A27, MATRIX_3:def 4;

                        (( Line (N,1)) "*" ( Col (( <*uf1*> @ ),1))) = (a * (( Line (N,1)) "*" ( Col (( <*uf2*> @ ),1))))

                        proof

                          

                           A52: (u1 `1 ) = (u1 . 1) & (u1 `2 ) = (u1 . 2) & (u1 `3 ) = (u1 . 3) by EUCLID_5:def 1, EUCLID_5:def 2, EUCLID_5:def 3;

                          

                           A53: u1 = |[(u1 . 1), (u1 . 2), (u1 . 3)]| by A52, EUCLID_5: 3;

                          (u2 `1 ) = (u2 . 1) & (u2 `2 ) = (u2 . 2) & (u2 `3 ) = (u2 . 3) by EUCLID_5:def 1, EUCLID_5:def 2, EUCLID_5:def 3;

                          then

                           A54: u2 = |[(u2 . 1), (u2 . 2), (u2 . 3)]| by EUCLID_5: 3;

                          

                           A55: u1 = |[(a * (u2 . 1)), (a * (u2 . 2)), (a * (u2 . 3))]| by A25, A54, EUCLID_5: 8;

                          

                           A56: ( Col (( <*uf1*> @ ),1)) = u1 & ( Col (( <*uf2*> @ ),1)) = u2 by Th76, A14, A20;

                          

                           A57: ( len ( Line (N,1))) = ( width N) by MATRIX_0:def 7

                          .= 3 by MATRIX_0: 23;

                          now

                            thus ( len ( Line (N,1))) = 3 by A57;

                            ( Seg ( width N)) = ( Seg 3) by MATRIX_0: 23;

                            hence (( Line (N,1)) . 1) = (N * (1,1)) & (( Line (N,1)) . 2) = (N * (1,2)) & (( Line (N,1)) . 3) = (N * (1,3)) by FINSEQ_1: 1, MATRIX_0:def 7;

                          end;

                          then

                           A58: ( Line (N,1)) = <*(N * (1,1)), (N * (1,2)), (N * (1,3))*> by FINSEQ_1: 45;

                          reconsider z1 = (u1 . 1), z2 = (u1 . 2), z3 = (u1 . 3), z4 = (u2 . 1), z5 = (u2 . 2), z6 = (u2 . 3) as Element of F_Real by XREAL_0:def 1;

                          

                           A59: (( Line (N,1)) "*" ( Col (( <*uf1*> @ ),1))) = ((((N * (1,1)) * z1) + ((N * (1,2)) * z2)) + ((N * (1,3)) * z3)) by A58, A53, A56, Th6;

                          

                           A60: (( Line (N,1)) "*" ( Col (( <*uf2*> @ ),1))) = ((((N * (1,1)) * z4) + ((N * (1,2)) * z5)) + ((N * (1,3)) * z6)) by A54, A58, A56, Th6;

                          (u1 . 1) = (a * (u2 . 1)) & (u1 . 2) = (a * (u2 . 2)) & (u1 . 3) = (a * (u2 . 3)) by A55, A53, FINSEQ_1: 78;

                          hence thesis by A59, A60;

                        end;

                        hence thesis by A29, A51, A48, FINSEQ_1: 40, A49;

                      end;

                      thus (p1 . 2) = <*(a * q2)*>

                      proof

                        

                         A61: [2, 1] in ( Indices (N * ( <*uf2*> @ ))) by Th2, A34, MATRIX_0: 23;

                        

                         A62: [2, 1] in ( Indices (N * ( <*uf1*> @ ))) by Th2, A32, MATRIX_0: 23;

                        

                         A63: (p1 . 2) = ( Line ((N * ( <*uf1*> @ )),2)) by A37, A40, A41, MATRIX_0: 52;

                        

                        then

                         A64: ( len (p1 . 2)) = ( width (N * ( <*uf1*> @ ))) by MATRIX_0:def 7

                        .= 1 by A40, MATRIX_0: 23;

                        

                         A65: ((p1 . 2) . 1) = ((N * ( <*uf1*> @ )) * (2,1)) by A63, FINSEQ_1: 1, A42, MATRIX_0:def 7

                        .= (( Line (N,2)) "*" ( Col (( <*uf1*> @ ),1))) by B01, A26, A62, MATRIX_3:def 4;

                        (p2 . 2) = ( Line ((N * ( <*uf2*> @ )),2)) by A39, A43, A44, MATRIX_0: 52;

                        

                        then

                         A66: ((p2 . 2) . 1) = ((N * ( <*uf2*> @ )) * (2,1)) by FINSEQ_1: 1, A45, MATRIX_0:def 7

                        .= (( Line (N,2)) "*" ( Col (( <*uf2*> @ ),1))) by B01, A27, A61, MATRIX_3:def 4;

                        (( Line (N,2)) "*" ( Col (( <*uf1*> @ ),1))) = (a * (( Line (N,2)) "*" ( Col (( <*uf2*> @ ),1))))

                        proof

                          (u1 `1 ) = (u1 . 1) & (u1 `2 ) = (u1 . 2) & (u1 `3 ) = (u1 . 3) by EUCLID_5:def 1, EUCLID_5:def 2, EUCLID_5:def 3;

                          then

                           A67: u1 = |[(u1 . 1), (u1 . 2), (u1 . 3)]| by EUCLID_5: 3;

                          (u2 `1 ) = (u2 . 1) & (u2 `2 ) = (u2 . 2) & (u2 `3 ) = (u2 . 3) by EUCLID_5:def 1, EUCLID_5:def 2, EUCLID_5:def 3;

                          then

                           A68: u2 = |[(u2 . 1), (u2 . 2), (u2 . 3)]| by EUCLID_5: 3;

                          then

                           A69: u1 = |[(a * (u2 . 1)), (a * (u2 . 2)), (a * (u2 . 3))]| by A25, EUCLID_5: 8;

                          

                           A70: ( Col (( <*uf1*> @ ),1)) = u1 & ( Col (( <*uf2*> @ ),1)) = u2 by Th76, A14, A20;

                          

                           A71: ( len ( Line (N,2))) = ( width N) by MATRIX_0:def 7

                          .= 3 by MATRIX_0: 23;

                          now

                            thus ( len ( Line (N,2))) = 3 by A71;

                            ( Seg ( width N)) = ( Seg 3) by MATRIX_0: 23;

                            hence (( Line (N,2)) . 1) = (N * (2,1)) & (( Line (N,2)) . 2) = (N * (2,2)) & (( Line (N,2)) . 3) = (N * (2,3)) by FINSEQ_1: 1, MATRIX_0:def 7;

                          end;

                          then

                           A72: ( Line (N,2)) = <*(N * (2,1)), (N * (2,2)), (N * (2,3))*> by FINSEQ_1: 45;

                          reconsider z1 = (u1 . 1), z2 = (u1 . 2), z3 = (u1 . 3), z4 = (u2 . 1), z5 = (u2 . 2), z6 = (u2 . 3) as Element of F_Real by XREAL_0:def 1;

                          

                           A73: (( Line (N,2)) "*" ( Col (( <*uf1*> @ ),1))) = ((((N * (2,1)) * z1) + ((N * (2,2)) * z2)) + ((N * (2,3)) * z3)) by A72, A67, A70, Th6;

                          

                           A74: (( Line (N,2)) "*" ( Col (( <*uf2*> @ ),1))) = ((((N * (2,1)) * z4) + ((N * (2,2)) * z5)) + ((N * (2,3)) * z6)) by A68, A72, A70, Th6;

                          (u1 . 1) = (a * (u2 . 1)) & (u1 . 2) = (a * (u2 . 2)) & (u1 . 3) = (a * (u2 . 3)) by A69, A67, FINSEQ_1: 78;

                          hence thesis by A73, A74;

                        end;

                        hence thesis by A64, FINSEQ_1: 40, A65, A29, A66;

                      end;

                      thus (p1 . 3) = <*(a * q3)*>

                      proof

                        

                         A75: [3, 1] in ( Indices (N * ( <*uf2*> @ ))) by Th2, A34, MATRIX_0: 23;

                        

                         A76: [3, 1] in ( Indices (N * ( <*uf1*> @ ))) by Th2, A32, MATRIX_0: 23;

                        

                         A77: (p1 . 3) = ((N * ( <*uf1*> @ )) . 3) by A15, LAPLACE:def 9

                        .= ( Line ((N * ( <*uf1*> @ )),3)) by A40, A41, MATRIX_0: 52;

                        

                        then

                         A78: ( len (p1 . 3)) = ( width (N * ( <*uf1*> @ ))) by MATRIX_0:def 7

                        .= 1 by A40, MATRIX_0: 23;

                        

                         A79: ((p1 . 3) . 1) = ((N * ( <*uf1*> @ )) * (3,1)) by A77, FINSEQ_1: 1, A42, MATRIX_0:def 7

                        .= (( Line (N,3)) "*" ( Col (( <*uf1*> @ ),1))) by B01, A26, A76, MATRIX_3:def 4;

                        (p2 . 3) = ((N * ( <*uf2*> @ )) . 3) by A21, LAPLACE:def 9

                        .= ( Line ((N * ( <*uf2*> @ )),3)) by A43, A44, MATRIX_0: 52;

                        

                        then

                         A80: ((p2 . 3) . 1) = ((N * ( <*uf2*> @ )) * (3,1)) by FINSEQ_1: 1, A45, MATRIX_0:def 7

                        .= (( Line (N,3)) "*" ( Col (( <*uf2*> @ ),1))) by B01, A27, A75, MATRIX_3:def 4;

                        (( Line (N,3)) "*" ( Col (( <*uf1*> @ ),1))) = (a * (( Line (N,3)) "*" ( Col (( <*uf2*> @ ),1))))

                        proof

                          (u1 `1 ) = (u1 . 1) & (u1 `2 ) = (u1 . 2) & (u1 `3 ) = (u1 . 3) by EUCLID_5:def 1, EUCLID_5:def 2, EUCLID_5:def 3;

                          then

                           A81: u1 = |[(u1 . 1), (u1 . 2), (u1 . 3)]| by EUCLID_5: 3;

                          (u2 `1 ) = (u2 . 1) & (u2 `2 ) = (u2 . 2) & (u2 `3 ) = (u2 . 3) by EUCLID_5:def 1, EUCLID_5:def 2, EUCLID_5:def 3;

                          then

                           A82: u2 = |[(u2 . 1), (u2 . 2), (u2 . 3)]| by EUCLID_5: 3;

                          

                           A83: u1 = |[(a * (u2 . 1)), (a * (u2 . 2)), (a * (u2 . 3))]| by A25, A82, EUCLID_5: 8;

                          

                           A84: ( Col (( <*uf1*> @ ),1)) = u1 & ( Col (( <*uf2*> @ ),1)) = u2 by Th76, A14, A20;

                          

                           A85: ( len ( Line (N,3))) = ( width N) by MATRIX_0:def 7

                          .= 3 by MATRIX_0: 23;

                          now

                            thus ( len ( Line (N,3))) = 3 by A85;

                            ( Seg ( width N)) = ( Seg 3) by MATRIX_0: 23;

                            hence (( Line (N,3)) . 1) = (N * (3,1)) & (( Line (N,3)) . 2) = (N * (3,2)) & (( Line (N,3)) . 3) = (N * (3,3)) by FINSEQ_1: 1, MATRIX_0:def 7;

                          end;

                          then

                           A86: ( Line (N,3)) = <*(N * (3,1)), (N * (3,2)), (N * (3,3))*> by FINSEQ_1: 45;

                          reconsider z1 = (u1 . 1), z2 = (u1 . 2), z3 = (u1 . 3), z4 = (u2 . 1), z5 = (u2 . 2), z6 = (u2 . 3) as Element of F_Real by XREAL_0:def 1;

                          

                           A87: (( Line (N,3)) "*" ( Col (( <*uf1*> @ ),1))) = ((((N * (3,1)) * z1) + ((N * (3,2)) * z2)) + ((N * (3,3)) * z3)) by A86, A81, A84, Th6;

                          

                           A88: (( Line (N,3)) "*" ( Col (( <*uf2*> @ ),1))) = ((((N * (3,1)) * z4) + ((N * (3,2)) * z5)) + ((N * (3,3)) * z6)) by A82, A86, A84, Th6;

                          (u1 . 1) = (a * (u2 . 1)) & (u1 . 2) = (a * (u2 . 2)) & (u1 . 3) = (a * (u2 . 3)) by A83, A81, FINSEQ_1: 78;

                          hence thesis by A87, A88;

                        end;

                        hence thesis by A78, A79, A29, A80, FINSEQ_1: 40;

                      end;

                    end;

                    hence thesis by FINSEQ_1: 45;

                  end;

                  hence thesis by A30;

                end;

                (a * v2) = ( M2F (a * p2)) by A28, MATRIX_0: 23, A22, Th67

                .= <*((p1 . 1) . 1), ((p1 . 2) . 1), ((p1 . 3) . 1)*> by A31, DEF2, A36;

                hence thesis by A35, DEF2;

              end;

              hence v1 = (a * v2) by A16;

              thus v1 is non zero by A13, A14, A15, A16, Th82;

              thus v2 is non zero by A19, A20, A21, A22, Th82;

            end;

            then are_Prop (v1,v2) & not v1 is zero & not v2 is zero by A24, ANPROJ_1: 1;

            hence (f1 . x) = (f2 . x) by A17, A23, ANPROJ_1: 22;

          end;

        end;

        hence thesis by FUNCT_1:def 11;

      end;

    end

    theorem :: ANPROJ_8:102

    for N be invertible Matrix of 3, F_Real holds for p,q,r be Point of ( ProjectiveSpace ( TOP-REAL 3)) holds (p,q,r) are_collinear iff ((( homography N) . p),(( homography N) . q),(( homography N) . r)) are_collinear

    proof

      let N be invertible Matrix of 3, F_Real ;

      let p,q,r be Point of ( ProjectiveSpace ( TOP-REAL 3));

      thus (p,q,r) are_collinear implies ((( homography N) . p),(( homography N) . q),(( homography N) . r)) are_collinear

      proof

        assume

         A1: (p,q,r) are_collinear ;

        consider up,vp be Element of ( TOP-REAL 3), ufp be FinSequence of F_Real , pp be FinSequence of (1 -tuples_on REAL ) such that

         A2: p = ( Dir up) and

         A3: not up is zero and

         A4: up = ufp and

         A5: pp = (N * ufp) and

         A6: vp = ( M2F pp) and not vp is zero and

         A7: (( homography N) . p) = ( Dir vp) by DEF4;

        consider uq,vq be Element of ( TOP-REAL 3), ufq be FinSequence of F_Real , pq be FinSequence of (1 -tuples_on REAL ) such that

         A8: q = ( Dir uq) and

         A9: not uq is zero and

         A10: uq = ufq and

         A11: pq = (N * ufq) and

         A12: vq = ( M2F pq) and not vq is zero and

         A13: (( homography N) . q) = ( Dir vq) by DEF4;

        consider ur,vr be Element of ( TOP-REAL 3), ufr be FinSequence of F_Real , pr be FinSequence of (1 -tuples_on REAL ) such that

         A14: r = ( Dir ur) and

         A15: not ur is zero and

         A16: ur = ufr and

         A17: pr = (N * ufr) and

         A18: vr = ( M2F pr) and not vr is zero and

         A19: (( homography N) . r) = ( Dir vr) by DEF4;

        consider u,v,w be Element of ( TOP-REAL 3) such that

         A20: p = ( Dir u) and

         A21: q = ( Dir v) and

         A22: r = ( Dir w) and

         A23: not u is zero and

         A24: not v is zero and

         A25: not w is zero and

         A26: (u,v,w) are_LinDep by A1, ANPROJ_2: 23;

        

         A27: |{u, v, w}| = 0 by A26, Th37;

         are_Prop (up,u) by A20, A2, A23, A3, ANPROJ_1: 22;

        then

        consider ap be Real such that ap <> 0 and

         A28: up = (ap * u) by ANPROJ_1: 1;

         are_Prop (uq,v) by A8, A21, A24, A9, ANPROJ_1: 22;

        then

        consider aq be Real such that aq <> 0 and

         A29: uq = (aq * v) by ANPROJ_1: 1;

         are_Prop (ur,w) by A22, A14, A25, A15, ANPROJ_1: 22;

        then

        consider ar be Real such that ar <> 0 and

         A30: ur = (ar * w) by ANPROJ_1: 1;

        

         A31: |{up, uq, ur}| = (ap * |{u, (aq * v), (ar * w)}|) by Th26, A28, A29, A30

        .= (ap * (aq * |{u, v, (ar * w)}|)) by Th27

        .= (ap * (aq * (ar * |{u, v, w}|))) by Th28

        .= 0 by A27;

        reconsider pf = up, qf = uq, rf = ur as FinSequence of F_Real by EUCLID: 24;

        

         A32: (N * pf) = (N * ( <*pf*> @ )) & (N * qf) = (N * ( <*qf*> @ )) & (N * rf) = (N * ( <*rf*> @ )) by LAPLACE:def 9;

        

         A33: ( len pf) = 3 & ( len qf) = 3 & ( len rf) = 3 by FINSEQ_3: 153;

        (N * ( <*pf*> @ )) is Matrix of 3, 1, F_Real & (N * ( <*qf*> @ )) is Matrix of 3, 1, F_Real & (N * ( <*rf*> @ )) is Matrix of 3, 1, F_Real by FINSEQ_3: 153, Th74;

        then

        reconsider pt = (N * pf), qt = (N * qf), rt = (N * rf) as FinSequence of (1 -tuples_on REAL ) by A32, Th79;

        

         A34: pt = (N * ( <*pf*> @ )) & qt = (N * ( <*qf*> @ )) & rt = (N * ( <*rf*> @ )) by LAPLACE:def 9;

        

         A35: ( width N) = 3 by MATRIX_0: 23;

        ( width <*pf*>) = 3 by A33, Th61;

        

        then

         A36: ( len ( <*pf*> @ )) = ( width <*pf*>) by MATRIX_0: 29

        .= ( len pf) by MATRIX_0: 23

        .= 3 by FINSEQ_3: 153;

        ( width <*qf*>) = 3 by A33, Th61;

        

        then

         A37: ( len ( <*qf*> @ )) = ( width <*qf*>) by MATRIX_0: 29

        .= ( len qf) by MATRIX_0: 23

        .= 3 by FINSEQ_3: 153;

        ( width <*rf*>) = 3 by A33, Th61;

        

        then ( len ( <*rf*> @ )) = ( width <*rf*>) by MATRIX_0: 29

        .= ( len rf) by MATRIX_0: 23

        .= 3 by FINSEQ_3: 153;

        then ( len pt) = ( len N) & ( len qt) = ( len N) & ( len rt) = ( len N) by A35, A37, A36, A34, MATRIX_3:def 4;

        then

        reconsider pm = ( M2F pt), qm = ( M2F qt), rm = ( M2F rt) as Element of ( TOP-REAL 3) by MATRIX_0: 23, Th66;

        

         A38: |{pm, qm, rm}| = 0 by A31, Th78;

         not pm is zero & not qm is zero & not rm is zero by A3, A9, A15, Th82;

        hence thesis by A38, Th37, ANPROJ_2: 23, A6, A12, A18, A7, A13, A19, A4, A5, A10, A11, A16, A17;

      end;

      thus ((( homography N) . p),(( homography N) . q),(( homography N) . r)) are_collinear implies (p,q,r) are_collinear

      proof

        assume

         A39: ((( homography N) . p),(( homography N) . q),(( homography N) . r)) are_collinear ;

        consider up,vp be Element of ( TOP-REAL 3), ufp be FinSequence of F_Real , pp be FinSequence of (1 -tuples_on REAL ) such that

         A40: p = ( Dir up) and

         A41: not up is zero and

         A42: up = ufp and

         A43: pp = (N * ufp) and

         A44: vp = ( M2F pp) and

         A45: not vp is zero and

         A46: (( homography N) . p) = ( Dir vp) by DEF4;

        consider uq,vq be Element of ( TOP-REAL 3), ufq be FinSequence of F_Real , pq be FinSequence of (1 -tuples_on REAL ) such that

         A47: q = ( Dir uq) and

         A48: not uq is zero and

         A49: uq = ufq and

         A50: pq = (N * ufq) and

         A51: vq = ( M2F pq) and

         A52: not vq is zero and

         A53: (( homography N) . q) = ( Dir vq) by DEF4;

        consider ur,vr be Element of ( TOP-REAL 3), ufr be FinSequence of F_Real , pr be FinSequence of (1 -tuples_on REAL ) such that

         A54: r = ( Dir ur) and

         A55: not ur is zero and

         A56: ur = ufr and

         A57: pr = (N * ufr) and

         A58: vr = ( M2F pr) and

         A59: not vr is zero and

         A60: (( homography N) . r) = ( Dir vr) by DEF4;

        consider u,v,w be Point of ( TOP-REAL 3) such that

         A61: (( homography N) . p) = ( Dir u) and

         A62: (( homography N) . q) = ( Dir v) and

         A63: (( homography N) . r) = ( Dir w) and

         A64: not u is zero & not v is zero & not w is zero and

         A65: (u = v or u = w or v = w or {u, v, w} is linearly-dependent) by A39, Th9;

        (u,v,w) are_LinDep by A65, Th8;

        then |{u, v, w}| = 0 by Th37;

        then |{u, v, vr}| = 0 by A63, A60, A64, Th50, A59;

        then |{u, vq, vr}| = 0 by A62, A53, A64, Th49, A52;

        then |{vp, vq, vr}| = 0 by A61, A46, A64, Th48, A45;

        then |{up, uq, ur}| = 0 by A42, A43, A44, A49, A50, A51, A56, A57, A58, Th78;

        then (up = uq or up = ur or uq = ur or {up, uq, ur} is linearly-dependent) by Th37, Th8;

        hence thesis by Th9, A40, A41, A47, A48, A54, A55;

      end;

    end;