 reserve x,y,z for object,
   i,j,k,l,n,m for Nat,
   D,E for non empty set;
 reserve M for Matrix of D;
 reserve L for Matrix of E;
 reserve k,t,i,j,m,n for Nat,
   D for non empty set;
 reserve V for free Z_Module;
 reserve a for Element of INT.Ring,
   W for Element of V;
 reserve KL1,KL2,KL3 for Linear_Combination of V,
   X for Subset of V;
 reserve V for finite-rank free Z_Module,
   W for Element of V;
 reserve KL1,KL2,KL3 for Linear_Combination of V,
   X for Subset of V;
 reserve s for FinSequence,
   V1,V2,V3 for finite-rank free Z_Module,
   f,f1,f2 for Function of V1,V2,
   g for Function of V2,V3,
   b1 for OrdBasis of V1,
   b2 for OrdBasis of V2,
   b3 for OrdBasis of V3,
   v1,v2 for Vector of V2,
   v,w for Element of V1;
 reserve p2,F for FinSequence of V1,
   p1,d for FinSequence of INT.Ring,
   KL for Linear_Combination of V1;

theorem LmSign1A:
  for n being Nat, M being Matrix of n, F_Real
  st M is Matrix of n, INT
  holds Det M in INT
  proof
    defpred P[Nat] means
    for M being Matrix of $1, F_Real st M is Matrix of $1, INT
    holds Det M in INT;
    P0: P[0]
    proof
      let M be Matrix of 0, F_Real;
      assume M is Matrix of 0, INT;
      Det M = 1.F_Real by MATRIXR2:41
      .= 1;
      hence Det M in INT by INT_1:def 2;
    end;
    P1: for n being Nat st P[n] holds P[n+1]
    proof
      let n be Nat;
      assume P10: P[n];
      let M be Matrix of n+1, F_Real;
      assume AS1: M is Matrix of n+1, INT;
      reconsider j = 1 as Nat;
      X0: 1 <= 1 & 1 <= n+1 by NAT_1:14;
      then j in Seg (n+1) by FINSEQ_1:1; then
      X1: Det M = Sum LaplaceExpC(M,j) by LAPLACE:27;
      set L = LaplaceExpC(M,j);
      X2: len L = n+1
      & for i being Nat st i in dom L holds
      L.i = M*(i,j)*Cofactor(M,i,j) by LAPLACE:def 8;
      for i being Nat st i in dom L holds L.i in INT
      proof
        let i be Nat;
        assume X30:i in dom L; then
        X31: L.i = M*(i,j)*Cofactor(M,i,j) by LAPLACE:def 8;
        i in Seg (n+1) & j in Seg (n+1) by X0,X2,X30,FINSEQ_1:def 3,FINSEQ_1:1;
        then [i,j] in [:Seg (n+1),Seg (n+1):] by ZFMISC_1:87; then
        X41: [i, j] in Indices M by MATRIX_0:24; then
        X32: M*(i,j) is Element of INT by AS1,LmSign1B;
        (n+1)-'1 = n by NAT_D:34;
        then reconsider DD= Delete(M,i,j) as Matrix of n,F_Real;
        Det DD in INT
        proof
          per cases;
          suppose 0 < n;
            then DD is Matrix of n, INT by LmSign1E,AS1,X41;
            hence Det DD in INT by P10;
          end;
          suppose not 0 < n;
            then n = 0;
            then Det DD = 1.F_Real by MATRIXR2:41
            .= 1;
            hence Det DD in INT by INT_1:def 2;
          end;
        end;
        then Minor(M,i,j) in INT by NAT_D:34;
        then Cofactor(M,i,j) in INT by LmSign1D;
        hence L.i in INT by X32,X31,INT_1:def 2;
      end;
      hence thesis by X1,LmSign1C;
    end;
    for n being Nat holds P[n] from NAT_1:sch 2(P0,P1);
    hence thesis;
  end;
