This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Calculate the predecessor of an integer under a finite set of integers. (Contributed by Scott Fenton, 8-Aug-2013) (Proof shortened by Mario Carneiro, 3-May-2015)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | predfz | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → Pred ( < , ( 𝑀 ... 𝑁 ) , 𝐾 ) = ( 𝑀 ... ( 𝐾 − 1 ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | elfzelz | ⊢ ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) → 𝑥 ∈ ℤ ) | |
| 2 | elfzelz | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 𝐾 ∈ ℤ ) | |
| 3 | zltlem1 | ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( 𝑥 < 𝐾 ↔ 𝑥 ≤ ( 𝐾 − 1 ) ) ) | |
| 4 | 1 2 3 | syl2anr | ⊢ ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝑥 < 𝐾 ↔ 𝑥 ≤ ( 𝐾 − 1 ) ) ) |
| 5 | elfzuz | ⊢ ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) → 𝑥 ∈ ( ℤ≥ ‘ 𝑀 ) ) | |
| 6 | peano2zm | ⊢ ( 𝐾 ∈ ℤ → ( 𝐾 − 1 ) ∈ ℤ ) | |
| 7 | 2 6 | syl | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( 𝐾 − 1 ) ∈ ℤ ) |
| 8 | elfz5 | ⊢ ( ( 𝑥 ∈ ( ℤ≥ ‘ 𝑀 ) ∧ ( 𝐾 − 1 ) ∈ ℤ ) → ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ↔ 𝑥 ≤ ( 𝐾 − 1 ) ) ) | |
| 9 | 5 7 8 | syl2anr | ⊢ ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ↔ 𝑥 ≤ ( 𝐾 − 1 ) ) ) |
| 10 | 4 9 | bitr4d | ⊢ ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝑥 < 𝐾 ↔ 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ) ) |
| 11 | 10 | pm5.32da | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 < 𝐾 ) ↔ ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ) ) ) |
| 12 | vex | ⊢ 𝑥 ∈ V | |
| 13 | 12 | elpred | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( 𝑥 ∈ Pred ( < , ( 𝑀 ... 𝑁 ) , 𝐾 ) ↔ ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 < 𝐾 ) ) ) |
| 14 | elfzuz3 | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 𝑁 ∈ ( ℤ≥ ‘ 𝐾 ) ) | |
| 15 | 2 | zcnd | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 𝐾 ∈ ℂ ) |
| 16 | ax-1cn | ⊢ 1 ∈ ℂ | |
| 17 | npcan | ⊢ ( ( 𝐾 ∈ ℂ ∧ 1 ∈ ℂ ) → ( ( 𝐾 − 1 ) + 1 ) = 𝐾 ) | |
| 18 | 15 16 17 | sylancl | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( ( 𝐾 − 1 ) + 1 ) = 𝐾 ) |
| 19 | 18 | fveq2d | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( ℤ≥ ‘ ( ( 𝐾 − 1 ) + 1 ) ) = ( ℤ≥ ‘ 𝐾 ) ) |
| 20 | 14 19 | eleqtrrd | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 𝑁 ∈ ( ℤ≥ ‘ ( ( 𝐾 − 1 ) + 1 ) ) ) |
| 21 | peano2uzr | ⊢ ( ( ( 𝐾 − 1 ) ∈ ℤ ∧ 𝑁 ∈ ( ℤ≥ ‘ ( ( 𝐾 − 1 ) + 1 ) ) ) → 𝑁 ∈ ( ℤ≥ ‘ ( 𝐾 − 1 ) ) ) | |
| 22 | 7 20 21 | syl2anc | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 𝑁 ∈ ( ℤ≥ ‘ ( 𝐾 − 1 ) ) ) |
| 23 | fzss2 | ⊢ ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝐾 − 1 ) ) → ( 𝑀 ... ( 𝐾 − 1 ) ) ⊆ ( 𝑀 ... 𝑁 ) ) | |
| 24 | 22 23 | syl | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( 𝑀 ... ( 𝐾 − 1 ) ) ⊆ ( 𝑀 ... 𝑁 ) ) |
| 25 | 24 | sseld | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) → 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) ) |
| 26 | 25 | pm4.71rd | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ↔ ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ) ) ) |
| 27 | 11 13 26 | 3bitr4d | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( 𝑥 ∈ Pred ( < , ( 𝑀 ... 𝑁 ) , 𝐾 ) ↔ 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ) ) |
| 28 | 27 | eqrdv | ⊢ ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → Pred ( < , ( 𝑀 ... 𝑁 ) , 𝐾 ) = ( 𝑀 ... ( 𝐾 − 1 ) ) ) |