:: JORDAN4 semantic presentation

theorem Th1: :: JORDAN4:1
for b1, b2 being Nat st b1 -' b2 = 0 holds
b1 <= b2
proof end;

theorem Th2: :: JORDAN4:2
for b1, b2, b3 being Nat st b1 <= b2 holds
(b2 + b3) -' b1 = (b2 + b3) - b1
proof end;

theorem Th3: :: JORDAN4:3
for b1, b2, b3 being Nat st b1 <= b2 holds
(b2 + b3) -' b1 = (b2 -' b1) + b3
proof end;

theorem Th4: :: JORDAN4:4
for b1, b2, b3 being Nat st b1 <> 0 & b2 = b3 * b1 holds
b3 <= b2
proof end;

theorem Th5: :: JORDAN4:5
for b1, b2 being Nat st b1 < b2 holds
b1 div b2 = 0
proof end;

theorem Th6: :: JORDAN4:6
for b1, b2 being Nat st 0 < b1 & b1 < b2 & b2 < b1 + b1 holds
b2 mod b1 <> 0
proof end;

theorem Th7: :: JORDAN4:7
for b1, b2 being Nat st 0 < b1 & b1 <= b2 & b2 < b1 + b1 holds
( b2 mod b1 = b2 - b1 & b2 mod b1 = b2 -' b1 )
proof end;

theorem Th8: :: JORDAN4:8
for b1 being Nat holds (b1 + b1) mod b1 = 0
proof end;

theorem Th9: :: JORDAN4:9
for b1, b2 being Nat st 0 < b1 & b1 <= b2 & b1 mod b2 = 0 holds
b1 = b2
proof end;

theorem Th10: :: JORDAN4:10
canceled;

theorem Th11: :: JORDAN4:11
canceled;

theorem Th12: :: JORDAN4:12
canceled;

theorem Th13: :: JORDAN4:13
canceled;

theorem Th14: :: JORDAN4:14
for b1 being non empty set
for b2 being FinSequence of b1 st b2 is circular & 1 <= len b2 holds
b2 . 1 = b2 . (len b2)
proof end;

theorem Th15: :: JORDAN4:15
canceled;

theorem Th16: :: JORDAN4:16
canceled;

theorem Th17: :: JORDAN4:17
canceled;

theorem Th18: :: JORDAN4:18
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Nat st b3 < len b2 holds
( (b2 /^ b3) . (len (b2 /^ b3)) = b2 . (len b2) & (b2 /^ b3) /. (len (b2 /^ b3)) = b2 /. (len b2) )
proof end;

theorem Th19: :: JORDAN4:19
for b1 being FinSequence of (TOP-REAL 2)
for b2 being Nat st b1 is_S-Seq & b2 + 1 < len b1 holds
b1 /^ b2 is_S-Seq
proof end;

theorem Th20: :: JORDAN4:20
for b1 being non empty set
for b2 being FinSequence of b1
for b3, b4 being Nat st 1 <= b4 & b4 <= b3 & b3 <= len b2 holds
len (mid b2,b4,b3) = (b3 -' b4) + 1
proof end;

theorem Th21: :: JORDAN4:21
for b1 being non empty set
for b2 being FinSequence of b1
for b3, b4 being Nat st 1 <= b4 & b4 <= b3 & b3 <= len b2 holds
len (mid b2,b3,b4) = (b3 -' b4) + 1
proof end;

theorem Th22: :: JORDAN4:22
for b1 being non empty set
for b2 being FinSequence of b1
for b3, b4, b5 being Nat st 1 <= b3 & b3 <= b4 & b4 <= len b2 holds
(mid b2,b3,b4) . (len (mid b2,b3,b4)) = b2 . b4
proof end;

theorem Th23: :: JORDAN4:23
for b1 being non empty set
for b2 being FinSequence of b1
for b3, b4, b5 being Nat st 1 <= b3 & b3 <= len b2 & 1 <= b4 & b4 <= len b2 holds
(mid b2,b3,b4) . (len (mid b2,b3,b4)) = b2 . b4
proof end;

theorem Th24: :: JORDAN4:24
for b1 being non empty set
for b2 being FinSequence of b1
for b3, b4, b5 being Nat st 1 <= b4 & b4 <= b3 & b3 <= len b2 & 1 <= b5 & b5 <= (b3 -' b4) + 1 holds
(mid b2,b3,b4) . b5 = b2 . ((b3 -' b5) + 1)
proof end;

theorem Th25: :: JORDAN4:25
for b1 being Nat
for b2 being non empty set
for b3 being FinSequence of b2
for b4, b5 being Nat st 1 <= b5 & b5 <= b4 & b4 <= len b3 & 1 <= b1 & b1 <= (b4 -' b5) + 1 holds
( (mid b3,b4,b5) . b1 = (mid b3,b5,b4) . ((((b4 - b5) + 1) - b1) + 1) & (((b4 - b5) + 1) - b1) + 1 = (((b4 -' b5) + 1) -' b1) + 1 )
proof end;

theorem Th26: :: JORDAN4:26
for b1 being Nat
for b2 being non empty set
for b3 being FinSequence of b2
for b4, b5 being Nat st 1 <= b4 & b4 <= b5 & b5 <= len b3 & 1 <= b1 & b1 <= (b5 -' b4) + 1 holds
( (mid b3,b4,b5) . b1 = (mid b3,b5,b4) . ((((b5 - b4) + 1) - b1) + 1) & (((b5 - b4) + 1) - b1) + 1 = (((b5 -' b4) + 1) -' b1) + 1 )
proof end;

theorem Th27: :: JORDAN4:27
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Nat st 1 <= b3 & b3 <= len b2 holds
( mid b2,b3,b3 = <*(b2 /. b3)*> & len (mid b2,b3,b3) = 1 )
proof end;

theorem Th28: :: JORDAN4:28
for b1 being non empty set
for b2 being FinSequence of b1 holds mid b2,0,0 = b2 | 1
proof end;

theorem Th29: :: JORDAN4:29
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Nat st len b2 < b3 holds
mid b2,b3,b3 = <*> b1
proof end;

theorem Th30: :: JORDAN4:30
for b1 being non empty set
for b2 being FinSequence of b1
for b3, b4 being Nat holds mid b2,b3,b4 = Rev (mid b2,b4,b3)
proof end;

theorem Th31: :: JORDAN4:31
for b1 being FinSequence of (TOP-REAL 2)
for b2, b3, b4 being Nat st 1 <= b2 & b2 < b3 & b3 <= len b1 & 1 <= b4 & b4 < (b3 -' b2) + 1 holds
LSeg (mid b1,b2,b3),b4 = LSeg b1,((b4 + b2) -' 1)
proof end;

theorem Th32: :: JORDAN4:32
for b1 being FinSequence of (TOP-REAL 2)
for b2, b3, b4 being Nat st 1 <= b2 & b2 < b3 & b3 <= len b1 & 1 <= b4 & b4 < (b3 -' b2) + 1 holds
LSeg (mid b1,b3,b2),b4 = LSeg b1,(b3 -' b4)
proof end;

definition
let c1 be Nat;
let c2 be FinSequence;
func S_Drop c1,c2 -> Nat equals :Def1: :: JORDAN4:def 1
a1 mod ((len a2) -' 1) if a1 mod ((len a2) -' 1) <> 0
otherwise (len a2) -' 1;
correctness
coherence
( ( c1 mod ((len c2) -' 1) <> 0 implies c1 mod ((len c2) -' 1) is Nat ) & ( not c1 mod ((len c2) -' 1) <> 0 implies (len c2) -' 1 is Nat ) )
;
consistency
for b1 being Nat holds verum
;
;
end;

:: deftheorem Def1 defines S_Drop JORDAN4:def 1 :
for b1 being Nat
for b2 being FinSequence holds
( ( b1 mod ((len b2) -' 1) <> 0 implies S_Drop b1,b2 = b1 mod ((len b2) -' 1) ) & ( not b1 mod ((len b2) -' 1) <> 0 implies S_Drop b1,b2 = (len b2) -' 1 ) );

theorem Th33: :: JORDAN4:33
for b1 being FinSequence holds S_Drop ((len b1) -' 1),b1 = (len b1) -' 1
proof end;

theorem Th34: :: JORDAN4:34
for b1 being Nat
for b2 being FinSequence st 1 <= b1 & b1 <= (len b2) -' 1 holds
S_Drop b1,b2 = b1
proof end;

theorem Th35: :: JORDAN4:35
for b1 being Nat
for b2 being FinSequence holds
( S_Drop b1,b2 = S_Drop (b1 + ((len b2) -' 1)),b2 & S_Drop b1,b2 = S_Drop (((len b2) -' 1) + b1),b2 )
proof end;

definition
let c1 be non constant standard special_circular_sequence;
let c2 be FinSequence of (TOP-REAL 2);
let c3, c4 be Nat;
pred c2 is_a_part>_of c1,c3,c4 means :Def2: :: JORDAN4:def 2
( 1 <= a3 & a3 + 1 <= len a1 & 1 <= a4 & a4 + 1 <= len a1 & a2 . (len a2) = a1 . a4 & 1 <= len a2 & len a2 < len a1 & ( for b1 being Nat st 1 <= b1 & b1 <= len a2 holds
a2 . b1 = a1 . (S_Drop ((a3 + b1) -' 1),a1) ) );
end;

:: deftheorem Def2 defines is_a_part>_of JORDAN4:def 2 :
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat holds
( b2 is_a_part>_of b1,b3,b4 iff ( 1 <= b3 & b3 + 1 <= len b1 & 1 <= b4 & b4 + 1 <= len b1 & b2 . (len b2) = b1 . b4 & 1 <= len b2 & len b2 < len b1 & ( for b5 being Nat st 1 <= b5 & b5 <= len b2 holds
b2 . b5 = b1 . (S_Drop ((b3 + b5) -' 1),b1) ) ) );

definition
let c1 be non constant standard special_circular_sequence;
let c2 be FinSequence of (TOP-REAL 2);
let c3, c4 be Nat;
pred c2 is_a_part<_of c1,c3,c4 means :Def3: :: JORDAN4:def 3
( 1 <= a3 & a3 + 1 <= len a1 & 1 <= a4 & a4 + 1 <= len a1 & a2 . (len a2) = a1 . a4 & 1 <= len a2 & len a2 < len a1 & ( for b1 being Nat st 1 <= b1 & b1 <= len a2 holds
a2 . b1 = a1 . (S_Drop (((len a1) + a3) -' b1),a1) ) );
end;

:: deftheorem Def3 defines is_a_part<_of JORDAN4:def 3 :
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat holds
( b2 is_a_part<_of b1,b3,b4 iff ( 1 <= b3 & b3 + 1 <= len b1 & 1 <= b4 & b4 + 1 <= len b1 & b2 . (len b2) = b1 . b4 & 1 <= len b2 & len b2 < len b1 & ( for b5 being Nat st 1 <= b5 & b5 <= len b2 holds
b2 . b5 = b1 . (S_Drop (((len b1) + b3) -' b5),b1) ) ) );

definition
let c1 be non constant standard special_circular_sequence;
let c2 be FinSequence of (TOP-REAL 2);
let c3, c4 be Nat;
pred c2 is_a_part_of c1,c3,c4 means :Def4: :: JORDAN4:def 4
( a2 is_a_part>_of a1,a3,a4 or a2 is_a_part<_of a1,a3,a4 );
end;

:: deftheorem Def4 defines is_a_part_of JORDAN4:def 4 :
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat holds
( b2 is_a_part_of b1,b3,b4 iff ( b2 is_a_part>_of b1,b3,b4 or b2 is_a_part<_of b1,b3,b4 ) );

theorem Th36: :: JORDAN4:36
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part_of b1,b3,b4 holds
( 1 <= b3 & b3 + 1 <= len b1 & 1 <= b4 & b4 + 1 <= len b1 & b2 . (len b2) = b1 . b4 & 1 <= len b2 & len b2 < len b1 & ( for b5 being Nat st 1 <= b5 & b5 <= len b2 holds
b2 . b5 = b1 . (S_Drop ((b3 + b5) -' 1),b1) or for b5 being Nat st 1 <= b5 & b5 <= len b2 holds
b2 . b5 = b1 . (S_Drop (((len b1) + b3) -' b5),b1) ) )
proof end;

theorem Th37: :: JORDAN4:37
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part>_of b1,b3,b4 & b3 <= b4 holds
( len b2 = (b4 -' b3) + 1 & b2 = mid b1,b3,b4 )
proof end;

theorem Th38: :: JORDAN4:38
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part>_of b1,b3,b4 & b3 > b4 holds
( len b2 = ((len b1) + b4) -' b3 & b2 = (mid b1,b3,((len b1) -' 1)) ^ (b1 | b4) & b2 = (mid b1,b3,((len b1) -' 1)) ^ (mid b1,1,b4) )
proof end;

theorem Th39: :: JORDAN4:39
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part<_of b1,b3,b4 & b3 >= b4 holds
( len b2 = (b3 -' b4) + 1 & b2 = mid b1,b3,b4 )
proof end;

theorem Th40: :: JORDAN4:40
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part<_of b1,b3,b4 & b3 < b4 holds
( len b2 = ((len b1) + b3) -' b4 & b2 = (mid b1,b3,1) ^ (mid b1,((len b1) -' 1),b4) )
proof end;

theorem Th41: :: JORDAN4:41
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part>_of b1,b3,b4 holds
Rev b2 is_a_part<_of b1,b4,b3
proof end;

theorem Th42: :: JORDAN4:42
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part<_of b1,b3,b4 holds
Rev b2 is_a_part>_of b1,b4,b3
proof end;

theorem Th43: :: JORDAN4:43
for b1 being non constant standard special_circular_sequence
for b2, b3 being Nat st 1 <= b2 & b2 <= b3 & b3 < len b1 holds
mid b1,b2,b3 is_a_part>_of b1,b2,b3
proof end;

theorem Th44: :: JORDAN4:44
for b1 being non constant standard special_circular_sequence
for b2, b3 being Nat st 1 <= b2 & b2 <= b3 & b3 < len b1 holds
mid b1,b3,b2 is_a_part<_of b1,b3,b2
proof end;

theorem Th45: :: JORDAN4:45
for b1 being non constant standard special_circular_sequence
for b2, b3 being Nat st 1 <= b3 & b2 > b3 & b2 < len b1 holds
(mid b1,b2,((len b1) -' 1)) ^ (mid b1,1,b3) is_a_part>_of b1,b2,b3
proof end;

theorem Th46: :: JORDAN4:46
for b1 being non constant standard special_circular_sequence
for b2, b3 being Nat st 1 <= b2 & b2 < b3 & b3 < len b1 holds
(mid b1,b2,1) ^ (mid b1,((len b1) -' 1),b3) is_a_part<_of b1,b2,b3
proof end;

theorem Th47: :: JORDAN4:47
for b1 being FinSequence of (TOP-REAL 2)
for b2, b3 being Nat st 1 <= b2 & b2 <= len b1 & 1 <= b3 & b3 <= len b1 holds
L~ (mid b1,b2,b3) c= L~ b1
proof end;

theorem Th48: :: JORDAN4:48
for b1 being non empty set
for b2 being FinSequence of b1 holds
( b2 is one-to-one iff for b3, b4 being Nat st 1 <= b3 & b3 <= len b2 & 1 <= b4 & b4 <= len b2 & ( b2 . b3 = b2 . b4 or b2 /. b3 = b2 /. b4 ) holds
b3 = b4 )
proof end;

theorem Th49: :: JORDAN4:49
for b1 being non constant standard special_circular_sequence
for b2 being Nat st 1 < b2 & b2 + 1 <= len b1 holds
b1 | b2 is_S-Seq
proof end;

theorem Th50: :: JORDAN4:50
for b1 being non constant standard special_circular_sequence
for b2 being Nat st 1 <= b2 & b2 + 1 < len b1 holds
b1 /^ b2 is_S-Seq
proof end;

theorem Th51: :: JORDAN4:51
for b1 being non constant standard special_circular_sequence
for b2, b3 being Nat st 1 <= b2 & b2 < b3 & b3 + 1 <= len b1 holds
mid b1,b2,b3 is_S-Seq
proof end;

theorem Th52: :: JORDAN4:52
for b1 being non constant standard special_circular_sequence
for b2, b3 being Nat st 1 < b2 & b2 < b3 & b3 <= len b1 holds
mid b1,b2,b3 is_S-Seq
proof end;

theorem Th53: :: JORDAN4:53
for b1, b2, b3, b4 being Point of (TOP-REAL 2) st b1 in LSeg b2,b3 & b1 in LSeg b2,b4 & b2 <> b1 & not b3 in LSeg b2,b4 holds
b4 in LSeg b2,b3
proof end;

theorem Th54: :: JORDAN4:54
for b1 being non constant standard special_circular_sequence holds (LSeg b1,1) /\ (LSeg b1,((len b1) -' 1)) = {(b1 . 1)}
proof end;

theorem Th55: :: JORDAN4:55
for b1 being non constant standard special_circular_sequence
for b2, b3 being Nat
for b4, b5 being FinSequence of (TOP-REAL 2) st 1 <= b2 & b2 < b3 & b3 < len b1 & b4 = mid b1,b2,b3 & b5 = (mid b1,b2,1) ^ (mid b1,((len b1) -' 1),b3) holds
( (L~ b4) /\ (L~ b5) = {(b1 . b2),(b1 . b3)} & (L~ b4) \/ (L~ b5) = L~ b1 )
proof end;

theorem Th56: :: JORDAN4:56
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part>_of b1,b3,b4 & b3 < b4 holds
L~ b2 is_S-P_arc_joining b1 /. b3,b1 /. b4
proof end;

Lemma51: for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part>_of b1,b3,b4 & b3 > b4 holds
L~ b2 is_S-P_arc_joining b1 /. b3,b1 /. b4
proof end;

theorem Th57: :: JORDAN4:57
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part<_of b1,b3,b4 & b3 > b4 holds
L~ b2 is_S-P_arc_joining b1 /. b3,b1 /. b4
proof end;

theorem Th58: :: JORDAN4:58
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part>_of b1,b3,b4 & b3 <> b4 holds
L~ b2 is_S-P_arc_joining b1 /. b3,b1 /. b4
proof end;

theorem Th59: :: JORDAN4:59
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part<_of b1,b3,b4 & b3 <> b4 holds
L~ b2 is_S-P_arc_joining b1 /. b3,b1 /. b4
proof end;

theorem Th60: :: JORDAN4:60
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part_of b1,b3,b4 & b3 <> b4 holds
L~ b2 is_S-P_arc_joining b1 /. b3,b1 /. b4
proof end;

theorem Th61: :: JORDAN4:61
for b1 being non constant standard special_circular_sequence
for b2 being FinSequence of (TOP-REAL 2)
for b3, b4 being Nat st b2 is_a_part_of b1,b3,b4 & b2 . 1 <> b2 . (len b2) holds
L~ b2 is_S-P_arc_joining b1 /. b3,b1 /. b4
proof end;

theorem Th62: :: JORDAN4:62
for b1 being non constant standard special_circular_sequence
for b2, b3 being Nat st 1 <= b2 & b2 + 1 <= len b1 & 1 <= b3 & b3 + 1 <= len b1 & b2 <> b3 holds
ex b4, b5 being FinSequence of (TOP-REAL 2) st
( b4 is_a_part_of b1,b2,b3 & b5 is_a_part_of b1,b2,b3 & (L~ b4) /\ (L~ b5) = {(b1 . b2),(b1 . b3)} & (L~ b4) \/ (L~ b5) = L~ b1 & L~ b4 is_S-P_arc_joining b1 /. b2,b1 /. b3 & L~ b5 is_S-P_arc_joining b1 /. b2,b1 /. b3 & ( for b6 being FinSequence of (TOP-REAL 2) holds
( not b6 is_a_part_of b1,b2,b3 or b6 = b4 or b6 = b5 ) ) )
proof end;

theorem Th63: :: JORDAN4:63
for b1 being non constant standard special_circular_sequence
for b2 being non empty Subset of (TOP-REAL 2) st b2 = L~ b1 holds
b2 is_simple_closed_curve
proof end;

theorem Th64: :: JORDAN4:64
for b1, b2 being Nat
for b3 being non constant standard special_circular_sequence
for b4, b5 being FinSequence of (TOP-REAL 2) st b4 is_a_part>_of b3,b1,b2 & b5 is_a_part>_of b3,b1,b2 holds
b4 = b5
proof end;

theorem Th65: :: JORDAN4:65
for b1, b2 being Nat
for b3 being non constant standard special_circular_sequence
for b4, b5 being FinSequence of (TOP-REAL 2) st b4 is_a_part<_of b3,b1,b2 & b5 is_a_part<_of b3,b1,b2 holds
b4 = b5
proof end;

theorem Th66: :: JORDAN4:66
for b1, b2 being Nat
for b3 being non constant standard special_circular_sequence
for b4, b5 being FinSequence of (TOP-REAL 2) st b1 <> b2 & b4 is_a_part>_of b3,b1,b2 & b5 is_a_part<_of b3,b1,b2 holds
b4 . 2 <> b5 . 2
proof end;

theorem Th67: :: JORDAN4:67
for b1, b2 being Nat
for b3 being non constant standard special_circular_sequence
for b4, b5 being FinSequence of (TOP-REAL 2) st b1 <> b2 & b4 is_a_part_of b3,b1,b2 & b5 is_a_part_of b3,b1,b2 & b4 . 2 = b5 . 2 holds
b4 = b5
proof end;

definition
let c1 be non constant standard special_circular_sequence;
let c2, c3 be Nat;
assume E60: ( 1 <= c2 & c2 + 1 <= len c1 & 1 <= c3 & c3 + 1 <= len c1 & c2 <> c3 ) ;
func Lower c1,c2,c3 -> FinSequence of (TOP-REAL 2) means :: JORDAN4:def 5
( a4 is_a_part_of a1,a2,a3 & ( ( (a1 /. (a2 + 1)) `1 < (a1 /. a2) `1 or (a1 /. (a2 + 1)) `2 < (a1 /. a2) `2 ) implies a4 . 2 = a1 . (a2 + 1) ) & ( (a1 /. (a2 + 1)) `1 >= (a1 /. a2) `1 & (a1 /. (a2 + 1)) `2 >= (a1 /. a2) `2 implies a4 . 2 = a1 . (S_Drop (a2 -' 1),a1) ) );
correctness
existence
ex b1 being FinSequence of (TOP-REAL 2) st
( b1 is_a_part_of c1,c2,c3 & ( ( (c1 /. (c2 + 1)) `1 < (c1 /. c2) `1 or (c1 /. (c2 + 1)) `2 < (c1 /. c2) `2 ) implies b1 . 2 = c1 . (c2 + 1) ) & ( (c1 /. (c2 + 1)) `1 >= (c1 /. c2) `1 & (c1 /. (c2 + 1)) `2 >= (c1 /. c2) `2 implies b1 . 2 = c1 . (S_Drop (c2 -' 1),c1) ) )
;
uniqueness
for b1, b2 being FinSequence of (TOP-REAL 2) st b1 is_a_part_of c1,c2,c3 & ( ( (c1 /. (c2 + 1)) `1 < (c1 /. c2) `1 or (c1 /. (c2 + 1)) `2 < (c1 /. c2) `2 ) implies b1 . 2 = c1 . (c2 + 1) ) & ( (c1 /. (c2 + 1)) `1 >= (c1 /. c2) `1 & (c1 /. (c2 + 1)) `2 >= (c1 /. c2) `2 implies b1 . 2 = c1 . (S_Drop (c2 -' 1),c1) ) & b2 is_a_part_of c1,c2,c3 & ( ( (c1 /. (c2 + 1)) `1 < (c1 /. c2) `1 or (c1 /. (c2 + 1)) `2 < (c1 /. c2) `2 ) implies b2 . 2 = c1 . (c2 + 1) ) & ( (c1 /. (c2 + 1)) `1 >= (c1 /. c2) `1 & (c1 /. (c2 + 1)) `2 >= (c1 /. c2) `2 implies b2 . 2 = c1 . (S_Drop (c2 -' 1),c1) ) holds
b1 = b2
;
proof end;
func Upper c1,c2,c3 -> FinSequence of (TOP-REAL 2) means :: JORDAN4:def 6
( a4 is_a_part_of a1,a2,a3 & ( ( (a1 /. (a2 + 1)) `1 > (a1 /. a2) `1 or (a1 /. (a2 + 1)) `2 > (a1 /. a2) `2 ) implies a4 . 2 = a1 . (a2 + 1) ) & ( (a1 /. (a2 + 1)) `1 <= (a1 /. a2) `1 & (a1 /. (a2 + 1)) `2 <= (a1 /. a2) `2 implies a4 . 2 = a1 . (S_Drop (a2 -' 1),a1) ) );
correctness
existence
ex b1 being FinSequence of (TOP-REAL 2) st
( b1 is_a_part_of c1,c2,c3 & ( ( (c1 /. (c2 + 1)) `1 > (c1 /. c2) `1 or (c1 /. (c2 + 1)) `2 > (c1 /. c2) `2 ) implies b1 . 2 = c1 . (c2 + 1) ) & ( (c1 /. (c2 + 1)) `1 <= (c1 /. c2) `1 & (c1 /. (c2 + 1)) `2 <= (c1 /. c2) `2 implies b1 . 2 = c1 . (S_Drop (c2 -' 1),c1) ) )
;
uniqueness
for b1, b2 being FinSequence of (TOP-REAL 2) st b1 is_a_part_of c1,c2,c3 & ( ( (c1 /. (c2 + 1)) `1 > (c1 /. c2) `1 or (c1 /. (c2 + 1)) `2 > (c1 /. c2) `2 ) implies b1 . 2 = c1 . (c2 + 1) ) & ( (c1 /. (c2 + 1)) `1 <= (c1 /. c2) `1 & (c1 /. (c2 + 1)) `2 <= (c1 /. c2) `2 implies b1 . 2 = c1 . (S_Drop (c2 -' 1),c1) ) & b2 is_a_part_of c1,c2,c3 & ( ( (c1 /. (c2 + 1)) `1 > (c1 /. c2) `1 or (c1 /. (c2 + 1)) `2 > (c1 /. c2) `2 ) implies b2 . 2 = c1 . (c2 + 1) ) & ( (c1 /. (c2 + 1)) `1 <= (c1 /. c2) `1 & (c1 /. (c2 + 1)) `2 <= (c1 /. c2) `2 implies b2 . 2 = c1 . (S_Drop (c2 -' 1),c1) ) holds
b1 = b2
;
proof end;
end;

:: deftheorem Def5 defines Lower JORDAN4:def 5 :
for b1 being non constant standard special_circular_sequence
for b2, b3 being Nat st 1 <= b2 & b2 + 1 <= len b1 & 1 <= b3 & b3 + 1 <= len b1 & b2 <> b3 holds
for b4 being FinSequence of (TOP-REAL 2) holds
( b4 = Lower b1,b2,b3 iff ( b4 is_a_part_of b1,b2,b3 & ( ( (b1 /. (b2 + 1)) `1 < (b1 /. b2) `1 or (b1 /. (b2 + 1)) `2 < (b1 /. b2) `2 ) implies b4 . 2 = b1 . (b2 + 1) ) & ( (b1 /. (b2 + 1)) `1 >= (b1 /. b2) `1 & (b1 /. (b2 + 1)) `2 >= (b1 /. b2) `2 implies b4 . 2 = b1 . (S_Drop (b2 -' 1),b1) ) ) );

:: deftheorem Def6 defines Upper JORDAN4:def 6 :
for b1 being non constant standard special_circular_sequence
for b2, b3 being Nat st 1 <= b2 & b2 + 1 <= len b1 & 1 <= b3 & b3 + 1 <= len b1 & b2 <> b3 holds
for b4 being FinSequence of (TOP-REAL 2) holds
( b4 = Upper b1,b2,b3 iff ( b4 is_a_part_of b1,b2,b3 & ( ( (b1 /. (b2 + 1)) `1 > (b1 /. b2) `1 or (b1 /. (b2 + 1)) `2 > (b1 /. b2) `2 ) implies b4 . 2 = b1 . (b2 + 1) ) & ( (b1 /. (b2 + 1)) `1 <= (b1 /. b2) `1 & (b1 /. (b2 + 1)) `2 <= (b1 /. b2) `2 implies b4 . 2 = b1 . (S_Drop (b2 -' 1),b1) ) ) );