reserve x, y, X for set;
reserve E for non empty set;
reserve e for Element of E;
reserve u, u1, v, v1, v2, w, w9, w1, w2 for Element of E^omega;
reserve F for Subset of E^omega;
reserve i, k, l for Nat;
reserve TS for non empty transition-system over F;
reserve S, T for Subset of TS;
reserve SA for non empty semiautomaton over F;
reserve A for non empty automaton over F;
reserve p, q for Element of A;
reserve TS for non empty transition-system over Lex(E) \/ {<%>E};

theorem Th23:
  for R being RedSequence of ==>.-relation(TS) st (R.1)`2 = u & (R
  .len R)`2 = <%>E holds len R > len u
proof
  defpred P[Nat] means for R being RedSequence of ==>.-relation(TS), u st len
  R = $1 & (R.1)`2 = u & (R.len R)`2 = <%>E holds len R > len u;
A1: now
    let k;
    assume
A2: P[k];
    now
      let R be RedSequence of ==>.-relation(TS), u such that
A3:   len R = k + 1 and
A4:   (R.1)`2 = u and
A5:   (R.len R)`2 = <%>E;
      per cases;
      suppose
        len u = 0;
        hence len R > len u;
      end;
      suppose
A6:     len u > 0;
        then consider e, u1 such that
A7:     u = <%e%>^u1 by Th7;
        len R <> 1 by A4,A5,A6;
        then consider R9 being RedSequence of ==>.-relation(TS) such that
A8:     <*R.1*>^R9 = R and
A9:     len R9 + 1 = len R by NAT_1:25,REWRITE3:5;
A10:    len R9 + 0 < k + 1 by A3,A9,XREAL_1:6;
A11:    len R9 >= 0 + 1 by NAT_1:8;
        then len R9 in dom R9 by FINSEQ_3:25;
        then
A12:    (R9.len R9)`2 = <%>E by A5,A8,A9,FINSEQ_3:103;
        1 in dom R9 by A11,FINSEQ_3:25;
        then
A13:    (<*R.1*>^R9).(1 + 1) = R9.1 by FINSEQ_3:103;
        per cases by A4,A5,A7,Th22;
        suppose
          (R.2)`2 = <%e%>^u1;
          hence len R > len u by A2,A3,A7,A8,A9,A10,A13,A12,XXREAL_0:2;
        end;
        suppose
          (R.2)`2 = u1;
          then len R9 > len u1 by A2,A3,A8,A9,A13,A12;
          then len R > 1 + len u1 by A9,XREAL_1:6;
          then len R > len <%e%> + len u1 by AFINSQ_1:def 4;
          hence len R > len u by A7,AFINSQ_1:17;
        end;
      end;
    end;
    hence P[k + 1];
  end;
A14: P[0];
  for k holds P[k] from NAT_1:sch 2(A14, A1);
  hence thesis;
end;
