Article FINSEQ_6, MML version 4.99.1005
:: FINSEQ_6:funcreg 1
registration
let a1, a2, a3 be set;
cluster <*a1,a2,a3*> -> non trivial;
end;
:: FINSEQ_6:funcreg 2
registration
let a1 be Relation-like Function-like non empty FinSequence-like set;
cluster Rev a1 -> Relation-like Function-like non empty FinSequence-like;
end;
:: FINSEQ_6:th 3
theorem
for b1 being set
for b2 being Element of NAT
st b1 c= Seg b2 & 1 in b1
holds (Sgm b1) . 1 = 1;
:: FINSEQ_6:th 4
theorem
for b1 being Element of NAT
for b2 being Relation-like Function-like FinSequence-like set
st b1 in dom b2 &
(for b3 being Element of NAT
st 1 <= b3 & b3 < b1
holds b2 . b3 <> b2 . b1)
holds (b2 . b1) .. b2 = b1;
:: FINSEQ_6:th 5
theorem
for b1, b2 being set holds
<*b1,b2*> | Seg 1 = <*b1*>;
:: FINSEQ_6:th 6
theorem
for b1, b2, b3 being set holds
<*b1,b2,b3*> | Seg 1 = <*b1*>;
:: FINSEQ_6:th 7
theorem
for b1, b2, b3 being set holds
<*b1,b2,b3*> | Seg 2 = <*b1,b2*>;
:: FINSEQ_6:th 8
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set
for b3 being set
st b3 in proj2 b1
holds b3 .. (b1 ^ b2) = b3 .. b1;
:: FINSEQ_6:th 9
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set
for b3 being set
st b3 in (proj2 b1) \ proj2 b2
holds b3 .. (b2 ^ b1) = (len b2) + (b3 .. b1);
:: FINSEQ_6:th 10
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set
for b3 being set
st b3 in proj2 b1
holds (b1 ^ b2) |-- b3 = (b1 |-- b3) ^ b2;
:: FINSEQ_6:th 11
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set
for b3 being set
st b3 in (proj2 b1) \ proj2 b2
holds (b2 ^ b1) |-- b3 = b1 |-- b3;
:: FINSEQ_6:th 12
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set holds
b1 c= b1 ^ b2;
:: FINSEQ_6:th 13
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set
for b3 being set
st b3 c= dom b1
holds (b1 ^ b2) | b3 = b1 | b3;
:: FINSEQ_6:th 14
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set
for b3 being set
st b3 in proj2 b1
holds (b1 ^ b2) -| b3 = b1 -| b3;
:: FINSEQ_6:funcreg 3
registration
let a1 be Relation-like Function-like FinSequence-like set;
let a2 be natural set;
cluster a1 | Seg a2 -> Relation-like FinSequence-like;
end;
:: FINSEQ_6:th 15
theorem
for b1, b2, b3 being Relation-like Function-like FinSequence-like set
st b1 c= b2
holds b3 ^ b1 c= b3 ^ b2;
:: FINSEQ_6:th 16
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set
for b3 being Element of NAT holds
(b1 ^ b2) | Seg ((len b1) + b3) = b1 ^ (b2 | Seg b3);
:: FINSEQ_6:th 17
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set
for b3 being set
st b3 in (proj2 b1) \ proj2 b2
holds (b2 ^ b1) -| b3 = b2 ^ (b1 -| b3);
:: FINSEQ_6:th 19
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set
for b3 being set
st b1 ^ b2 just_once_values b3
holds b3 in (proj2 b1) \+\ proj2 b2;
:: FINSEQ_6:th 20
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set
for b3 being set
st b1 ^ b2 just_once_values b3 & b3 in proj2 b1
holds b1 just_once_values b3;
:: FINSEQ_6:th 21
theorem
for b1 being Relation-like Function-like FinSequence-like set
st proj2 b1 is not trivial
holds b1 is not trivial;
:: FINSEQ_6:th 22
theorem
for b1 being set holds
b1 .. <*b1*> = 1;
:: FINSEQ_6:th 23
theorem
for b1, b2 being set holds
b1 .. <*b1,b2*> = 1;
:: FINSEQ_6:th 24
theorem
for b1, b2 being set
st b1 <> b2
holds b2 .. <*b1,b2*> = 2;
:: FINSEQ_6:th 25
theorem
for b1, b2, b3 being set holds
b1 .. <*b1,b2,b3*> = 1;
:: FINSEQ_6:th 26
theorem
for b1, b2, b3 being set
st b1 <> b2
holds b2 .. <*b1,b2,b3*> = 2;
:: FINSEQ_6:th 27
theorem
for b1, b2, b3 being set
st b1 <> b2 & b3 <> b2
holds b2 .. <*b1,b3,b2*> = 3;
:: FINSEQ_6:th 28
theorem
for b1 being set
for b2 being Relation-like Function-like FinSequence-like set holds
Rev (<*b1*> ^ b2) = (Rev b2) ^ <*b1*>;
:: FINSEQ_6:th 29
theorem
for b1 being Relation-like Function-like FinSequence-like set holds
Rev Rev b1 = b1;
:: FINSEQ_6:th 30
theorem
for b1, b2 being set
st b1 <> b2
holds <*b1,b2*> -| b2 = <*b1*>;
:: FINSEQ_6:th 31
theorem
for b1, b2, b3 being set
st b1 <> b2
holds <*b1,b2,b3*> -| b2 = <*b1*>;
:: FINSEQ_6:th 32
theorem
for b1, b2, b3 being set
st b1 <> b2 & b3 <> b2
holds <*b1,b3,b2*> -| b2 = <*b1,b3*>;
:: FINSEQ_6:th 33
theorem
for b1, b2 being set holds
<*b1,b2*> |-- b1 = <*b2*>;
:: FINSEQ_6:th 34
theorem
for b1, b2, b3 being set
st b1 <> b2
holds <*b1,b2,b3*> |-- b2 = <*b3*>;
:: FINSEQ_6:th 35
theorem
for b1, b2, b3 being set holds
<*b1,b2,b3*> |-- b1 = <*b2,b3*>;
:: FINSEQ_6:th 36
theorem
for b1 being set holds
<*b1*> |-- b1 = {} & <*b1*> -| b1 = {};
:: FINSEQ_6:th 37
theorem
for b1, b2 being set
st b1 <> b2
holds <*b1,b2*> |-- b2 = {};
:: FINSEQ_6:th 38
theorem
for b1, b2, b3 being set
st b1 <> b2 & b3 <> b2
holds <*b1,b3,b2*> |-- b2 = {};
:: FINSEQ_6:th 39
theorem
for b1, b2 being set
for b3 being Relation-like Function-like FinSequence-like set
st b1 in proj2 b3 & b2 in proj2 (b3 -| b1)
holds (b3 -| b1) -| b2 = b3 -| b2;
:: FINSEQ_6:th 40
theorem
for b1 being set
for b2, b3 being Relation-like Function-like FinSequence-like set
st not b1 in proj2 b2
holds b1 .. ((b2 ^ <*b1*>) ^ b3) = (len b2) + 1;
:: FINSEQ_6:th 41
theorem
for b1 being set
for b2 being Relation-like Function-like FinSequence-like set
st b2 just_once_values b1
holds (b1 .. b2) + (b1 .. Rev b2) = (len b2) + 1;
:: FINSEQ_6:th 42
theorem
for b1 being set
for b2 being Relation-like Function-like FinSequence-like set
st b2 just_once_values b1
holds Rev (b2 -| b1) = (Rev b2) |-- b1;
:: FINSEQ_6:th 43
theorem
for b1 being set
for b2 being Relation-like Function-like FinSequence-like set
st b2 just_once_values b1
holds Rev b2 just_once_values b1;
:: FINSEQ_6:th 44
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b2 in proj2 b3
holds b3 -: b2 = (b3 -| b2) ^ <*b2*>;
:: FINSEQ_6:th 45
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b2 in proj2 b3
holds b3 :- b2 = <*b2*> ^ (b3 |-- b2);
:: FINSEQ_6:th 46
theorem
for b1 being non empty set
for b2 being FinSequence of b1
st b2 <> {}
holds b2 /. 1 in proj2 b2;
:: FINSEQ_6:th 47
theorem
for b1 being non empty set
for b2 being FinSequence of b1
st b2 <> {}
holds (b2 /. 1) .. b2 = 1;
:: FINSEQ_6:th 48
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b3 <> {} & b3 /. 1 = b2
holds b3 -: b2 = <*b2*> & b3 :- b2 = b3;
:: FINSEQ_6:th 49
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1 holds
(<*b2*> ^ b3) /^ 1 = b3;
:: FINSEQ_6:th 50
theorem
for b1 being non empty set
for b2, b3 being Element of b1 holds
<*b2,b3*> /^ 1 = <*b3*>;
:: FINSEQ_6:th 51
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1 holds
<*b2,b3,b4*> /^ 1 = <*b3,b4*>;
:: FINSEQ_6:th 52
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being FinSequence of b2
st b1 in dom b3 &
(for b4 being Element of NAT
st 1 <= b4 & b4 < b1
holds b3 /. b4 <> b3 /. b1)
holds (b3 /. b1) .. b3 = b1;
:: FINSEQ_6:th 53
theorem
for b1 being non empty set
for b2, b3 being Element of b1
st b2 <> b3
holds <*b2,b3*> -: b3 = <*b2,b3*>;
:: FINSEQ_6:th 54
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1
st b2 <> b3
holds <*b2,b3,b4*> -: b3 = <*b2,b3*>;
:: FINSEQ_6:th 55
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1
st b2 <> b3 & b4 <> b3
holds <*b2,b4,b3*> -: b3 = <*b2,b4,b3*>;
:: FINSEQ_6:th 56
theorem
for b1 being non empty set
for b2 being Element of b1 holds
<*b2*> :- b2 = <*b2*> &
<*b2*> -: b2 = <*b2*>;
:: FINSEQ_6:th 57
theorem
for b1 being non empty set
for b2, b3 being Element of b1
st b2 <> b3
holds <*b2,b3*> :- b3 = <*b3*>;
:: FINSEQ_6:th 58
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1
st b2 <> b3
holds <*b2,b3,b4*> :- b3 = <*b3,b4*>;
:: FINSEQ_6:th 59
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1
st b2 <> b3 & b4 <> b3
holds <*b2,b4,b3*> :- b3 = <*b3*>;
:: FINSEQ_6:th 61
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being Element of b2
for b4 being FinSequence of b2
st b3 in proj2 b4 & b1 < b3 .. b4
holds b3 .. b4 = b1 + (b3 .. (b4 /^ b1));
:: FINSEQ_6:th 62
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being Element of b2
for b4 being FinSequence of b2
st b3 in proj2 b4 & b1 < b3 .. b4
holds b3 in proj2 (b4 /^ b1);
:: FINSEQ_6:th 63
theorem
for b1, b2 being Element of NAT
for b3 being non empty set
for b4 being FinSequence of b3
st b1 < b2 & b2 in dom b4
holds b4 /. b2 in proj2 (b4 /^ b1);
:: FINSEQ_6:th 64
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being Element of b2
for b4 being FinSequence of b2
st b3 in proj2 b4 & b1 < b3 .. b4
holds (b4 /^ b1) -: b3 = (b4 -: b3) /^ b1;
:: FINSEQ_6:th 65
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b2 in proj2 b3 & b2 .. b3 <> 1
holds (b3 /^ 1) -: b2 = (b3 -: b2) /^ 1;
:: FINSEQ_6:th 66
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1 holds
b2 in proj2 (b3 :- b2);
:: FINSEQ_6:th 67
theorem
for b1 being set
for b2 being non empty set
for b3 being Element of b2
for b4 being FinSequence of b2
st b1 in proj2 b4 & b3 in proj2 b4 & b3 .. b4 <= b1 .. b4
holds b1 in proj2 (b4 :- b3);
:: FINSEQ_6:th 68
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being Element of b2
for b4 being FinSequence of b2
st b3 in proj2 b4 & b1 <= len b4 & b3 .. b4 <= b1
holds b4 /. b1 in proj2 (b4 :- b3);
:: FINSEQ_6:th 69
theorem
for b1 being non empty set
for b2 being Element of b1
for b3, b4 being FinSequence of b1
st b2 in proj2 b3
holds (b3 ^ b4) :- b2 = (b3 :- b2) ^ b4;
:: FINSEQ_6:th 70
theorem
for b1 being non empty set
for b2 being Element of b1
for b3, b4 being FinSequence of b1
st b2 in (proj2 b3) \ proj2 b4
holds (b4 ^ b3) :- b2 = b3 :- b2;
:: FINSEQ_6:th 71
theorem
for b1 being non empty set
for b2 being Element of b1
for b3, b4 being FinSequence of b1
st b2 in proj2 b3
holds (b3 ^ b4) -: b2 = b3 -: b2;
:: FINSEQ_6:th 72
theorem
for b1 being non empty set
for b2 being Element of b1
for b3, b4 being FinSequence of b1
st b2 in (proj2 b3) \ proj2 b4
holds (b4 ^ b3) -: b2 = b4 ^ (b3 -: b2);
:: FINSEQ_6:th 73
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1 holds
(b3 :- b2) :- b2 = b3 :- b2;
:: FINSEQ_6:th 74
theorem
for b1 being non empty set
for b2, b3 being Element of b1
for b4 being FinSequence of b1
st b2 in proj2 b4 & b3 in (proj2 b4) \ proj2 (b4 -: b2)
holds b4 |-- b3 = (b4 |-- b2) |-- b3;
:: FINSEQ_6:th 75
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b2 in proj2 b3
holds proj2 b3 = (proj2 (b3 -: b2)) \/ proj2 (b3 :- b2);
:: FINSEQ_6:th 76
theorem
for b1 being non empty set
for b2, b3 being Element of b1
for b4 being FinSequence of b1
st b2 in proj2 b4 & b3 in (proj2 b4) \ proj2 (b4 -: b2)
holds (b4 :- b2) :- b3 = b4 :- b3;
:: FINSEQ_6:th 77
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b2 in proj2 b3
holds b2 .. (b3 -: b2) = b2 .. b3;
:: FINSEQ_6:th 78
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being FinSequence of b2 holds
(b3 | b1) | b1 = b3 | b1;
:: FINSEQ_6:th 79
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b2 in proj2 b3
holds (b3 -: b2) -: b2 = b3 -: b2;
:: FINSEQ_6:th 80
theorem
for b1 being non empty set
for b2, b3 being Element of b1
for b4 being FinSequence of b1
st b2 in proj2 b4 & b3 in proj2 (b4 -: b2)
holds (b4 -: b2) -: b3 = b4 -: b3;
:: FINSEQ_6:th 81
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b2 in proj2 b3
holds (b3 -: b2) ^ ((b3 :- b2) /^ 1) = b3;
:: FINSEQ_6:th 82
theorem
for b1 being non empty set
for b2, b3 being FinSequence of b1
st b2 <> {}
holds (b2 ^ b3) /^ 1 = (b2 /^ 1) ^ b3;
:: FINSEQ_6:th 83
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b2 in proj2 b3 & b2 .. b3 <> 1
holds b2 in proj2 (b3 /^ 1);
:: FINSEQ_6:th 84
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1 holds
b2 .. (b3 :- b2) = 1;
:: FINSEQ_6:th 86
theorem
for b1 being Element of NAT
for b2 being non empty set holds
(<*> b2) /^ b1 = <*> b2;
:: FINSEQ_6:th 87
theorem
for b1, b2 being Element of NAT
for b3 being non empty set
for b4 being FinSequence of b3 holds
b4 /^ (b1 + b2) = (b4 /^ b1) /^ b2;
:: FINSEQ_6:th 88
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being Element of b2
for b4 being FinSequence of b2
st b3 in proj2 b4 & b1 < b3 .. b4
holds (b4 /^ b1) :- b3 = b4 :- b3;
:: FINSEQ_6:th 89
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b2 in proj2 b3 & b2 .. b3 <> 1
holds (b3 /^ 1) :- b2 = b3 :- b2;
:: FINSEQ_6:th 90
theorem
for b1, b2 being Element of NAT
for b3 being non empty set
for b4 being FinSequence of b3
st b1 + b2 = len b4
holds Rev (b4 /^ b2) = (Rev b4) | b1;
:: FINSEQ_6:th 91
theorem
for b1, b2 being Element of NAT
for b3 being non empty set
for b4 being FinSequence of b3
st b1 + b2 = len b4
holds Rev (b4 | b2) = (Rev b4) /^ b1;
:: FINSEQ_6:th 92
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b3 just_once_values b2
holds Rev (b3 |-- b2) = (Rev b3) -| b2;
:: FINSEQ_6:th 93
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b3 just_once_values b2
holds Rev (b3 :- b2) = (Rev b3) -: b2;
:: FINSEQ_6:th 94
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b3 just_once_values b2
holds Rev (b3 -: b2) = (Rev b3) :- b2;
:: FINSEQ_6:attrnot 1 => FINSEQ_6:attr 1
definition
let a1 be non empty set;
let a2 be FinSequence of a1;
attr a2 is circular means
a2 /. 1 = a2 /. len a2;
end;
:: FINSEQ_6:dfs 1
definiens
let a1 be non empty set;
let a2 be FinSequence of a1;
To prove
a2 is circular
it is sufficient to prove
thus a2 /. 1 = a2 /. len a2;
:: FINSEQ_6:def 1
theorem
for b1 being non empty set
for b2 being FinSequence of b1 holds
b2 is circular(b1)
iff
b2 /. 1 = b2 /. len b2;
:: FINSEQ_6:funcnot 1 => FINSEQ_6:func 1
definition
let a1 be non empty set;
let a2 be FinSequence of a1;
let a3 be Element of a1;
func Rotate(A2,A3) -> FinSequence of a1 equals
(a2 :- a3) ^ ((a2 -: a3) /^ 1)
if a3 in proj2 a2
otherwise a2;
end;
:: FINSEQ_6:def 2
theorem
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Element of b1 holds
(b3 in proj2 b2 implies Rotate(b2,b3) = (b2 :- b3) ^ ((b2 -: b3) /^ 1)) &
(b3 in proj2 b2 or Rotate(b2,b3) = b2);
:: FINSEQ_6:funcreg 4
registration
let a1 be non empty set;
let a2 be non empty FinSequence of a1;
let a3 be Element of a1;
cluster Rotate(a2,a3) -> non empty;
end;
:: FINSEQ_6:exreg 1
registration
let a1 be non empty set;
cluster Relation-like Function-like non empty finite FinSequence-like trivial circular FinSequence of a1;
end;
:: FINSEQ_6:exreg 2
registration
let a1 be non empty set;
cluster Relation-like Function-like non empty finite FinSequence-like non trivial circular FinSequence of a1;
end;
:: FINSEQ_6:th 95
theorem
for b1 being non empty set
for b2 being FinSequence of b1 holds
Rotate(b2,b2 /. 1) = b2;
:: FINSEQ_6:funcreg 5
registration
let a1 be non empty set;
let a2 be Element of a1;
let a3 be non empty circular FinSequence of a1;
cluster Rotate(a3,a2) -> circular;
end;
:: FINSEQ_6:th 96
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b3 is circular(b1) & b2 in proj2 b3
holds proj2 Rotate(b3,b2) = proj2 b3;
:: FINSEQ_6:th 97
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b2 in proj2 b3
holds b2 in proj2 Rotate(b3,b2);
:: FINSEQ_6:th 98
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b2 in proj2 b3
holds (Rotate(b3,b2)) /. 1 = b2;
:: FINSEQ_6:th 99
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1 holds
Rotate(Rotate(b3,b2),b2) = Rotate(b3,b2);
:: FINSEQ_6:th 100
theorem
for b1 being non empty set
for b2 being Element of b1 holds
Rotate(<*b2*>,b2) = <*b2*>;
:: FINSEQ_6:th 101
theorem
for b1 being non empty set
for b2, b3 being Element of b1 holds
Rotate(<*b2,b3*>,b2) = <*b2,b3*>;
:: FINSEQ_6:th 102
theorem
for b1 being non empty set
for b2, b3 being Element of b1 holds
Rotate(<*b2,b3*>,b3) = <*b3,b3*>;
:: FINSEQ_6:th 103
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1 holds
Rotate(<*b2,b3,b4*>,b2) = <*b2,b3,b4*>;
:: FINSEQ_6:th 104
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1
st b2 <> b3
holds Rotate(<*b2,b3,b4*>,b3) = <*b3,b4,b3*>;
:: FINSEQ_6:th 105
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1
st b2 <> b3
holds Rotate(<*b4,b2,b3*>,b3) = <*b3,b2,b3*>;
:: FINSEQ_6:th 106
theorem
for b1 being non empty set
for b2 being non trivial circular FinSequence of b1 holds
proj2 (b2 /^ 1) = proj2 b2;
:: FINSEQ_6:th 107
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1 holds
proj2 (b3 /^ 1) c= proj2 Rotate(b3,b2);
:: FINSEQ_6:th 108
theorem
for b1 being non empty set
for b2, b3 being Element of b1
for b4 being FinSequence of b1
st b2 in (proj2 b4) \ proj2 (b4 -: b3)
holds Rotate(Rotate(b4,b3),b2) = Rotate(b4,b2);
:: FINSEQ_6:th 109
theorem
for b1 being non empty set
for b2, b3 being Element of b1
for b4 being FinSequence of b1
st b2 .. b4 <> 1 & b2 in (proj2 b4) \ proj2 (b4 :- b3)
holds Rotate(Rotate(b4,b3),b2) = Rotate(b4,b2);
:: FINSEQ_6:th 110
theorem
for b1 being non empty set
for b2, b3 being Element of b1
for b4 being FinSequence of b1
st b2 in proj2 (b4 /^ 1) & b4 just_once_values b2
holds Rotate(Rotate(b4,b3),b2) = Rotate(b4,b2);
:: FINSEQ_6:th 111
theorem
for b1 being non empty set
for b2, b3 being Element of b1
for b4 being FinSequence of b1
st b4 is circular(b1) & b4 just_once_values b2
holds Rotate(Rotate(b4,b3),b2) = Rotate(b4,b2);
:: FINSEQ_6:th 112
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
st b3 is circular(b1) & b3 just_once_values b2
holds Rev Rotate(b3,b2) = Rotate(Rev b3,b2);
:: FINSEQ_6:th 113
theorem
for b1 being non empty set
for b2 being trivial FinSequence of b1
st b2 is not empty
holds ex b3 being Element of b1 st
b2 = <*b3*>;