reserve n for Nat;

theorem Th12:
  for f be standard special unfolded non trivial FinSequence of
TOP-REAL 2 st (f/.1 <> W-min L~f & f/.len f <> W-min L~f) or (f/.1 <> W-max L~
  f & f/.len f <> W-max L~f) holds (W-min L~f)`2 < (W-max L~f)`2
proof
  let f be standard special unfolded non trivial FinSequence of TOP-REAL 2;
  set p = W-min L~f;
  set i = p..f;
  assume
A1: f/.1 <> W-min L~f & f/.len f <> W-min L~f or f/.1 <> W-max L~f & f/.
  len f <> W-max L~f;
A2: len f >= 2 by NAT_D:60;
A3: p`1 = W-bound L~f by EUCLID:52;
A4: p in rng f by SPRECT_2:43;
  then
A5: i in dom f by FINSEQ_4:20;
  then
A6: 1 <= i & i <= len f by FINSEQ_3:25;
A7: p = f.i by A4,FINSEQ_4:19
    .= f/.i by A5,PARTFUN1:def 6;
  per cases by A6,XXREAL_0:1;
  suppose
A8: i = 1;
    p`1 = (W-max L~f)`1 by PSCOMP_1:29;
    then
A9: p`2 <> (W-max L~f)`2 by A1,A7,A8,TOPREAL3:6;
    p`2 <= (W-max L~f)`2 by PSCOMP_1:30;
    hence thesis by A9,XXREAL_0:1;
  end;
  suppose
A10: i = len f;
    p`1 = (W-max L~f)`1 by PSCOMP_1:29;
    then
A11: p`2 <> (W-max L~f)`2 by A1,A7,A10,TOPREAL3:6;
    p`2 <= (W-max L~f)`2 by PSCOMP_1:30;
    hence thesis by A11,XXREAL_0:1;
  end;
  suppose that
A12: 1 < i and
A13: i < len f;
A14: i-'1+1 = i by A12,XREAL_1:235;
    then
A15: i-'1 >= 1 by A12,NAT_1:13;
    then
A16: f/.(i-'1) in LSeg(f,i-'1) by A13,A14,TOPREAL1:21;
    i-'1 <= i by A14,NAT_1:11;
    then i-'1 <= len f by A13,XXREAL_0:2;
    then
A17: i-'1 in dom f by A15,FINSEQ_3:25;
    then
A18: f/.(i-'1) in L~f by A2,GOBOARD1:1;
A19: i+1 <= len f by A13,NAT_1:13;
    then
A20: f/.(i+1) in LSeg(f,i) by A12,TOPREAL1:21;
    i+1 >= 1 by NAT_1:11;
    then
A21: i+1 in dom f by A19,FINSEQ_3:25;
    then
A22: f/.(i+1) in L~f by A2,GOBOARD1:1;
A23: p <> f/.(i+1) by A4,A7,A21,FINSEQ_4:20,GOBOARD7:29;
A24: p in LSeg(f,i) by A7,A12,A19,TOPREAL1:21;
A25: p in LSeg(f,i-'1) by A7,A13,A14,A15,TOPREAL1:21;
A26: p <> f/.(i-'1) by A5,A7,A14,A17,GOBOARD7:29;
A27: not(LSeg(f,i-'1) is horizontal & LSeg(f,i) is horizontal)
    proof
      assume LSeg(f,i-'1) is horizontal & LSeg(f,i) is horizontal;
      then
A28:  p`2 = (f/.(i+1))`2 & p`2 = (f/.(i-'1))`2 by A25,A24,A16,A20,SPPOL_1:def 2
;
A29:  (f/.(i+1))`1 <= (f/.(i-'1))`1 or (f/.(i+1))`1 >= (f/.(i-'1))`1;
A30:  p`1 <= (f/.(i+1))`1 & p`1 <= (f/.(i-'1))`1 by A3,A18,A22,PSCOMP_1:24;
      LSeg(f,i) = LSeg(f/.i,f/.(i+1)) & LSeg(f,i-'1) = LSeg(f/.i,f/.(i-'1
      )) by A12,A13,A14,A15,A19,TOPREAL1:def 3;
      then f/.(i-'1) in LSeg(f,i) or f/.(i+1) in LSeg(f,i-'1) by A7,A28,A30,A29
,GOBOARD7:8;
      then f/.(i-'1) in LSeg(f,i-'1) /\ LSeg(f,i) or f/.(i+1) in LSeg(f,i-'1)
      /\ LSeg(f,i) by A16,A20,XBOOLE_0:def 4;
      then i-'1+1+1 = i-'1+(1+1) & LSeg(f,i-'1) /\ LSeg(f,i) <> {f/.i} by A7
,A26,A23,TARSKI:def 1;
      hence contradiction by A14,A15,A19,TOPREAL1:def 6;
    end;
    now
      per cases by A27,SPPOL_1:19;
      suppose
        LSeg(f,i-'1) is vertical;
        then
A31:    p`1 = (f/.(i-'1))`1 by A25,A16,SPPOL_1:def 3;
        then
A32:    f/.(i-'1) in W-most L~f by A2,A3,A17,GOBOARD1:1,SPRECT_2:12;
        then
A33:    (f/.(i-'1))`2 >= p`2 by PSCOMP_1:31;
        (f/.(i-'1))`2 <> p`2 by A5,A7,A14,A17,A31,GOBOARD7:29,TOPREAL3:6;
        then
A34:    (f/.(i-'1))`2 > p`2 by A33,XXREAL_0:1;
        (f/.(i-'1))`2 <= (W-max L~f)`2 by A32,PSCOMP_1:31;
        hence thesis by A34,XXREAL_0:2;
      end;
      suppose
        LSeg(f,i) is vertical;
        then
A35:    p`1 = (f/.(i+1))`1 by A24,A20,SPPOL_1:def 3;
        then
A36:    f/.(i+1) in W-most L~f by A2,A3,A21,GOBOARD1:1,SPRECT_2:12;
        then
A37:    (f/.(i+1))`2 >= p`2 by PSCOMP_1:31;
        (f/.(i+1))`2 <> p`2 by A5,A7,A21,A35,GOBOARD7:29,TOPREAL3:6;
        then
A38:    (f/.(i+1))`2 > p`2 by A37,XXREAL_0:1;
        (f/.(i+1))`2 <= (W-max L~f)`2 by A36,PSCOMP_1:31;
        hence thesis by A38,XXREAL_0:2;
      end;
    end;
    hence thesis;
  end;
end;
