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 Th76:
  for RANK be Element of NAT holds the_rank_of M = RANK iff (ex
rt1,rt2 be Element of RANK-tuples_on NAT st [:rng rt1,rng rt2:] c= Indices M &
Det Segm(M,rt1,rt2)<>0.K) & for n,nt1,nt2 st [:rng nt1,rng nt2:] c= Indices M &
  Det Segm(M,nt1,nt2)<>0.K holds n <= RANK
proof
  let RANK be Element of NAT;
  thus the_rank_of M = RANK implies (ex rt1,rt2 be Element of RANK-tuples_on
NAT st [:rng rt1,rng rt2:] c= Indices M & Det Segm(M,rt1,rt2)<>0.K) & for n,nt1
,nt2 st [:rng nt1,rng nt2:] c= Indices M & Det Segm(M,nt1,nt2)<>0.K holds n <=
  RANK
  proof
    assume
A1: the_rank_of M = RANK;
    then consider P,Q such that
A2: [:P,Q:] c= Indices M and
A3: card P = card Q and
A4: card P = RANK and
A5: Det EqSegm(M,P,Q)<>0.K by Def4;
    reconsider Sp=Sgm P,Sq=Sgm Q as Element of RANK-tuples_on NAT by A3,A4;
A6: rng Sp=P by FINSEQ_1:def 14;
A7: rng Sq=Q by FINSEQ_1:def 14;
    EqSegm(M,P,Q) = Segm(M,P,Q) by A3,Def3
      .= Segm(M,Sgm P,Sgm Q);
    hence
    ex rt1,rt2 be Element of RANK-tuples_on NAT st [:rng rt1,rng rt2:] c=
    Indices M & Det Segm(M,rt1,rt2)<>0.K by A2,A3,A4,A5,A6,A7;
    let n,nt1,nt2 such that
A8: [:rng nt1,rng nt2:] c= Indices M and
A9: Det Segm(M,nt1,nt2)<>0.K;
    ex P1,P2 st P1 = rng nt1 & P2 = rng nt2 & card P1=card P2 & card
    P1 = n & Det EqSegm(M,P1,P2) <>0.K by A8,A9,Th75;
    hence thesis by A1,A8,Def4;
  end;
  assume that
A10: ex rt1,rt2 be Element of RANK-tuples_on NAT st [:rng rt1,rng rt2:]
  c= Indices M & Det Segm(M,rt1,rt2)<>0.K and
A11: for n for nt1,nt2 st [:rng nt1,rng nt2:] c= Indices M & Det Segm(M,
  nt1,nt2)<>0.K holds n <= RANK;
  consider rt1,rt2 be Element of RANK-tuples_on NAT such that
A12: [:rng rt1,rng rt2:] c= Indices M and
A13: Det Segm(M,rt1,rt2)<>0.K by A10;
  consider P,Q such that
A14: [:P,Q:] c= Indices M and
A15: card P = card Q and
A16: card P = the_rank_of M and
A17: Det EqSegm(M,P,Q)<>0.K by Def4;
  ex P1,P2 st P1 = rng rt1 & P2 = rng rt2 & card P1=card P2 & card P1
  = RANK & Det EqSegm(M,P1,P2) <>0.K by A12,A13,Th75;
  then
A18: RANK <= card P by A12,A16,Def4;
  reconsider SP=Sgm P,SQ=Sgm Q as Element of (card P)-tuples_on NAT by A15;
A19: rng SP=P by FINSEQ_1:def 14;
A20: rng SQ=Q by FINSEQ_1:def 14;
  EqSegm(M,P,Q) = Segm(M,P,Q) by A15,Def3
    .= Segm(M,Sgm P,Sgm Q);
  then card P <= RANK by A11,A14,A15,A17,A19,A20;
  hence thesis by A16,A18,XXREAL_0:1;
end;
