reserve i,j,k,n,l for Element of NAT,
  K for Field,
  a,b,c for Element of K,
  p ,q for FinSequence of K,
  M1,M2,M3 for Matrix of n,K;
reserve D for non empty set,
  t for FinSequence of D,
  A for Matrix of n,D;

theorem
  A is line_circulant & n>0 implies A@ is col_circulant
proof
  assume that
A1: A is line_circulant and
A2: n>0;
  consider p being FinSequence of D such that
A3: len p=width A and
A4: A is_line_circulant_about p by A1;
  width A=n by MATRIX_0:24;
  then
A5: len (A@)=len p by A2,A3,MATRIX_0:54;
  for i,j be Nat st [i,j] in Indices A@ holds A@*(i,j)=p.((i-j mod len p)+ 1)
  proof
    let i,j be Nat;
A6: Indices A = [:Seg n, Seg n:] by MATRIX_0:24;
    assume [i,j] in Indices A@;
    then [i,j] in Indices A by MATRIX_0:26;
    then i in Seg n & j in Seg n by A6,ZFMISC_1:87;
    then
A7: [j,i] in Indices A by A6,ZFMISC_1:87;
    then A@*(i,j) = A*(j,i) by MATRIX_0:def 6;
    hence thesis by A4,A7;
  end;
  then A@ is_col_circulant_about p by A5;
  then consider p being FinSequence of D such that
A8: len p = len (A@) & A@ is_col_circulant_about p;
  take p;
  thus thesis by A8;
end;
