| 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
|
nfrexw |
⊢ Ⅎ 𝑦 ∃ 𝑥 ∈ 𝐴 [ 𝑧 / 𝑦 ] 𝜑 |
| 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 ( 𝑐 ⊆ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ∧ ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) |