reserve
  x, y for object,
  i, n for Nat,
  r, s for Real,
  f1, f2 for n-element real-valued FinSequence;
reserve e, e1 for Point of Euclid n;

theorem Th25:
  Funcs(Seg n,REAL) = product Carrier (Seg n --> R^1)
  proof
    set J = Seg n --> R^1;
    set C = Carrier J;
A1: dom C = Seg n by PARTFUN1:def 2;
    thus Funcs(Seg n,REAL) c= product C
    proof
      let f be object;
      assume f in Funcs(Seg n,REAL);
      then reconsider f as Function of Seg n,REAL by FUNCT_2:66;
A2:   dom f = Seg n by FUNCT_2:def 1;
      now
        let x be object;
        assume
A3:     x in dom C;
        then
A4:     ex R being 1-sorted st R = J.x & C.x = the carrier of R
        by PRALG_1:def 15;
        f.x in REAL by A3,FUNCT_2:5;
        hence f.x in C.x by A4,A3,FUNCOP_1:7;
      end;
      hence thesis by A2,A1,CARD_3:9;
    end;
    let x be object;
    assume x in product C;
    then consider g being Function such that
A5: x = g and
A6: dom g = dom C and
A7: for y being object st y in dom C holds g.y in C.y by CARD_3:def 5;
    rng g c= REAL
    proof
      let z be object;
      assume z in rng g;
      then consider a being object such that
A8:   a in dom g and
A9:   g.a = z by FUNCT_1:def 3;
A10:   ex R being 1-sorted st R = J.a & C.a = the carrier of R
      by A6,A8,PRALG_1:def 15;
      J.a = R^1 by A6,A8,FUNCOP_1:7;
      hence thesis by A6,A7,A8,A9,A10;
    end;
    hence thesis by A1,A5,A6,FUNCT_2:def 2;
  end;
