Article REVROT_1, MML version 4.99.1005
:: REVROT_1:attrnot 1 => REVROT_1:attr 1
definition
let a1 be non empty set;
let a2 be FinSequence of a1;
redefine attr a2 is constant means
for b1, b2 being Element of NAT
st b1 in dom a2 & b2 in dom a2
holds a2 /. b1 = a2 /. b2;
end;
:: REVROT_1:dfs 1
definiens
let a1 be non empty set;
let a2 be FinSequence of a1;
To prove
a1 is constant
it is sufficient to prove
thus for b1, b2 being Element of NAT
st b1 in dom a2 & b2 in dom a2
holds a2 /. b1 = a2 /. b2;
:: REVROT_1:def 1
theorem
for b1 being non empty set
for b2 being FinSequence of b1 holds
b2 is constant
iff
for b3, b4 being Element of NAT
st b3 in dom b2 & b4 in dom b2
holds b2 /. b3 = b2 /. b4;
:: REVROT_1:th 1
theorem
for b1 being non empty set
for b2 being FinSequence of b1
st b2 just_once_values b2 /. len b2
holds (b2 /. len b2) .. b2 = len b2;
:: REVROT_1:th 2
theorem
for b1 being non empty set
for b2 being FinSequence of b1 holds
b2 /^ len b2 = {};
:: REVROT_1:th 3
theorem
for b1 being non empty set
for b2 being non empty FinSequence of b1 holds
b2 /. len b2 in proj2 b2;
:: REVROT_1:prednot 1 => REVROT_1:pred 1
definition
let a1 be non empty set;
let a2 be FinSequence of a1;
let a3 be set;
redefine pred A2 just_once_values A3 means
ex b1 being set st
b1 in dom a2 &
a3 = a2 /. b1 &
(for b2 being set
st b2 in dom a2 & b2 <> b1
holds a2 /. b2 <> a3);
end;
:: REVROT_1:dfs 2
definiens
let a1 be non empty set;
let a2 be FinSequence of a1;
let a3 be set;
To prove
a2 just_once_values a3
it is sufficient to prove
thus ex b1 being set st
b1 in dom a2 &
a3 = a2 /. b1 &
(for b2 being set
st b2 in dom a2 & b2 <> b1
holds a2 /. b2 <> a3);
:: REVROT_1:def 2
theorem
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being set holds
b2 just_once_values b3
iff
ex b4 being set st
b4 in dom b2 &
b3 = b2 /. b4 &
(for b5 being set
st b5 in dom b2 & b5 <> b4
holds b2 /. b5 <> b3);
:: REVROT_1:th 4
theorem
for b1 being non empty set
for b2 being FinSequence of b1
st b2 just_once_values b2 /. len b2
holds b2 -: (b2 /. len b2) = b2;
:: REVROT_1:th 5
theorem
for b1 being non empty set
for b2 being FinSequence of b1
st b2 just_once_values b2 /. len b2
holds b2 :- (b2 /. len b2) = <*b2 /. len b2*>;
:: REVROT_1:th 6
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1 holds
1 <= len (b3 :- b2);
:: REVROT_1:th 7
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 len (b3 :- b2) <= len b3;
:: REVROT_1:th 8
theorem
for b1 being non empty set
for b2 being non empty circular FinSequence of b1 holds
Rev b2 is circular(b1);
:: REVROT_1:th 9
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 & 1 <= b1 & b1 <= len (b4 :- b3)
holds (Rotate(b4,b3)) /. b1 = b4 /. ((b1 -' 1) + (b3 .. b4));
:: REVROT_1:th 10
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 & b3 .. b4 <= b1 & b1 <= len b4
holds b4 /. b1 = (Rotate(b4,b3)) /. ((b1 + 1) -' (b3 .. b4));
:: REVROT_1:th 11
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)) /. len (b3 :- b2) = b3 /. len b3;
:: REVROT_1:th 12
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 & len (b4 :- b3) < b1 & b1 <= len b4
holds (Rotate(b4,b3)) /. b1 = b4 /. ((b1 + (b3 .. b4)) -' len b4);
:: REVROT_1:th 13
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 & 1 < b1 & b1 <= b3 .. b4
holds b4 /. b1 = (Rotate(b4,b3)) /. ((b1 + len b4) -' (b3 .. b4));
:: REVROT_1:th 14
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1 holds
len Rotate(b3,b2) = len b3;
:: REVROT_1:th 15
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1 holds
dom Rotate(b3,b2) = dom b3;
:: REVROT_1:th 16
theorem
for b1 being non empty set
for b2 being circular FinSequence of b1
for b3 being Element of b1
st for b4 being Element of NAT
st 1 < b4 & b4 < len b2
holds b2 /. b4 <> b2 /. 1
holds Rotate(Rotate(b2,b3),b2 /. 1) = b2;
:: REVROT_1:th 17
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being Element of b2
for b4 being circular FinSequence of b2
st b3 in proj2 b4 & len (b4 :- b3) <= b1 & b1 <= len b4
holds (Rotate(b4,b3)) /. b1 = b4 /. ((b1 + (b3 .. b4)) -' len b4);
:: REVROT_1:th 18
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being Element of b2
for b4 being circular FinSequence of b2
st b3 in proj2 b4 & 1 <= b1 & b1 <= b3 .. b4
holds b4 /. b1 = (Rotate(b4,b3)) /. ((b1 + len b4) -' (b3 .. b4));
:: REVROT_1:exreg 1
registration
let a1 be non trivial set;
cluster Relation-like Function-like non constant finite FinSequence-like circular FinSequence of a1;
end;
:: REVROT_1:funcreg 1
registration
let a1 be non trivial set;
let a2 be Element of a1;
let a3 be non constant circular FinSequence of a1;
cluster Rotate(a3,a2) -> non constant;
end;
:: REVROT_1:th 19
theorem
for b1 being non empty Element of NAT holds
0.REAL b1 <> 1.REAL b1;
:: REVROT_1:funcreg 2
registration
let a1 be non empty Element of NAT;
cluster TOP-REAL a1 -> non trivial strict TopSpace-like;
end;
:: REVROT_1:th 20
theorem
for b1, b2 being FinSequence of the carrier of TOP-REAL 2
st proj2 b1 c= proj2 b2
holds proj2 X_axis b1 c= proj2 X_axis b2;
:: REVROT_1:th 21
theorem
for b1, b2 being FinSequence of the carrier of TOP-REAL 2
st proj2 b1 = proj2 b2
holds proj2 X_axis b1 = proj2 X_axis b2;
:: REVROT_1:th 22
theorem
for b1, b2 being FinSequence of the carrier of TOP-REAL 2
st proj2 b1 c= proj2 b2
holds proj2 Y_axis b1 c= proj2 Y_axis b2;
:: REVROT_1:th 23
theorem
for b1, b2 being FinSequence of the carrier of TOP-REAL 2
st proj2 b1 = proj2 b2
holds proj2 Y_axis b1 = proj2 Y_axis b2;
:: REVROT_1:funcreg 3
registration
let a1 be Element of the carrier of TOP-REAL 2;
let a2 be circular special FinSequence of the carrier of TOP-REAL 2;
cluster Rotate(a2,a1) -> special;
end;
:: REVROT_1:th 24
theorem
for b1 being Element of NAT
for b2 being Element of the carrier of TOP-REAL 2
for b3 being FinSequence of the carrier of TOP-REAL 2
st b2 in proj2 b3 & 1 <= b1 & b1 < len (b3 :- b2)
holds LSeg(Rotate(b3,b2),b1) = LSeg(b3,(b1 -' 1) + (b2 .. b3));
:: REVROT_1:th 25
theorem
for b1 being Element of NAT
for b2 being Element of the carrier of TOP-REAL 2
for b3 being FinSequence of the carrier of TOP-REAL 2
st b2 in proj2 b3 & b2 .. b3 <= b1 & b1 < len b3
holds LSeg(b3,b1) = LSeg(Rotate(b3,b2),(b1 -' (b2 .. b3)) + 1);
:: REVROT_1:th 26
theorem
for b1 being Element of the carrier of TOP-REAL 2
for b2 being circular FinSequence of the carrier of TOP-REAL 2 holds
Incr X_axis b2 = Incr X_axis Rotate(b2,b1);
:: REVROT_1:th 27
theorem
for b1 being Element of the carrier of TOP-REAL 2
for b2 being circular FinSequence of the carrier of TOP-REAL 2 holds
Incr Y_axis b2 = Incr Y_axis Rotate(b2,b1);
:: REVROT_1:th 28
theorem
for b1 being Element of the carrier of TOP-REAL 2
for b2 being non empty circular FinSequence of the carrier of TOP-REAL 2 holds
GoB Rotate(b2,b1) = GoB b2;
:: REVROT_1:th 29
theorem
for b1 being Element of the carrier of TOP-REAL 2
for b2 being non constant non empty circular special unfolded s.c.c. standard FinSequence of the carrier of TOP-REAL 2 holds
Rev Rotate(b2,b1) = Rotate(Rev b2,b1);
:: REVROT_1:th 30
theorem
for b1 being circular s.c.c. FinSequence of the carrier of TOP-REAL 2
st 4 < len b1
holds (LSeg(b1,(len b1) -' 1)) /\ LSeg(b1,1) = {b1 /. 1};
:: REVROT_1:th 31
theorem
for b1 being Element of NAT
for b2 being Element of the carrier of TOP-REAL 2
for b3 being circular FinSequence of the carrier of TOP-REAL 2
st b2 in proj2 b3 & len (b3 :- b2) <= b1 & b1 < len b3
holds LSeg(Rotate(b3,b2),b1) = LSeg(b3,(b1 + (b2 .. b3)) -' len b3);
:: REVROT_1:funcreg 4
registration
let a1 be Element of the carrier of TOP-REAL 2;
let a2 be circular s.c.c. FinSequence of the carrier of TOP-REAL 2;
cluster Rotate(a2,a1) -> s.c.c.;
end;
:: REVROT_1:funcreg 5
registration
let a1 be Element of the carrier of TOP-REAL 2;
let a2 be non constant non empty circular special unfolded s.c.c. standard FinSequence of the carrier of TOP-REAL 2;
cluster Rotate(a2,a1) -> unfolded;
end;
:: REVROT_1:th 32
theorem
for b1 being Element of NAT
for b2 being Element of the carrier of TOP-REAL 2
for b3 being circular FinSequence of the carrier of TOP-REAL 2
st b2 in proj2 b3 & 1 <= b1 & b1 < b2 .. b3
holds LSeg(b3,b1) = LSeg(Rotate(b3,b2),(b1 + len b3) -' (b2 .. b3));
:: REVROT_1:th 33
theorem
for b1 being Element of the carrier of TOP-REAL 2
for b2 being circular FinSequence of the carrier of TOP-REAL 2 holds
L~ Rotate(b2,b1) = L~ b2;
:: REVROT_1:th 34
theorem
for b1 being Element of the carrier of TOP-REAL 2
for b2 being circular FinSequence of the carrier of TOP-REAL 2
for b3 being non empty-yielding tabular X_equal-in-line Y_equal-in-column Y_increasing-in-line X_increasing-in-column FinSequence of (the carrier of TOP-REAL 2) * holds
b2 is_sequence_on b3
iff
Rotate(b2,b1) is_sequence_on b3;
:: REVROT_1:funcreg 6
registration
let a1 be Element of the carrier of TOP-REAL 2;
let a2 be non empty circular standard FinSequence of the carrier of TOP-REAL 2;
cluster Rotate(a2,a1) -> standard;
end;
:: REVROT_1:th 35
theorem
for b1 being non constant non empty circular special unfolded s.c.c. standard FinSequence of the carrier of TOP-REAL 2
for b2 being Element of the carrier of TOP-REAL 2
for b3 being Element of NAT
st b2 in proj2 b1 & 1 <= b3 & b3 < b2 .. b1
holds left_cell(b1,b3) = left_cell(Rotate(b1,b2),(b3 + len b1) -' (b2 .. b1));
:: REVROT_1:th 36
theorem
for b1 being Element of the carrier of TOP-REAL 2
for b2 being non constant non empty circular special unfolded s.c.c. standard FinSequence of the carrier of TOP-REAL 2 holds
LeftComp Rotate(b2,b1) = LeftComp b2;
:: REVROT_1:th 37
theorem
for b1 being Element of the carrier of TOP-REAL 2
for b2 being non constant non empty circular special unfolded s.c.c. standard FinSequence of the carrier of TOP-REAL 2 holds
RightComp Rotate(b2,b1) = RightComp b2;
:: REVROT_1:funcreg 7
registration
let a1 be Element of the carrier of TOP-REAL 2;
let a2 be non constant non empty circular special unfolded s.c.c. standard clockwise_oriented FinSequence of the carrier of TOP-REAL 2;
cluster Rotate(a2,a1) -> clockwise_oriented;
end;
:: REVROT_1:th 38
theorem
for b1 being non constant non empty circular special unfolded s.c.c. standard FinSequence of the carrier of TOP-REAL 2
st b1 is not clockwise_oriented
holds Rev b1 is clockwise_oriented;