reserve
  j, k, l, n, m, t,i for Nat,
  K for comRing, 
  a for Element of K,
  M,M1,M2 for Matrix of n,m,K,
  pK,qK for FinSequence of K,
  A for Matrix of n,K;

theorem Th6:
  l in dom (1.(K,n)) & k in dom (1.(K,n)) implies ILine((1.(K,n)),l
  ,k) * A = ILine(A,l,k)
proof
  assume that
A1: l in dom (1.(K,n)) and
A2: k in dom (1.(K,n));
  set B = ILine((1.(K,n)),l,k);
A3: len B = len (1.(K,n)) & len B=n by Def1,MATRIX_0:24;
  then
A4: l in Seg n by A1,FINSEQ_1:def 3;
A5: k in Seg n by A2,A3,FINSEQ_1:def 3;
A6: width B=n by MATRIX_0:24;
A7: Indices (B*A)=[:Seg n,Seg n:] by MATRIX_0:24;
A8: width A=n by MATRIX_0:24;
A9: len A=n by MATRIX_0:24;
A10: width B = width (1.(K,n)) by Th1;
A11: for j st j in Seg n & i in dom (1.(K,n)) holds (i <> l & i <> k implies
  (B*A)*(i,j) = (ILine(A,l,k))*(i,j))
  proof
    let j;
    assume that
A12: j in Seg n and
A13: i in dom (1.(K,n));
A14: i in Seg n by A3,A13,FINSEQ_1:def 3;
    then
A15: [i,i] in Indices (1.(K,n)) by A10,A6,A13,ZFMISC_1:87;
    thus i <> l & i <> k implies (B*A)*(i,j) = (ILine(A,l,k))*(i,j)
    proof
A16:  (Line((1.(K,n)),i)).i=1_K & for t st t in dom (Line ((1.(K,n)),i))
      & t<>i holds (Line((1.(K,n)),i)).t=0.K
      proof
        thus (Line((1.(K,n)),i)).i=1_K by A15,MATRIX_3:15;
        let t;
        assume that
A17:    t in dom (Line ((1.(K,n)),i)) and
A18:    t<>i;
        t in Seg len (Line ((1.(K,n)),i)) by A17,FINSEQ_1:def 3;
        then t in Seg width (1.(K,n)) by MATRIX_0:def 7;
        then [i,t] in Indices (1.(K,n)) by A13,ZFMISC_1:87;
        hence thesis by A18,MATRIX_3:15;
      end;
      len Col(A,j) = len A by MATRIX_0:def 8;
      then
A19:  i in dom (Col(A,j)) by A9,A14,FINSEQ_1:def 3;
A20:  dom (1.(K,n)) = Seg len (1.(K,n)) by FINSEQ_1:def 3
        .=Seg len A by A9,MATRIX_0:24
        .=dom A by FINSEQ_1:def 3;
      len Line((1.(K,n)),i) = width (1.(K,n)) by MATRIX_0:def 7;
      then
A21:  i in dom (Line((1.(K,n)),i)) by A10,A6,A14,FINSEQ_1:def 3;
      assume
A22:  i <> l & i <> k;
      [i,j] in Indices (B*A) by A7,A12,A14,ZFMISC_1:87;
      then (B*A)*(i,j) = Line(B,i) "*" Col(A,j) by A6,A9,MATRIX_3:def 4
        .=Sum(mlt(Line((1.(K,n)),i),Col(A,j))) by A1,A2,A13,A22,Th2
        .=Col(A,j).i by A21,A19,A16,MATRIX_3:17
        .=A*(i,j) by A13,A20,MATRIX_0:def 8
        .=(ILine(A,l,k))*(i,j) by A8,A12,A13,A22,A20,Def1;
      hence thesis;
    end;
  end;
A23: l in Seg width (1.(K,n)) by A1,A10,A3,A6,FINSEQ_1:def 3;
  then
A24: [l,l] in Indices (1.(K,n)) by A1,ZFMISC_1:87;
A25: for j st j in Seg n & i in dom (1.(K,n)) holds (i = k implies (B*A)*(i,
  j) = (ILine(A,l,k))*(i,j))
  proof
    let j;
    assume that
A26: j in Seg n and
A27: i in dom (1.(K,n));
    thus i = k implies (B*A)*(i,j) = (ILine(A,l,k))*(i,j)
    proof
A28:  (Line((1.(K,n)),l)).l=1_K & for t st t in dom (Line ((1.(K,n)),l))
      & t<>l holds (Line((1.(K,n)),l)).t=0.K
      proof
        thus (Line((1.(K,n)),l)).l=1_K by A24,MATRIX_3:15;
        let t;
        assume that
A29:    t in dom (Line ((1.(K,n)),l)) and
A30:    t<>l;
        t in Seg len (Line ((1.(K,n)),l)) by A29,FINSEQ_1:def 3;
        then t in Seg width (1.(K,n)) by MATRIX_0:def 7;
        then [l,t] in Indices (1.(K,n)) by A1,ZFMISC_1:87;
        hence thesis by A30,MATRIX_3:15;
      end;
      len Line((1.(K,n)),l) = width (1.(K,n)) by MATRIX_0:def 7;
      then
A31:  l in dom (Line((1.(K,n)),l)) by A23,FINSEQ_1:def 3;
      len Col(A,j) = len A & l in Seg n by A1,A3,FINSEQ_1:def 3,MATRIX_0:def 8;
      then
A32:  l in dom (Col(A,j)) by A9,FINSEQ_1:def 3;
A33:  dom (1.(K,n)) = Seg len (1.(K,n)) by FINSEQ_1:def 3
        .=Seg len A by A9,MATRIX_0:24
        .=dom A by FINSEQ_1:def 3;
      assume
A34:  i = k;
      then [i,j] in Indices (B*A) by A5,A7,A26,ZFMISC_1:87;
      then (B*A)*(i,j) = Line(B,i) "*" Col(A,j) by A6,A9,MATRIX_3:def 4
        .=Sum(mlt(Line((1.(K,n)),l),Col(A,j))) by A1,A2,A34,Th2
        .=Col(A,j).l by A31,A32,A28,MATRIX_3:17
        .=A*(l,j) by A1,A33,MATRIX_0:def 8
        .=(ILine(A,l,k))*(i,j) by A8,A26,A27,A34,A33,Def1;
      hence thesis;
    end;
  end;
A35: k in Seg width (1.(K,n)) by A2,A10,A3,A6,FINSEQ_1:def 3;
  then
A36: [k,k] in Indices (1.(K,n)) by A2,ZFMISC_1:87;
A37: for j st j in Seg n & i in dom (1.(K,n)) holds (i = l implies (B*A)*(i,
  j) = (ILine(A,l,k))*(i,j))
  proof
    let j;
    assume that
A38: j in Seg n and
A39: i in dom (1.(K,n));
    thus i = l implies (B*A)*(i,j) = (ILine(A,l,k))*(i,j)
    proof
A40:  (Line((1.(K,n)),k)).k=1_K & for t st t in dom (Line ((1.(K,n)),k))
      & t<>k holds (Line((1.(K,n)),k)).t=0.K
      proof
        thus (Line((1.(K,n)),k)).k=1_K by A36,MATRIX_3:15;
        let t;
        assume that
A41:    t in dom (Line ((1.(K,n)),k)) and
A42:    t<>k;
        t in Seg len (Line ((1.(K,n)),k)) by A41,FINSEQ_1:def 3;
        then t in Seg width (1.(K,n)) by MATRIX_0:def 7;
        then [k,t] in Indices (1.(K,n)) by A2,ZFMISC_1:87;
        hence thesis by A42,MATRIX_3:15;
      end;
      len Line((1.(K,n)),k) = width (1.(K,n)) by MATRIX_0:def 7;
      then
A43:  k in dom (Line((1.(K,n)),k)) by A35,FINSEQ_1:def 3;
      len Col(A,j) = len A & k in Seg n by A2,A3,FINSEQ_1:def 3,MATRIX_0:def 8;
      then
A44:  k in dom (Col(A,j)) by A9,FINSEQ_1:def 3;
A45:  dom (1.(K,n)) = Seg len (1.(K,n)) by FINSEQ_1:def 3
        .=Seg len A by A9,MATRIX_0:24
        .=dom A by FINSEQ_1:def 3;
      assume
A46:  i = l;
      then [i,j] in Indices (B*A) by A4,A7,A38,ZFMISC_1:87;
      then (B*A)*(i,j) = Line(B,i) "*" Col(A,j) by A6,A9,MATRIX_3:def 4
        .=Sum(mlt(Line((1.(K,n)),k),Col(A,j))) by A1,A2,A46,Th2
        .=Col(A,j).k by A43,A44,A40,MATRIX_3:17
        .=A*(k,j) by A2,A45,MATRIX_0:def 8
        .=(ILine(A,l,k))*(i,j) by A8,A38,A39,A46,A45,Def1;
      hence thesis;
    end;
  end;
A47: for i,j st [i,j] in Indices (B*A) holds (B*A)*(i,j) = (ILine(A,l,k))*(i
  ,j)
  proof
    let i,j;
    assume
A48: [i,j] in Indices (B*A);
    dom (1.(K,n)) = Seg len (1.(K,n)) by FINSEQ_1:def 3
      .= Seg n by MATRIX_0:24;
    then
A49: i in dom (1.(K,n)) by A7,A48,ZFMISC_1:87;
A50: j in Seg n by A7,A48,ZFMISC_1:87;
    then i = l implies (B*A)*(i,j) = (ILine(A,l,k))*(i,j) by A37,A49;
    hence thesis by A25,A11,A49,A50;
  end;
A51: len (B*A) = n & width(B*A) = n by MATRIX_0:24;
  len ILine(A,l,k) = len A & width ILine(A,l,k)= width A by Def1,Th1;
  hence thesis by A9,A8,A51,A47,MATRIX_0:21;
end;
