Metamath Proof Explorer


Theorem fzsplitnd

Description: Split a finite interval of integers into two parts. (Contributed by metakunt, 28-May-2024)

Ref Expression
Hypothesis fzsplitnd.1 ( 𝜑𝐾 ∈ ( 𝑀 ... 𝑁 ) )
Assertion fzsplitnd ( 𝜑 → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝐾 − 1 ) ) ∪ ( 𝐾 ... 𝑁 ) ) )

Proof

Step Hyp Ref Expression
1 fzsplitnd.1 ( 𝜑𝐾 ∈ ( 𝑀 ... 𝑁 ) )
2 elfzuz ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 𝐾 ∈ ( ℤ𝑀 ) )
3 1 2 syl ( 𝜑𝐾 ∈ ( ℤ𝑀 ) )
4 1 elfzelzd ( 𝜑𝐾 ∈ ℤ )
5 4 zcnd ( 𝜑𝐾 ∈ ℂ )
6 1cnd ( 𝜑 → 1 ∈ ℂ )
7 5 6 npcand ( 𝜑 → ( ( 𝐾 − 1 ) + 1 ) = 𝐾 )
8 7 eleq1d ( 𝜑 → ( ( ( 𝐾 − 1 ) + 1 ) ∈ ( ℤ𝑀 ) ↔ 𝐾 ∈ ( ℤ𝑀 ) ) )
9 3 8 mpbird ( 𝜑 → ( ( 𝐾 − 1 ) + 1 ) ∈ ( ℤ𝑀 ) )
10 1zzd ( 𝜑 → 1 ∈ ℤ )
11 4 10 zsubcld ( 𝜑 → ( 𝐾 − 1 ) ∈ ℤ )
12 elfzuz3 ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 𝑁 ∈ ( ℤ𝐾 ) )
13 1 12 syl ( 𝜑𝑁 ∈ ( ℤ𝐾 ) )
14 7 fveq2d ( 𝜑 → ( ℤ ‘ ( ( 𝐾 − 1 ) + 1 ) ) = ( ℤ𝐾 ) )
15 14 eleq2d ( 𝜑 → ( 𝑁 ∈ ( ℤ ‘ ( ( 𝐾 − 1 ) + 1 ) ) ↔ 𝑁 ∈ ( ℤ𝐾 ) ) )
16 13 15 mpbird ( 𝜑𝑁 ∈ ( ℤ ‘ ( ( 𝐾 − 1 ) + 1 ) ) )
17 peano2uzr ( ( ( 𝐾 − 1 ) ∈ ℤ ∧ 𝑁 ∈ ( ℤ ‘ ( ( 𝐾 − 1 ) + 1 ) ) ) → 𝑁 ∈ ( ℤ ‘ ( 𝐾 − 1 ) ) )
18 11 16 17 syl2anc ( 𝜑𝑁 ∈ ( ℤ ‘ ( 𝐾 − 1 ) ) )
19 fzsplit2 ( ( ( ( 𝐾 − 1 ) + 1 ) ∈ ( ℤ𝑀 ) ∧ 𝑁 ∈ ( ℤ ‘ ( 𝐾 − 1 ) ) ) → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝐾 − 1 ) ) ∪ ( ( ( 𝐾 − 1 ) + 1 ) ... 𝑁 ) ) )
20 9 18 19 syl2anc ( 𝜑 → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝐾 − 1 ) ) ∪ ( ( ( 𝐾 − 1 ) + 1 ) ... 𝑁 ) ) )
21 7 oveq1d ( 𝜑 → ( ( ( 𝐾 − 1 ) + 1 ) ... 𝑁 ) = ( 𝐾 ... 𝑁 ) )
22 21 uneq2d ( 𝜑 → ( ( 𝑀 ... ( 𝐾 − 1 ) ) ∪ ( ( ( 𝐾 − 1 ) + 1 ) ... 𝑁 ) ) = ( ( 𝑀 ... ( 𝐾 − 1 ) ) ∪ ( 𝐾 ... 𝑁 ) ) )
23 20 22 eqtrd ( 𝜑 → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝐾 − 1 ) ) ∪ ( 𝐾 ... 𝑁 ) ) )