:: JORDAN1K semantic presentation

theorem Th1: :: JORDAN1K:1
for b1 being set
for b2 being non empty set
for b3 being Function of b1,b2 st b3 is onto holds
for b4 being Element of b2 ex b5 being set st
( b5 in b1 & b4 = b3 . b5 )
proof end;

theorem Th2: :: JORDAN1K:2
for b1 being set
for b2 being non empty set
for b3 being Function of b1,b2 st b3 is onto holds
for b4 being Element of b2 ex b5 being Element of b1 st b4 = b3 . b5
proof end;

theorem Th3: :: JORDAN1K:3
for b1 being set
for b2 being non empty set
for b3 being Function of b1,b2
for b4 being Subset of b1 st b3 is onto holds
(b3 .: b4) ` c= b3 .: (b4 ` )
proof end;

theorem Th4: :: JORDAN1K:4
for b1 being set
for b2 being non empty set
for b3 being Function of b1,b2
for b4 being Subset of b1 st b3 is one-to-one holds
b3 .: (b4 ` ) c= (b3 .: b4) `
proof end;

theorem Th5: :: JORDAN1K:5
for b1 being set
for b2 being non empty set
for b3 being Function of b1,b2
for b4 being Subset of b1 st b3 is bijective holds
(b3 .: b4) ` = b3 .: (b4 ` )
proof end;

theorem Th6: :: JORDAN1K:6
for b1 being TopSpace
for b2 being Subset of b1 holds
( b2 is_a_component_of {} b1 iff b2 is empty )
proof end;

theorem Th7: :: JORDAN1K:7
for b1 being non empty TopSpace
for b2, b3, b4 being Subset of b1 st b2 c= b3 & b2 is_a_component_of b4 & b3 is_a_component_of b4 holds
b2 = b3
proof end;

theorem Th8: :: JORDAN1K:8
for b1 being Nat st b1 >= 1 holds
for b2 being Subset of (Euclid b1) st b2 is bounded holds
not b2 ` is bounded
proof end;

theorem Th9: :: JORDAN1K:9
for b1 being non empty MetrSpace
for b2 being non empty Subset of (TopSpaceMetr b1)
for b3 being Point of (TopSpaceMetr b1) holds (dist_min b2) . b3 >= 0
proof end;

theorem Th10: :: JORDAN1K:10
for b1 being Real
for b2 being non empty MetrSpace
for b3 being non empty Subset of (TopSpaceMetr b2)
for b4 being Point of b2 st ( for b5 being Point of b2 st b5 in b3 holds
dist b4,b5 >= b1 ) holds
(dist_min b3) . b4 >= b1
proof end;

theorem Th11: :: JORDAN1K:11
for b1 being non empty MetrSpace
for b2, b3 being non empty Subset of (TopSpaceMetr b1) holds min_dist_min b2,b3 >= 0
proof end;

theorem Th12: :: JORDAN1K:12
for b1 being non empty MetrSpace
for b2, b3 being compact Subset of (TopSpaceMetr b1) st b2 meets b3 holds
min_dist_min b2,b3 = 0
proof end;

theorem Th13: :: JORDAN1K:13
for b1 being Real
for b2 being non empty MetrSpace
for b3, b4 being non empty Subset of (TopSpaceMetr b2) st ( for b5, b6 being Point of b2 st b5 in b3 & b6 in b4 holds
dist b5,b6 >= b1 ) holds
min_dist_min b3,b4 >= b1
proof end;

theorem Th14: :: JORDAN1K:14
for b1 being Nat
for b2, b3 being Subset of (TOP-REAL b1) holds
( not b2 is_a_component_of b3 ` or b2 is_inside_component_of b3 or b2 is_outside_component_of b3 )
proof end;

theorem Th15: :: JORDAN1K:15
for b1 being Nat st b1 >= 1 holds
BDD ({} (TOP-REAL b1)) = {} (TOP-REAL b1)
proof end;

theorem Th16: :: JORDAN1K:16
for b1 being Nat holds BDD ([#] (TOP-REAL b1)) = {} (TOP-REAL b1)
proof end;

theorem Th17: :: JORDAN1K:17
for b1 being Nat st b1 >= 1 holds
UBD ({} (TOP-REAL b1)) = [#] (TOP-REAL b1)
proof end;

theorem Th18: :: JORDAN1K:18
for b1 being Nat holds UBD ([#] (TOP-REAL b1)) = {} (TOP-REAL b1)
proof end;

theorem Th19: :: JORDAN1K:19
for b1 being Nat
for b2 being connected Subset of (TOP-REAL b1)
for b3 being Subset of (TOP-REAL b1) holds
( not b2 misses b3 or b2 c= UBD b3 or b2 c= BDD b3 )
proof end;

theorem Th20: :: JORDAN1K:20
for b1 being Point of (TOP-REAL 2)
for b2 being Real holds dist |[0,0]|,(b2 * b1) = (abs b2) * (dist |[0,0]|,b1)
proof end;

theorem Th21: :: JORDAN1K:21
for b1, b2, b3 being Point of (TOP-REAL 2) holds dist (b1 + b2),(b3 + b2) = dist b1,b3
proof end;

theorem Th22: :: JORDAN1K:22
for b1, b2 being Point of (TOP-REAL 2) st b1 <> b2 holds
dist b1,b2 > 0
proof end;

theorem Th23: :: JORDAN1K:23
for b1, b2, b3 being Point of (TOP-REAL 2) holds dist (b1 - b2),(b3 - b2) = dist b1,b3
proof end;

theorem Th24: :: JORDAN1K:24
for b1, b2 being Point of (TOP-REAL 2) holds dist b1,b2 = dist (- b1),(- b2)
proof end;

theorem Th25: :: JORDAN1K:25
for b1, b2, b3 being Point of (TOP-REAL 2) holds dist (b1 - b2),(b1 - b3) = dist b2,b3
proof end;

theorem Th26: :: JORDAN1K:26
for b1, b2 being Point of (TOP-REAL 2)
for b3 being Real holds dist (b3 * b1),(b3 * b2) = (abs b3) * (dist b1,b2)
proof end;

theorem Th27: :: JORDAN1K:27
for b1, b2 being Point of (TOP-REAL 2)
for b3 being Real st b3 <= 1 holds
dist b1,((b3 * b1) + ((1 - b3) * b2)) = (1 - b3) * (dist b1,b2)
proof end;

theorem Th28: :: JORDAN1K:28
for b1, b2 being Point of (TOP-REAL 2)
for b3 being Real st 0 <= b3 holds
dist b1,((b3 * b2) + ((1 - b3) * b1)) = b3 * (dist b2,b1)
proof end;

theorem Th29: :: JORDAN1K:29
for b1, b2, b3 being Point of (TOP-REAL 2) st b1 in LSeg b2,b3 holds
(dist b2,b1) + (dist b1,b3) = dist b2,b3
proof end;

theorem Th30: :: JORDAN1K:30
for b1, b2, b3 being Point of (TOP-REAL 2) st b1 in LSeg b2,b3 & b1 <> b2 holds
dist b1,b3 < dist b2,b3
proof end;

theorem Th31: :: JORDAN1K:31
for b1 being Real
for b2 being Point of (Euclid 2) st b2 = |[0,0]| holds
Ball b2,b1 = { b3 where B is Point of (TOP-REAL 2) : |.b3.| < b1 }
proof end;

theorem Th32: :: JORDAN1K:32
for b1 being Point of (TOP-REAL 2)
for b2, b3, b4 being Real holds (AffineMap b2,b3,b2,b4) . b1 = (b2 * b1) + |[b3,b4]|
proof end;

theorem Th33: :: JORDAN1K:33
for b1, b2 being Point of (TOP-REAL 2)
for b3 being Real holds (AffineMap b3,(b1 `1 ),b3,(b1 `2 )) . b2 = (b3 * b2) + b1
proof end;

theorem Th34: :: JORDAN1K:34
for b1, b2, b3, b4 being Real st b1 > 0 & b2 > 0 holds
(AffineMap b1,b3,b2,b4) * (AffineMap (1 / b1),(- (b3 / b1)),(1 / b2),(- (b4 / b2))) = id (REAL 2)
proof end;

theorem Th35: :: JORDAN1K:35
for b1 being Point of (TOP-REAL 2)
for b2 being Real
for b3, b4 being Point of (Euclid 2) st b3 = |[0,0]| & b4 = b1 & b2 > 0 holds
(AffineMap b2,(b1 `1 ),b2,(b1 `2 )) .: (Ball b3,1) = Ball b4,b2
proof end;

theorem Th36: :: JORDAN1K:36
for b1, b2, b3, b4 being Real st b1 > 0 & b3 > 0 holds
AffineMap b1,b2,b3,b4 is onto
proof end;

theorem Th37: :: JORDAN1K:37
for b1 being Real
for b2 being Point of (Euclid 2) holds (Ball b2,b1) ` is connected Subset of (TOP-REAL 2)
proof end;

definition
let c1 be Nat;
let c2, c3 be Subset of (TOP-REAL c1);
func dist_min c2,c3 -> Real means :Def1: :: JORDAN1K:def 1
ex b1, b2 being Subset of (TopSpaceMetr (Euclid a1)) st
( a2 = b1 & a3 = b2 & a4 = min_dist_min b1,b2 );
existence
ex b1 being Realex b2, b3 being Subset of (TopSpaceMetr (Euclid c1)) st
( c2 = b2 & c3 = b3 & b1 = min_dist_min b2,b3 )
proof end;
uniqueness
for b1, b2 being Real st ex b3, b4 being Subset of (TopSpaceMetr (Euclid c1)) st
( c2 = b3 & c3 = b4 & b1 = min_dist_min b3,b4 ) & ex b3, b4 being Subset of (TopSpaceMetr (Euclid c1)) st
( c2 = b3 & c3 = b4 & b2 = min_dist_min b3,b4 ) holds
b1 = b2
;
end;

:: deftheorem Def1 defines dist_min JORDAN1K:def 1 :
for b1 being Nat
for b2, b3 being Subset of (TOP-REAL b1)
for b4 being Real holds
( b4 = dist_min b2,b3 iff ex b5, b6 being Subset of (TopSpaceMetr (Euclid b1)) st
( b2 = b5 & b3 = b6 & b4 = min_dist_min b5,b6 ) );

definition
let c1 be non empty MetrSpace;
let c2, c3 be non empty compact Subset of (TopSpaceMetr c1);
redefine func min_dist_min as min_dist_min c2,c3 -> Element of REAL ;
commutativity
for b1, b2 being non empty compact Subset of (TopSpaceMetr c1) holds min_dist_min b1,b2 = min_dist_min b2,b1
proof end;
redefine func max_dist_max as max_dist_max c2,c3 -> Element of REAL ;
commutativity
for b1, b2 being non empty compact Subset of (TopSpaceMetr c1) holds max_dist_max b1,b2 = max_dist_max b2,b1
proof end;
end;

definition
let c1 be Nat;
let c2, c3 be non empty compact Subset of (TOP-REAL c1);
redefine func dist_min as dist_min c2,c3 -> Real;
commutativity
for b1, b2 being non empty compact Subset of (TOP-REAL c1) holds dist_min b1,b2 = dist_min b2,b1
proof end;
end;

theorem Th38: :: JORDAN1K:38
for b1 being Nat
for b2, b3 being non empty Subset of (TOP-REAL b1) holds dist_min b2,b3 >= 0
proof end;

theorem Th39: :: JORDAN1K:39
for b1 being Nat
for b2, b3 being compact Subset of (TOP-REAL b1) st b2 meets b3 holds
dist_min b2,b3 = 0
proof end;

theorem Th40: :: JORDAN1K:40
for b1 being Nat
for b2 being Real
for b3, b4 being non empty Subset of (TOP-REAL b1) st ( for b5, b6 being Point of (TOP-REAL b1) st b5 in b3 & b6 in b4 holds
dist b5,b6 >= b2 ) holds
dist_min b3,b4 >= b2
proof end;

theorem Th41: :: JORDAN1K:41
for b1 being Nat
for b2 being Subset of (TOP-REAL b1)
for b3, b4 being non empty Subset of (TOP-REAL b1) st b4 c= b2 holds
dist_min b3,b2 <= dist_min b3,b4
proof end;

theorem Th42: :: JORDAN1K:42
for b1 being Nat
for b2, b3 being non empty compact Subset of (TOP-REAL b1) ex b4, b5 being Point of (TOP-REAL b1) st
( b4 in b2 & b5 in b3 & dist_min b2,b3 = dist b4,b5 )
proof end;

theorem Th43: :: JORDAN1K:43
for b1 being Nat
for b2, b3 being Point of (TOP-REAL b1) holds dist_min {b2},{b3} = dist b2,b3
proof end;

definition
let c1 be Nat;
let c2 be Point of (TOP-REAL c1);
let c3 be Subset of (TOP-REAL c1);
func dist c2,c3 -> Real equals :: JORDAN1K:def 2
dist_min {a2},a3;
coherence
dist_min {c2},c3 is Real
;
end;

:: deftheorem Def2 defines dist JORDAN1K:def 2 :
for b1 being Nat
for b2 being Point of (TOP-REAL b1)
for b3 being Subset of (TOP-REAL b1) holds dist b2,b3 = dist_min {b2},b3;

theorem Th44: :: JORDAN1K:44
for b1 being Nat
for b2 being non empty Subset of (TOP-REAL b1)
for b3 being Point of (TOP-REAL b1) holds dist b3,b2 >= 0 by Th38;

theorem Th45: :: JORDAN1K:45
for b1 being Nat
for b2 being compact Subset of (TOP-REAL b1)
for b3 being Point of (TOP-REAL b1) st b3 in b2 holds
dist b3,b2 = 0
proof end;

theorem Th46: :: JORDAN1K:46
for b1 being Nat
for b2 being non empty compact Subset of (TOP-REAL b1)
for b3 being Point of (TOP-REAL b1) ex b4 being Point of (TOP-REAL b1) st
( b4 in b2 & dist b3,b2 = dist b3,b4 )
proof end;

theorem Th47: :: JORDAN1K:47
for b1 being Nat
for b2 being non empty Subset of (TOP-REAL b1)
for b3 being Subset of (TOP-REAL b1) st b2 c= b3 holds
for b4 being Point of (TOP-REAL b1) holds dist b4,b3 <= dist b4,b2 by Th41;

theorem Th48: :: JORDAN1K:48
for b1 being Nat
for b2 being Real
for b3 being non empty Subset of (TOP-REAL b1)
for b4 being Point of (TOP-REAL b1) st ( for b5 being Point of (TOP-REAL b1) st b5 in b3 holds
dist b4,b5 >= b2 ) holds
dist b4,b3 >= b2
proof end;

theorem Th49: :: JORDAN1K:49
for b1 being Nat
for b2, b3 being Point of (TOP-REAL b1) holds dist b2,{b3} = dist b2,b3 by Th43;

theorem Th50: :: JORDAN1K:50
for b1 being Nat
for b2 being non empty Subset of (TOP-REAL b1)
for b3, b4 being Point of (TOP-REAL b1) st b4 in b2 holds
dist b3,b2 <= dist b3,b4
proof end;

theorem Th51: :: JORDAN1K:51
for b1 being non empty compact Subset of (TOP-REAL 2)
for b2 being open Subset of (TOP-REAL 2) st b1 c= b2 holds
for b3 being Point of (TOP-REAL 2) st not b3 in b2 holds
dist b3,b2 < dist b3,b1
proof end;

theorem Th52: :: JORDAN1K:52
for b1, b2 being Simple_closed_curve holds UBD b1 meets UBD b2
proof end;

theorem Th53: :: JORDAN1K:53
for b1 being Simple_closed_curve
for b2, b3 being Point of (TOP-REAL 2) st b2 in UBD b1 & b3 in BDD b1 holds
dist b2,b1 < dist b2,b3
proof end;

registration
let c1 be Simple_closed_curve;
cluster BDD a1 -> non empty ;
coherence
not BDD c1 is empty
proof end;
end;

theorem Th54: :: JORDAN1K:54
for b1 being Simple_closed_curve
for b2 being Point of (TOP-REAL 2) st not b2 in BDD b1 holds
dist b2,b1 <= dist b2,(BDD b1)
proof end;

theorem Th55: :: JORDAN1K:55
for b1, b2 being Simple_closed_curve holds
( not b1 c= BDD b2 or not b2 c= BDD b1 )
proof end;

theorem Th56: :: JORDAN1K:56
for b1, b2 being Simple_closed_curve st b1 c= BDD b2 holds
b2 c= UBD b1
proof end;

theorem Th57: :: JORDAN1K:57
for b1 being Simple_closed_curve
for b2 being Nat holds L~ (Cage b1,b2) c= UBD b1
proof end;

definition
let c1 be Simple_closed_curve;
func Lower_Middle_Point c1 -> Point of (TOP-REAL 2) equals :: JORDAN1K:def 3
First_Point (Lower_Arc a1),(W-min a1),(E-max a1),(Vertical_Line (((W-bound a1) + (E-bound a1)) / 2));
coherence
First_Point (Lower_Arc c1),(W-min c1),(E-max c1),(Vertical_Line (((W-bound c1) + (E-bound c1)) / 2)) is Point of (TOP-REAL 2)
;
func Upper_Middle_Point c1 -> Point of (TOP-REAL 2) equals :: JORDAN1K:def 4
First_Point (Upper_Arc a1),(W-min a1),(E-max a1),(Vertical_Line (((W-bound a1) + (E-bound a1)) / 2));
coherence
First_Point (Upper_Arc c1),(W-min c1),(E-max c1),(Vertical_Line (((W-bound c1) + (E-bound c1)) / 2)) is Point of (TOP-REAL 2)
;
end;

:: deftheorem Def3 defines Lower_Middle_Point JORDAN1K:def 3 :
for b1 being Simple_closed_curve holds Lower_Middle_Point b1 = First_Point (Lower_Arc b1),(W-min b1),(E-max b1),(Vertical_Line (((W-bound b1) + (E-bound b1)) / 2));

:: deftheorem Def4 defines Upper_Middle_Point JORDAN1K:def 4 :
for b1 being Simple_closed_curve holds Upper_Middle_Point b1 = First_Point (Upper_Arc b1),(W-min b1),(E-max b1),(Vertical_Line (((W-bound b1) + (E-bound b1)) / 2));

theorem Th58: :: JORDAN1K:58
for b1 being Simple_closed_curve holds Lower_Arc b1 meets Vertical_Line (((W-bound b1) + (E-bound b1)) / 2)
proof end;

theorem Th59: :: JORDAN1K:59
for b1 being Simple_closed_curve holds Upper_Arc b1 meets Vertical_Line (((W-bound b1) + (E-bound b1)) / 2)
proof end;

theorem Th60: :: JORDAN1K:60
for b1 being Simple_closed_curve holds (Lower_Middle_Point b1) `1 = ((W-bound b1) + (E-bound b1)) / 2
proof end;

theorem Th61: :: JORDAN1K:61
for b1 being Simple_closed_curve holds (Upper_Middle_Point b1) `1 = ((W-bound b1) + (E-bound b1)) / 2
proof end;

theorem Th62: :: JORDAN1K:62
for b1 being Simple_closed_curve holds Lower_Middle_Point b1 in Lower_Arc b1
proof end;

theorem Th63: :: JORDAN1K:63
for b1 being Simple_closed_curve holds Upper_Middle_Point b1 in Upper_Arc b1
proof end;