reserve A,A1,A2,B,C,D for Ordinal,
  X,Y for set,
  x,y,a,b,c for object,
  L,L1,L2,L3 for Sequence,
  f for Function;
reserve fi,psi for Ordinal-Sequence;

theorem Th40:
  C <> 0 & A in B implies A*^C in B*^C
proof
A1: 0 c= C;
  defpred P[Ordinal] means A in $1 implies A*^C in $1*^C;
  assume C <> 0;
  then
A2: 0 c< C by A1;
  then
A3: 0 in C by ORDINAL1:11;
A4: for B st for D st D in B holds P[D] holds P[B]
  proof
    let B such that
A5: for D st D in B holds A in D implies A *^ C in D *^ C and
A6: A in B;
A7: now
      given D such that
A8:   B = succ D;
A9:   now
        assume A in D;
        then
A10:    A*^C in D*^C by A5,A8,ORDINAL1:6;
A11:    D*^C +^ 0 in D*^C +^ C by A2,Th32,ORDINAL1:11;
        D*^C +^ C = (succ D)*^C & D*^C +^ 0 = D*^C by Th27,Th36;
        hence thesis by A8,A10,A11,ORDINAL1:10;
      end;
      now
A12:    A*^C +^ 0 = A*^C by Th27;
        assume
A13:    not A in D;
        A c< D iff A c= D & A <> D;
        then A*^C +^ 0 in D*^C +^ C by A3,A6,A8,A13,Th32,ORDINAL1:11,22;
        hence thesis by A8,A12,Th36;
      end;
      hence thesis by A9;
    end;
    now
A14:  A*^C +^ 0 = A*^C & A*^C +^ 0 in A*^C +^ C by A2,Th27,Th32,ORDINAL1:11;
A15:  (succ A)*^C = A*^C +^ C by Th36;
      deffunc F(Ordinal) = $1*^C;
      consider fi such that
A16:  dom fi = B & for D st D in B holds fi.D = F(D) from OSLambda;
      assume for D holds B <> succ D;
      then
A17:  B is limit_ordinal by ORDINAL1:29;
      then
A18:  succ A in B by A6,ORDINAL1:28;
      then fi.(succ A) = (succ A)*^C by A16;
      then (succ A)*^C in rng fi by A16,A18,FUNCT_1:def 3;
      then
A19:  (succ A)*^C c= union sup rng fi by Th19,ZFMISC_1:74;
      B*^C = union sup fi by A6,A17,A16,Th37
        .= union sup rng fi;
      hence thesis by A19,A14,A15;
    end;
    hence thesis by A7;
  end;
  for B holds P[B] from ORDINAL1:sch 2(A4);
  hence thesis;
end;
