This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Remove a successor from the end of a finite set of sequential integers. Similar to fzdifsuc , but with a weaker condition. (Contributed by Glauco Siliprandi, 5-Apr-2020)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | fzdifsuc2 | ⊢ ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝑁 + 1 ) ) ∖ { ( 𝑁 + 1 ) } ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | simpr | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → 𝑁 = ( 𝑀 − 1 ) ) | |
| 2 | zre | ⊢ ( 𝑀 ∈ ℤ → 𝑀 ∈ ℝ ) | |
| 3 | 2 | ad2antlr | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → 𝑀 ∈ ℝ ) |
| 4 | 3 | ltm1d | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑀 − 1 ) < 𝑀 ) |
| 5 | 1 4 | eqbrtrd | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → 𝑁 < 𝑀 ) |
| 6 | simplr | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → 𝑀 ∈ ℤ ) | |
| 7 | eluzelz | ⊢ ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) → 𝑁 ∈ ℤ ) | |
| 8 | 7 | ad2antrr | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → 𝑁 ∈ ℤ ) |
| 9 | fzn | ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝑁 < 𝑀 ↔ ( 𝑀 ... 𝑁 ) = ∅ ) ) | |
| 10 | 6 8 9 | syl2anc | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑁 < 𝑀 ↔ ( 𝑀 ... 𝑁 ) = ∅ ) ) |
| 11 | 5 10 | mpbid | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑀 ... 𝑁 ) = ∅ ) |
| 12 | difid | ⊢ ( { 𝑀 } ∖ { 𝑀 } ) = ∅ | |
| 13 | 12 | a1i | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → ( { 𝑀 } ∖ { 𝑀 } ) = ∅ ) |
| 14 | 13 | eqcomd | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → ∅ = ( { 𝑀 } ∖ { 𝑀 } ) ) |
| 15 | oveq1 | ⊢ ( 𝑁 = ( 𝑀 − 1 ) → ( 𝑁 + 1 ) = ( ( 𝑀 − 1 ) + 1 ) ) | |
| 16 | 15 | adantl | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑁 + 1 ) = ( ( 𝑀 − 1 ) + 1 ) ) |
| 17 | 2 | recnd | ⊢ ( 𝑀 ∈ ℤ → 𝑀 ∈ ℂ ) |
| 18 | 17 | ad2antlr | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → 𝑀 ∈ ℂ ) |
| 19 | 1cnd | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → 1 ∈ ℂ ) | |
| 20 | 18 19 | npcand | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → ( ( 𝑀 − 1 ) + 1 ) = 𝑀 ) |
| 21 | 16 20 | eqtrd | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑁 + 1 ) = 𝑀 ) |
| 22 | 21 | oveq2d | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑀 ... ( 𝑁 + 1 ) ) = ( 𝑀 ... 𝑀 ) ) |
| 23 | fzsn | ⊢ ( 𝑀 ∈ ℤ → ( 𝑀 ... 𝑀 ) = { 𝑀 } ) | |
| 24 | 23 | ad2antlr | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑀 ... 𝑀 ) = { 𝑀 } ) |
| 25 | 22 24 | eqtr2d | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → { 𝑀 } = ( 𝑀 ... ( 𝑁 + 1 ) ) ) |
| 26 | 21 | eqcomd | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → 𝑀 = ( 𝑁 + 1 ) ) |
| 27 | 26 | sneqd | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → { 𝑀 } = { ( 𝑁 + 1 ) } ) |
| 28 | 25 27 | difeq12d | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → ( { 𝑀 } ∖ { 𝑀 } ) = ( ( 𝑀 ... ( 𝑁 + 1 ) ) ∖ { ( 𝑁 + 1 ) } ) ) |
| 29 | 11 14 28 | 3eqtrd | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝑁 + 1 ) ) ∖ { ( 𝑁 + 1 ) } ) ) |
| 30 | simplr | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → 𝑀 ∈ ℤ ) | |
| 31 | 7 | ad2antrr | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → 𝑁 ∈ ℤ ) |
| 32 | 2 | ad2antlr | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → 𝑀 ∈ ℝ ) |
| 33 | 1red | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → 1 ∈ ℝ ) | |
| 34 | 32 33 | resubcld | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑀 − 1 ) ∈ ℝ ) |
| 35 | 31 | zred | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → 𝑁 ∈ ℝ ) |
| 36 | eluzle | ⊢ ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) → ( 𝑀 − 1 ) ≤ 𝑁 ) | |
| 37 | 36 | ad2antrr | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑀 − 1 ) ≤ 𝑁 ) |
| 38 | neqne | ⊢ ( ¬ 𝑁 = ( 𝑀 − 1 ) → 𝑁 ≠ ( 𝑀 − 1 ) ) | |
| 39 | 38 | adantl | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → 𝑁 ≠ ( 𝑀 − 1 ) ) |
| 40 | 34 35 37 39 | leneltd | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑀 − 1 ) < 𝑁 ) |
| 41 | zlem1lt | ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝑀 ≤ 𝑁 ↔ ( 𝑀 − 1 ) < 𝑁 ) ) | |
| 42 | 30 31 41 | syl2anc | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑀 ≤ 𝑁 ↔ ( 𝑀 − 1 ) < 𝑁 ) ) |
| 43 | 40 42 | mpbird | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → 𝑀 ≤ 𝑁 ) |
| 44 | 30 31 43 | 3jca | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ≤ 𝑁 ) ) |
| 45 | eluz2 | ⊢ ( 𝑁 ∈ ( ℤ≥ ‘ 𝑀 ) ↔ ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ≤ 𝑁 ) ) | |
| 46 | 44 45 | sylibr | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → 𝑁 ∈ ( ℤ≥ ‘ 𝑀 ) ) |
| 47 | fzdifsuc | ⊢ ( 𝑁 ∈ ( ℤ≥ ‘ 𝑀 ) → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝑁 + 1 ) ) ∖ { ( 𝑁 + 1 ) } ) ) | |
| 48 | 46 47 | syl | ⊢ ( ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) ∧ ¬ 𝑁 = ( 𝑀 − 1 ) ) → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝑁 + 1 ) ) ∖ { ( 𝑁 + 1 ) } ) ) |
| 49 | 29 48 | pm2.61dan | ⊢ ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ 𝑀 ∈ ℤ ) → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝑁 + 1 ) ) ∖ { ( 𝑁 + 1 ) } ) ) |
| 50 | eluzel2 | ⊢ ( 𝑁 ∈ ( ℤ≥ ‘ 𝑀 ) → 𝑀 ∈ ℤ ) | |
| 51 | 50 | con3i | ⊢ ( ¬ 𝑀 ∈ ℤ → ¬ 𝑁 ∈ ( ℤ≥ ‘ 𝑀 ) ) |
| 52 | fzn0 | ⊢ ( ( 𝑀 ... 𝑁 ) ≠ ∅ ↔ 𝑁 ∈ ( ℤ≥ ‘ 𝑀 ) ) | |
| 53 | 51 52 | sylnibr | ⊢ ( ¬ 𝑀 ∈ ℤ → ¬ ( 𝑀 ... 𝑁 ) ≠ ∅ ) |
| 54 | nne | ⊢ ( ¬ ( 𝑀 ... 𝑁 ) ≠ ∅ ↔ ( 𝑀 ... 𝑁 ) = ∅ ) | |
| 55 | 53 54 | sylib | ⊢ ( ¬ 𝑀 ∈ ℤ → ( 𝑀 ... 𝑁 ) = ∅ ) |
| 56 | eluzel2 | ⊢ ( ( 𝑁 + 1 ) ∈ ( ℤ≥ ‘ 𝑀 ) → 𝑀 ∈ ℤ ) | |
| 57 | 56 | con3i | ⊢ ( ¬ 𝑀 ∈ ℤ → ¬ ( 𝑁 + 1 ) ∈ ( ℤ≥ ‘ 𝑀 ) ) |
| 58 | fzn0 | ⊢ ( ( 𝑀 ... ( 𝑁 + 1 ) ) ≠ ∅ ↔ ( 𝑁 + 1 ) ∈ ( ℤ≥ ‘ 𝑀 ) ) | |
| 59 | 57 58 | sylnibr | ⊢ ( ¬ 𝑀 ∈ ℤ → ¬ ( 𝑀 ... ( 𝑁 + 1 ) ) ≠ ∅ ) |
| 60 | nne | ⊢ ( ¬ ( 𝑀 ... ( 𝑁 + 1 ) ) ≠ ∅ ↔ ( 𝑀 ... ( 𝑁 + 1 ) ) = ∅ ) | |
| 61 | 59 60 | sylib | ⊢ ( ¬ 𝑀 ∈ ℤ → ( 𝑀 ... ( 𝑁 + 1 ) ) = ∅ ) |
| 62 | 61 | difeq1d | ⊢ ( ¬ 𝑀 ∈ ℤ → ( ( 𝑀 ... ( 𝑁 + 1 ) ) ∖ { ( 𝑁 + 1 ) } ) = ( ∅ ∖ { ( 𝑁 + 1 ) } ) ) |
| 63 | 0dif | ⊢ ( ∅ ∖ { ( 𝑁 + 1 ) } ) = ∅ | |
| 64 | 63 | a1i | ⊢ ( ¬ 𝑀 ∈ ℤ → ( ∅ ∖ { ( 𝑁 + 1 ) } ) = ∅ ) |
| 65 | 62 64 | eqtr2d | ⊢ ( ¬ 𝑀 ∈ ℤ → ∅ = ( ( 𝑀 ... ( 𝑁 + 1 ) ) ∖ { ( 𝑁 + 1 ) } ) ) |
| 66 | 55 65 | eqtrd | ⊢ ( ¬ 𝑀 ∈ ℤ → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝑁 + 1 ) ) ∖ { ( 𝑁 + 1 ) } ) ) |
| 67 | 66 | adantl | ⊢ ( ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ∧ ¬ 𝑀 ∈ ℤ ) → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝑁 + 1 ) ) ∖ { ( 𝑁 + 1 ) } ) ) |
| 68 | 49 67 | pm2.61dan | ⊢ ( 𝑁 ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝑁 + 1 ) ) ∖ { ( 𝑁 + 1 ) } ) ) |