let I be non empty set ; for J being non-Empty TopStruct-yielding ManySortedSet of I
for i being Element of I
for P being Subset of (J . i) holds (proj (J,i)) " P = product ((Carrier J) +* (i,P))
let J be non-Empty TopStruct-yielding ManySortedSet of I; for i being Element of I
for P being Subset of (J . i) holds (proj (J,i)) " P = product ((Carrier J) +* (i,P))
let i be Element of I; for P being Subset of (J . i) holds (proj (J,i)) " P = product ((Carrier J) +* (i,P))
let P be Subset of (J . i); (proj (J,i)) " P = product ((Carrier J) +* (i,P))
set f = (Carrier J) +* (i,P);
A1:
dom (Carrier J) = I
by PARTFUN1:def 2;
A2: dom ((Carrier J) +* (i,P)) =
dom (Carrier J)
by FUNCT_7:30
.=
I
by PARTFUN1:def 2
;
A3:
product ((Carrier J) +* (i,P)) c= (proj (J,i)) " P
proof
let x be
object ;
TARSKI:def 3 ( not x in product ((Carrier J) +* (i,P)) or x in (proj (J,i)) " P )
assume
x in product ((Carrier J) +* (i,P))
;
x in (proj (J,i)) " P
then consider g being
Function such that A4:
x = g
and A5:
dom g = dom ((Carrier J) +* (i,P))
and A6:
for
y being
object st
y in dom ((Carrier J) +* (i,P)) holds
g . y in ((Carrier J) +* (i,P)) . y
by CARD_3:def 5;
A7:
for
j being
object st
j in dom (Carrier J) holds
g . j in (Carrier J) . j
dom g = dom (Carrier J)
by A5, FUNCT_7:30;
then A11:
g in product (Carrier J)
by A7, CARD_3:9;
then A12:
g in dom (proj ((Carrier J),i))
by CARD_3:def 16;
((Carrier J) +* (i,P)) . i = P
by A1, FUNCT_7:31;
then
g . i in P
by A2, A6;
then A13:
(proj ((Carrier J),i)) . g in P
by A12, CARD_3:def 16;
g in dom (proj (J,i))
by A11, CARD_3:def 16;
hence
x in (proj (J,i)) " P
by A4, A13, FUNCT_1:def 7;
verum
end;
(proj (J,i)) " P c= product ((Carrier J) +* (i,P))
proof
let x be
object ;
TARSKI:def 3 ( not x in (proj (J,i)) " P or x in product ((Carrier J) +* (i,P)) )
assume A14:
x in (proj (J,i)) " P
;
x in product ((Carrier J) +* (i,P))
then A15:
x in dom (proj ((Carrier J),i))
by FUNCT_1:def 7;
then
x in product (Carrier J)
;
then consider g being
Function such that A16:
x = g
and A17:
dom g = dom (Carrier J)
and A18:
for
y being
object st
y in dom (Carrier J) holds
g . y in (Carrier J) . y
by CARD_3:def 5;
A19:
dom g = dom ((Carrier J) +* (i,P))
by A17, FUNCT_7:30;
for
j being
object st
j in dom ((Carrier J) +* (i,P)) holds
g . j in ((Carrier J) +* (i,P)) . j
hence
x in product ((Carrier J) +* (i,P))
by A16, A19, CARD_3:def 5;
verum
end;
hence
(proj (J,i)) " P = product ((Carrier J) +* (i,P))
by A3; verum