begin
Lm1:
for n being Element of NAT
for k being Nat st k <= n & k >= 1 holds
(k - 1) mod n = k - 1
Lm2:
for n, i, j being Nat st i in Seg n & j in Seg n holds
((j - i) mod n) + 1 in Seg n
Lm3:
for n, i, j being Nat st ( [i,j] in [:(Seg n),(Seg n):] or [j,i] in [:(Seg n),(Seg n):] ) holds
((j - i) mod n) + 1 in Seg n
theorem
theorem
:: deftheorem Def1 defines is_line_circulant_about MATRIX16:def 1 :
for K being set
for M being Matrix of K
for p being FinSequence holds
( M is_line_circulant_about p iff ( len p = width M & ( for i, j being Nat st [i,j] in Indices M holds
M * (i,j) = p . (((j - i) mod (len p)) + 1) ) ) );
:: deftheorem Def2 defines line_circulant MATRIX16:def 2 :
for K being set
for M being Matrix of K holds
( M is line_circulant iff ex p being FinSequence of K st
( len p = width M & M is_line_circulant_about p ) );
:: deftheorem Def3 defines first-line-of-circulant MATRIX16:def 3 :
for K being non empty set
for p being FinSequence of K holds
( p is first-line-of-circulant iff ex M being Matrix of len p,K st M is_line_circulant_about p );
:: deftheorem Def4 defines is_col_circulant_about MATRIX16:def 4 :
for K being set
for M being Matrix of K
for p being FinSequence holds
( M is_col_circulant_about p iff ( len p = len M & ( for i, j being Nat st [i,j] in Indices M holds
M * (i,j) = p . (((i - j) mod (len p)) + 1) ) ) );
:: deftheorem Def5 defines col_circulant MATRIX16:def 5 :
for K being set
for M being Matrix of K holds
( M is col_circulant iff ex p being FinSequence of K st
( len p = len M & M is_col_circulant_about p ) );
:: deftheorem Def6 defines first-col-of-circulant MATRIX16:def 6 :
for K being non empty set
for p being FinSequence of K holds
( p is first-col-of-circulant iff ex M being Matrix of len p,K st M is_col_circulant_about p );
:: deftheorem Def7 defines LCirc MATRIX16:def 7 :
for K being non empty set
for p being FinSequence of K st p is first-line-of-circulant holds
for b3 being Matrix of len p,K holds
( b3 = LCirc p iff b3 is_line_circulant_about p );
:: deftheorem Def8 defines CCirc MATRIX16:def 8 :
for K being non empty set
for p being FinSequence of K st p is first-col-of-circulant holds
for b3 being Matrix of len p,K holds
( b3 = CCirc p iff b3 is_col_circulant_about p );
theorem
theorem
theorem
theorem Th6:
theorem Th7:
theorem Th8:
theorem
theorem
theorem Th11:
theorem
theorem Th13:
theorem
theorem
theorem
theorem
theorem
theorem
theorem Th20:
theorem Th21:
theorem Th22:
theorem
theorem
theorem Th25:
theorem
theorem Th27:
theorem
theorem
theorem
theorem Th31:
theorem
theorem Th33:
theorem Th34:
theorem Th35:
theorem
theorem Th37:
theorem Th38:
theorem
theorem
theorem Th41:
theorem Th42:
theorem
theorem
theorem
theorem Th46:
theorem Th47:
theorem
theorem
theorem
begin
:: deftheorem Def9 defines is_anti-circular_about MATRIX16:def 9 :
for K being Field
for M1 being Matrix of K
for p being FinSequence of K holds
( M1 is_anti-circular_about p iff ( len p = width M1 & ( for i, j being Nat st [i,j] in Indices M1 & i <= j holds
M1 * (i,j) = p . (((j - i) mod (len p)) + 1) ) & ( for i, j being Nat st [i,j] in Indices M1 & i >= j holds
M1 * (i,j) = (- p) . (((j - i) mod (len p)) + 1) ) ) );
:: deftheorem Def10 defines anti-circular MATRIX16:def 10 :
for K being Field
for M being Matrix of K holds
( M is anti-circular iff ex p being FinSequence of K st
( len p = width M & M is_anti-circular_about p ) );
:: deftheorem Def11 defines first-line-of-anti-circular MATRIX16:def 11 :
for K being Field
for p being FinSequence of K holds
( p is first-line-of-anti-circular iff ex M being Matrix of len p,K st M is_anti-circular_about p );
:: deftheorem Def12 defines ACirc MATRIX16:def 12 :
for K being Field
for p being FinSequence of K st p is first-line-of-anti-circular holds
for b3 being Matrix of len p,K holds
( b3 = ACirc p iff b3 is_anti-circular_about p );
theorem
theorem Th52:
theorem
theorem
theorem Th55:
theorem
theorem
theorem Th58:
theorem
theorem Th60:
theorem Th61:
theorem Th62:
theorem Th63:
theorem
theorem
theorem