Metamath Proof Explorer


Theorem fzsplit3

Description: Split a finite interval of integers into two parts. (Contributed by Thierry Arnoux, 2-May-2017)

Ref Expression
Assertion fzsplit3 ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝐾 − 1 ) ) ∪ ( 𝐾 ... 𝑁 ) ) )

Proof

Step Hyp Ref Expression
1 elfzelz ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) → 𝑥 ∈ ℤ )
2 1 zred ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) → 𝑥 ∈ ℝ )
3 elfzelz ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 𝐾 ∈ ℤ )
4 3 zred ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 𝐾 ∈ ℝ )
5 1red ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 1 ∈ ℝ )
6 4 5 resubcld ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( 𝐾 − 1 ) ∈ ℝ )
7 lelttric ( ( 𝑥 ∈ ℝ ∧ ( 𝐾 − 1 ) ∈ ℝ ) → ( 𝑥 ≤ ( 𝐾 − 1 ) ∨ ( 𝐾 − 1 ) < 𝑥 ) )
8 2 6 7 syl2anr ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝑥 ≤ ( 𝐾 − 1 ) ∨ ( 𝐾 − 1 ) < 𝑥 ) )
9 elfzuz ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) → 𝑥 ∈ ( ℤ𝑀 ) )
10 1zzd ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 1 ∈ ℤ )
11 3 10 zsubcld ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( 𝐾 − 1 ) ∈ ℤ )
12 elfz5 ( ( 𝑥 ∈ ( ℤ𝑀 ) ∧ ( 𝐾 − 1 ) ∈ ℤ ) → ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ↔ 𝑥 ≤ ( 𝐾 − 1 ) ) )
13 9 11 12 syl2anr ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ↔ 𝑥 ≤ ( 𝐾 − 1 ) ) )
14 elfzuz3 ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) → 𝑁 ∈ ( ℤ𝑥 ) )
15 14 adantl ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) → 𝑁 ∈ ( ℤ𝑥 ) )
16 elfzuzb ( 𝑥 ∈ ( 𝐾 ... 𝑁 ) ↔ ( 𝑥 ∈ ( ℤ𝐾 ) ∧ 𝑁 ∈ ( ℤ𝑥 ) ) )
17 16 rbaib ( 𝑁 ∈ ( ℤ𝑥 ) → ( 𝑥 ∈ ( 𝐾 ... 𝑁 ) ↔ 𝑥 ∈ ( ℤ𝐾 ) ) )
18 15 17 syl ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝑥 ∈ ( 𝐾 ... 𝑁 ) ↔ 𝑥 ∈ ( ℤ𝐾 ) ) )
19 eluz ( ( 𝐾 ∈ ℤ ∧ 𝑥 ∈ ℤ ) → ( 𝑥 ∈ ( ℤ𝐾 ) ↔ 𝐾𝑥 ) )
20 3 1 19 syl2an ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝑥 ∈ ( ℤ𝐾 ) ↔ 𝐾𝑥 ) )
21 zlem1lt ( ( 𝐾 ∈ ℤ ∧ 𝑥 ∈ ℤ ) → ( 𝐾𝑥 ↔ ( 𝐾 − 1 ) < 𝑥 ) )
22 3 1 21 syl2an ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝐾𝑥 ↔ ( 𝐾 − 1 ) < 𝑥 ) )
23 18 20 22 3bitrd ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝑥 ∈ ( 𝐾 ... 𝑁 ) ↔ ( 𝐾 − 1 ) < 𝑥 ) )
24 13 23 orbi12d ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) → ( ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ∨ 𝑥 ∈ ( 𝐾 ... 𝑁 ) ) ↔ ( 𝑥 ≤ ( 𝐾 − 1 ) ∨ ( 𝐾 − 1 ) < 𝑥 ) ) )
25 8 24 mpbird ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... 𝑁 ) ) → ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ∨ 𝑥 ∈ ( 𝐾 ... 𝑁 ) ) )
26 elfzuz ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) → 𝑥 ∈ ( ℤ𝑀 ) )
27 26 adantl ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ) → 𝑥 ∈ ( ℤ𝑀 ) )
28 elfzuz3 ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 𝑁 ∈ ( ℤ𝐾 ) )
29 28 adantr ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ) → 𝑁 ∈ ( ℤ𝐾 ) )
30 elfzuz3 ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) → ( 𝐾 − 1 ) ∈ ( ℤ𝑥 ) )
31 30 adantl ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ) → ( 𝐾 − 1 ) ∈ ( ℤ𝑥 ) )
32 peano2uz ( ( 𝐾 − 1 ) ∈ ( ℤ𝑥 ) → ( ( 𝐾 − 1 ) + 1 ) ∈ ( ℤ𝑥 ) )
33 31 32 syl ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ) → ( ( 𝐾 − 1 ) + 1 ) ∈ ( ℤ𝑥 ) )
34 4 recnd ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 𝐾 ∈ ℂ )
35 5 recnd ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 1 ∈ ℂ )
36 34 35 npcand ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( ( 𝐾 − 1 ) + 1 ) = 𝐾 )
37 36 eleq1d ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( ( ( 𝐾 − 1 ) + 1 ) ∈ ( ℤ𝑥 ) ↔ 𝐾 ∈ ( ℤ𝑥 ) ) )
38 37 adantr ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ) → ( ( ( 𝐾 − 1 ) + 1 ) ∈ ( ℤ𝑥 ) ↔ 𝐾 ∈ ( ℤ𝑥 ) ) )
39 33 38 mpbid ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ) → 𝐾 ∈ ( ℤ𝑥 ) )
40 uztrn ( ( 𝑁 ∈ ( ℤ𝐾 ) ∧ 𝐾 ∈ ( ℤ𝑥 ) ) → 𝑁 ∈ ( ℤ𝑥 ) )
41 29 39 40 syl2anc ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ) → 𝑁 ∈ ( ℤ𝑥 ) )
42 elfzuzb ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) ↔ ( 𝑥 ∈ ( ℤ𝑀 ) ∧ 𝑁 ∈ ( ℤ𝑥 ) ) )
43 27 41 42 sylanbrc ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ) → 𝑥 ∈ ( 𝑀 ... 𝑁 ) )
44 elfzuz ( 𝑥 ∈ ( 𝐾 ... 𝑁 ) → 𝑥 ∈ ( ℤ𝐾 ) )
45 elfzuz ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → 𝐾 ∈ ( ℤ𝑀 ) )
46 uztrn ( ( 𝑥 ∈ ( ℤ𝐾 ) ∧ 𝐾 ∈ ( ℤ𝑀 ) ) → 𝑥 ∈ ( ℤ𝑀 ) )
47 44 45 46 syl2anr ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝐾 ... 𝑁 ) ) → 𝑥 ∈ ( ℤ𝑀 ) )
48 elfzuz3 ( 𝑥 ∈ ( 𝐾 ... 𝑁 ) → 𝑁 ∈ ( ℤ𝑥 ) )
49 48 adantl ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝐾 ... 𝑁 ) ) → 𝑁 ∈ ( ℤ𝑥 ) )
50 47 49 42 sylanbrc ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ 𝑥 ∈ ( 𝐾 ... 𝑁 ) ) → 𝑥 ∈ ( 𝑀 ... 𝑁 ) )
51 43 50 jaodan ( ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) ∧ ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ∨ 𝑥 ∈ ( 𝐾 ... 𝑁 ) ) ) → 𝑥 ∈ ( 𝑀 ... 𝑁 ) )
52 25 51 impbida ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) ↔ ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ∨ 𝑥 ∈ ( 𝐾 ... 𝑁 ) ) ) )
53 elun ( 𝑥 ∈ ( ( 𝑀 ... ( 𝐾 − 1 ) ) ∪ ( 𝐾 ... 𝑁 ) ) ↔ ( 𝑥 ∈ ( 𝑀 ... ( 𝐾 − 1 ) ) ∨ 𝑥 ∈ ( 𝐾 ... 𝑁 ) ) )
54 52 53 bitr4di ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( 𝑥 ∈ ( 𝑀 ... 𝑁 ) ↔ 𝑥 ∈ ( ( 𝑀 ... ( 𝐾 − 1 ) ) ∪ ( 𝐾 ... 𝑁 ) ) ) )
55 54 eqrdv ( 𝐾 ∈ ( 𝑀 ... 𝑁 ) → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝐾 − 1 ) ) ∪ ( 𝐾 ... 𝑁 ) ) )