reserve X for set;
reserve n,i for Element of NAT;
reserve a,b,c,d,e,r,x0 for Real;
reserve A for non empty closed_interval Subset of REAL;
reserve f,g,h for PartFunc of REAL,REAL n;
reserve E for Element of REAL n;

theorem Th14:
  for n be non zero Element of NAT,
      f be Function of A,REAL n holds
  f is bounded iff |.f.| is bounded
  proof
    let n be non zero Element of NAT,
    f be Function of A,REAL n;
    hereby assume A1: f is bounded;
      defpred YX[Nat,set] means
      ex K be Element of REAL st 0<=K & K = $2 &
      for y be set st y in dom(proj($1,n)*f) holds |.(proj($1,n)*f).y.| < K;
A2:   for i be Nat st i in Seg n ex r be Element of REAL st YX[i,r]
      proof
        let i be Nat;
        assume A3: i in Seg n;
        set P = proj(i,n);
        P*f is bounded by A1,A3; then
        consider L be Real such that
A4:     for y be set st y in dom (P*f) holds |.(P*f).y.| < L
          by COMSEQ_2:def 3;
        reconsider r = |.L.| as Element of REAL by XREAL_0:def 1;
        take r;
        now let y be set;
          assume
A5:       y in dom (P*f);
          L <= r by ABSVALUE:4;
          hence |.((proj (i,n))* f).y.| < r by A4,A5,XXREAL_0:2;
        end;
        hence thesis by COMPLEX1:46;
      end;
      consider w be FinSequence of REAL such that
A6:   dom w = Seg n
      & for i be Nat st i in Seg n holds YX[i,w.i] from FINSEQ_1:sch 5(A2);
A7:   now let i;   set P = proj(i,n);
        assume i in Seg n;
        then YX[i,w.i] by A6;
        hence 0<=w.i &
        for y be set st y in dom (P*f) holds |.(P*f).y.| < w.i;
      end;
      len w = n by A6,FINSEQ_1:def 3; then
      reconsider w as Element of REAL n by FINSEQ_2:92;
A8:   for i being Nat st i in Seg n holds 0 <= w.i by A7;
      set KK = Sum w;
      for y be set st y in dom |.f.| holds |.|.f.| . y.| < n*KK + 1
      proof
        let y be set;
        assume A9: y in dom |.f.|; then
A10:    |.f.| . y =|.f.| /. y by PARTFUN1:def 6
        .= |. f/.y .| by A9,NFCONT_4:def 2; then
A11:    |.|.f.| . y.| = |.f.| . y by ABSVALUE:def 1;
        now let i;   set P = proj(i,n);
          assume A12: 1 <= i & i <= n;
A13:      y in dom f by A9,NFCONT_4:def 2; then
          f.y in rng f by FUNCT_1:3; then
          f.y in REAL n; then
          f.y in dom (P) by FUNCT_2:def 1; then
A14:      y in dom (P*f) by A13,FUNCT_1:11;
A15:      i in Seg n by A12; then
          |.(P*f). y.| < w.i by A7,A14; then
          |.P.(f.y).| < w.i by A14,FUNCT_1:12; then
A16:      |. P.(f/.y) .| < w.i by A13,PARTFUN1:def 6;
          w.i <= Sum w by A8,A15,REAL_NS1:7;
          hence |. P.(f/.y) .| <= KK by A16,XXREAL_0:2;
        end; then
        |. f/.y .| <= n*KK by PDIFF_8:17; then
        (0 qua Real) + |.|.f.| . y.| < n*KK + 1 by A10,A11,XREAL_1:8;
        hence thesis;
      end;
      hence |.f.| is bounded by COMSEQ_2:def 3;
    end;
    assume |.f.| is bounded; then
    consider K be Real such that
A17: for y be set st y in dom |.f.| holds |.|.f.| . y.| < K
        by COMSEQ_2:def 3;
    let i;   set P = proj(i,n);
    assume A18: i in Seg n;
    for y be set st y in dom (P*f) holds |.(P*f) . y.| < K
    proof
      let y be set;
      assume A19: y in dom (P*f); then
A20:  y in dom f by FUNCT_1:11;
A21:  (P*f).y = P.(f.y) by A19,FUNCT_1:12
      .= P.(f/.y) by A20,PARTFUN1:def 6;
      1 <= i & i <= n by A18,FINSEQ_1:1; then
A22:  |. P.(f/.y) .| <= |. f/.y .| by PDIFF_8:5;
A23:  y in dom |.f.| by A20,NFCONT_4:def 2; then
      |.|.f.| .y.| < K by A17; then
      |.|.f.| /.y.| < K by A23,PARTFUN1:def 6;
      then |.|.f/.y .|.| < K by A23,NFCONT_4:def 2; then
      |. f/.y .| < K by ABSVALUE:def 1;
      hence |.(P*f).y.| < K by A21,A22,XXREAL_0:2;
    end;
    hence P*f is bounded by COMSEQ_2:def 3;
  end;
