Step |
Hyp |
Ref |
Expression |
1 |
|
2arymaptf.h |
⊢ 𝐻 = ( ℎ ∈ ( 2 -aryF 𝑋 ) ↦ ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ ( ℎ ‘ { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ) ) ) |
2 |
1
|
2arymaptf |
⊢ ( 𝑋 ∈ 𝑉 → 𝐻 : ( 2 -aryF 𝑋 ) ⟶ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) |
3 |
|
elmapi |
⊢ ( 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) → 𝑓 : ( 𝑋 × 𝑋 ) ⟶ 𝑋 ) |
4 |
|
eqid |
⊢ ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) |
5 |
4
|
2arympt |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 : ( 𝑋 × 𝑋 ) ⟶ 𝑋 ) → ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ∈ ( 2 -aryF 𝑋 ) ) |
6 |
3 5
|
sylan2 |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) → ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ∈ ( 2 -aryF 𝑋 ) ) |
7 |
|
fveq2 |
⊢ ( 𝑔 = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) → ( 𝐻 ‘ 𝑔 ) = ( 𝐻 ‘ ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) ) |
8 |
7
|
eqeq2d |
⊢ ( 𝑔 = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) → ( 𝑓 = ( 𝐻 ‘ 𝑔 ) ↔ 𝑓 = ( 𝐻 ‘ ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) ) ) |
9 |
8
|
adantl |
⊢ ( ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) ∧ 𝑔 = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) → ( 𝑓 = ( 𝐻 ‘ 𝑔 ) ↔ 𝑓 = ( 𝐻 ‘ ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) ) ) |
10 |
|
elmapfn |
⊢ ( 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) → 𝑓 Fn ( 𝑋 × 𝑋 ) ) |
11 |
10
|
adantl |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) → 𝑓 Fn ( 𝑋 × 𝑋 ) ) |
12 |
|
fnov |
⊢ ( 𝑓 Fn ( 𝑋 × 𝑋 ) ↔ 𝑓 = ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ ( 𝑥 𝑓 𝑦 ) ) ) |
13 |
11 12
|
sylib |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) → 𝑓 = ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ ( 𝑥 𝑓 𝑦 ) ) ) |
14 |
|
simp1r |
⊢ ( ( ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) ∧ ℎ = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → ℎ = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) |
15 |
|
fveq1 |
⊢ ( 𝑎 = { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } → ( 𝑎 ‘ 0 ) = ( { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ‘ 0 ) ) |
16 |
|
0ne1 |
⊢ 0 ≠ 1 |
17 |
|
c0ex |
⊢ 0 ∈ V |
18 |
|
vex |
⊢ 𝑥 ∈ V |
19 |
17 18
|
fvpr1 |
⊢ ( 0 ≠ 1 → ( { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ‘ 0 ) = 𝑥 ) |
20 |
16 19
|
ax-mp |
⊢ ( { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ‘ 0 ) = 𝑥 |
21 |
15 20
|
eqtrdi |
⊢ ( 𝑎 = { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } → ( 𝑎 ‘ 0 ) = 𝑥 ) |
22 |
|
fveq1 |
⊢ ( 𝑎 = { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } → ( 𝑎 ‘ 1 ) = ( { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ‘ 1 ) ) |
23 |
|
1ex |
⊢ 1 ∈ V |
24 |
|
vex |
⊢ 𝑦 ∈ V |
25 |
23 24
|
fvpr2 |
⊢ ( 0 ≠ 1 → ( { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ‘ 1 ) = 𝑦 ) |
26 |
16 25
|
ax-mp |
⊢ ( { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ‘ 1 ) = 𝑦 |
27 |
22 26
|
eqtrdi |
⊢ ( 𝑎 = { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } → ( 𝑎 ‘ 1 ) = 𝑦 ) |
28 |
21 27
|
oveq12d |
⊢ ( 𝑎 = { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } → ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) = ( 𝑥 𝑓 𝑦 ) ) |
29 |
28
|
adantl |
⊢ ( ( ( ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) ∧ ℎ = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ∧ 𝑎 = { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ) → ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) = ( 𝑥 𝑓 𝑦 ) ) |
30 |
17 23
|
pm3.2i |
⊢ ( 0 ∈ V ∧ 1 ∈ V ) |
31 |
|
fprg |
⊢ ( ( ( 0 ∈ V ∧ 1 ∈ V ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ∧ 0 ≠ 1 ) → { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } : { 0 , 1 } ⟶ { 𝑥 , 𝑦 } ) |
32 |
30 16 31
|
mp3an13 |
⊢ ( ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } : { 0 , 1 } ⟶ { 𝑥 , 𝑦 } ) |
33 |
32
|
3adant1 |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } : { 0 , 1 } ⟶ { 𝑥 , 𝑦 } ) |
34 |
|
prssi |
⊢ ( ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → { 𝑥 , 𝑦 } ⊆ 𝑋 ) |
35 |
34
|
3adant1 |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → { 𝑥 , 𝑦 } ⊆ 𝑋 ) |
36 |
33 35
|
fssd |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } : { 0 , 1 } ⟶ 𝑋 ) |
37 |
|
simp1 |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → 𝑋 ∈ 𝑉 ) |
38 |
|
prex |
⊢ { 0 , 1 } ∈ V |
39 |
38
|
a1i |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → { 0 , 1 } ∈ V ) |
40 |
37 39
|
elmapd |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → ( { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ∈ ( 𝑋 ↑m { 0 , 1 } ) ↔ { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } : { 0 , 1 } ⟶ 𝑋 ) ) |
41 |
36 40
|
mpbird |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ∈ ( 𝑋 ↑m { 0 , 1 } ) ) |
42 |
41
|
3adant1r |
⊢ ( ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ∈ ( 𝑋 ↑m { 0 , 1 } ) ) |
43 |
42
|
3adant1r |
⊢ ( ( ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) ∧ ℎ = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ∈ ( 𝑋 ↑m { 0 , 1 } ) ) |
44 |
|
ovexd |
⊢ ( ( ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) ∧ ℎ = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → ( 𝑥 𝑓 𝑦 ) ∈ V ) |
45 |
|
nfv |
⊢ Ⅎ 𝑎 ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) |
46 |
|
nfmpt1 |
⊢ Ⅎ 𝑎 ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) |
47 |
46
|
nfeq2 |
⊢ Ⅎ 𝑎 ℎ = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) |
48 |
45 47
|
nfan |
⊢ Ⅎ 𝑎 ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) ∧ ℎ = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) |
49 |
|
nfv |
⊢ Ⅎ 𝑎 𝑥 ∈ 𝑋 |
50 |
|
nfv |
⊢ Ⅎ 𝑎 𝑦 ∈ 𝑋 |
51 |
48 49 50
|
nf3an |
⊢ Ⅎ 𝑎 ( ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) ∧ ℎ = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) |
52 |
|
nfcv |
⊢ Ⅎ 𝑎 { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } |
53 |
|
nfcv |
⊢ Ⅎ 𝑎 ( 𝑥 𝑓 𝑦 ) |
54 |
14 29 43 44 51 52 53
|
fvmptdf |
⊢ ( ( ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) ∧ ℎ = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) ∧ 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) → ( ℎ ‘ { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ) = ( 𝑥 𝑓 𝑦 ) ) |
55 |
54
|
mpoeq3dva |
⊢ ( ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) ∧ ℎ = ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) → ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ ( ℎ ‘ { 〈 0 , 𝑥 〉 , 〈 1 , 𝑦 〉 } ) ) = ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ ( 𝑥 𝑓 𝑦 ) ) ) |
56 |
|
mpoexga |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑋 ∈ 𝑉 ) → ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ ( 𝑥 𝑓 𝑦 ) ) ∈ V ) |
57 |
56
|
anidms |
⊢ ( 𝑋 ∈ 𝑉 → ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ ( 𝑥 𝑓 𝑦 ) ) ∈ V ) |
58 |
57
|
adantr |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) → ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ ( 𝑥 𝑓 𝑦 ) ) ∈ V ) |
59 |
1 55 6 58
|
fvmptd2 |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) → ( 𝐻 ‘ ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) = ( 𝑥 ∈ 𝑋 , 𝑦 ∈ 𝑋 ↦ ( 𝑥 𝑓 𝑦 ) ) ) |
60 |
13 59
|
eqtr4d |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) → 𝑓 = ( 𝐻 ‘ ( 𝑎 ∈ ( 𝑋 ↑m { 0 , 1 } ) ↦ ( ( 𝑎 ‘ 0 ) 𝑓 ( 𝑎 ‘ 1 ) ) ) ) ) |
61 |
6 9 60
|
rspcedvd |
⊢ ( ( 𝑋 ∈ 𝑉 ∧ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) → ∃ 𝑔 ∈ ( 2 -aryF 𝑋 ) 𝑓 = ( 𝐻 ‘ 𝑔 ) ) |
62 |
61
|
ralrimiva |
⊢ ( 𝑋 ∈ 𝑉 → ∀ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ∃ 𝑔 ∈ ( 2 -aryF 𝑋 ) 𝑓 = ( 𝐻 ‘ 𝑔 ) ) |
63 |
|
dffo3 |
⊢ ( 𝐻 : ( 2 -aryF 𝑋 ) –onto→ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ↔ ( 𝐻 : ( 2 -aryF 𝑋 ) ⟶ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ∃ 𝑔 ∈ ( 2 -aryF 𝑋 ) 𝑓 = ( 𝐻 ‘ 𝑔 ) ) ) |
64 |
2 62 63
|
sylanbrc |
⊢ ( 𝑋 ∈ 𝑉 → 𝐻 : ( 2 -aryF 𝑋 ) –onto→ ( 𝑋 ↑m ( 𝑋 × 𝑋 ) ) ) |