reserve x,y for object,X,Y for set,
  D for non empty set,
  i,j,k,l,m,n,m9,n9 for Nat,
  i0,j0,n0,m0 for non zero Nat,
  K for Field,
  a,b for Element of K,
  p for FinSequence of K,
  M for Matrix of n,K;
reserve A for (Matrix of D),
  A9 for Matrix of n9,m9,D,
  M9 for Matrix of n9, m9,K,
  nt,nt1,nt2 for Element of n-tuples_on NAT,
  mt,mt1 for Element of m -tuples_on NAT,
  M for Matrix of K;
reserve P,P1,P2,Q,Q1,Q2 for without_zero finite Subset of NAT;
reserve v,v1,v2,u,w for Vector of n-VectSp_over K,
  t,t1,t2 for Element of n -tuples_on the carrier of K,

  L for Linear_Combination of n-VectSp_over K,
  M,M1 for Matrix of m,n,K;

theorem Th113:
  for M,i,a st for j st j in Seg m holds M*(j,i) = a holds M is
  without_repeated_line iff Segm(M,Seg len M,Seg width M\{i}) is
  without_repeated_line
proof
  let M, i, a such that
A1: for j st j in Seg m holds M*(j,i) = a;
  set Sl=Sgm Seg len M;
  set SMi=Seg width M\{i};
  set S=Segm(M,Seg len M,SMi);
  set Si=Sgm SMi;
A2: len M=m by MATRIX_0:def 2;
A3: card Seg len M=len M by FINSEQ_1:57;
  len S=card Seg len M by MATRIX_0:def 2;
  then
A4: dom S=Seg m by A2,A3,FINSEQ_1:def 3;
A5: dom M=Seg m by A2,FINSEQ_1:def 3;
  thus M is without_repeated_line implies S is without_repeated_line
  proof
    assume
A7: M is without_repeated_line;
    let x1,x2 be object such that
A8: x1 in dom S and
A9: x2 in dom S and
A10: S.x1=S.x2;
    reconsider i1=x1,i2=x2 as Element of NAT by A8,A9;
A11: Sl=idseq m by A2,FINSEQ_3:48;
    then
A12: Line(M,i1) * Si = Line(M,Sl.i1) *Si by A4,A8,FINSEQ_2:49
      .= Line(S,i1) by A2,A3,A4,A8,Th47,XBOOLE_1:36
      .= S.i1 by A2,A3,A4,A8,MATRIX_0:52
      .= Line(S,i2) by A2,A3,A4,A9,A10,MATRIX_0:52
      .= Line(M,Sl.i2) * Si by A2,A3,A4,A9,Th47,XBOOLE_1:36
      .= Line(M,i2) * Si by A4,A9,A11,FINSEQ_2:49;
A13: now
      let k such that
A14:  1<=k and
A15:  k<=width M;
A16:  k in Seg width M by A14,A15;
      per cases;
      suppose
A17:    k = i;
        then
A18:    M*(i2,k)=a by A1,A4,A9;
A19:    M*(i1,k) =Line(M,i1).k by A16,MATRIX_0:def 7;
        M*(i1,k)=a by A1,A4,A8,A17;
        hence Line(M,i1).k=Line(M,i2).k by A16,A18,A19,MATRIX_0:def 7;
      end;
      suppose
A20:    k <> i;
A21:    rng Si=SMi by FINSEQ_1:def 14;
        k in SMi by A16,A20,ZFMISC_1:56;
        then consider x being object such that
A22:    x in dom Si and
A23:    Si.x=k by A21,FUNCT_1:def 3;
        thus Line(M,i1).k = (Line(M,i1)*Si).x by A22,A23,FUNCT_1:13
          .= Line(M,i2).k by A12,A22,A23,FUNCT_1:13;
      end;
    end;
A24: len Line(M,i2)=width M by CARD_1:def 7;
    len Line(M,i1)=width M by CARD_1:def 7;
    then Line(M,i1) = Line(M,i2) by A24,A13
      .= M.i2 by A4,A9,MATRIX_0:52;
    then M.i1 = M.i2 by A4,A8,MATRIX_0:52;
    hence thesis by A5,A4,A7,A8,A9;
  end;
  thus S is without_repeated_line implies M is without_repeated_line
  proof
A25: Sl=idseq m by A2,FINSEQ_3:48;
    assume
A26: S is without_repeated_line;
    let x1,x2 be object such that
A27: x1 in dom M and
A28: x2 in dom M and
A29: M.x1=M.x2;
    reconsider i1=x1,i2=x2 as Element of NAT by A27,A28;
A30: Line(M,i1)=M.i1 by A5,A27,MATRIX_0:52;
A31: Line(M,i2)=M.i2 by A5,A28,MATRIX_0:52;
    S.x1 = Line(S,i1) by A2,A3,A5,A27,MATRIX_0:52
      .= Line(M,Sl.i1) * Si by A2,A3,A5,A27,Th47,XBOOLE_1:36
      .= Line(M,i2) * Si by A5,A27,A29,A25,A30,A31,FINSEQ_2:49
      .= Line(M,Sl.i2) * Si by A5,A28,A25,FINSEQ_2:49
      .= Line(S,i2) by A2,A3,A5,A28,Th47,XBOOLE_1:36
      .= S.x2 by A2,A3,A5,A28,MATRIX_0:52;
    hence thesis by A5,A4,A26,A27,A28;
  end;
end;
