Metamath Proof Explorer


Theorem ixpiunwdom

Description: Describe an onto function from the indexed cartesian product to the indexed union. Together with ixpssmapg this shows that U_ x e. A B and X_ x e. A B have closely linked cardinalities. (Contributed by Mario Carneiro, 27-Aug-2015)

Ref Expression
Assertion ixpiunwdom ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → 𝑥𝐴 𝐵* ( X 𝑥𝐴 𝐵 × 𝐴 ) )

Proof

Step Hyp Ref Expression
1 vex 𝑓 ∈ V
2 1 elixp ( 𝑓X 𝑥𝐴 𝐵 ↔ ( 𝑓 Fn 𝐴 ∧ ∀ 𝑥𝐴 ( 𝑓𝑥 ) ∈ 𝐵 ) )
3 2 simprbi ( 𝑓X 𝑥𝐴 𝐵 → ∀ 𝑥𝐴 ( 𝑓𝑥 ) ∈ 𝐵 )
4 ssiun2 ( 𝑥𝐴𝐵 𝑥𝐴 𝐵 )
5 4 sseld ( 𝑥𝐴 → ( ( 𝑓𝑥 ) ∈ 𝐵 → ( 𝑓𝑥 ) ∈ 𝑥𝐴 𝐵 ) )
6 5 ralimia ( ∀ 𝑥𝐴 ( 𝑓𝑥 ) ∈ 𝐵 → ∀ 𝑥𝐴 ( 𝑓𝑥 ) ∈ 𝑥𝐴 𝐵 )
7 3 6 syl ( 𝑓X 𝑥𝐴 𝐵 → ∀ 𝑥𝐴 ( 𝑓𝑥 ) ∈ 𝑥𝐴 𝐵 )
8 nfv 𝑦 ( 𝑓𝑥 ) ∈ 𝑥𝐴 𝐵
9 nfiu1 𝑥 𝑥𝐴 𝐵
10 9 nfel2 𝑥 ( 𝑓𝑦 ) ∈ 𝑥𝐴 𝐵
11 fveq2 ( 𝑥 = 𝑦 → ( 𝑓𝑥 ) = ( 𝑓𝑦 ) )
12 11 eleq1d ( 𝑥 = 𝑦 → ( ( 𝑓𝑥 ) ∈ 𝑥𝐴 𝐵 ↔ ( 𝑓𝑦 ) ∈ 𝑥𝐴 𝐵 ) )
13 8 10 12 cbvralw ( ∀ 𝑥𝐴 ( 𝑓𝑥 ) ∈ 𝑥𝐴 𝐵 ↔ ∀ 𝑦𝐴 ( 𝑓𝑦 ) ∈ 𝑥𝐴 𝐵 )
14 7 13 sylib ( 𝑓X 𝑥𝐴 𝐵 → ∀ 𝑦𝐴 ( 𝑓𝑦 ) ∈ 𝑥𝐴 𝐵 )
15 14 adantl ( ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) ∧ 𝑓X 𝑥𝐴 𝐵 ) → ∀ 𝑦𝐴 ( 𝑓𝑦 ) ∈ 𝑥𝐴 𝐵 )
16 15 ralrimiva ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ∀ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 ( 𝑓𝑦 ) ∈ 𝑥𝐴 𝐵 )
17 eqid ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) = ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) )
18 17 fmpo ( ∀ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 ( 𝑓𝑦 ) ∈ 𝑥𝐴 𝐵 ↔ ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) ⟶ 𝑥𝐴 𝐵 )
19 16 18 sylib ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) ⟶ 𝑥𝐴 𝐵 )
20 ixpssmap2g ( 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ⊆ ( 𝑥𝐴 𝐵m 𝐴 ) )
21 20 3ad2ant2 ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → X 𝑥𝐴 𝐵 ⊆ ( 𝑥𝐴 𝐵m 𝐴 ) )
22 ovex ( 𝑥𝐴 𝐵m 𝐴 ) ∈ V
23 22 ssex ( X 𝑥𝐴 𝐵 ⊆ ( 𝑥𝐴 𝐵m 𝐴 ) → X 𝑥𝐴 𝐵 ∈ V )
24 21 23 syl ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → X 𝑥𝐴 𝐵 ∈ V )
25 simp1 ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → 𝐴𝑉 )
26 24 25 xpexd ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( X 𝑥𝐴 𝐵 × 𝐴 ) ∈ V )
27 19 26 fexd ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) ∈ V )
28 19 ffnd ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) Fn ( X 𝑥𝐴 𝐵 × 𝐴 ) )
29 dffn4 ( ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) Fn ( X 𝑥𝐴 𝐵 × 𝐴 ) ↔ ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto→ ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) )
30 28 29 sylib ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto→ ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) )
31 n0 ( X 𝑥𝐴 𝐵 ≠ ∅ ↔ ∃ 𝑔 𝑔X 𝑥𝐴 𝐵 )
32 eliun ( 𝑧 𝑥𝐴 𝐵 ↔ ∃ 𝑥𝐴 𝑧𝐵 )
33 nfixp1 𝑥 X 𝑥𝐴 𝐵
34 33 nfel2 𝑥 𝑔X 𝑥𝐴 𝐵
35 nfv 𝑥𝑦𝐴 𝑧 = ( 𝑓𝑦 )
36 33 35 nfrex 𝑥𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 )
37 simplrr ( ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) ∧ 𝑘𝐴 ) → 𝑧𝐵 )
38 iftrue ( 𝑘 = 𝑥 → if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) = 𝑧 )
39 csbeq1a ( 𝑥 = 𝑘𝐵 = 𝑘 / 𝑥 𝐵 )
40 39 equcoms ( 𝑘 = 𝑥𝐵 = 𝑘 / 𝑥 𝐵 )
41 40 eqcomd ( 𝑘 = 𝑥 𝑘 / 𝑥 𝐵 = 𝐵 )
42 38 41 eleq12d ( 𝑘 = 𝑥 → ( if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵𝑧𝐵 ) )
43 37 42 syl5ibrcom ( ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) ∧ 𝑘𝐴 ) → ( 𝑘 = 𝑥 → if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 ) )
44 vex 𝑔 ∈ V
45 44 elixp ( 𝑔X 𝑥𝐴 𝐵 ↔ ( 𝑔 Fn 𝐴 ∧ ∀ 𝑥𝐴 ( 𝑔𝑥 ) ∈ 𝐵 ) )
46 45 simprbi ( 𝑔X 𝑥𝐴 𝐵 → ∀ 𝑥𝐴 ( 𝑔𝑥 ) ∈ 𝐵 )
47 46 adantr ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ∀ 𝑥𝐴 ( 𝑔𝑥 ) ∈ 𝐵 )
48 nfv 𝑘 ( 𝑔𝑥 ) ∈ 𝐵
49 nfcsb1v 𝑥 𝑘 / 𝑥 𝐵
50 49 nfel2 𝑥 ( 𝑔𝑘 ) ∈ 𝑘 / 𝑥 𝐵
51 fveq2 ( 𝑥 = 𝑘 → ( 𝑔𝑥 ) = ( 𝑔𝑘 ) )
52 51 39 eleq12d ( 𝑥 = 𝑘 → ( ( 𝑔𝑥 ) ∈ 𝐵 ↔ ( 𝑔𝑘 ) ∈ 𝑘 / 𝑥 𝐵 ) )
53 48 50 52 cbvralw ( ∀ 𝑥𝐴 ( 𝑔𝑥 ) ∈ 𝐵 ↔ ∀ 𝑘𝐴 ( 𝑔𝑘 ) ∈ 𝑘 / 𝑥 𝐵 )
54 47 53 sylib ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ∀ 𝑘𝐴 ( 𝑔𝑘 ) ∈ 𝑘 / 𝑥 𝐵 )
55 54 r19.21bi ( ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) ∧ 𝑘𝐴 ) → ( 𝑔𝑘 ) ∈ 𝑘 / 𝑥 𝐵 )
56 iffalse ( ¬ 𝑘 = 𝑥 → if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) = ( 𝑔𝑘 ) )
57 56 eleq1d ( ¬ 𝑘 = 𝑥 → ( if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 ↔ ( 𝑔𝑘 ) ∈ 𝑘 / 𝑥 𝐵 ) )
58 55 57 syl5ibrcom ( ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) ∧ 𝑘𝐴 ) → ( ¬ 𝑘 = 𝑥 → if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 ) )
59 43 58 pm2.61d ( ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) ∧ 𝑘𝐴 ) → if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 )
60 59 ralrimiva ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ∀ 𝑘𝐴 if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 )
61 ixpfn ( 𝑔X 𝑥𝐴 𝐵𝑔 Fn 𝐴 )
62 61 adantr ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → 𝑔 Fn 𝐴 )
63 62 fndmd ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → dom 𝑔 = 𝐴 )
64 44 dmex dom 𝑔 ∈ V
65 63 64 eqeltrrdi ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → 𝐴 ∈ V )
66 mptelixpg ( 𝐴 ∈ V → ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ∈ X 𝑘𝐴 𝑘 / 𝑥 𝐵 ↔ ∀ 𝑘𝐴 if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 ) )
67 65 66 syl ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ∈ X 𝑘𝐴 𝑘 / 𝑥 𝐵 ↔ ∀ 𝑘𝐴 if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 ) )
68 60 67 mpbird ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ∈ X 𝑘𝐴 𝑘 / 𝑥 𝐵 )
69 nfcv 𝑘 𝐵
70 69 49 39 cbvixp X 𝑥𝐴 𝐵 = X 𝑘𝐴 𝑘 / 𝑥 𝐵
71 68 70 eleqtrrdi ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ∈ X 𝑥𝐴 𝐵 )
72 simprl ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → 𝑥𝐴 )
73 eqid ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) = ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) )
74 vex 𝑧 ∈ V
75 38 73 74 fvmpt ( 𝑥𝐴 → ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑥 ) = 𝑧 )
76 75 ad2antrl ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑥 ) = 𝑧 )
77 76 eqcomd ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → 𝑧 = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑥 ) )
78 fveq1 ( 𝑓 = ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) → ( 𝑓𝑦 ) = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑦 ) )
79 78 eqeq2d ( 𝑓 = ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) → ( 𝑧 = ( 𝑓𝑦 ) ↔ 𝑧 = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑦 ) ) )
80 fveq2 ( 𝑦 = 𝑥 → ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑦 ) = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑥 ) )
81 80 eqeq2d ( 𝑦 = 𝑥 → ( 𝑧 = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑦 ) ↔ 𝑧 = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑥 ) ) )
82 79 81 rspc2ev ( ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ∈ X 𝑥𝐴 𝐵𝑥𝐴𝑧 = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑥 ) ) → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) )
83 71 72 77 82 syl3anc ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) )
84 83 exp32 ( 𝑔X 𝑥𝐴 𝐵 → ( 𝑥𝐴 → ( 𝑧𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) ) )
85 34 36 84 rexlimd ( 𝑔X 𝑥𝐴 𝐵 → ( ∃ 𝑥𝐴 𝑧𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
86 32 85 syl5bi ( 𝑔X 𝑥𝐴 𝐵 → ( 𝑧 𝑥𝐴 𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
87 86 exlimiv ( ∃ 𝑔 𝑔X 𝑥𝐴 𝐵 → ( 𝑧 𝑥𝐴 𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
88 31 87 sylbi ( X 𝑥𝐴 𝐵 ≠ ∅ → ( 𝑧 𝑥𝐴 𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
89 88 3ad2ant3 ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( 𝑧 𝑥𝐴 𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
90 89 alrimiv ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ∀ 𝑧 ( 𝑧 𝑥𝐴 𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
91 ssab ( 𝑥𝐴 𝐵 ⊆ { 𝑧 ∣ ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) } ↔ ∀ 𝑧 ( 𝑧 𝑥𝐴 𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
92 90 91 sylibr ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → 𝑥𝐴 𝐵 ⊆ { 𝑧 ∣ ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) } )
93 17 rnmpo ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) = { 𝑧 ∣ ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) }
94 92 93 sseqtrrdi ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → 𝑥𝐴 𝐵 ⊆ ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) )
95 19 frnd ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) ⊆ 𝑥𝐴 𝐵 )
96 94 95 eqssd ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → 𝑥𝐴 𝐵 = ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) )
97 foeq3 ( 𝑥𝐴 𝐵 = ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) → ( ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto 𝑥𝐴 𝐵 ↔ ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto→ ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) ) )
98 96 97 syl ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto 𝑥𝐴 𝐵 ↔ ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto→ ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) ) )
99 30 98 mpbird ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto 𝑥𝐴 𝐵 )
100 fowdom ( ( ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) ∈ V ∧ ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto 𝑥𝐴 𝐵 ) → 𝑥𝐴 𝐵* ( X 𝑥𝐴 𝐵 × 𝐴 ) )
101 27 99 100 syl2anc ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → 𝑥𝐴 𝐵* ( X 𝑥𝐴 𝐵 × 𝐴 ) )