| Step |
Hyp |
Ref |
Expression |
| 1 |
|
nfsbc1v |
⊢ Ⅎ 𝑦 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 |
| 2 |
|
sbceq1a |
⊢ ( 𝑦 = ( 𝑓 ‘ 𝑥 ) → ( 𝜑 ↔ [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) |
| 3 |
1 2
|
ac6gf |
⊢ ( ( 𝐴 ∈ 𝑀 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) → ∃ 𝑓 ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) |
| 4 |
|
fdm |
⊢ ( 𝑓 : 𝐴 ⟶ 𝐵 → dom 𝑓 = 𝐴 ) |
| 5 |
|
vex |
⊢ 𝑓 ∈ V |
| 6 |
5
|
dmex |
⊢ dom 𝑓 ∈ V |
| 7 |
4 6
|
eqeltrrdi |
⊢ ( 𝑓 : 𝐴 ⟶ 𝐵 → 𝐴 ∈ V ) |
| 8 |
|
ffn |
⊢ ( 𝑓 : 𝐴 ⟶ 𝐵 → 𝑓 Fn 𝐴 ) |
| 9 |
|
fnrndomg |
⊢ ( 𝐴 ∈ V → ( 𝑓 Fn 𝐴 → ran 𝑓 ≼ 𝐴 ) ) |
| 10 |
7 8 9
|
sylc |
⊢ ( 𝑓 : 𝐴 ⟶ 𝐵 → ran 𝑓 ≼ 𝐴 ) |
| 11 |
10
|
adantr |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ran 𝑓 ≼ 𝐴 ) |
| 12 |
|
frn |
⊢ ( 𝑓 : 𝐴 ⟶ 𝐵 → ran 𝑓 ⊆ 𝐵 ) |
| 13 |
12
|
adantr |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ran 𝑓 ⊆ 𝐵 ) |
| 14 |
|
nfv |
⊢ Ⅎ 𝑥 𝑓 : 𝐴 ⟶ 𝐵 |
| 15 |
|
nfra1 |
⊢ Ⅎ 𝑥 ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 |
| 16 |
14 15
|
nfan |
⊢ Ⅎ 𝑥 ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) |
| 17 |
|
ffun |
⊢ ( 𝑓 : 𝐴 ⟶ 𝐵 → Fun 𝑓 ) |
| 18 |
17
|
adantr |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → Fun 𝑓 ) |
| 19 |
4
|
eleq2d |
⊢ ( 𝑓 : 𝐴 ⟶ 𝐵 → ( 𝑥 ∈ dom 𝑓 ↔ 𝑥 ∈ 𝐴 ) ) |
| 20 |
19
|
biimpar |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → 𝑥 ∈ dom 𝑓 ) |
| 21 |
|
fvelrn |
⊢ ( ( Fun 𝑓 ∧ 𝑥 ∈ dom 𝑓 ) → ( 𝑓 ‘ 𝑥 ) ∈ ran 𝑓 ) |
| 22 |
18 20 21
|
syl2anc |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ 𝑥 ∈ 𝐴 ) → ( 𝑓 ‘ 𝑥 ) ∈ ran 𝑓 ) |
| 23 |
22
|
adantlr |
⊢ ( ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ∧ 𝑥 ∈ 𝐴 ) → ( 𝑓 ‘ 𝑥 ) ∈ ran 𝑓 ) |
| 24 |
|
rspa |
⊢ ( ( ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ∧ 𝑥 ∈ 𝐴 ) → [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) |
| 25 |
24
|
adantll |
⊢ ( ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ∧ 𝑥 ∈ 𝐴 ) → [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) |
| 26 |
|
rspesbca |
⊢ ( ( ( 𝑓 ‘ 𝑥 ) ∈ ran 𝑓 ∧ [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ∃ 𝑦 ∈ ran 𝑓 𝜑 ) |
| 27 |
23 25 26
|
syl2anc |
⊢ ( ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ∧ 𝑥 ∈ 𝐴 ) → ∃ 𝑦 ∈ ran 𝑓 𝜑 ) |
| 28 |
27
|
ex |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ( 𝑥 ∈ 𝐴 → ∃ 𝑦 ∈ ran 𝑓 𝜑 ) ) |
| 29 |
16 28
|
ralrimi |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran 𝑓 𝜑 ) |
| 30 |
|
nfv |
⊢ Ⅎ 𝑦 𝑓 : 𝐴 ⟶ 𝐵 |
| 31 |
|
nfcv |
⊢ Ⅎ 𝑦 𝐴 |
| 32 |
31 1
|
nfralw |
⊢ Ⅎ 𝑦 ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 |
| 33 |
30 32
|
nfan |
⊢ Ⅎ 𝑦 ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) |
| 34 |
|
fvelrnb |
⊢ ( 𝑓 Fn 𝐴 → ( 𝑦 ∈ ran 𝑓 ↔ ∃ 𝑥 ∈ 𝐴 ( 𝑓 ‘ 𝑥 ) = 𝑦 ) ) |
| 35 |
8 34
|
syl |
⊢ ( 𝑓 : 𝐴 ⟶ 𝐵 → ( 𝑦 ∈ ran 𝑓 ↔ ∃ 𝑥 ∈ 𝐴 ( 𝑓 ‘ 𝑥 ) = 𝑦 ) ) |
| 36 |
35
|
adantr |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ( 𝑦 ∈ ran 𝑓 ↔ ∃ 𝑥 ∈ 𝐴 ( 𝑓 ‘ 𝑥 ) = 𝑦 ) ) |
| 37 |
|
rsp |
⊢ ( ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 → ( 𝑥 ∈ 𝐴 → [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) |
| 38 |
37
|
adantl |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ( 𝑥 ∈ 𝐴 → [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) |
| 39 |
2
|
eqcoms |
⊢ ( ( 𝑓 ‘ 𝑥 ) = 𝑦 → ( 𝜑 ↔ [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) ) |
| 40 |
39
|
biimprcd |
⊢ ( [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 → ( ( 𝑓 ‘ 𝑥 ) = 𝑦 → 𝜑 ) ) |
| 41 |
38 40
|
syl6 |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ( 𝑥 ∈ 𝐴 → ( ( 𝑓 ‘ 𝑥 ) = 𝑦 → 𝜑 ) ) ) |
| 42 |
16 41
|
reximdai |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ( ∃ 𝑥 ∈ 𝐴 ( 𝑓 ‘ 𝑥 ) = 𝑦 → ∃ 𝑥 ∈ 𝐴 𝜑 ) ) |
| 43 |
36 42
|
sylbid |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ( 𝑦 ∈ ran 𝑓 → ∃ 𝑥 ∈ 𝐴 𝜑 ) ) |
| 44 |
33 43
|
ralrimi |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ∀ 𝑦 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 𝜑 ) |
| 45 |
5
|
rnex |
⊢ ran 𝑓 ∈ V |
| 46 |
|
breq1 |
⊢ ( 𝑐 = ran 𝑓 → ( 𝑐 ≼ 𝐴 ↔ ran 𝑓 ≼ 𝐴 ) ) |
| 47 |
|
sseq1 |
⊢ ( 𝑐 = ran 𝑓 → ( 𝑐 ⊆ 𝐵 ↔ ran 𝑓 ⊆ 𝐵 ) ) |
| 48 |
46 47
|
anbi12d |
⊢ ( 𝑐 = ran 𝑓 → ( ( 𝑐 ≼ 𝐴 ∧ 𝑐 ⊆ 𝐵 ) ↔ ( ran 𝑓 ≼ 𝐴 ∧ ran 𝑓 ⊆ 𝐵 ) ) ) |
| 49 |
|
rexeq |
⊢ ( 𝑐 = ran 𝑓 → ( ∃ 𝑦 ∈ 𝑐 𝜑 ↔ ∃ 𝑦 ∈ ran 𝑓 𝜑 ) ) |
| 50 |
49
|
ralbidv |
⊢ ( 𝑐 = ran 𝑓 → ( ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ↔ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran 𝑓 𝜑 ) ) |
| 51 |
|
raleq |
⊢ ( 𝑐 = ran 𝑓 → ( ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ↔ ∀ 𝑦 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) |
| 52 |
50 51
|
anbi12d |
⊢ ( 𝑐 = ran 𝑓 → ( ( ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ∧ ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ) ↔ ( ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran 𝑓 𝜑 ∧ ∀ 𝑦 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) ) |
| 53 |
48 52
|
anbi12d |
⊢ ( 𝑐 = ran 𝑓 → ( ( ( 𝑐 ≼ 𝐴 ∧ 𝑐 ⊆ 𝐵 ) ∧ ( ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ∧ ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) ↔ ( ( ran 𝑓 ≼ 𝐴 ∧ ran 𝑓 ⊆ 𝐵 ) ∧ ( ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran 𝑓 𝜑 ∧ ∀ 𝑦 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) ) ) |
| 54 |
45 53
|
spcev |
⊢ ( ( ( ran 𝑓 ≼ 𝐴 ∧ ran 𝑓 ⊆ 𝐵 ) ∧ ( ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ ran 𝑓 𝜑 ∧ ∀ 𝑦 ∈ ran 𝑓 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) → ∃ 𝑐 ( ( 𝑐 ≼ 𝐴 ∧ 𝑐 ⊆ 𝐵 ) ∧ ( ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ∧ ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) ) |
| 55 |
11 13 29 44 54
|
syl22anc |
⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ∃ 𝑐 ( ( 𝑐 ≼ 𝐴 ∧ 𝑐 ⊆ 𝐵 ) ∧ ( ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ∧ ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) ) |
| 56 |
55
|
exlimiv |
⊢ ( ∃ 𝑓 ( 𝑓 : 𝐴 ⟶ 𝐵 ∧ ∀ 𝑥 ∈ 𝐴 [ ( 𝑓 ‘ 𝑥 ) / 𝑦 ] 𝜑 ) → ∃ 𝑐 ( ( 𝑐 ≼ 𝐴 ∧ 𝑐 ⊆ 𝐵 ) ∧ ( ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ∧ ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) ) |
| 57 |
3 56
|
syl |
⊢ ( ( 𝐴 ∈ 𝑀 ∧ ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝐵 𝜑 ) → ∃ 𝑐 ( ( 𝑐 ≼ 𝐴 ∧ 𝑐 ⊆ 𝐵 ) ∧ ( ∀ 𝑥 ∈ 𝐴 ∃ 𝑦 ∈ 𝑐 𝜑 ∧ ∀ 𝑦 ∈ 𝑐 ∃ 𝑥 ∈ 𝐴 𝜑 ) ) ) |