let C be non empty with_binary_products with_exponential_objects category; for a, b, c being Object of C st Hom ((c [x] a),b) <> {} holds
ex L being Function of (Hom ((c [x] a),b)),(Hom (c,(b |^ a))) st
( ( for f being Morphism of c [x] a,b
for h being Morphism of c,b |^ a st h = L . f holds
(eval (a,b)) * (h [x] (id- a)) = f ) & L is bijective )
let a, b, c be Object of C; ( Hom ((c [x] a),b) <> {} implies ex L being Function of (Hom ((c [x] a),b)),(Hom (c,(b |^ a))) st
( ( for f being Morphism of c [x] a,b
for h being Morphism of c,b |^ a st h = L . f holds
(eval (a,b)) * (h [x] (id- a)) = f ) & L is bijective ) )
assume A1:
Hom ((c [x] a),b) <> {}
; ex L being Function of (Hom ((c [x] a),b)),(Hom (c,(b |^ a))) st
( ( for f being Morphism of c [x] a,b
for h being Morphism of c,b |^ a st h = L . f holds
(eval (a,b)) * (h [x] (id- a)) = f ) & L is bijective )
A2:
( Hom (((b |^ a) [x] a),b) <> {} & b |^ a, eval (a,b) is_exponent_of a,b )
by Th70;
defpred S1[ object , object ] means for f being Morphism of c [x] a,b st f = $1 holds
ex h being Morphism of c,b |^ a st
( h = $2 & f = (eval (a,b)) * (h [x] (id- a)) & ( for h1 being Morphism of c,b |^ a st f = (eval (a,b)) * (h1 [x] (id- a)) holds
h = h1 ) );
A4:
for x being object st x in Hom ((c [x] a),b) holds
ex y being object st
( y in Hom (c,(b |^ a)) & S1[x,y] )
proof
let x be
object ;
( x in Hom ((c [x] a),b) implies ex y being object st
( y in Hom (c,(b |^ a)) & S1[x,y] ) )
assume A5:
x in Hom (
(c [x] a),
b)
;
ex y being object st
( y in Hom (c,(b |^ a)) & S1[x,y] )
reconsider f =
x as
Morphism of
c [x] a,
b by A5, CAT_7:def 3;
consider y being
Morphism of
c,
b |^ a such that A6:
(
f = (eval (a,b)) * (y [x] (id- a)) & ( for
h1 being
Morphism of
c,
b |^ a st
f = (eval (a,b)) * (h1 [x] (id- a)) holds
y = h1 ) )
by A2, A1, Def29;
take
y
;
( y in Hom (c,(b |^ a)) & S1[x,y] )
Hom (
c,
(b |^ a))
<> {}
by A2, A1, Def29;
hence
y in Hom (
c,
(b |^ a))
by CAT_7:def 3;
S1[x,y]
thus
S1[
x,
y]
by A6;
verum
end;
consider L being Function of (Hom ((c [x] a),b)),(Hom (c,(b |^ a))) such that
A7:
for x being object st x in Hom ((c [x] a),b) holds
S1[x,L . x]
from FUNCT_2:sch 1(A4);
take
L
; ( ( for f being Morphism of c [x] a,b
for h being Morphism of c,b |^ a st h = L . f holds
(eval (a,b)) * (h [x] (id- a)) = f ) & L is bijective )
A8:
ex y being object st y in Hom (c,(b |^ a))
thus
for f being Morphism of c [x] a,b
for h being Morphism of c,b |^ a st h = L . f holds
(eval (a,b)) * (h [x] (id- a)) = f
L is bijective proof
let f be
Morphism of
c [x] a,
b;
for h being Morphism of c,b |^ a st h = L . f holds
(eval (a,b)) * (h [x] (id- a)) = f
f in Hom (
(c [x] a),
b)
by A1, CAT_7:def 3;
then consider h0 being
Morphism of
c,
b |^ a such that A11:
(
h0 = L . f &
f = (eval (a,b)) * (h0 [x] (id- a)) & ( for
h1 being
Morphism of
c,
b |^ a st
f = (eval (a,b)) * (h1 [x] (id- a)) holds
h0 = h1 ) )
by A7;
let h be
Morphism of
c,
b |^ a;
( h = L . f implies (eval (a,b)) * (h [x] (id- a)) = f )
assume
h = L . f
;
(eval (a,b)) * (h [x] (id- a)) = f
hence
(eval (a,b)) * (h [x] (id- a)) = f
by A11;
verum
end;
for x1, x2 being object st x1 in Hom ((c [x] a),b) & x2 in Hom ((c [x] a),b) & L . x1 = L . x2 holds
x1 = x2
proof
let x1,
x2 be
object ;
( x1 in Hom ((c [x] a),b) & x2 in Hom ((c [x] a),b) & L . x1 = L . x2 implies x1 = x2 )
assume A12:
x1 in Hom (
(c [x] a),
b)
;
( not x2 in Hom ((c [x] a),b) or not L . x1 = L . x2 or x1 = x2 )
then reconsider f1 =
x1 as
Morphism of
c [x] a,
b by CAT_7:def 3;
consider h1 being
Morphism of
c,
b |^ a such that A13:
(
h1 = L . x1 &
f1 = (eval (a,b)) * (h1 [x] (id- a)) & ( for
h0 being
Morphism of
c,
b |^ a st
f1 = (eval (a,b)) * (h0 [x] (id- a)) holds
h1 = h0 ) )
by A12, A7;
assume A14:
x2 in Hom (
(c [x] a),
b)
;
( not L . x1 = L . x2 or x1 = x2 )
then reconsider f2 =
x2 as
Morphism of
c [x] a,
b by CAT_7:def 3;
consider h2 being
Morphism of
c,
b |^ a such that A15:
(
h2 = L . x2 &
f2 = (eval (a,b)) * (h2 [x] (id- a)) & ( for
h0 being
Morphism of
c,
b |^ a st
f2 = (eval (a,b)) * (h0 [x] (id- a)) holds
h2 = h0 ) )
by A14, A7;
assume
L . x1 = L . x2
;
x1 = x2
hence
x1 = x2
by A13, A15;
verum
end;
then A16:
L is one-to-one
by A8, FUNCT_2:19;
for y being object st y in Hom (c,(b |^ a)) holds
y in rng L
proof
let y be
object ;
( y in Hom (c,(b |^ a)) implies y in rng L )
assume
y in Hom (
c,
(b |^ a))
;
y in rng L
then reconsider h =
y as
Morphism of
c,
b |^ a by CAT_7:def 3;
set f1 =
(eval (a,b)) * (h [x] (id- a));
A17:
(eval (a,b)) * (h [x] (id- a)) in Hom (
(c [x] a),
b)
by A1, CAT_7:def 3;
then consider h1 being
Morphism of
c,
b |^ a such that A18:
(
h1 = L . ((eval (a,b)) * (h [x] (id- a))) &
(eval (a,b)) * (h [x] (id- a)) = (eval (a,b)) * (h1 [x] (id- a)) & ( for
h0 being
Morphism of
c,
b |^ a st
(eval (a,b)) * (h [x] (id- a)) = (eval (a,b)) * (h0 [x] (id- a)) holds
h1 = h0 ) )
by A7;
A19:
y = L . ((eval (a,b)) * (h [x] (id- a)))
by A18;
(eval (a,b)) * (h [x] (id- a)) in dom L
by A8, A17, FUNCT_2:def 1;
hence
y in rng L
by A19, FUNCT_1:3;
verum
end;
then
Hom (c,(b |^ a)) c= rng L
by TARSKI:def 3;
then
L is onto
by FUNCT_2:def 3, XBOOLE_0:def 10;
hence
L is bijective
by A16; verum