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;