reserve X,Y,Z for set,
        x,y,z for object,
        A,B,C for Ordinal;
reserve U for Grothendieck;

theorem Th14: :: Theorem 3
  X in U implies Rrank X in U
proof
  defpred P[Ordinal] means for A be set st (the_rank_of A) in $1
     & A in U holds Rrank A in U;
A1:  for A st for C st C in A holds P[C] holds P[A]
  proof
    let A such that
A2:   for C st C in A holds P[C];
    let S be set such that
A3: the_rank_of S in A & S in U;
    deffunc V(object) = bool Rrank $1;
    consider v be Function such that
A4: dom v = S & for x be object st x in S holds v.x = V(x)
      from FUNCT_1:sch 3;
A5:   rng v c= U
    proof
      let y such that
A6:   y in rng v;
      consider x such that
A7:   x in dom v & v.x = y by A6,FUNCT_1:def 3;
      succ the_rank_of x c= the_rank_of S by ORDINAL1:21,A7,A4,CLASSES1:68;
      then
A8:   for S be set st (the_rank_of S) in succ the_rank_of x & S in U
        holds Rrank S in U by A2,A3;
A9:   x in U by A3,Th13,A7,A4;
      Rrank x in U by A8,A9,ORDINAL1:6;
      then bool Rrank x in U by Def1;
      hence thesis by A7,A4;
    end;
A10: union rng v c= Rrank S
    proof
      let a be object;
      assume a in union rng v;
      then consider b be set such that
A11:  a in b & b in rng v by TARSKI:def 4;
      consider x be object such that
A12:  x in dom v & v.x= b by A11,FUNCT_1:def 3;
      reconsider a,b,x as set by TARSKI:1;
      b = bool Rrank x by A12,A4;
      hence thesis by A11,A12,A4,Th4;
    end;
    Rrank S c= union rng v
    proof
      let x be object;
      assume x in Rrank S;
      then consider a be set such that
A13:  a in S & x in bool Rrank a by Th4;
      v.a = bool Rrank a & v.a in rng v by A13,A4,FUNCT_1:def 3;
      hence thesis by A13,TARSKI:def 4;
    end;
    then
    union rng v = Rrank S by A10;
    hence Rrank S in U by A5,A4,A3,Def3;
  end;
A14: for O be Ordinal holds P[O] from ORDINAL1:sch 2(A1);
  (the_rank_of X) in succ (the_rank_of X) by ORDINAL1:6;
  hence thesis by A14;
end;
