Step |
Hyp |
Ref |
Expression |
1 |
|
curry2.1 |
⊢ 𝐺 = ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) |
2 |
|
fnfun |
⊢ ( 𝐹 Fn ( 𝐴 × 𝐵 ) → Fun 𝐹 ) |
3 |
|
1stconst |
⊢ ( 𝐶 ∈ 𝐵 → ( 1st ↾ ( V × { 𝐶 } ) ) : ( V × { 𝐶 } ) –1-1-onto→ V ) |
4 |
|
dff1o3 |
⊢ ( ( 1st ↾ ( V × { 𝐶 } ) ) : ( V × { 𝐶 } ) –1-1-onto→ V ↔ ( ( 1st ↾ ( V × { 𝐶 } ) ) : ( V × { 𝐶 } ) –onto→ V ∧ Fun ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) ) |
5 |
4
|
simprbi |
⊢ ( ( 1st ↾ ( V × { 𝐶 } ) ) : ( V × { 𝐶 } ) –1-1-onto→ V → Fun ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) |
6 |
3 5
|
syl |
⊢ ( 𝐶 ∈ 𝐵 → Fun ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) |
7 |
|
funco |
⊢ ( ( Fun 𝐹 ∧ Fun ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) → Fun ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) ) |
8 |
2 6 7
|
syl2an |
⊢ ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) → Fun ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) ) |
9 |
|
dmco |
⊢ dom ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) = ( ◡ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) “ dom 𝐹 ) |
10 |
|
fndm |
⊢ ( 𝐹 Fn ( 𝐴 × 𝐵 ) → dom 𝐹 = ( 𝐴 × 𝐵 ) ) |
11 |
10
|
adantr |
⊢ ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) → dom 𝐹 = ( 𝐴 × 𝐵 ) ) |
12 |
11
|
imaeq2d |
⊢ ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) → ( ◡ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) “ dom 𝐹 ) = ( ◡ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) “ ( 𝐴 × 𝐵 ) ) ) |
13 |
|
imacnvcnv |
⊢ ( ◡ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) “ ( 𝐴 × 𝐵 ) ) = ( ( 1st ↾ ( V × { 𝐶 } ) ) “ ( 𝐴 × 𝐵 ) ) |
14 |
|
df-ima |
⊢ ( ( 1st ↾ ( V × { 𝐶 } ) ) “ ( 𝐴 × 𝐵 ) ) = ran ( ( 1st ↾ ( V × { 𝐶 } ) ) ↾ ( 𝐴 × 𝐵 ) ) |
15 |
|
resres |
⊢ ( ( 1st ↾ ( V × { 𝐶 } ) ) ↾ ( 𝐴 × 𝐵 ) ) = ( 1st ↾ ( ( V × { 𝐶 } ) ∩ ( 𝐴 × 𝐵 ) ) ) |
16 |
15
|
rneqi |
⊢ ran ( ( 1st ↾ ( V × { 𝐶 } ) ) ↾ ( 𝐴 × 𝐵 ) ) = ran ( 1st ↾ ( ( V × { 𝐶 } ) ∩ ( 𝐴 × 𝐵 ) ) ) |
17 |
13 14 16
|
3eqtri |
⊢ ( ◡ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) “ ( 𝐴 × 𝐵 ) ) = ran ( 1st ↾ ( ( V × { 𝐶 } ) ∩ ( 𝐴 × 𝐵 ) ) ) |
18 |
|
inxp |
⊢ ( ( V × { 𝐶 } ) ∩ ( 𝐴 × 𝐵 ) ) = ( ( V ∩ 𝐴 ) × ( { 𝐶 } ∩ 𝐵 ) ) |
19 |
|
incom |
⊢ ( V ∩ 𝐴 ) = ( 𝐴 ∩ V ) |
20 |
|
inv1 |
⊢ ( 𝐴 ∩ V ) = 𝐴 |
21 |
19 20
|
eqtri |
⊢ ( V ∩ 𝐴 ) = 𝐴 |
22 |
21
|
xpeq1i |
⊢ ( ( V ∩ 𝐴 ) × ( { 𝐶 } ∩ 𝐵 ) ) = ( 𝐴 × ( { 𝐶 } ∩ 𝐵 ) ) |
23 |
18 22
|
eqtri |
⊢ ( ( V × { 𝐶 } ) ∩ ( 𝐴 × 𝐵 ) ) = ( 𝐴 × ( { 𝐶 } ∩ 𝐵 ) ) |
24 |
|
snssi |
⊢ ( 𝐶 ∈ 𝐵 → { 𝐶 } ⊆ 𝐵 ) |
25 |
|
df-ss |
⊢ ( { 𝐶 } ⊆ 𝐵 ↔ ( { 𝐶 } ∩ 𝐵 ) = { 𝐶 } ) |
26 |
24 25
|
sylib |
⊢ ( 𝐶 ∈ 𝐵 → ( { 𝐶 } ∩ 𝐵 ) = { 𝐶 } ) |
27 |
26
|
xpeq2d |
⊢ ( 𝐶 ∈ 𝐵 → ( 𝐴 × ( { 𝐶 } ∩ 𝐵 ) ) = ( 𝐴 × { 𝐶 } ) ) |
28 |
23 27
|
eqtrid |
⊢ ( 𝐶 ∈ 𝐵 → ( ( V × { 𝐶 } ) ∩ ( 𝐴 × 𝐵 ) ) = ( 𝐴 × { 𝐶 } ) ) |
29 |
28
|
reseq2d |
⊢ ( 𝐶 ∈ 𝐵 → ( 1st ↾ ( ( V × { 𝐶 } ) ∩ ( 𝐴 × 𝐵 ) ) ) = ( 1st ↾ ( 𝐴 × { 𝐶 } ) ) ) |
30 |
29
|
rneqd |
⊢ ( 𝐶 ∈ 𝐵 → ran ( 1st ↾ ( ( V × { 𝐶 } ) ∩ ( 𝐴 × 𝐵 ) ) ) = ran ( 1st ↾ ( 𝐴 × { 𝐶 } ) ) ) |
31 |
|
1stconst |
⊢ ( 𝐶 ∈ 𝐵 → ( 1st ↾ ( 𝐴 × { 𝐶 } ) ) : ( 𝐴 × { 𝐶 } ) –1-1-onto→ 𝐴 ) |
32 |
|
f1ofo |
⊢ ( ( 1st ↾ ( 𝐴 × { 𝐶 } ) ) : ( 𝐴 × { 𝐶 } ) –1-1-onto→ 𝐴 → ( 1st ↾ ( 𝐴 × { 𝐶 } ) ) : ( 𝐴 × { 𝐶 } ) –onto→ 𝐴 ) |
33 |
|
forn |
⊢ ( ( 1st ↾ ( 𝐴 × { 𝐶 } ) ) : ( 𝐴 × { 𝐶 } ) –onto→ 𝐴 → ran ( 1st ↾ ( 𝐴 × { 𝐶 } ) ) = 𝐴 ) |
34 |
31 32 33
|
3syl |
⊢ ( 𝐶 ∈ 𝐵 → ran ( 1st ↾ ( 𝐴 × { 𝐶 } ) ) = 𝐴 ) |
35 |
30 34
|
eqtrd |
⊢ ( 𝐶 ∈ 𝐵 → ran ( 1st ↾ ( ( V × { 𝐶 } ) ∩ ( 𝐴 × 𝐵 ) ) ) = 𝐴 ) |
36 |
17 35
|
eqtrid |
⊢ ( 𝐶 ∈ 𝐵 → ( ◡ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) “ ( 𝐴 × 𝐵 ) ) = 𝐴 ) |
37 |
36
|
adantl |
⊢ ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) → ( ◡ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) “ ( 𝐴 × 𝐵 ) ) = 𝐴 ) |
38 |
12 37
|
eqtrd |
⊢ ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) → ( ◡ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) “ dom 𝐹 ) = 𝐴 ) |
39 |
9 38
|
eqtrid |
⊢ ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) → dom ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) = 𝐴 ) |
40 |
1
|
fneq1i |
⊢ ( 𝐺 Fn 𝐴 ↔ ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) Fn 𝐴 ) |
41 |
|
df-fn |
⊢ ( ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) Fn 𝐴 ↔ ( Fun ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) ∧ dom ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) = 𝐴 ) ) |
42 |
40 41
|
bitri |
⊢ ( 𝐺 Fn 𝐴 ↔ ( Fun ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) ∧ dom ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) = 𝐴 ) ) |
43 |
8 39 42
|
sylanbrc |
⊢ ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) → 𝐺 Fn 𝐴 ) |
44 |
|
dffn5 |
⊢ ( 𝐺 Fn 𝐴 ↔ 𝐺 = ( 𝑥 ∈ 𝐴 ↦ ( 𝐺 ‘ 𝑥 ) ) ) |
45 |
43 44
|
sylib |
⊢ ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) → 𝐺 = ( 𝑥 ∈ 𝐴 ↦ ( 𝐺 ‘ 𝑥 ) ) ) |
46 |
1
|
fveq1i |
⊢ ( 𝐺 ‘ 𝑥 ) = ( ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) ‘ 𝑥 ) |
47 |
|
dff1o4 |
⊢ ( ( 1st ↾ ( V × { 𝐶 } ) ) : ( V × { 𝐶 } ) –1-1-onto→ V ↔ ( ( 1st ↾ ( V × { 𝐶 } ) ) Fn ( V × { 𝐶 } ) ∧ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) Fn V ) ) |
48 |
3 47
|
sylib |
⊢ ( 𝐶 ∈ 𝐵 → ( ( 1st ↾ ( V × { 𝐶 } ) ) Fn ( V × { 𝐶 } ) ∧ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) Fn V ) ) |
49 |
48
|
simprd |
⊢ ( 𝐶 ∈ 𝐵 → ◡ ( 1st ↾ ( V × { 𝐶 } ) ) Fn V ) |
50 |
|
vex |
⊢ 𝑥 ∈ V |
51 |
|
fvco2 |
⊢ ( ( ◡ ( 1st ↾ ( V × { 𝐶 } ) ) Fn V ∧ 𝑥 ∈ V ) → ( ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) ‘ 𝑥 ) = ( 𝐹 ‘ ( ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 𝑥 ) ) ) |
52 |
49 50 51
|
sylancl |
⊢ ( 𝐶 ∈ 𝐵 → ( ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) ‘ 𝑥 ) = ( 𝐹 ‘ ( ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 𝑥 ) ) ) |
53 |
52
|
ad2antlr |
⊢ ( ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → ( ( 𝐹 ∘ ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ) ‘ 𝑥 ) = ( 𝐹 ‘ ( ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 𝑥 ) ) ) |
54 |
46 53
|
eqtrid |
⊢ ( ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → ( 𝐺 ‘ 𝑥 ) = ( 𝐹 ‘ ( ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 𝑥 ) ) ) |
55 |
3
|
adantr |
⊢ ( ( 𝐶 ∈ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → ( 1st ↾ ( V × { 𝐶 } ) ) : ( V × { 𝐶 } ) –1-1-onto→ V ) |
56 |
50
|
a1i |
⊢ ( ( 𝐶 ∈ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → 𝑥 ∈ V ) |
57 |
|
snidg |
⊢ ( 𝐶 ∈ 𝐵 → 𝐶 ∈ { 𝐶 } ) |
58 |
57
|
adantr |
⊢ ( ( 𝐶 ∈ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → 𝐶 ∈ { 𝐶 } ) |
59 |
56 58
|
opelxpd |
⊢ ( ( 𝐶 ∈ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → 〈 𝑥 , 𝐶 〉 ∈ ( V × { 𝐶 } ) ) |
60 |
55 59
|
jca |
⊢ ( ( 𝐶 ∈ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → ( ( 1st ↾ ( V × { 𝐶 } ) ) : ( V × { 𝐶 } ) –1-1-onto→ V ∧ 〈 𝑥 , 𝐶 〉 ∈ ( V × { 𝐶 } ) ) ) |
61 |
50
|
a1i |
⊢ ( 𝐶 ∈ 𝐵 → 𝑥 ∈ V ) |
62 |
61 57
|
opelxpd |
⊢ ( 𝐶 ∈ 𝐵 → 〈 𝑥 , 𝐶 〉 ∈ ( V × { 𝐶 } ) ) |
63 |
62
|
fvresd |
⊢ ( 𝐶 ∈ 𝐵 → ( ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 〈 𝑥 , 𝐶 〉 ) = ( 1st ‘ 〈 𝑥 , 𝐶 〉 ) ) |
64 |
63
|
adantr |
⊢ ( ( 𝐶 ∈ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → ( ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 〈 𝑥 , 𝐶 〉 ) = ( 1st ‘ 〈 𝑥 , 𝐶 〉 ) ) |
65 |
|
op1stg |
⊢ ( ( 𝑥 ∈ 𝐴 ∧ 𝐶 ∈ 𝐵 ) → ( 1st ‘ 〈 𝑥 , 𝐶 〉 ) = 𝑥 ) |
66 |
65
|
ancoms |
⊢ ( ( 𝐶 ∈ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → ( 1st ‘ 〈 𝑥 , 𝐶 〉 ) = 𝑥 ) |
67 |
64 66
|
eqtrd |
⊢ ( ( 𝐶 ∈ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → ( ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 〈 𝑥 , 𝐶 〉 ) = 𝑥 ) |
68 |
|
f1ocnvfv |
⊢ ( ( ( 1st ↾ ( V × { 𝐶 } ) ) : ( V × { 𝐶 } ) –1-1-onto→ V ∧ 〈 𝑥 , 𝐶 〉 ∈ ( V × { 𝐶 } ) ) → ( ( ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 〈 𝑥 , 𝐶 〉 ) = 𝑥 → ( ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 𝑥 ) = 〈 𝑥 , 𝐶 〉 ) ) |
69 |
60 67 68
|
sylc |
⊢ ( ( 𝐶 ∈ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → ( ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 𝑥 ) = 〈 𝑥 , 𝐶 〉 ) |
70 |
69
|
fveq2d |
⊢ ( ( 𝐶 ∈ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → ( 𝐹 ‘ ( ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 𝑥 ) ) = ( 𝐹 ‘ 〈 𝑥 , 𝐶 〉 ) ) |
71 |
70
|
adantll |
⊢ ( ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → ( 𝐹 ‘ ( ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 𝑥 ) ) = ( 𝐹 ‘ 〈 𝑥 , 𝐶 〉 ) ) |
72 |
|
df-ov |
⊢ ( 𝑥 𝐹 𝐶 ) = ( 𝐹 ‘ 〈 𝑥 , 𝐶 〉 ) |
73 |
71 72
|
eqtr4di |
⊢ ( ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → ( 𝐹 ‘ ( ◡ ( 1st ↾ ( V × { 𝐶 } ) ) ‘ 𝑥 ) ) = ( 𝑥 𝐹 𝐶 ) ) |
74 |
54 73
|
eqtrd |
⊢ ( ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) ∧ 𝑥 ∈ 𝐴 ) → ( 𝐺 ‘ 𝑥 ) = ( 𝑥 𝐹 𝐶 ) ) |
75 |
74
|
mpteq2dva |
⊢ ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) → ( 𝑥 ∈ 𝐴 ↦ ( 𝐺 ‘ 𝑥 ) ) = ( 𝑥 ∈ 𝐴 ↦ ( 𝑥 𝐹 𝐶 ) ) ) |
76 |
45 75
|
eqtrd |
⊢ ( ( 𝐹 Fn ( 𝐴 × 𝐵 ) ∧ 𝐶 ∈ 𝐵 ) → 𝐺 = ( 𝑥 ∈ 𝐴 ↦ ( 𝑥 𝐹 𝐶 ) ) ) |