Step |
Hyp |
Ref |
Expression |
1 |
|
nfv |
⊢ Ⅎ 𝑧 𝜑 |
2 |
|
nfsbc1v |
⊢ Ⅎ 𝑦 [ 𝑧 / 𝑦 ] 𝜑 |
3 |
|
sbceq1a |
⊢ ( 𝑦 = 𝑧 → ( 𝜑 ↔ [ 𝑧 / 𝑦 ] 𝜑 ) ) |
4 |
1 2 3
|
cbvrexw |
⊢ ( ∃ 𝑦 ∈ 𝐵 𝜑 ↔ ∃ 𝑧 ∈ 𝐵 [ 𝑧 / 𝑦 ] 𝜑 ) |
5 |
4
|
ralbii |
⊢ ( ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ↔ ∀ 𝑥 ∈ 𝐴 ∃ 𝑧 ∈ 𝐵 [ 𝑧 / 𝑦 ] 𝜑 ) |
6 |
|
dfsbcq |
⊢ ( 𝑧 = ( 𝑓 ‘ 𝑥 ) → ( [ 𝑧 / 𝑦 ] 𝜑 ↔ [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) |
7 |
6
|
ac6sfi |
⊢ ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑧 ∈ 𝐵 [ 𝑧 / 𝑦 ] 𝜑 ) → ∃ 𝑓 ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) |
8 |
5 7
|
sylan2b |
⊢ ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) → ∃ 𝑓 ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) |
9 |
|
simpll |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → 𝐴 ∈ Fin ) |
10 |
|
ffn |
⊢ ( 𝑓 : 𝐴 ⟶ 𝐵 → 𝑓 Fn 𝐴 ) |
11 |
10
|
ad2antrl |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → 𝑓 Fn 𝐴 ) |
12 |
|
dffn4 |
⊢ ( 𝑓 Fn 𝐴 ↔ 𝑓 : 𝐴 –onto→ ran 𝑓 ) |
13 |
11 12
|
sylib |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → 𝑓 : 𝐴 –onto→ ran 𝑓 ) |
14 |
|
fofi |
⊢ ( ( 𝐴 ∈ Fin ∧ 𝑓 : 𝐴 –onto→ ran 𝑓 ) → ran 𝑓 ∈ Fin ) |
15 |
9 13 14
|
syl2anc |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → ran 𝑓 ∈ Fin ) |
16 |
|
frn |
⊢ ( 𝑓 : 𝐴 ⟶ 𝐵 → ran 𝑓 ⊆ 𝐵 ) |
17 |
16
|
ad2antrl |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → ran 𝑓 ⊆ 𝐵 ) |
18 |
|
fnfvelrn |
⊢ ( ( 𝑓 Fn 𝐴 ∧ 𝑥 ∈ 𝐴 ) → ( 𝑓 ‘ 𝑥 ) ∈ ran 𝑓 ) |
19 |
10 18
|
sylan |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → ( 𝑓 ‘ 𝑥 ) ∈ ran 𝑓 ) |
20 |
|
rspesbca |
⊢ ( ( ( 𝑓 ‘ 𝑥 ) ∈ ran 𝑓 ∧ [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ∃ 𝑦 ∈ ran 𝑓 𝜑 ) |
21 |
20
|
ex |
⊢ ( ( 𝑓 ‘ 𝑥 ) ∈ ran 𝑓 → ( [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 → ∃ 𝑦 ∈ ran 𝑓 𝜑 ) ) |
22 |
19 21
|
syl |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → ( [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 → ∃ 𝑦 ∈ ran 𝑓 𝜑 ) ) |
23 |
22
|
ralimdva |
⊢ ( 𝑓 : 𝐴 ⟶ 𝐵 → ( ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 → ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran 𝑓 𝜑 ) ) |
24 |
23
|
imp |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran 𝑓 𝜑 ) |
25 |
24
|
adantl |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran 𝑓 𝜑 ) |
26 |
|
simpr |
⊢ ( ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) ∧ 𝑤 ∈ 𝐴 ) → 𝑤 ∈ 𝐴 ) |
27 |
|
simprr |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) |
28 |
|
nfv |
⊢ Ⅎ 𝑤 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 |
29 |
|
nfsbc1v |
⊢ Ⅎ 𝑥 [ 𝑤 / 𝑥 ] [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 |
30 |
|
fveq2 |
⊢ ( 𝑥 = 𝑤 → ( 𝑓 ‘ 𝑥 ) = ( 𝑓 ‘ 𝑤 ) ) |
31 |
30
|
sbceq1d |
⊢ ( 𝑥 = 𝑤 → ( [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ↔ [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) ) |
32 |
|
sbceq1a |
⊢ ( 𝑥 = 𝑤 → ( [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ↔ [ 𝑤 / 𝑥 ] [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) ) |
33 |
31 32
|
bitrd |
⊢ ( 𝑥 = 𝑤 → ( [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ↔ [ 𝑤 / 𝑥 ] [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) ) |
34 |
28 29 33
|
cbvralw |
⊢ ( ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ↔ ∀ 𝑤 ∈ 𝐴 [ 𝑤 / 𝑥 ] [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) |
35 |
27 34
|
sylib |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → ∀ 𝑤 ∈ 𝐴 [ 𝑤 / 𝑥 ] [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) |
36 |
35
|
r19.21bi |
⊢ ( ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) ∧ 𝑤 ∈ 𝐴 ) → [ 𝑤 / 𝑥 ] [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) |
37 |
|
rspesbca |
⊢ ( ( 𝑤 ∈ 𝐴 ∧ [ 𝑤 / 𝑥 ] [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) → ∃ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) |
38 |
26 36 37
|
syl2anc |
⊢ ( ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) ∧ 𝑤 ∈ 𝐴 ) → ∃ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) |
39 |
38
|
ralrimiva |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → ∀ 𝑤 ∈ 𝐴 ∃ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) |
40 |
|
dfsbcq |
⊢ ( 𝑧 = ( 𝑓 ‘ 𝑤 ) → ( [ 𝑧 / 𝑦 ] 𝜑 ↔ [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) ) |
41 |
40
|
rexbidv |
⊢ ( 𝑧 = ( 𝑓 ‘ 𝑤 ) → ( ∃ 𝑥 ∈ 𝐴 [ 𝑧 / 𝑦 ] 𝜑 ↔ ∃ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) ) |
42 |
41
|
ralrn |
⊢ ( 𝑓 Fn 𝐴 → ( ∀ 𝑧 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 [ 𝑧 / 𝑦 ] 𝜑 ↔ ∀ 𝑤 ∈ 𝐴 ∃ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) ) |
43 |
11 42
|
syl |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → ( ∀ 𝑧 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 [ 𝑧 / 𝑦 ] 𝜑 ↔ ∀ 𝑤 ∈ 𝐴 ∃ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑤 ) / 𝑦 ] 𝜑 ) ) |
44 |
39 43
|
mpbird |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → ∀ 𝑧 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 [ 𝑧 / 𝑦 ] 𝜑 ) |
45 |
|
nfv |
⊢ Ⅎ 𝑧 ∃ 𝑥 ∈ 𝐴 𝜑 |
46 |
|
nfcv |
⊢ Ⅎ 𝑦 𝐴 |
47 |
46 2
|
nfrex |
⊢ Ⅎ 𝑦 ∃ 𝑥 ∈ 𝐴 [ 𝑧 / 𝑦 ] 𝜑 |
48 |
3
|
rexbidv |
⊢ ( 𝑦 = 𝑧 → ( ∃ 𝑥 ∈ 𝐴 𝜑 ↔ ∃ 𝑥 ∈ 𝐴 [ 𝑧 / 𝑦 ] 𝜑 ) ) |
49 |
45 47 48
|
cbvralw |
⊢ ( ∀ 𝑦 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 𝜑 ↔ ∀ 𝑧 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 [ 𝑧 / 𝑦 ] 𝜑 ) |
50 |
44 49
|
sylibr |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → ∀ 𝑦 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 𝜑 ) |
51 |
|
sseq1 |
⊢ ( 𝑐 = ran 𝑓 → ( 𝑐 ⊆ 𝐵 ↔ ran 𝑓 ⊆ 𝐵 ) ) |
52 |
|
rexeq |
⊢ ( 𝑐 = ran 𝑓 → ( ∃ 𝑦 ∈ 𝑐 𝜑 ↔ ∃ 𝑦 ∈ ran 𝑓 𝜑 ) ) |
53 |
52
|
ralbidv |
⊢ ( 𝑐 = ran 𝑓 → ( ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ↔ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran 𝑓 𝜑 ) ) |
54 |
|
raleq |
⊢ ( 𝑐 = ran 𝑓 → ( ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ↔ ∀ 𝑦 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) |
55 |
51 53 54
|
3anbi123d |
⊢ ( 𝑐 = ran 𝑓 → ( ( 𝑐 ⊆ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ∧ ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ) ↔ ( ran 𝑓 ⊆ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran 𝑓 𝜑 ∧ ∀ 𝑦 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) ) |
56 |
55
|
rspcev |
⊢ ( ( ran 𝑓 ∈ Fin ∧ ( ran 𝑓 ⊆ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran 𝑓 𝜑 ∧ ∀ 𝑦 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) → ∃ 𝑐 ∈ Fin ( 𝑐 ⊆ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ∧ ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) |
57 |
15 17 25 50 56
|
syl13anc |
⊢ ( ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) ∧ ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) → ∃ 𝑐 ∈ Fin ( 𝑐 ⊆ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ∧ ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) |
58 |
8 57
|
exlimddv |
⊢ ( ( 𝐴 ∈ Fin ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) → ∃ 𝑐 ∈ Fin ( 𝑐 ⊆ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ∧ ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) |
59 |
58
|
3adant2 |
⊢ ( ( 𝐴 ∈ Fin ∧ 𝐵 ∈ 𝑀 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) → ∃ 𝑐 ∈ Fin ( 𝑐 ⊆ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ∧ ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) |