reserve x for set,
  D for non empty set,
  k,n,m,i,j,l for Nat,
  K for Field;
reserve n,i,j for Nat;
reserve n for Nat;

theorem Th93:
  for A being Matrix of n,REAL st (for y being FinSequence of REAL
st len y=n holds (ex x being FinSequence of REAL st len x=n & x*A=y)) holds ex
  B being Matrix of n,REAL st B*A=1_Rmatrix(n)
proof
  let A be Matrix of n,REAL;
  defpred P[set,set] means for s being Nat,q being FinSequence of
  REAL st s=$1 & q=$2 holds len q=n & q*A=Base_FinSeq(n,s);
  assume
A1: for y being FinSequence of REAL st len y=n holds ex x being
  FinSequence of REAL st len x=n & x*A=y;
A2: for i holds ex x being FinSequence of REAL st len x=n & x*A=Base_FinSeq(
  n,i)
  proof
    let i;
    len Base_FinSeq(n,i)=n by Th74;
    hence thesis by A1;
  end;
A3: for j being Nat st j in Seg n ex d being Element of REAL* st P[j,d]
  proof
    let j be Nat;
    assume j in Seg n;
    consider x being FinSequence of REAL such that
A4: len x=n & x*A=Base_FinSeq(n,j) by A2;
    reconsider d0=x as Element of REAL* by FINSEQ_1:def 11;
    for s being Nat,q being FinSequence of REAL st s=j & q=d0
    holds len q=n & q*A=Base_FinSeq(n,s) by A4;
    hence thesis;
  end;
  consider f being FinSequence of REAL* such that
A5: len f = n & for j being Nat st j in Seg n holds P[j,(f/.j)] from
  FINSEQ_4:sch 1(A3);
  for x being object st x in rng f ex p being FinSequence of REAL st x = p &
  len p = n
  proof
    let x be object;
    assume x in rng f;
    then consider z being object such that
A6: z in dom f and
A7: f.z=x by FUNCT_1:def 3;
    reconsider j0=z as Nat by A6;
    reconsider q0=f/.j0 as FinSequence of REAL by FINSEQ_1:def 11;
    z in Seg len f by A6,FINSEQ_1:def 3;
    then
A8: len q0=n by A5;
    q0=x by A6,A7,PARTFUN1:def 6;
    hence thesis by A8;
  end;
  then reconsider M=f as Matrix of REAL by MATRIX_0:9;
  for p being FinSequence of REAL st p in rng M holds len p = n
  proof
    let p be FinSequence of REAL;
    assume p in rng M;
    then consider z being object such that
A9: z in dom f and
A10: M.z=p by FUNCT_1:def 3;
    reconsider j0=z as Nat by A9;
    reconsider q0=f/.j0 as FinSequence of REAL by FINSEQ_1:def 11;
    z in Seg len f & q0=p by A9,A10,FINSEQ_1:def 3,PARTFUN1:def 6;
    hence thesis by A5;
  end;
  then reconsider B=M as Matrix of n,REAL by A5,MATRIX_0:def 2;
  for i4,j4 being Nat st [i4,j4] in Indices (B*A) holds (B*A)*(i4,j4)=
  1_Rmatrix(n)*(i4,j4)
  proof
    let i4,j4 be Nat;
    reconsider i=i4,j=j4 as Nat;
    consider n2 being Nat such that
A11: for x being object st x in rng (M*A) ex p being FinSequence of REAL
    st x = p & len p = n2 by MATRIX_0:9;
    assume
A12: [i4,j4] in Indices (B*A);
    then j in Seg width (M*A) by ZFMISC_1:87;
    then
A13: 1<=j & j<=width (M*A) by FINSEQ_1:1;
    i in dom (M*A) by A12,ZFMISC_1:87;
    then
A14: (M*A).i in rng (M*A) by FUNCT_1:def 3;
    then consider p2 being FinSequence of REAL such that
A15: (M*A).i = p2 and
A16: len p2 = n2 by A11;
A17: len B=n by MATRIX_0:24;
A18: [i,j] in [:Seg n,Seg n:] by A12,MATRIX_0:24;
    then [i,j] in Indices (1_Rmatrix(n)) by MATRIX_0:24;
    then
A19: ex p3 being FinSequence of REAL st p3 = (1_Rmatrix(n)).i & 1_Rmatrix(n
    )*(i,j) = p3.j by MATRIX_0:def 5;
A20: width (B*A)=n by MATRIX_0:24;
    j in Seg n by A18,ZFMISC_1:87;
    then
A21: 1<=j & j<=n by FINSEQ_1:1;
A22: i in Seg n by A18,ZFMISC_1:87;
    then
A23: 1<=i & i<=n by FINSEQ_1:1;
A24: len (B*A) = n & for p being FinSequence of REAL st p in rng (B*A)
    holds len p = n by MATRIX_0:def 2;
    now
      per cases;
      case
A25:    i=j;
        reconsider g=f/.i as FinSequence of REAL by FINSEQ_1:def 11;
A26:    g*A=Base_FinSeq(n,i) by A5,A22;
        len B=n by MATRIX_0:24;
        then f/.i=M.i by A23,FINSEQ_4:15;
        then
A27:    g=Line(B,i) by A23,A17,Lm2;
A28:    1_Rmatrix(n)*(i,j)=(Base_FinSeq(n,i)).i by A19,A23,A25,Th78
          .=1 by A23,Th75;
        p2.j=(B*A)*(i,j) by A24,A14,A15,A16,A13,A23,A20,Th2
          .=(Base_FinSeq(n,i)).j by A12,A26,A27,Th61
          .=1 by A23,A25,Th75;
        hence 1_Rmatrix(n)*(i,j) = p2.j by A28;
      end;
      case
A29:    i<>j;
        reconsider g=f/.i as FinSequence of REAL by FINSEQ_1:def 11;
        len B=n by MATRIX_0:24;
        then f/.i=M.i by A23,FINSEQ_4:15;
        then g=Line(B,i) by A23,A17,Lm2;
        then
A30:    (Line(B,i))*A=Base_FinSeq(n,i) by A5,A22;
A31:    1_Rmatrix(n)*(i,j)=(Base_FinSeq(n,i)).j by A19,A23,Th78
          .=0 by A21,A29,Th76;
        p2.j=(B*A)*(i,j) by A24,A14,A15,A16,A13,A23,A20,Th2
          .=(Base_FinSeq(n,i)).j by A12,A30,Th61
          .=0 by A21,A29,Th76;
        hence 1_Rmatrix(n)*(i,j) = p2.j by A31;
      end;
    end;
    hence thesis by A12,A15,MATRIX_0:def 5;
  end;
  hence thesis by MATRIX_0:27;
end;
