| Step | Hyp | Ref
| Expression |
| 1 | | f1eq2 6097 |
. . . . . . . . 9
⊢ (𝑥 = ∅ → (𝑓:𝑥–1-1→𝐵 ↔ 𝑓:∅–1-1→𝐵)) |
| 2 | | f1fn 6102 |
. . . . . . . . . . . 12
⊢ (𝑓:∅–1-1→𝐵 → 𝑓 Fn ∅) |
| 3 | | fn0 6011 |
. . . . . . . . . . . 12
⊢ (𝑓 Fn ∅ ↔ 𝑓 = ∅) |
| 4 | 2, 3 | sylib 208 |
. . . . . . . . . . 11
⊢ (𝑓:∅–1-1→𝐵 → 𝑓 = ∅) |
| 5 | | f10 6169 |
. . . . . . . . . . . 12
⊢
∅:∅–1-1→𝐵 |
| 6 | | f1eq1 6096 |
. . . . . . . . . . . 12
⊢ (𝑓 = ∅ → (𝑓:∅–1-1→𝐵 ↔ ∅:∅–1-1→𝐵)) |
| 7 | 5, 6 | mpbiri 248 |
. . . . . . . . . . 11
⊢ (𝑓 = ∅ → 𝑓:∅–1-1→𝐵) |
| 8 | 4, 7 | impbii 199 |
. . . . . . . . . 10
⊢ (𝑓:∅–1-1→𝐵 ↔ 𝑓 = ∅) |
| 9 | | velsn 4193 |
. . . . . . . . . 10
⊢ (𝑓 ∈ {∅} ↔ 𝑓 = ∅) |
| 10 | 8, 9 | bitr4i 267 |
. . . . . . . . 9
⊢ (𝑓:∅–1-1→𝐵 ↔ 𝑓 ∈ {∅}) |
| 11 | 1, 10 | syl6bb 276 |
. . . . . . . 8
⊢ (𝑥 = ∅ → (𝑓:𝑥–1-1→𝐵 ↔ 𝑓 ∈ {∅})) |
| 12 | 11 | abbi1dv 2743 |
. . . . . . 7
⊢ (𝑥 = ∅ → {𝑓 ∣ 𝑓:𝑥–1-1→𝐵} = {∅}) |
| 13 | 12 | fveq2d 6195 |
. . . . . 6
⊢ (𝑥 = ∅ →
(#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = (#‘{∅})) |
| 14 | | 0ex 4790 |
. . . . . . 7
⊢ ∅
∈ V |
| 15 | | hashsng 13159 |
. . . . . . 7
⊢ (∅
∈ V → (#‘{∅}) = 1) |
| 16 | 14, 15 | ax-mp 5 |
. . . . . 6
⊢
(#‘{∅}) = 1 |
| 17 | 13, 16 | syl6eq 2672 |
. . . . 5
⊢ (𝑥 = ∅ →
(#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = 1) |
| 18 | | fveq2 6191 |
. . . . . . . . 9
⊢ (𝑥 = ∅ → (#‘𝑥) =
(#‘∅)) |
| 19 | | hash0 13158 |
. . . . . . . . 9
⊢
(#‘∅) = 0 |
| 20 | 18, 19 | syl6eq 2672 |
. . . . . . . 8
⊢ (𝑥 = ∅ → (#‘𝑥) = 0) |
| 21 | 20 | fveq2d 6195 |
. . . . . . 7
⊢ (𝑥 = ∅ →
(!‘(#‘𝑥)) =
(!‘0)) |
| 22 | | fac0 13063 |
. . . . . . 7
⊢
(!‘0) = 1 |
| 23 | 21, 22 | syl6eq 2672 |
. . . . . 6
⊢ (𝑥 = ∅ →
(!‘(#‘𝑥)) =
1) |
| 24 | 20 | oveq2d 6666 |
. . . . . 6
⊢ (𝑥 = ∅ →
((#‘𝐵)C(#‘𝑥)) = ((#‘𝐵)C0)) |
| 25 | 23, 24 | oveq12d 6668 |
. . . . 5
⊢ (𝑥 = ∅ →
((!‘(#‘𝑥))
· ((#‘𝐵)C(#‘𝑥))) = (1 · ((#‘𝐵)C0))) |
| 26 | 17, 25 | eqeq12d 2637 |
. . . 4
⊢ (𝑥 = ∅ →
((#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = ((!‘(#‘𝑥)) · ((#‘𝐵)C(#‘𝑥))) ↔ 1 = (1 · ((#‘𝐵)C0)))) |
| 27 | 26 | imbi2d 330 |
. . 3
⊢ (𝑥 = ∅ → ((𝐵 ∈ Fin →
(#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = ((!‘(#‘𝑥)) · ((#‘𝐵)C(#‘𝑥)))) ↔ (𝐵 ∈ Fin → 1 = (1 ·
((#‘𝐵)C0))))) |
| 28 | | f1eq2 6097 |
. . . . . . 7
⊢ (𝑥 = 𝑦 → (𝑓:𝑥–1-1→𝐵 ↔ 𝑓:𝑦–1-1→𝐵)) |
| 29 | 28 | abbidv 2741 |
. . . . . 6
⊢ (𝑥 = 𝑦 → {𝑓 ∣ 𝑓:𝑥–1-1→𝐵} = {𝑓 ∣ 𝑓:𝑦–1-1→𝐵}) |
| 30 | 29 | fveq2d 6195 |
. . . . 5
⊢ (𝑥 = 𝑦 → (#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = (#‘{𝑓 ∣ 𝑓:𝑦–1-1→𝐵})) |
| 31 | | fveq2 6191 |
. . . . . . 7
⊢ (𝑥 = 𝑦 → (#‘𝑥) = (#‘𝑦)) |
| 32 | 31 | fveq2d 6195 |
. . . . . 6
⊢ (𝑥 = 𝑦 → (!‘(#‘𝑥)) = (!‘(#‘𝑦))) |
| 33 | 31 | oveq2d 6666 |
. . . . . 6
⊢ (𝑥 = 𝑦 → ((#‘𝐵)C(#‘𝑥)) = ((#‘𝐵)C(#‘𝑦))) |
| 34 | 32, 33 | oveq12d 6668 |
. . . . 5
⊢ (𝑥 = 𝑦 → ((!‘(#‘𝑥)) · ((#‘𝐵)C(#‘𝑥))) = ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦)))) |
| 35 | 30, 34 | eqeq12d 2637 |
. . . 4
⊢ (𝑥 = 𝑦 → ((#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = ((!‘(#‘𝑥)) · ((#‘𝐵)C(#‘𝑥))) ↔ (#‘{𝑓 ∣ 𝑓:𝑦–1-1→𝐵}) = ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦))))) |
| 36 | 35 | imbi2d 330 |
. . 3
⊢ (𝑥 = 𝑦 → ((𝐵 ∈ Fin → (#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = ((!‘(#‘𝑥)) · ((#‘𝐵)C(#‘𝑥)))) ↔ (𝐵 ∈ Fin → (#‘{𝑓 ∣ 𝑓:𝑦–1-1→𝐵}) = ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦)))))) |
| 37 | | f1eq2 6097 |
. . . . . . 7
⊢ (𝑥 = (𝑦 ∪ {𝑧}) → (𝑓:𝑥–1-1→𝐵 ↔ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵)) |
| 38 | 37 | abbidv 2741 |
. . . . . 6
⊢ (𝑥 = (𝑦 ∪ {𝑧}) → {𝑓 ∣ 𝑓:𝑥–1-1→𝐵} = {𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) |
| 39 | 38 | fveq2d 6195 |
. . . . 5
⊢ (𝑥 = (𝑦 ∪ {𝑧}) → (#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = (#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵})) |
| 40 | | fveq2 6191 |
. . . . . . 7
⊢ (𝑥 = (𝑦 ∪ {𝑧}) → (#‘𝑥) = (#‘(𝑦 ∪ {𝑧}))) |
| 41 | 40 | fveq2d 6195 |
. . . . . 6
⊢ (𝑥 = (𝑦 ∪ {𝑧}) → (!‘(#‘𝑥)) = (!‘(#‘(𝑦 ∪ {𝑧})))) |
| 42 | 40 | oveq2d 6666 |
. . . . . 6
⊢ (𝑥 = (𝑦 ∪ {𝑧}) → ((#‘𝐵)C(#‘𝑥)) = ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧})))) |
| 43 | 41, 42 | oveq12d 6668 |
. . . . 5
⊢ (𝑥 = (𝑦 ∪ {𝑧}) → ((!‘(#‘𝑥)) · ((#‘𝐵)C(#‘𝑥))) = ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧}))))) |
| 44 | 39, 43 | eqeq12d 2637 |
. . . 4
⊢ (𝑥 = (𝑦 ∪ {𝑧}) → ((#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = ((!‘(#‘𝑥)) · ((#‘𝐵)C(#‘𝑥))) ↔ (#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) = ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧})))))) |
| 45 | 44 | imbi2d 330 |
. . 3
⊢ (𝑥 = (𝑦 ∪ {𝑧}) → ((𝐵 ∈ Fin → (#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = ((!‘(#‘𝑥)) · ((#‘𝐵)C(#‘𝑥)))) ↔ (𝐵 ∈ Fin → (#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) = ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧}))))))) |
| 46 | | f1eq2 6097 |
. . . . . . 7
⊢ (𝑥 = 𝐴 → (𝑓:𝑥–1-1→𝐵 ↔ 𝑓:𝐴–1-1→𝐵)) |
| 47 | 46 | abbidv 2741 |
. . . . . 6
⊢ (𝑥 = 𝐴 → {𝑓 ∣ 𝑓:𝑥–1-1→𝐵} = {𝑓 ∣ 𝑓:𝐴–1-1→𝐵}) |
| 48 | 47 | fveq2d 6195 |
. . . . 5
⊢ (𝑥 = 𝐴 → (#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = (#‘{𝑓 ∣ 𝑓:𝐴–1-1→𝐵})) |
| 49 | | fveq2 6191 |
. . . . . . 7
⊢ (𝑥 = 𝐴 → (#‘𝑥) = (#‘𝐴)) |
| 50 | 49 | fveq2d 6195 |
. . . . . 6
⊢ (𝑥 = 𝐴 → (!‘(#‘𝑥)) = (!‘(#‘𝐴))) |
| 51 | 49 | oveq2d 6666 |
. . . . . 6
⊢ (𝑥 = 𝐴 → ((#‘𝐵)C(#‘𝑥)) = ((#‘𝐵)C(#‘𝐴))) |
| 52 | 50, 51 | oveq12d 6668 |
. . . . 5
⊢ (𝑥 = 𝐴 → ((!‘(#‘𝑥)) · ((#‘𝐵)C(#‘𝑥))) = ((!‘(#‘𝐴)) · ((#‘𝐵)C(#‘𝐴)))) |
| 53 | 48, 52 | eqeq12d 2637 |
. . . 4
⊢ (𝑥 = 𝐴 → ((#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = ((!‘(#‘𝑥)) · ((#‘𝐵)C(#‘𝑥))) ↔ (#‘{𝑓 ∣ 𝑓:𝐴–1-1→𝐵}) = ((!‘(#‘𝐴)) · ((#‘𝐵)C(#‘𝐴))))) |
| 54 | 53 | imbi2d 330 |
. . 3
⊢ (𝑥 = 𝐴 → ((𝐵 ∈ Fin → (#‘{𝑓 ∣ 𝑓:𝑥–1-1→𝐵}) = ((!‘(#‘𝑥)) · ((#‘𝐵)C(#‘𝑥)))) ↔ (𝐵 ∈ Fin → (#‘{𝑓 ∣ 𝑓:𝐴–1-1→𝐵}) = ((!‘(#‘𝐴)) · ((#‘𝐵)C(#‘𝐴)))))) |
| 55 | | hashcl 13147 |
. . . . . 6
⊢ (𝐵 ∈ Fin →
(#‘𝐵) ∈
ℕ0) |
| 56 | | bcn0 13097 |
. . . . . 6
⊢
((#‘𝐵) ∈
ℕ0 → ((#‘𝐵)C0) = 1) |
| 57 | 55, 56 | syl 17 |
. . . . 5
⊢ (𝐵 ∈ Fin →
((#‘𝐵)C0) =
1) |
| 58 | 57 | oveq2d 6666 |
. . . 4
⊢ (𝐵 ∈ Fin → (1 ·
((#‘𝐵)C0)) = (1
· 1)) |
| 59 | | 1t1e1 11175 |
. . . 4
⊢ (1
· 1) = 1 |
| 60 | 58, 59 | syl6req 2673 |
. . 3
⊢ (𝐵 ∈ Fin → 1 = (1
· ((#‘𝐵)C0))) |
| 61 | | abn0 3954 |
. . . . . . . . . . . . 13
⊢ ({𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵} ≠ ∅ ↔ ∃𝑓 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵) |
| 62 | | f1domg 7975 |
. . . . . . . . . . . . . . . 16
⊢ (𝐵 ∈ Fin → (𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵 → (𝑦 ∪ {𝑧}) ≼ 𝐵)) |
| 63 | 62 | adantr 481 |
. . . . . . . . . . . . . . 15
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵 → (𝑦 ∪ {𝑧}) ≼ 𝐵)) |
| 64 | | vex 3203 |
. . . . . . . . . . . . . . . . . . 19
⊢ 𝑧 ∈ V |
| 65 | | hashunsng 13181 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑧 ∈ V → ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → (#‘(𝑦 ∪ {𝑧})) = ((#‘𝑦) + 1))) |
| 66 | 64, 65 | ax-mp 5 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → (#‘(𝑦 ∪ {𝑧})) = ((#‘𝑦) + 1)) |
| 67 | 66 | adantl 482 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (#‘(𝑦 ∪ {𝑧})) = ((#‘𝑦) + 1)) |
| 68 | 67 | breq1d 4663 |
. . . . . . . . . . . . . . . 16
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((#‘(𝑦 ∪ {𝑧})) ≤ (#‘𝐵) ↔ ((#‘𝑦) + 1) ≤ (#‘𝐵))) |
| 69 | | simprl 794 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝑦 ∈ Fin) |
| 70 | | snfi 8038 |
. . . . . . . . . . . . . . . . . 18
⊢ {𝑧} ∈ Fin |
| 71 | | unfi 8227 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝑦 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝑦 ∪ {𝑧}) ∈ Fin) |
| 72 | 69, 70, 71 | sylancl 694 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝑦 ∪ {𝑧}) ∈ Fin) |
| 73 | | simpl 473 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝐵 ∈ Fin) |
| 74 | | hashdom 13168 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝑦 ∪ {𝑧}) ∈ Fin ∧ 𝐵 ∈ Fin) → ((#‘(𝑦 ∪ {𝑧})) ≤ (#‘𝐵) ↔ (𝑦 ∪ {𝑧}) ≼ 𝐵)) |
| 75 | 72, 73, 74 | syl2anc 693 |
. . . . . . . . . . . . . . . 16
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((#‘(𝑦 ∪ {𝑧})) ≤ (#‘𝐵) ↔ (𝑦 ∪ {𝑧}) ≼ 𝐵)) |
| 76 | | hashcl 13147 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝑦 ∈ Fin →
(#‘𝑦) ∈
ℕ0) |
| 77 | 76 | ad2antrl 764 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (#‘𝑦) ∈
ℕ0) |
| 78 | | nn0p1nn 11332 |
. . . . . . . . . . . . . . . . . . 19
⊢
((#‘𝑦) ∈
ℕ0 → ((#‘𝑦) + 1) ∈ ℕ) |
| 79 | 77, 78 | syl 17 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((#‘𝑦) + 1) ∈ ℕ) |
| 80 | 79 | nnred 11035 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((#‘𝑦) + 1) ∈ ℝ) |
| 81 | 55 | adantr 481 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (#‘𝐵) ∈
ℕ0) |
| 82 | 81 | nn0red 11352 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (#‘𝐵) ∈ ℝ) |
| 83 | 80, 82 | lenltd 10183 |
. . . . . . . . . . . . . . . 16
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (((#‘𝑦) + 1) ≤ (#‘𝐵) ↔ ¬ (#‘𝐵) < ((#‘𝑦) + 1))) |
| 84 | 68, 75, 83 | 3bitr3d 298 |
. . . . . . . . . . . . . . 15
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((𝑦 ∪ {𝑧}) ≼ 𝐵 ↔ ¬ (#‘𝐵) < ((#‘𝑦) + 1))) |
| 85 | 63, 84 | sylibd 229 |
. . . . . . . . . . . . . 14
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵 → ¬ (#‘𝐵) < ((#‘𝑦) + 1))) |
| 86 | 85 | exlimdv 1861 |
. . . . . . . . . . . . 13
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (∃𝑓 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵 → ¬ (#‘𝐵) < ((#‘𝑦) + 1))) |
| 87 | 61, 86 | syl5bi 232 |
. . . . . . . . . . . 12
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ({𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵} ≠ ∅ → ¬ (#‘𝐵) < ((#‘𝑦) + 1))) |
| 88 | 87 | necon4ad 2813 |
. . . . . . . . . . 11
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((#‘𝐵) < ((#‘𝑦) + 1) → {𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵} = ∅)) |
| 89 | 88 | imp 445 |
. . . . . . . . . 10
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → {𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵} = ∅) |
| 90 | 89 | fveq2d 6195 |
. . . . . . . . 9
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → (#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) = (#‘∅)) |
| 91 | | hashcl 13147 |
. . . . . . . . . . . . . 14
⊢ ((𝑦 ∪ {𝑧}) ∈ Fin → (#‘(𝑦 ∪ {𝑧})) ∈
ℕ0) |
| 92 | 72, 91 | syl 17 |
. . . . . . . . . . . . 13
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (#‘(𝑦 ∪ {𝑧})) ∈
ℕ0) |
| 93 | | faccl 13070 |
. . . . . . . . . . . . 13
⊢
((#‘(𝑦 ∪
{𝑧})) ∈
ℕ0 → (!‘(#‘(𝑦 ∪ {𝑧}))) ∈ ℕ) |
| 94 | 92, 93 | syl 17 |
. . . . . . . . . . . 12
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (!‘(#‘(𝑦 ∪ {𝑧}))) ∈ ℕ) |
| 95 | 94 | nncnd 11036 |
. . . . . . . . . . 11
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (!‘(#‘(𝑦 ∪ {𝑧}))) ∈ ℂ) |
| 96 | 95 | adantr 481 |
. . . . . . . . . 10
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → (!‘(#‘(𝑦 ∪ {𝑧}))) ∈ ℂ) |
| 97 | 96 | mul01d 10235 |
. . . . . . . . 9
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → ((!‘(#‘(𝑦 ∪ {𝑧}))) · 0) = 0) |
| 98 | 19, 90, 97 | 3eqtr4a 2682 |
. . . . . . . 8
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → (#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) = ((!‘(#‘(𝑦 ∪ {𝑧}))) · 0)) |
| 99 | 67 | adantr 481 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → (#‘(𝑦 ∪ {𝑧})) = ((#‘𝑦) + 1)) |
| 100 | 99 | oveq2d 6666 |
. . . . . . . . . 10
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧}))) = ((#‘𝐵)C((#‘𝑦) + 1))) |
| 101 | 81 | adantr 481 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → (#‘𝐵) ∈
ℕ0) |
| 102 | 79 | adantr 481 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → ((#‘𝑦) + 1) ∈ ℕ) |
| 103 | 102 | nnzd 11481 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → ((#‘𝑦) + 1) ∈ ℤ) |
| 104 | | simpr 477 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → (#‘𝐵) < ((#‘𝑦) + 1)) |
| 105 | 104 | olcd 408 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → (((#‘𝑦) + 1) < 0 ∨ (#‘𝐵) < ((#‘𝑦) + 1))) |
| 106 | | bcval4 13094 |
. . . . . . . . . . 11
⊢
(((#‘𝐵) ∈
ℕ0 ∧ ((#‘𝑦) + 1) ∈ ℤ ∧ (((#‘𝑦) + 1) < 0 ∨
(#‘𝐵) <
((#‘𝑦) + 1))) →
((#‘𝐵)C((#‘𝑦) + 1)) = 0) |
| 107 | 101, 103,
105, 106 | syl3anc 1326 |
. . . . . . . . . 10
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → ((#‘𝐵)C((#‘𝑦) + 1)) = 0) |
| 108 | 100, 107 | eqtrd 2656 |
. . . . . . . . 9
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧}))) = 0) |
| 109 | 108 | oveq2d 6666 |
. . . . . . . 8
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧})))) = ((!‘(#‘(𝑦 ∪ {𝑧}))) · 0)) |
| 110 | 98, 109 | eqtr4d 2659 |
. . . . . . 7
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → (#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) = ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧}))))) |
| 111 | 110 | a1d 25 |
. . . . . 6
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ (#‘𝐵) < ((#‘𝑦) + 1)) → ((#‘{𝑓 ∣ 𝑓:𝑦–1-1→𝐵}) = ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦))) → (#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) = ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧})))))) |
| 112 | | oveq2 6658 |
. . . . . . 7
⊢
((#‘{𝑓 ∣
𝑓:𝑦–1-1→𝐵}) = ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦))) → (((#‘𝐵) − (#‘𝑦)) · (#‘{𝑓 ∣ 𝑓:𝑦–1-1→𝐵})) = (((#‘𝐵) − (#‘𝑦)) · ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦))))) |
| 113 | 69 | adantr 481 |
. . . . . . . . 9
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → 𝑦 ∈ Fin) |
| 114 | 73 | adantr 481 |
. . . . . . . . 9
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → 𝐵 ∈ Fin) |
| 115 | | simplrr 801 |
. . . . . . . . 9
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ¬ 𝑧 ∈ 𝑦) |
| 116 | | simpr 477 |
. . . . . . . . 9
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝑦) + 1) ≤ (#‘𝐵)) |
| 117 | 113, 114,
115, 116 | hashf1lem2 13240 |
. . . . . . . 8
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) = (((#‘𝐵) − (#‘𝑦)) · (#‘{𝑓 ∣ 𝑓:𝑦–1-1→𝐵}))) |
| 118 | 81 | adantr 481 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (#‘𝐵) ∈
ℕ0) |
| 119 | | faccl 13070 |
. . . . . . . . . . . . . 14
⊢
((#‘𝐵) ∈
ℕ0 → (!‘(#‘𝐵)) ∈ ℕ) |
| 120 | 118, 119 | syl 17 |
. . . . . . . . . . . . 13
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘(#‘𝐵)) ∈
ℕ) |
| 121 | 120 | nncnd 11036 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘(#‘𝐵)) ∈
ℂ) |
| 122 | 77 | adantr 481 |
. . . . . . . . . . . . . . . 16
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (#‘𝑦) ∈
ℕ0) |
| 123 | | peano2nn0 11333 |
. . . . . . . . . . . . . . . 16
⊢
((#‘𝑦) ∈
ℕ0 → ((#‘𝑦) + 1) ∈
ℕ0) |
| 124 | 122, 123 | syl 17 |
. . . . . . . . . . . . . . 15
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝑦) + 1) ∈
ℕ0) |
| 125 | | nn0sub2 11438 |
. . . . . . . . . . . . . . 15
⊢
((((#‘𝑦) + 1)
∈ ℕ0 ∧ (#‘𝐵) ∈ ℕ0 ∧
((#‘𝑦) + 1) ≤
(#‘𝐵)) →
((#‘𝐵) −
((#‘𝑦) + 1)) ∈
ℕ0) |
| 126 | 124, 118,
116, 125 | syl3anc 1326 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝐵) − ((#‘𝑦) + 1)) ∈
ℕ0) |
| 127 | | faccl 13070 |
. . . . . . . . . . . . . 14
⊢
(((#‘𝐵)
− ((#‘𝑦) + 1))
∈ ℕ0 → (!‘((#‘𝐵) − ((#‘𝑦) + 1))) ∈ ℕ) |
| 128 | 126, 127 | syl 17 |
. . . . . . . . . . . . 13
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘((#‘𝐵) − ((#‘𝑦) + 1))) ∈
ℕ) |
| 129 | 128 | nncnd 11036 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘((#‘𝐵) − ((#‘𝑦) + 1))) ∈
ℂ) |
| 130 | 128 | nnne0d 11065 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘((#‘𝐵) − ((#‘𝑦) + 1))) ≠
0) |
| 131 | 121, 129,
130 | divcld 10801 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((!‘(#‘𝐵)) / (!‘((#‘𝐵) − ((#‘𝑦) + 1)))) ∈
ℂ) |
| 132 | | faccl 13070 |
. . . . . . . . . . . . 13
⊢
(((#‘𝑦) + 1)
∈ ℕ0 → (!‘((#‘𝑦) + 1)) ∈ ℕ) |
| 133 | 124, 132 | syl 17 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘((#‘𝑦) + 1)) ∈
ℕ) |
| 134 | 133 | nncnd 11036 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘((#‘𝑦) + 1)) ∈
ℂ) |
| 135 | 133 | nnne0d 11065 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘((#‘𝑦) + 1)) ≠ 0) |
| 136 | 131, 134,
135 | divcan2d 10803 |
. . . . . . . . . 10
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((!‘((#‘𝑦) + 1)) ·
(((!‘(#‘𝐵)) /
(!‘((#‘𝐵)
− ((#‘𝑦) +
1)))) / (!‘((#‘𝑦) + 1)))) = ((!‘(#‘𝐵)) / (!‘((#‘𝐵) − ((#‘𝑦) + 1))))) |
| 137 | 118 | nn0cnd 11353 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (#‘𝐵) ∈ ℂ) |
| 138 | 122 | nn0cnd 11353 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (#‘𝑦) ∈ ℂ) |
| 139 | 137, 138 | subcld 10392 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝐵) − (#‘𝑦)) ∈ ℂ) |
| 140 | | ax-1cn 9994 |
. . . . . . . . . . . . . 14
⊢ 1 ∈
ℂ |
| 141 | | npcan 10290 |
. . . . . . . . . . . . . 14
⊢
((((#‘𝐵)
− (#‘𝑦)) ∈
ℂ ∧ 1 ∈ ℂ) → ((((#‘𝐵) − (#‘𝑦)) − 1) + 1) = ((#‘𝐵) − (#‘𝑦))) |
| 142 | 139, 140,
141 | sylancl 694 |
. . . . . . . . . . . . 13
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((((#‘𝐵) − (#‘𝑦)) − 1) + 1) = ((#‘𝐵) − (#‘𝑦))) |
| 143 | | 1cnd 10056 |
. . . . . . . . . . . . . . . 16
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → 1 ∈ ℂ) |
| 144 | 137, 138,
143 | subsub4d 10423 |
. . . . . . . . . . . . . . 15
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (((#‘𝐵) − (#‘𝑦)) − 1) = ((#‘𝐵) − ((#‘𝑦) + 1))) |
| 145 | 144, 126 | eqeltrd 2701 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (((#‘𝐵) − (#‘𝑦)) − 1) ∈
ℕ0) |
| 146 | | nn0p1nn 11332 |
. . . . . . . . . . . . . 14
⊢
((((#‘𝐵)
− (#‘𝑦))
− 1) ∈ ℕ0 → ((((#‘𝐵) − (#‘𝑦)) − 1) + 1) ∈
ℕ) |
| 147 | 145, 146 | syl 17 |
. . . . . . . . . . . . 13
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((((#‘𝐵) − (#‘𝑦)) − 1) + 1) ∈
ℕ) |
| 148 | 142, 147 | eqeltrrd 2702 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝐵) − (#‘𝑦)) ∈ ℕ) |
| 149 | 148 | nnne0d 11065 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝐵) − (#‘𝑦)) ≠ 0) |
| 150 | 131, 139,
149 | divcan2d 10803 |
. . . . . . . . . 10
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (((#‘𝐵) − (#‘𝑦)) · (((!‘(#‘𝐵)) / (!‘((#‘𝐵) − ((#‘𝑦) + 1)))) / ((#‘𝐵) − (#‘𝑦)))) = ((!‘(#‘𝐵)) / (!‘((#‘𝐵) − ((#‘𝑦) + 1))))) |
| 151 | 136, 150 | eqtr4d 2659 |
. . . . . . . . 9
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((!‘((#‘𝑦) + 1)) ·
(((!‘(#‘𝐵)) /
(!‘((#‘𝐵)
− ((#‘𝑦) +
1)))) / (!‘((#‘𝑦) + 1)))) = (((#‘𝐵) − (#‘𝑦)) · (((!‘(#‘𝐵)) / (!‘((#‘𝐵) − ((#‘𝑦) + 1)))) / ((#‘𝐵) − (#‘𝑦))))) |
| 152 | 67 | adantr 481 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (#‘(𝑦 ∪ {𝑧})) = ((#‘𝑦) + 1)) |
| 153 | 152 | fveq2d 6195 |
. . . . . . . . . 10
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘(#‘(𝑦 ∪ {𝑧}))) = (!‘((#‘𝑦) + 1))) |
| 154 | | nn0uz 11722 |
. . . . . . . . . . . . . . 15
⊢
ℕ0 = (ℤ≥‘0) |
| 155 | 124, 154 | syl6eleq 2711 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝑦) + 1) ∈
(ℤ≥‘0)) |
| 156 | 118 | nn0zd 11480 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (#‘𝐵) ∈ ℤ) |
| 157 | | elfz5 12334 |
. . . . . . . . . . . . . 14
⊢
((((#‘𝑦) + 1)
∈ (ℤ≥‘0) ∧ (#‘𝐵) ∈ ℤ) → (((#‘𝑦) + 1) ∈
(0...(#‘𝐵)) ↔
((#‘𝑦) + 1) ≤
(#‘𝐵))) |
| 158 | 155, 156,
157 | syl2anc 693 |
. . . . . . . . . . . . 13
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (((#‘𝑦) + 1) ∈ (0...(#‘𝐵)) ↔ ((#‘𝑦) + 1) ≤ (#‘𝐵))) |
| 159 | 116, 158 | mpbird 247 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝑦) + 1) ∈ (0...(#‘𝐵))) |
| 160 | | bcval2 13092 |
. . . . . . . . . . . 12
⊢
(((#‘𝑦) + 1)
∈ (0...(#‘𝐵))
→ ((#‘𝐵)C((#‘𝑦) + 1)) = ((!‘(#‘𝐵)) / ((!‘((#‘𝐵) − ((#‘𝑦) + 1))) ·
(!‘((#‘𝑦) +
1))))) |
| 161 | 159, 160 | syl 17 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝐵)C((#‘𝑦) + 1)) = ((!‘(#‘𝐵)) / ((!‘((#‘𝐵) − ((#‘𝑦) + 1))) ·
(!‘((#‘𝑦) +
1))))) |
| 162 | 152 | oveq2d 6666 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧}))) = ((#‘𝐵)C((#‘𝑦) + 1))) |
| 163 | 121, 129,
134, 130, 135 | divdiv1d 10832 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (((!‘(#‘𝐵)) / (!‘((#‘𝐵) − ((#‘𝑦) + 1)))) /
(!‘((#‘𝑦) +
1))) = ((!‘(#‘𝐵)) / ((!‘((#‘𝐵) − ((#‘𝑦) + 1))) · (!‘((#‘𝑦) + 1))))) |
| 164 | 161, 162,
163 | 3eqtr4d 2666 |
. . . . . . . . . 10
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧}))) = (((!‘(#‘𝐵)) / (!‘((#‘𝐵) − ((#‘𝑦) + 1)))) / (!‘((#‘𝑦) + 1)))) |
| 165 | 153, 164 | oveq12d 6668 |
. . . . . . . . 9
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧})))) = ((!‘((#‘𝑦) + 1)) ·
(((!‘(#‘𝐵)) /
(!‘((#‘𝐵)
− ((#‘𝑦) +
1)))) / (!‘((#‘𝑦) + 1))))) |
| 166 | 122, 154 | syl6eleq 2711 |
. . . . . . . . . . . . . . 15
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (#‘𝑦) ∈
(ℤ≥‘0)) |
| 167 | | peano2fzr 12354 |
. . . . . . . . . . . . . . 15
⊢
(((#‘𝑦) ∈
(ℤ≥‘0) ∧ ((#‘𝑦) + 1) ∈ (0...(#‘𝐵))) → (#‘𝑦) ∈ (0...(#‘𝐵))) |
| 168 | 166, 159,
167 | syl2anc 693 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (#‘𝑦) ∈ (0...(#‘𝐵))) |
| 169 | | bcval2 13092 |
. . . . . . . . . . . . . 14
⊢
((#‘𝑦) ∈
(0...(#‘𝐵)) →
((#‘𝐵)C(#‘𝑦)) = ((!‘(#‘𝐵)) / ((!‘((#‘𝐵) − (#‘𝑦))) ·
(!‘(#‘𝑦))))) |
| 170 | 168, 169 | syl 17 |
. . . . . . . . . . . . 13
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝐵)C(#‘𝑦)) = ((!‘(#‘𝐵)) / ((!‘((#‘𝐵) − (#‘𝑦))) · (!‘(#‘𝑦))))) |
| 171 | | elfzle2 12345 |
. . . . . . . . . . . . . . . . . 18
⊢
((#‘𝑦) ∈
(0...(#‘𝐵)) →
(#‘𝑦) ≤
(#‘𝐵)) |
| 172 | 168, 171 | syl 17 |
. . . . . . . . . . . . . . . . 17
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (#‘𝑦) ≤ (#‘𝐵)) |
| 173 | | nn0sub2 11438 |
. . . . . . . . . . . . . . . . 17
⊢
(((#‘𝑦) ∈
ℕ0 ∧ (#‘𝐵) ∈ ℕ0 ∧
(#‘𝑦) ≤
(#‘𝐵)) →
((#‘𝐵) −
(#‘𝑦)) ∈
ℕ0) |
| 174 | 122, 118,
172, 173 | syl3anc 1326 |
. . . . . . . . . . . . . . . 16
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝐵) − (#‘𝑦)) ∈
ℕ0) |
| 175 | | faccl 13070 |
. . . . . . . . . . . . . . . 16
⊢
(((#‘𝐵)
− (#‘𝑦)) ∈
ℕ0 → (!‘((#‘𝐵) − (#‘𝑦))) ∈ ℕ) |
| 176 | 174, 175 | syl 17 |
. . . . . . . . . . . . . . 15
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘((#‘𝐵) − (#‘𝑦))) ∈
ℕ) |
| 177 | 176 | nncnd 11036 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘((#‘𝐵) − (#‘𝑦))) ∈
ℂ) |
| 178 | | faccl 13070 |
. . . . . . . . . . . . . . . 16
⊢
((#‘𝑦) ∈
ℕ0 → (!‘(#‘𝑦)) ∈ ℕ) |
| 179 | 122, 178 | syl 17 |
. . . . . . . . . . . . . . 15
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘(#‘𝑦)) ∈
ℕ) |
| 180 | 179 | nncnd 11036 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘(#‘𝑦)) ∈
ℂ) |
| 181 | 176 | nnne0d 11065 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘((#‘𝐵) − (#‘𝑦))) ≠ 0) |
| 182 | 179 | nnne0d 11065 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘(#‘𝑦)) ≠ 0) |
| 183 | 121, 177,
180, 181, 182 | divdiv1d 10832 |
. . . . . . . . . . . . 13
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (((!‘(#‘𝐵)) / (!‘((#‘𝐵) − (#‘𝑦)))) / (!‘(#‘𝑦))) = ((!‘(#‘𝐵)) / ((!‘((#‘𝐵) − (#‘𝑦))) ·
(!‘(#‘𝑦))))) |
| 184 | 170, 183 | eqtr4d 2659 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘𝐵)C(#‘𝑦)) = (((!‘(#‘𝐵)) / (!‘((#‘𝐵) − (#‘𝑦)))) / (!‘(#‘𝑦)))) |
| 185 | 184 | oveq2d 6666 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦))) = ((!‘(#‘𝑦)) · (((!‘(#‘𝐵)) / (!‘((#‘𝐵) − (#‘𝑦)))) / (!‘(#‘𝑦))))) |
| 186 | | facnn2 13069 |
. . . . . . . . . . . . . . 15
⊢
(((#‘𝐵)
− (#‘𝑦)) ∈
ℕ → (!‘((#‘𝐵) − (#‘𝑦))) = ((!‘(((#‘𝐵) − (#‘𝑦)) − 1)) · ((#‘𝐵) − (#‘𝑦)))) |
| 187 | 148, 186 | syl 17 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘((#‘𝐵) − (#‘𝑦))) = ((!‘(((#‘𝐵) − (#‘𝑦)) − 1)) ·
((#‘𝐵) −
(#‘𝑦)))) |
| 188 | 144 | fveq2d 6195 |
. . . . . . . . . . . . . . 15
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘(((#‘𝐵) − (#‘𝑦)) − 1)) =
(!‘((#‘𝐵)
− ((#‘𝑦) +
1)))) |
| 189 | 188 | oveq1d 6665 |
. . . . . . . . . . . . . 14
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((!‘(((#‘𝐵) − (#‘𝑦)) − 1)) ·
((#‘𝐵) −
(#‘𝑦))) =
((!‘((#‘𝐵)
− ((#‘𝑦) + 1)))
· ((#‘𝐵)
− (#‘𝑦)))) |
| 190 | 187, 189 | eqtrd 2656 |
. . . . . . . . . . . . 13
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (!‘((#‘𝐵) − (#‘𝑦))) = ((!‘((#‘𝐵) − ((#‘𝑦) + 1))) ·
((#‘𝐵) −
(#‘𝑦)))) |
| 191 | 190 | oveq2d 6666 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((!‘(#‘𝐵)) / (!‘((#‘𝐵) − (#‘𝑦)))) = ((!‘(#‘𝐵)) / ((!‘((#‘𝐵) − ((#‘𝑦) + 1))) ·
((#‘𝐵) −
(#‘𝑦))))) |
| 192 | 121, 177,
181 | divcld 10801 |
. . . . . . . . . . . . 13
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((!‘(#‘𝐵)) / (!‘((#‘𝐵) − (#‘𝑦)))) ∈
ℂ) |
| 193 | 192, 180,
182 | divcan2d 10803 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((!‘(#‘𝑦)) ·
(((!‘(#‘𝐵)) /
(!‘((#‘𝐵)
− (#‘𝑦)))) /
(!‘(#‘𝑦)))) =
((!‘(#‘𝐵)) /
(!‘((#‘𝐵)
− (#‘𝑦))))) |
| 194 | 121, 129,
139, 130, 149 | divdiv1d 10832 |
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (((!‘(#‘𝐵)) / (!‘((#‘𝐵) − ((#‘𝑦) + 1)))) / ((#‘𝐵) − (#‘𝑦))) = ((!‘(#‘𝐵)) / ((!‘((#‘𝐵) − ((#‘𝑦) + 1))) ·
((#‘𝐵) −
(#‘𝑦))))) |
| 195 | 191, 193,
194 | 3eqtr4d 2666 |
. . . . . . . . . . 11
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((!‘(#‘𝑦)) ·
(((!‘(#‘𝐵)) /
(!‘((#‘𝐵)
− (#‘𝑦)))) /
(!‘(#‘𝑦)))) =
(((!‘(#‘𝐵)) /
(!‘((#‘𝐵)
− ((#‘𝑦) +
1)))) / ((#‘𝐵)
− (#‘𝑦)))) |
| 196 | 185, 195 | eqtrd 2656 |
. . . . . . . . . 10
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦))) = (((!‘(#‘𝐵)) / (!‘((#‘𝐵) − ((#‘𝑦) + 1)))) / ((#‘𝐵) − (#‘𝑦)))) |
| 197 | 196 | oveq2d 6666 |
. . . . . . . . 9
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → (((#‘𝐵) − (#‘𝑦)) · ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦)))) = (((#‘𝐵) − (#‘𝑦)) · (((!‘(#‘𝐵)) / (!‘((#‘𝐵) − ((#‘𝑦) + 1)))) / ((#‘𝐵) − (#‘𝑦))))) |
| 198 | 151, 165,
197 | 3eqtr4d 2666 |
. . . . . . . 8
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧})))) = (((#‘𝐵) − (#‘𝑦)) · ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦))))) |
| 199 | 117, 198 | eqeq12d 2637 |
. . . . . . 7
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) = ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧})))) ↔ (((#‘𝐵) − (#‘𝑦)) · (#‘{𝑓 ∣ 𝑓:𝑦–1-1→𝐵})) = (((#‘𝐵) − (#‘𝑦)) · ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦)))))) |
| 200 | 112, 199 | syl5ibr 236 |
. . . . . 6
⊢ (((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) ∧ ((#‘𝑦) + 1) ≤ (#‘𝐵)) → ((#‘{𝑓 ∣ 𝑓:𝑦–1-1→𝐵}) = ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦))) → (#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) = ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧})))))) |
| 201 | 111, 200,
82, 80 | ltlecasei 10145 |
. . . . 5
⊢ ((𝐵 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((#‘{𝑓 ∣ 𝑓:𝑦–1-1→𝐵}) = ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦))) → (#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) = ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧})))))) |
| 202 | 201 | expcom 451 |
. . . 4
⊢ ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → (𝐵 ∈ Fin → ((#‘{𝑓 ∣ 𝑓:𝑦–1-1→𝐵}) = ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦))) → (#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) = ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧}))))))) |
| 203 | 202 | a2d 29 |
. . 3
⊢ ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → ((𝐵 ∈ Fin → (#‘{𝑓 ∣ 𝑓:𝑦–1-1→𝐵}) = ((!‘(#‘𝑦)) · ((#‘𝐵)C(#‘𝑦)))) → (𝐵 ∈ Fin → (#‘{𝑓 ∣ 𝑓:(𝑦 ∪ {𝑧})–1-1→𝐵}) = ((!‘(#‘(𝑦 ∪ {𝑧}))) · ((#‘𝐵)C(#‘(𝑦 ∪ {𝑧}))))))) |
| 204 | 27, 36, 45, 54, 60, 203 | findcard2s 8201 |
. 2
⊢ (𝐴 ∈ Fin → (𝐵 ∈ Fin →
(#‘{𝑓 ∣ 𝑓:𝐴–1-1→𝐵}) = ((!‘(#‘𝐴)) · ((#‘𝐵)C(#‘𝐴))))) |
| 205 | 204 | imp 445 |
1
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(#‘{𝑓 ∣ 𝑓:𝐴–1-1→𝐵}) = ((!‘(#‘𝐴)) · ((#‘𝐵)C(#‘𝐴)))) |