Proof of Theorem swrdsbslen
Step | Hyp | Ref
| Expression |
1 | | simpr1 1067 |
. . . 4
⊢ ((𝑁 ≤ 𝑀 ∧ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈)))) → (𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉)) |
2 | | simpr2 1068 |
. . . 4
⊢ ((𝑁 ≤ 𝑀 ∧ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈)))) → (𝑀 ∈ ℕ0 ∧ 𝑁 ∈
ℕ0)) |
3 | | simpl 473 |
. . . 4
⊢ ((𝑁 ≤ 𝑀 ∧ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈)))) → 𝑁 ≤ 𝑀) |
4 | | swrdsb0eq 13447 |
. . . 4
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ 𝑁 ≤ 𝑀) → (𝑊 substr 〈𝑀, 𝑁〉) = (𝑈 substr 〈𝑀, 𝑁〉)) |
5 | 1, 2, 3, 4 | syl3anc 1326 |
. . 3
⊢ ((𝑁 ≤ 𝑀 ∧ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈)))) → (𝑊 substr 〈𝑀, 𝑁〉) = (𝑈 substr 〈𝑀, 𝑁〉)) |
6 | 5 | fveq2d 6195 |
. 2
⊢ ((𝑁 ≤ 𝑀 ∧ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈)))) → (#‘(𝑊 substr 〈𝑀, 𝑁〉)) = (#‘(𝑈 substr 〈𝑀, 𝑁〉))) |
7 | | nn0re 11301 |
. . . . . 6
⊢ (𝑀 ∈ ℕ0
→ 𝑀 ∈
ℝ) |
8 | | nn0re 11301 |
. . . . . 6
⊢ (𝑁 ∈ ℕ0
→ 𝑁 ∈
ℝ) |
9 | | ltnle 10117 |
. . . . . . 7
⊢ ((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (𝑀 < 𝑁 ↔ ¬ 𝑁 ≤ 𝑀)) |
10 | | ltle 10126 |
. . . . . . 7
⊢ ((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (𝑀 < 𝑁 → 𝑀 ≤ 𝑁)) |
11 | 9, 10 | sylbird 250 |
. . . . . 6
⊢ ((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (¬
𝑁 ≤ 𝑀 → 𝑀 ≤ 𝑁)) |
12 | 7, 8, 11 | syl2an 494 |
. . . . 5
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (¬ 𝑁 ≤ 𝑀 → 𝑀 ≤ 𝑁)) |
13 | 12 | 3ad2ant2 1083 |
. . . 4
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → (¬ 𝑁 ≤ 𝑀 → 𝑀 ≤ 𝑁)) |
14 | | simpl1l 1112 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 ≤ 𝑁) → 𝑊 ∈ Word 𝑉) |
15 | | simpl2l 1114 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 ≤ 𝑁) → 𝑀 ∈
ℕ0) |
16 | | nn0z 11400 |
. . . . . . . . . . . 12
⊢ (𝑀 ∈ ℕ0
→ 𝑀 ∈
ℤ) |
17 | | nn0z 11400 |
. . . . . . . . . . . 12
⊢ (𝑁 ∈ ℕ0
→ 𝑁 ∈
ℤ) |
18 | 16, 17 | anim12i 590 |
. . . . . . . . . . 11
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) |
19 | 18 | 3ad2ant2 1083 |
. . . . . . . . . 10
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ)) |
20 | 19 | anim1i 592 |
. . . . . . . . 9
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 ≤ 𝑁) → ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 ≤ 𝑁)) |
21 | | df-3an 1039 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ≤ 𝑁) ↔ ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 ≤ 𝑁)) |
22 | 20, 21 | sylibr 224 |
. . . . . . . 8
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 ≤ 𝑁) → (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ≤ 𝑁)) |
23 | | eluz2 11693 |
. . . . . . . 8
⊢ (𝑁 ∈
(ℤ≥‘𝑀) ↔ (𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ≤ 𝑁)) |
24 | 22, 23 | sylibr 224 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 ≤ 𝑁) → 𝑁 ∈ (ℤ≥‘𝑀)) |
25 | | simpl3l 1116 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 ≤ 𝑁) → 𝑁 ≤ (#‘𝑊)) |
26 | | swrdlen2 13445 |
. . . . . . 7
⊢ ((𝑊 ∈ Word 𝑉 ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈
(ℤ≥‘𝑀)) ∧ 𝑁 ≤ (#‘𝑊)) → (#‘(𝑊 substr 〈𝑀, 𝑁〉)) = (𝑁 − 𝑀)) |
27 | 14, 15, 24, 25, 26 | syl121anc 1331 |
. . . . . 6
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 ≤ 𝑁) → (#‘(𝑊 substr 〈𝑀, 𝑁〉)) = (𝑁 − 𝑀)) |
28 | | simpl1r 1113 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 ≤ 𝑁) → 𝑈 ∈ Word 𝑉) |
29 | | simpl3r 1117 |
. . . . . . 7
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 ≤ 𝑁) → 𝑁 ≤ (#‘𝑈)) |
30 | | swrdlen2 13445 |
. . . . . . 7
⊢ ((𝑈 ∈ Word 𝑉 ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈
(ℤ≥‘𝑀)) ∧ 𝑁 ≤ (#‘𝑈)) → (#‘(𝑈 substr 〈𝑀, 𝑁〉)) = (𝑁 − 𝑀)) |
31 | 28, 15, 24, 29, 30 | syl121anc 1331 |
. . . . . 6
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 ≤ 𝑁) → (#‘(𝑈 substr 〈𝑀, 𝑁〉)) = (𝑁 − 𝑀)) |
32 | 27, 31 | eqtr4d 2659 |
. . . . 5
⊢ ((((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) ∧ 𝑀 ≤ 𝑁) → (#‘(𝑊 substr 〈𝑀, 𝑁〉)) = (#‘(𝑈 substr 〈𝑀, 𝑁〉))) |
33 | 32 | ex 450 |
. . . 4
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → (𝑀 ≤ 𝑁 → (#‘(𝑊 substr 〈𝑀, 𝑁〉)) = (#‘(𝑈 substr 〈𝑀, 𝑁〉)))) |
34 | 13, 33 | syld 47 |
. . 3
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → (¬ 𝑁 ≤ 𝑀 → (#‘(𝑊 substr 〈𝑀, 𝑁〉)) = (#‘(𝑈 substr 〈𝑀, 𝑁〉)))) |
35 | 34 | impcom 446 |
. 2
⊢ ((¬
𝑁 ≤ 𝑀 ∧ ((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈)))) → (#‘(𝑊 substr 〈𝑀, 𝑁〉)) = (#‘(𝑈 substr 〈𝑀, 𝑁〉))) |
36 | 6, 35 | pm2.61ian 831 |
1
⊢ (((𝑊 ∈ Word 𝑉 ∧ 𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0)
∧ (𝑁 ≤
(#‘𝑊) ∧ 𝑁 ≤ (#‘𝑈))) → (#‘(𝑊 substr 〈𝑀, 𝑁〉)) = (#‘(𝑈 substr 〈𝑀, 𝑁〉))) |