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_about t & n>0 implies t = Line(A,1)
proof
  assume that
A1: A is_line_circulant_about t and
A2: n>0;
A3: width A=n by MATRIX_0:24;
  then
A4: dom t=Seg len t & len t=n by A1,FINSEQ_1:def 3;
A5: for k be Nat st k in dom t holds t.k = Line(A,1).k
  proof
    let k be Nat;
    assume
A6: k in dom t;
    then
A7: 1 <= k & k <= n by A4,FINSEQ_1:1;
    n >=0+1 by A2,INT_1:7;
    then 1 in Seg n;
    then [1,k] in [:Seg n, Seg n:] by A4,A6,ZFMISC_1:def 2;
    then
A8: [1,k] in Indices A by MATRIX_0:24;
    Line(A,1).k=A*(1,k) by A3,A4,A6,MATRIX_0:def 7
      .=t.((k-1 mod len t)+1) by A1,A8
      .=t.((k-1 mod n)+1) by A1,A3
      .=t.(k-1+1) by A7,Lm1;
    hence thesis;
  end;
  len Line(A,1)=n by A3,MATRIX_0:def 7;
  then dom Line(A,1)=dom t by A4,FINSEQ_1:def 3;
  hence thesis by A5,FINSEQ_1:13;
end;
