:: JORDAN13 semantic presentation
definition
let c
1 be non
empty non
horizontal non
vertical being_simple_closed_curve Subset of
(TOP-REAL 2);
let c
2 be
Nat;
assume E1:
c
2 is_sufficiently_large_for c
1
;
func Span c
1,c
2 -> non
constant standard clockwise_oriented special_circular_sequence means :: JORDAN13:def 1
( a
3 is_sequence_on Gauge a
1,a
2 & a
3 /. 1
= (Gauge a1,a2) * (X-SpanStart a1,a2),
(Y-SpanStart a1,a2) & a
3 /. 2
= (Gauge a1,a2) * ((X-SpanStart a1,a2) -' 1),
(Y-SpanStart a1,a2) & ( for b
1 being
Nat holds
( 1
<= b
1 & b
1 + 2
<= len a
3 implies ( (
front_right_cell a
3,b
1,
(Gauge a1,a2) misses a
1 &
front_left_cell a
3,b
1,
(Gauge a1,a2) misses a
1 implies a
3 turns_left b
1,
Gauge a
1,a
2 ) & (
front_right_cell a
3,b
1,
(Gauge a1,a2) misses a
1 &
front_left_cell a
3,b
1,
(Gauge a1,a2) meets a
1 implies a
3 goes_straight b
1,
Gauge a
1,a
2 ) & (
front_right_cell a
3,b
1,
(Gauge a1,a2) meets a
1 implies a
3 turns_right b
1,
Gauge a
1,a
2 ) ) ) ) );
existence
ex b1 being non constant standard clockwise_oriented special_circular_sequence st
( b1 is_sequence_on Gauge c1,c2 & b1 /. 1 = (Gauge c1,c2) * (X-SpanStart c1,c2),(Y-SpanStart c1,c2) & b1 /. 2 = (Gauge c1,c2) * ((X-SpanStart c1,c2) -' 1),(Y-SpanStart c1,c2) & ( for b2 being Nat holds
( 1 <= b2 & b2 + 2 <= len b1 implies ( ( front_right_cell b1,b2,(Gauge c1,c2) misses c1 & front_left_cell b1,b2,(Gauge c1,c2) misses c1 implies b1 turns_left b2, Gauge c1,c2 ) & ( front_right_cell b1,b2,(Gauge c1,c2) misses c1 & front_left_cell b1,b2,(Gauge c1,c2) meets c1 implies b1 goes_straight b2, Gauge c1,c2 ) & ( front_right_cell b1,b2,(Gauge c1,c2) meets c1 implies b1 turns_right b2, Gauge c1,c2 ) ) ) ) )
uniqueness
for b1, b2 being non constant standard clockwise_oriented special_circular_sequence holds
( b1 is_sequence_on Gauge c1,c2 & b1 /. 1 = (Gauge c1,c2) * (X-SpanStart c1,c2),(Y-SpanStart c1,c2) & b1 /. 2 = (Gauge c1,c2) * ((X-SpanStart c1,c2) -' 1),(Y-SpanStart c1,c2) & ( for b3 being Nat holds
( 1 <= b3 & b3 + 2 <= len b1 implies ( ( front_right_cell b1,b3,(Gauge c1,c2) misses c1 & front_left_cell b1,b3,(Gauge c1,c2) misses c1 implies b1 turns_left b3, Gauge c1,c2 ) & ( front_right_cell b1,b3,(Gauge c1,c2) misses c1 & front_left_cell b1,b3,(Gauge c1,c2) meets c1 implies b1 goes_straight b3, Gauge c1,c2 ) & ( front_right_cell b1,b3,(Gauge c1,c2) meets c1 implies b1 turns_right b3, Gauge c1,c2 ) ) ) ) & b2 is_sequence_on Gauge c1,c2 & b2 /. 1 = (Gauge c1,c2) * (X-SpanStart c1,c2),(Y-SpanStart c1,c2) & b2 /. 2 = (Gauge c1,c2) * ((X-SpanStart c1,c2) -' 1),(Y-SpanStart c1,c2) & ( for b3 being Nat holds
( 1 <= b3 & b3 + 2 <= len b2 implies ( ( front_right_cell b2,b3,(Gauge c1,c2) misses c1 & front_left_cell b2,b3,(Gauge c1,c2) misses c1 implies b2 turns_left b3, Gauge c1,c2 ) & ( front_right_cell b2,b3,(Gauge c1,c2) misses c1 & front_left_cell b2,b3,(Gauge c1,c2) meets c1 implies b2 goes_straight b3, Gauge c1,c2 ) & ( front_right_cell b2,b3,(Gauge c1,c2) meets c1 implies b2 turns_right b3, Gauge c1,c2 ) ) ) ) implies b1 = b2 )
end;
:: deftheorem Def1 defines Span JORDAN13:def 1 :
for b
1 being non
empty non
horizontal non
vertical being_simple_closed_curve Subset of
(TOP-REAL 2)for b
2 being
Nat holds
( b
2 is_sufficiently_large_for b
1 implies for b
3 being non
constant standard clockwise_oriented special_circular_sequence holds
( b
3 = Span b
1,b
2 iff ( b
3 is_sequence_on Gauge b
1,b
2 & b
3 /. 1
= (Gauge b1,b2) * (X-SpanStart b1,b2),
(Y-SpanStart b1,b2) & b
3 /. 2
= (Gauge b1,b2) * ((X-SpanStart b1,b2) -' 1),
(Y-SpanStart b1,b2) & ( for b
4 being
Nat holds
( 1
<= b
4 & b
4 + 2
<= len b
3 implies ( (
front_right_cell b
3,b
4,
(Gauge b1,b2) misses b
1 &
front_left_cell b
3,b
4,
(Gauge b1,b2) misses b
1 implies b
3 turns_left b
4,
Gauge b
1,b
2 ) & (
front_right_cell b
3,b
4,
(Gauge b1,b2) misses b
1 &
front_left_cell b
3,b
4,
(Gauge b1,b2) meets b
1 implies b
3 goes_straight b
4,
Gauge b
1,b
2 ) & (
front_right_cell b
3,b
4,
(Gauge b1,b2) meets b
1 implies b
3 turns_right b
4,
Gauge b
1,b
2 ) ) ) ) ) ) );