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;

theorem Th78:
  [:rng nt,rng mt:] c= Indices M implies the_rank_of M >=
  the_rank_of Segm(M,nt,mt)
proof
  assume
A1: [:rng nt,rng mt:] c= Indices M;
  per cases;
  suppose
    n=0 or m=0;
    hence thesis by Th77;
  end;
  suppose
A2: n>0 & m>0;
A3: dom mt=Seg m by FINSEQ_2:124;
A4: dom nt=Seg n by FINSEQ_2:124;
    set S=Segm(M,nt,mt);
    set RS=the_rank_of S;
    consider rt1,rt2 be Element of RS-tuples_on NAT such that
A5: [:rng rt1,rng rt2:] c= Indices S and
A6: Det Segm(S,rt1,rt2)<>0.K by Th76;
    set mr=mt*rt2;
A7: ex R1,R2 be finite without_zero Subset of NAT st R1 = rng rt1 & R2 =
    rng rt2 & card R1=card R2 & card R1 = RS & Det EqSegm(S,R1,R2) <>0.K by A5
,A6,Th75;
    set nr=nt*rt1;
A8: rng mr c= rng mt by RELAT_1:26;
    len S=n by A2,Th1;
    then
A9: rng rt1 c= dom nt by A5,A7,A4,Th67;
    then dom nr=dom rt1 by RELAT_1:27;
    then
A10: dom nr=Seg RS by FINSEQ_2:124;
    width S=m by A2,Th1;
    then
A11: rng rt2 c= dom mt by A5,A7,A3,Th67;
    then dom mr=dom rt2 by RELAT_1:27;
    then
A12: dom mr=Seg RS by FINSEQ_2:124;
    rng mt c= NAT by FINSEQ_1:def 4;
    then
A13: rng mr c= NAT by A8;
    set SS=Segm(S,rt1,rt2);
A14: rng nr c= rng nt by RELAT_1:26;
    rng nt c= NAT by FINSEQ_1:def 4;
    then
A15: rng nr c= NAT by A14;
    reconsider nr,mr as FinSequence by A9,A11,FINSEQ_1:16;
    reconsider nr,mr as FinSequence of NAT by A15,A13,FINSEQ_1:def 4;
A16: len nr=RS by A10,FINSEQ_1:def 3;
    len mr=RS by A12,FINSEQ_1:def 3;
    then reconsider nr,mr as Element of RS-tuples_on NAT by A16,FINSEQ_2:92;
    set MR=Segm(M,nr,mr);
    now
      let i,j such that
A17:  [i,j] in Indices SS;
      reconsider I=i,J=j,rtI=rt1.i,rtJ=rt2.j as Element of NAT by
ORDINAL1:def 12;
A18:  [rt1.I,rt2.J] in Indices S by A5,A17,Th17;
A19:  Indices SS=[:dom nr,dom mr:] by A10,A12,MATRIX_0:24;
      then
A20:  i in dom nr by A17,ZFMISC_1:87;
A21:  j in dom mr by A17,A19,ZFMISC_1:87;
      [i,j] in Indices MR by A17,MATRIX_0:26;
      hence MR*(i,j) = M*(nr.I,mr.J) by Def1
        .= M*(nt.rtI,mr.J) by A20,FUNCT_1:12
        .= M*(nt.rtI,mt.rtJ) by A21,FUNCT_1:12
        .= S*(rt1.I,rt2.J) by A18,Def1
        .= SS*(i,j) by A17,Def1;
    end;
    then
A22: SS=MR by MATRIX_0:27;
    [:rng nr,rng mr:] c= [:rng nt,rng mt:] by A14,A8,ZFMISC_1:96;
    then [:rng nr,rng mr:] c= Indices M by A1;
    hence thesis by A6,A22,Th76;
  end;
end;
