Proof of Theorem swrdsbslen
| Step | Hyp | Ref
| Expression |
| 1 | | simpr1 1006 |
. . . . 5
⊢ ((𝑁 ≤ 𝑀 ∧ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈)))) → (𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉)) |
| 2 | | simpr2 1007 |
. . . . 5
⊢ ((𝑁 ≤ 𝑀 ∧ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈)))) → (𝑀 ∈ ℕ0 ∧ 𝑁 ∈
ℕ0)) |
| 3 | | simpl 109 |
. . . . 5
⊢ ((𝑁 ≤ 𝑀 ∧ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈)))) → 𝑁 ≤ 𝑀) |
| 4 | | swrdsb0eq 11118 |
. . . . 5
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ 𝑁 ≤ 𝑀) → (𝑊 substr 〈𝑀, 𝑁〉) = (𝑈 substr 〈𝑀, 𝑁〉)) |
| 5 | 1, 2, 3, 4 | syl3anc 1250 |
. . . 4
⊢ ((𝑁 ≤ 𝑀 ∧ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈)))) → (𝑊 substr 〈𝑀, 𝑁〉) = (𝑈 substr 〈𝑀, 𝑁〉)) |
| 6 | 5 | fveq2d 5580 |
. . 3
⊢ ((𝑁 ≤ 𝑀 ∧ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈)))) →
(♯‘(𝑊 substr
〈𝑀, 𝑁〉)) = (♯‘(𝑈 substr 〈𝑀, 𝑁〉))) |
| 7 | 6 | ancoms 268 |
. 2
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ 𝑁 ≤ 𝑀) → (♯‘(𝑊 substr 〈𝑀, 𝑁〉)) = (♯‘(𝑈 substr 〈𝑀, 𝑁〉))) |
| 8 | | nn0z 9392 |
. . . . . . 7
⊢ (𝑀 ∈ ℕ0
→ 𝑀 ∈
ℤ) |
| 9 | | nn0z 9392 |
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ 𝑁 ∈
ℤ) |
| 10 | | zltnle 9418 |
. . . . . . 7
⊢ ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 < 𝑁 ↔ ¬ 𝑁 ≤ 𝑀)) |
| 11 | 8, 9, 10 | syl2an 289 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (𝑀 < 𝑁 ↔ ¬ 𝑁 ≤ 𝑀)) |
| 12 | | nn0re 9304 |
. . . . . . 7
⊢ (𝑀 ∈ ℕ0
→ 𝑀 ∈
ℝ) |
| 13 | | nn0re 9304 |
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ 𝑁 ∈
ℝ) |
| 14 | | ltle 8160 |
. . . . . . 7
⊢ ((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (𝑀 < 𝑁 → 𝑀 ≤ 𝑁)) |
| 15 | 12, 13, 14 | syl2an 289 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (𝑀 < 𝑁 → 𝑀 ≤ 𝑁)) |
| 16 | 11, 15 | sylbird 170 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (¬ 𝑁 ≤ 𝑀 → 𝑀 ≤ 𝑁)) |
| 17 | 16 | 3ad2ant2 1022 |
. . . 4
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) → (¬ 𝑁 ≤ 𝑀 → 𝑀 ≤ 𝑁)) |
| 18 | | simpl1l 1051 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ 𝑀 ≤ 𝑁) → 𝑊 ∈ Word 𝑉) |
| 19 | | simpl2l 1053 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ 𝑀 ≤ 𝑁) → 𝑀 ∈
ℕ0) |
| 20 | 8, 9 | anim12i 338 |
. . . . . . . . . . 11
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) |
| 21 | 20 | 3ad2ant2 1022 |
. . . . . . . . . 10
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) → (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) |
| 22 | 21 | anim1i 340 |
. . . . . . . . 9
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ 𝑀 ≤ 𝑁) → ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 ≤ 𝑁)) |
| 23 | | df-3an 983 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ≤ 𝑁) ↔ ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 ≤ 𝑁)) |
| 24 | 22, 23 | sylibr 134 |
. . . . . . . 8
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ 𝑀 ≤ 𝑁) → (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ≤ 𝑁)) |
| 25 | | eluz2 9654 |
. . . . . . . 8
⊢ (𝑁 ∈
(ℤ≥‘𝑀) ↔ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ≤ 𝑁)) |
| 26 | 24, 25 | sylibr 134 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ 𝑀 ≤ 𝑁) → 𝑁 ∈ (ℤ≥‘𝑀)) |
| 27 | | simpl3l 1055 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ 𝑀 ≤ 𝑁) → 𝑁 ≤ (♯‘𝑊)) |
| 28 | | swrdlen2 11115 |
. . . . . . 7
⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈
(ℤ≥‘𝑀)) ∧ 𝑁 ≤ (♯‘𝑊)) → (♯‘(𝑊 substr 〈𝑀, 𝑁〉)) = (𝑁 − 𝑀)) |
| 29 | 18, 19, 26, 27, 28 | syl121anc 1255 |
. . . . . 6
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ 𝑀 ≤ 𝑁) → (♯‘(𝑊 substr 〈𝑀, 𝑁〉)) = (𝑁 − 𝑀)) |
| 30 | | simpl1r 1052 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ 𝑀 ≤ 𝑁) → 𝑈 ∈ Word 𝑉) |
| 31 | | simpl3r 1056 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ 𝑀 ≤ 𝑁) → 𝑁 ≤ (♯‘𝑈)) |
| 32 | | swrdlen2 11115 |
. . . . . . 7
⊢ ((𝑈 ∈ Word 𝑉 ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈
(ℤ≥‘𝑀)) ∧ 𝑁 ≤ (♯‘𝑈)) → (♯‘(𝑈 substr 〈𝑀, 𝑁〉)) = (𝑁 − 𝑀)) |
| 33 | 30, 19, 26, 31, 32 | syl121anc 1255 |
. . . . . 6
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ 𝑀 ≤ 𝑁) → (♯‘(𝑈 substr 〈𝑀, 𝑁〉)) = (𝑁 − 𝑀)) |
| 34 | 29, 33 | eqtr4d 2241 |
. . . . 5
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ 𝑀 ≤ 𝑁) → (♯‘(𝑊 substr 〈𝑀, 𝑁〉)) = (♯‘(𝑈 substr 〈𝑀, 𝑁〉))) |
| 35 | 34 | ex 115 |
. . . 4
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) → (𝑀 ≤ 𝑁 → (♯‘(𝑊 substr 〈𝑀, 𝑁〉)) = (♯‘(𝑈 substr 〈𝑀, 𝑁〉)))) |
| 36 | 17, 35 | syld 45 |
. . 3
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) → (¬ 𝑁 ≤ 𝑀 → (♯‘(𝑊 substr 〈𝑀, 𝑁〉)) = (♯‘(𝑈 substr 〈𝑀, 𝑁〉)))) |
| 37 | 36 | imp 124 |
. 2
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) ∧ ¬ 𝑁 ≤ 𝑀) → (♯‘(𝑊 substr 〈𝑀, 𝑁〉)) = (♯‘(𝑈 substr 〈𝑀, 𝑁〉))) |
| 38 | 21 | simprd 114 |
. . . 4
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) → 𝑁 ∈ ℤ) |
| 39 | 21 | simpld 112 |
. . . 4
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) → 𝑀 ∈ ℤ) |
| 40 | | zdcle 9449 |
. . . 4
⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ) →
DECID 𝑁 ≤
𝑀) |
| 41 | 38, 39, 40 | syl2anc 411 |
. . 3
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) → DECID
𝑁 ≤ 𝑀) |
| 42 | | exmiddc 838 |
. . 3
⊢
(DECID 𝑁 ≤ 𝑀 → (𝑁 ≤ 𝑀 ∨ ¬ 𝑁 ≤ 𝑀)) |
| 43 | 41, 42 | syl 14 |
. 2
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) → (𝑁 ≤ 𝑀 ∨ ¬ 𝑁 ≤ 𝑀)) |
| 44 | 7, 37, 43 | mpjaodan 800 |
1
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(♯‘𝑊) ∧
𝑁 ≤ (♯‘𝑈))) → (♯‘(𝑊 substr 〈𝑀, 𝑁〉)) = (♯‘(𝑈 substr 〈𝑀, 𝑁〉))) |