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 simp2 ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → 𝑥𝐴 𝐵𝑊 )
28 fex2 ( ( ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) ⟶ 𝑥𝐴 𝐵 ∧ ( X 𝑥𝐴 𝐵 × 𝐴 ) ∈ V ∧ 𝑥𝐴 𝐵𝑊 ) → ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) ∈ V )
29 19 26 27 28 syl3anc ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) ∈ V )
30 19 ffnd ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) Fn ( X 𝑥𝐴 𝐵 × 𝐴 ) )
31 dffn4 ( ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) Fn ( X 𝑥𝐴 𝐵 × 𝐴 ) ↔ ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto→ ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) )
32 30 31 sylib ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto→ ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) )
33 n0 ( X 𝑥𝐴 𝐵 ≠ ∅ ↔ ∃ 𝑔 𝑔X 𝑥𝐴 𝐵 )
34 eliun ( 𝑧 𝑥𝐴 𝐵 ↔ ∃ 𝑥𝐴 𝑧𝐵 )
35 nfixp1 𝑥 X 𝑥𝐴 𝐵
36 35 nfel2 𝑥 𝑔X 𝑥𝐴 𝐵
37 nfv 𝑥𝑦𝐴 𝑧 = ( 𝑓𝑦 )
38 35 37 nfrex 𝑥𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 )
39 simplrr ( ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) ∧ 𝑘𝐴 ) → 𝑧𝐵 )
40 iftrue ( 𝑘 = 𝑥 → if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) = 𝑧 )
41 csbeq1a ( 𝑥 = 𝑘𝐵 = 𝑘 / 𝑥 𝐵 )
42 41 equcoms ( 𝑘 = 𝑥𝐵 = 𝑘 / 𝑥 𝐵 )
43 42 eqcomd ( 𝑘 = 𝑥 𝑘 / 𝑥 𝐵 = 𝐵 )
44 40 43 eleq12d ( 𝑘 = 𝑥 → ( if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵𝑧𝐵 ) )
45 39 44 syl5ibrcom ( ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) ∧ 𝑘𝐴 ) → ( 𝑘 = 𝑥 → if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 ) )
46 vex 𝑔 ∈ V
47 46 elixp ( 𝑔X 𝑥𝐴 𝐵 ↔ ( 𝑔 Fn 𝐴 ∧ ∀ 𝑥𝐴 ( 𝑔𝑥 ) ∈ 𝐵 ) )
48 47 simprbi ( 𝑔X 𝑥𝐴 𝐵 → ∀ 𝑥𝐴 ( 𝑔𝑥 ) ∈ 𝐵 )
49 48 adantr ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ∀ 𝑥𝐴 ( 𝑔𝑥 ) ∈ 𝐵 )
50 nfv 𝑘 ( 𝑔𝑥 ) ∈ 𝐵
51 nfcsb1v 𝑥 𝑘 / 𝑥 𝐵
52 51 nfel2 𝑥 ( 𝑔𝑘 ) ∈ 𝑘 / 𝑥 𝐵
53 fveq2 ( 𝑥 = 𝑘 → ( 𝑔𝑥 ) = ( 𝑔𝑘 ) )
54 53 41 eleq12d ( 𝑥 = 𝑘 → ( ( 𝑔𝑥 ) ∈ 𝐵 ↔ ( 𝑔𝑘 ) ∈ 𝑘 / 𝑥 𝐵 ) )
55 50 52 54 cbvralw ( ∀ 𝑥𝐴 ( 𝑔𝑥 ) ∈ 𝐵 ↔ ∀ 𝑘𝐴 ( 𝑔𝑘 ) ∈ 𝑘 / 𝑥 𝐵 )
56 49 55 sylib ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ∀ 𝑘𝐴 ( 𝑔𝑘 ) ∈ 𝑘 / 𝑥 𝐵 )
57 56 r19.21bi ( ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) ∧ 𝑘𝐴 ) → ( 𝑔𝑘 ) ∈ 𝑘 / 𝑥 𝐵 )
58 iffalse ( ¬ 𝑘 = 𝑥 → if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) = ( 𝑔𝑘 ) )
59 58 eleq1d ( ¬ 𝑘 = 𝑥 → ( if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 ↔ ( 𝑔𝑘 ) ∈ 𝑘 / 𝑥 𝐵 ) )
60 57 59 syl5ibrcom ( ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) ∧ 𝑘𝐴 ) → ( ¬ 𝑘 = 𝑥 → if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 ) )
61 45 60 pm2.61d ( ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) ∧ 𝑘𝐴 ) → if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 )
62 61 ralrimiva ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ∀ 𝑘𝐴 if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 )
63 ixpfn ( 𝑔X 𝑥𝐴 𝐵𝑔 Fn 𝐴 )
64 63 adantr ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → 𝑔 Fn 𝐴 )
65 64 fndmd ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → dom 𝑔 = 𝐴 )
66 46 dmex dom 𝑔 ∈ V
67 65 66 eqeltrrdi ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → 𝐴 ∈ V )
68 mptelixpg ( 𝐴 ∈ V → ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ∈ X 𝑘𝐴 𝑘 / 𝑥 𝐵 ↔ ∀ 𝑘𝐴 if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 ) )
69 67 68 syl ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ∈ X 𝑘𝐴 𝑘 / 𝑥 𝐵 ↔ ∀ 𝑘𝐴 if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ∈ 𝑘 / 𝑥 𝐵 ) )
70 62 69 mpbird ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ∈ X 𝑘𝐴 𝑘 / 𝑥 𝐵 )
71 nfcv 𝑘 𝐵
72 71 51 41 cbvixp X 𝑥𝐴 𝐵 = X 𝑘𝐴 𝑘 / 𝑥 𝐵
73 70 72 eleqtrrdi ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ∈ X 𝑥𝐴 𝐵 )
74 simprl ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → 𝑥𝐴 )
75 eqid ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) = ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) )
76 vex 𝑧 ∈ V
77 40 75 76 fvmpt ( 𝑥𝐴 → ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑥 ) = 𝑧 )
78 77 ad2antrl ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑥 ) = 𝑧 )
79 78 eqcomd ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → 𝑧 = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑥 ) )
80 fveq1 ( 𝑓 = ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) → ( 𝑓𝑦 ) = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑦 ) )
81 80 eqeq2d ( 𝑓 = ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) → ( 𝑧 = ( 𝑓𝑦 ) ↔ 𝑧 = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑦 ) ) )
82 fveq2 ( 𝑦 = 𝑥 → ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑦 ) = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑥 ) )
83 82 eqeq2d ( 𝑦 = 𝑥 → ( 𝑧 = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑦 ) ↔ 𝑧 = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑥 ) ) )
84 81 83 rspc2ev ( ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ∈ X 𝑥𝐴 𝐵𝑥𝐴𝑧 = ( ( 𝑘𝐴 ↦ if ( 𝑘 = 𝑥 , 𝑧 , ( 𝑔𝑘 ) ) ) ‘ 𝑥 ) ) → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) )
85 73 74 79 84 syl3anc ( ( 𝑔X 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑧𝐵 ) ) → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) )
86 85 exp32 ( 𝑔X 𝑥𝐴 𝐵 → ( 𝑥𝐴 → ( 𝑧𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) ) )
87 36 38 86 rexlimd ( 𝑔X 𝑥𝐴 𝐵 → ( ∃ 𝑥𝐴 𝑧𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
88 34 87 syl5bi ( 𝑔X 𝑥𝐴 𝐵 → ( 𝑧 𝑥𝐴 𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
89 88 exlimiv ( ∃ 𝑔 𝑔X 𝑥𝐴 𝐵 → ( 𝑧 𝑥𝐴 𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
90 33 89 sylbi ( X 𝑥𝐴 𝐵 ≠ ∅ → ( 𝑧 𝑥𝐴 𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
91 90 3ad2ant3 ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( 𝑧 𝑥𝐴 𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
92 91 alrimiv ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ∀ 𝑧 ( 𝑧 𝑥𝐴 𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
93 ssab ( 𝑥𝐴 𝐵 ⊆ { 𝑧 ∣ ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) } ↔ ∀ 𝑧 ( 𝑧 𝑥𝐴 𝐵 → ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) ) )
94 92 93 sylibr ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → 𝑥𝐴 𝐵 ⊆ { 𝑧 ∣ ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) } )
95 17 rnmpo ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) = { 𝑧 ∣ ∃ 𝑓X 𝑥𝐴 𝐵𝑦𝐴 𝑧 = ( 𝑓𝑦 ) }
96 94 95 sseqtrrdi ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → 𝑥𝐴 𝐵 ⊆ ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) )
97 19 frnd ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) ⊆ 𝑥𝐴 𝐵 )
98 96 97 eqssd ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → 𝑥𝐴 𝐵 = ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) )
99 foeq3 ( 𝑥𝐴 𝐵 = ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) → ( ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto 𝑥𝐴 𝐵 ↔ ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto→ ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) ) )
100 98 99 syl ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto 𝑥𝐴 𝐵 ↔ ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto→ ran ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) ) )
101 32 100 mpbird ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto 𝑥𝐴 𝐵 )
102 fowdom ( ( ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) ∈ V ∧ ( 𝑓X 𝑥𝐴 𝐵 , 𝑦𝐴 ↦ ( 𝑓𝑦 ) ) : ( X 𝑥𝐴 𝐵 × 𝐴 ) –onto 𝑥𝐴 𝐵 ) → 𝑥𝐴 𝐵* ( X 𝑥𝐴 𝐵 × 𝐴 ) )
103 29 101 102 syl2anc ( ( 𝐴𝑉 𝑥𝐴 𝐵𝑊X 𝑥𝐴 𝐵 ≠ ∅ ) → 𝑥𝐴 𝐵* ( X 𝑥𝐴 𝐵 × 𝐴 ) )