Article JORDAN13, MML version 4.99.1005

:: JORDAN13:funcnot 1 => JORDAN13:func 1
definition
  let a1 be non empty non horizontal non vertical being_simple_closed_curve Element of bool the carrier of TOP-REAL 2;
  let a2 be Element of NAT;
  assume a2 is_sufficiently_large_for a1;
  func Span(A1,A2) -> non constant non empty circular special unfolded s.c.c. standard clockwise_oriented FinSequence of the carrier of TOP-REAL 2 means
    it is_sequence_on Gauge(a1,a2) &
     it /. 1 = (Gauge(a1,a2)) *(X-SpanStart(a1,a2),Y-SpanStart(a1,a2)) &
     it /. 2 = (Gauge(a1,a2)) *((X-SpanStart(a1,a2)) -' 1,Y-SpanStart(a1,a2)) &
     (for b1 being Element of NAT
           st 1 <= b1 & b1 + 2 <= len it
        holds (front_right_cell(it,b1,Gauge(a1,a2)) misses a1 & front_left_cell(it,b1,Gauge(a1,a2)) misses a1 implies it turns_left b1,Gauge(a1,a2)) &
         (front_right_cell(it,b1,Gauge(a1,a2)) misses a1 & front_left_cell(it,b1,Gauge(a1,a2)) meets a1 implies it goes_straight b1,Gauge(a1,a2)) &
         (front_right_cell(it,b1,Gauge(a1,a2)) misses a1 or it turns_right b1,Gauge(a1,a2)));
end;

:: JORDAN13:def 1
theorem
for b1 being non empty non horizontal non vertical being_simple_closed_curve Element of bool the carrier of TOP-REAL 2
for b2 being Element of NAT
   st b2 is_sufficiently_large_for b1
for b3 being non constant non empty circular special unfolded s.c.c. standard clockwise_oriented FinSequence of the carrier of TOP-REAL 2 holds
      b3 = Span(b1,b2)
   iff
      b3 is_sequence_on Gauge(b1,b2) &
       b3 /. 1 = (Gauge(b1,b2)) *(X-SpanStart(b1,b2),Y-SpanStart(b1,b2)) &
       b3 /. 2 = (Gauge(b1,b2)) *((X-SpanStart(b1,b2)) -' 1,Y-SpanStart(b1,b2)) &
       (for b4 being Element of NAT
             st 1 <= b4 & b4 + 2 <= len b3
          holds (front_right_cell(b3,b4,Gauge(b1,b2)) misses b1 & front_left_cell(b3,b4,Gauge(b1,b2)) misses b1 implies b3 turns_left b4,Gauge(b1,b2)) &
           (front_right_cell(b3,b4,Gauge(b1,b2)) misses b1 & front_left_cell(b3,b4,Gauge(b1,b2)) meets b1 implies b3 goes_straight b4,Gauge(b1,b2)) &
           (front_right_cell(b3,b4,Gauge(b1,b2)) misses b1 or b3 turns_right b4,Gauge(b1,b2)));