Proof of Theorem hashimarn
Step | Hyp | Ref
| Expression |
1 | | f1f 6574 |
. . . . . . 7
⊢ (𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸 → 𝐹:(0..^(♯‘𝐹))⟶dom 𝐸) |
2 | 1 | frnd 6520 |
. . . . . 6
⊢ (𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸 → ran 𝐹 ⊆ dom 𝐸) |
3 | 2 | adantl 484 |
. . . . 5
⊢ (((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → ran 𝐹 ⊆ dom 𝐸) |
4 | | ssdmres 5875 |
. . . . 5
⊢ (ran
𝐹 ⊆ dom 𝐸 ↔ dom (𝐸 ↾ ran 𝐹) = ran 𝐹) |
5 | 3, 4 | sylib 220 |
. . . 4
⊢ (((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → dom (𝐸 ↾ ran 𝐹) = ran 𝐹) |
6 | 5 | fveq2d 6673 |
. . 3
⊢ (((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → (♯‘dom (𝐸 ↾ ran 𝐹)) = (♯‘ran 𝐹)) |
7 | | f1fun 6576 |
. . . . . . . 8
⊢ (𝐸:dom 𝐸–1-1→ran 𝐸 → Fun 𝐸) |
8 | | funres 6396 |
. . . . . . . . 9
⊢ (Fun
𝐸 → Fun (𝐸 ↾ ran 𝐹)) |
9 | 8 | funfnd 6385 |
. . . . . . . 8
⊢ (Fun
𝐸 → (𝐸 ↾ ran 𝐹) Fn dom (𝐸 ↾ ran 𝐹)) |
10 | 7, 9 | syl 17 |
. . . . . . 7
⊢ (𝐸:dom 𝐸–1-1→ran 𝐸 → (𝐸 ↾ ran 𝐹) Fn dom (𝐸 ↾ ran 𝐹)) |
11 | 10 | ad2antrr 724 |
. . . . . 6
⊢ (((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → (𝐸 ↾ ran 𝐹) Fn dom (𝐸 ↾ ran 𝐹)) |
12 | | hashfn 13735 |
. . . . . 6
⊢ ((𝐸 ↾ ran 𝐹) Fn dom (𝐸 ↾ ran 𝐹) → (♯‘(𝐸 ↾ ran 𝐹)) = (♯‘dom (𝐸 ↾ ran 𝐹))) |
13 | 11, 12 | syl 17 |
. . . . 5
⊢ (((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → (♯‘(𝐸 ↾ ran 𝐹)) = (♯‘dom (𝐸 ↾ ran 𝐹))) |
14 | | ovex 7188 |
. . . . . . . 8
⊢
(0..^(♯‘𝐹)) ∈ V |
15 | | fex 6988 |
. . . . . . . 8
⊢ ((𝐹:(0..^(♯‘𝐹))⟶dom 𝐸 ∧ (0..^(♯‘𝐹)) ∈ V) → 𝐹 ∈ V) |
16 | 1, 14, 15 | sylancl 588 |
. . . . . . 7
⊢ (𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸 → 𝐹 ∈ V) |
17 | | rnexg 7613 |
. . . . . . 7
⊢ (𝐹 ∈ V → ran 𝐹 ∈ V) |
18 | 16, 17 | syl 17 |
. . . . . 6
⊢ (𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸 → ran 𝐹 ∈ V) |
19 | | simpll 765 |
. . . . . . 7
⊢ (((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → 𝐸:dom 𝐸–1-1→ran 𝐸) |
20 | | f1ssres 6581 |
. . . . . . 7
⊢ ((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ ran 𝐹 ⊆ dom 𝐸) → (𝐸 ↾ ran 𝐹):ran 𝐹–1-1→ran 𝐸) |
21 | 19, 3, 20 | syl2anc 586 |
. . . . . 6
⊢ (((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → (𝐸 ↾ ran 𝐹):ran 𝐹–1-1→ran 𝐸) |
22 | | hashf1rn 13712 |
. . . . . 6
⊢ ((ran
𝐹 ∈ V ∧ (𝐸 ↾ ran 𝐹):ran 𝐹–1-1→ran 𝐸) → (♯‘(𝐸 ↾ ran 𝐹)) = (♯‘ran (𝐸 ↾ ran 𝐹))) |
23 | 18, 21, 22 | syl2an2 684 |
. . . . 5
⊢ (((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → (♯‘(𝐸 ↾ ran 𝐹)) = (♯‘ran (𝐸 ↾ ran 𝐹))) |
24 | 13, 23 | eqtr3d 2858 |
. . . 4
⊢ (((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → (♯‘dom (𝐸 ↾ ran 𝐹)) = (♯‘ran (𝐸 ↾ ran 𝐹))) |
25 | | df-ima 5567 |
. . . . 5
⊢ (𝐸 “ ran 𝐹) = ran (𝐸 ↾ ran 𝐹) |
26 | 25 | fveq2i 6672 |
. . . 4
⊢
(♯‘(𝐸
“ ran 𝐹)) =
(♯‘ran (𝐸
↾ ran 𝐹)) |
27 | 24, 26 | syl6reqr 2875 |
. . 3
⊢ (((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → (♯‘(𝐸 “ ran 𝐹)) = (♯‘dom (𝐸 ↾ ran 𝐹))) |
28 | | hashf1rn 13712 |
. . . . 5
⊢
(((0..^(♯‘𝐹)) ∈ V ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → (♯‘𝐹) = (♯‘ran 𝐹)) |
29 | 14, 28 | mpan 688 |
. . . 4
⊢ (𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸 → (♯‘𝐹) = (♯‘ran 𝐹)) |
30 | 29 | adantl 484 |
. . 3
⊢ (((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → (♯‘𝐹) = (♯‘ran 𝐹)) |
31 | 6, 27, 30 | 3eqtr4d 2866 |
. 2
⊢ (((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) ∧ 𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸) → (♯‘(𝐸 “ ran 𝐹)) = (♯‘𝐹)) |
32 | 31 | ex 415 |
1
⊢ ((𝐸:dom 𝐸–1-1→ran 𝐸 ∧ 𝐸 ∈ 𝑉) → (𝐹:(0..^(♯‘𝐹))–1-1→dom 𝐸 → (♯‘(𝐸 “ ran 𝐹)) = (♯‘𝐹))) |