Metamath Proof Explorer


Theorem pfxccatin12lem3

Description: Lemma 3 for pfxccatin12 . (Contributed by AV, 30-Mar-2018) (Revised by AV, 27-May-2018)

Ref Expression
Hypothesis swrdccatin2.l ⊢ L = A
Assertion pfxccatin12lem3 ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B → K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → A ++ B substr M N ⁡ K = A substr M L ⁡ K

Proof

Step Hyp Ref Expression
1 swrdccatin2.l ⊢ L = A
2 simpll ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B ∧ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → A ∈ Word V ∧ B ∈ Word V
3 elfzo0 ⊢ K ∈ 0 ..^ L − M ↔ K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M
4 lencl ⊢ A ∈ Word V → A ∈ ℕ 0
5 elfz2nn0 ⊢ M ∈ 0 … L ↔ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L
6 nn0addcl ⊢ K ∈ ℕ 0 ∧ M ∈ ℕ 0 → K + M ∈ ℕ 0
7 6 ex ⊢ K ∈ ℕ 0 → M ∈ ℕ 0 → K + M ∈ ℕ 0
8 7 3ad2ant1 ⊢ K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → M ∈ ℕ 0 → K + M ∈ ℕ 0
9 8 com12 ⊢ M ∈ ℕ 0 → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0
10 9 3ad2ant1 ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0
11 10 imp ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L ∧ K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0
12 elnnz ⊢ L − M ∈ ℕ ↔ L − M ∈ ℤ ∧ 0 < L − M
13 nn0re ⊢ M ∈ ℕ 0 → M ∈ ℝ
14 nn0re ⊢ L ∈ ℕ 0 → L ∈ ℝ
15 posdif ⊢ M ∈ ℝ ∧ L ∈ ℝ → M < L ↔ 0 < L − M
16 13 14 15 syl2an ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 → M < L ↔ 0 < L − M
17 elnn0z ⊢ M ∈ ℕ 0 ↔ M ∈ ℤ ∧ 0 ≤ M
18 0re ⊢ 0 ∈ ℝ
19 zre ⊢ M ∈ ℤ → M ∈ ℝ
20 lelttr ⊢ 0 ∈ ℝ ∧ M ∈ ℝ ∧ L ∈ ℝ → 0 ≤ M ∧ M < L → 0 < L
21 18 19 14 20 mp3an3an ⊢ M ∈ ℤ ∧ L ∈ ℕ 0 → 0 ≤ M ∧ M < L → 0 < L
22 nn0z ⊢ L ∈ ℕ 0 → L ∈ ℤ
23 22 anim1i ⊢ L ∈ ℕ 0 ∧ 0 < L → L ∈ ℤ ∧ 0 < L
24 elnnz ⊢ L ∈ ℕ ↔ L ∈ ℤ ∧ 0 < L
25 23 24 sylibr ⊢ L ∈ ℕ 0 ∧ 0 < L → L ∈ ℕ
26 25 ex ⊢ L ∈ ℕ 0 → 0 < L → L ∈ ℕ
27 26 adantl ⊢ M ∈ ℤ ∧ L ∈ ℕ 0 → 0 < L → L ∈ ℕ
28 21 27 syld ⊢ M ∈ ℤ ∧ L ∈ ℕ 0 → 0 ≤ M ∧ M < L → L ∈ ℕ
29 28 expd ⊢ M ∈ ℤ ∧ L ∈ ℕ 0 → 0 ≤ M → M < L → L ∈ ℕ
30 29 impancom ⊢ M ∈ ℤ ∧ 0 ≤ M → L ∈ ℕ 0 → M < L → L ∈ ℕ
31 17 30 sylbi ⊢ M ∈ ℕ 0 → L ∈ ℕ 0 → M < L → L ∈ ℕ
32 31 imp ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 → M < L → L ∈ ℕ
33 16 32 sylbird ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 → 0 < L − M → L ∈ ℕ
34 33 com12 ⊢ 0 < L − M → M ∈ ℕ 0 ∧ L ∈ ℕ 0 → L ∈ ℕ
35 12 34 simplbiim ⊢ L − M ∈ ℕ → M ∈ ℕ 0 ∧ L ∈ ℕ 0 → L ∈ ℕ
36 35 3ad2ant2 ⊢ K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → M ∈ ℕ 0 ∧ L ∈ ℕ 0 → L ∈ ℕ
37 36 com12 ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → L ∈ ℕ
38 37 3adant3 ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → L ∈ ℕ
39 38 imp ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L ∧ K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → L ∈ ℕ
40 nn0re ⊢ K ∈ ℕ 0 → K ∈ ℝ
41 40 adantr ⊢ K ∈ ℕ 0 ∧ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → K ∈ ℝ
42 13 3ad2ant1 ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → M ∈ ℝ
43 42 adantl ⊢ K ∈ ℕ 0 ∧ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → M ∈ ℝ
44 14 3ad2ant2 ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → L ∈ ℝ
45 44 adantl ⊢ K ∈ ℕ 0 ∧ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → L ∈ ℝ
46 41 43 45 ltaddsubd ⊢ K ∈ ℕ 0 ∧ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → K + M < L ↔ K < L − M
47 46 exbiri ⊢ K ∈ ℕ 0 → M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → K < L − M → K + M < L
48 47 com23 ⊢ K ∈ ℕ 0 → K < L − M → M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → K + M < L
49 48 imp ⊢ K ∈ ℕ 0 ∧ K < L − M → M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → K + M < L
50 49 3adant2 ⊢ K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → K + M < L
51 50 impcom ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L ∧ K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M < L
52 11 39 51 3jca ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L ∧ K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ L ∈ ℕ ∧ K + M < L
53 52 ex ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ L ∈ ℕ ∧ K + M < L
54 53 a1d ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L → N ∈ L … L + B → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ L ∈ ℕ ∧ K + M < L
55 5 54 sylbi ⊢ M ∈ 0 … L → N ∈ L … L + B → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ L ∈ ℕ ∧ K + M < L
56 55 imp ⊢ M ∈ 0 … L ∧ N ∈ L … L + B → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ L ∈ ℕ ∧ K + M < L
57 56 2a1i ⊢ A = L → L ∈ ℕ 0 → M ∈ 0 … L ∧ N ∈ L … L + B → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ L ∈ ℕ ∧ K + M < L
58 eleq1 ⊢ A = L → A ∈ ℕ 0 ↔ L ∈ ℕ 0
59 eleq1 ⊢ A = L → A ∈ ℕ ↔ L ∈ ℕ
60 breq2 ⊢ A = L → K + M < A ↔ K + M < L
61 59 60 3anbi23d ⊢ A = L → K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A ↔ K + M ∈ ℕ 0 ∧ L ∈ ℕ ∧ K + M < L
62 61 imbi2d ⊢ A = L → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A ↔ K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ L ∈ ℕ ∧ K + M < L
63 62 imbi2d ⊢ A = L → M ∈ 0 … L ∧ N ∈ L … L + B → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A ↔ M ∈ 0 … L ∧ N ∈ L … L + B → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ L ∈ ℕ ∧ K + M < L
64 57 58 63 3imtr4d ⊢ A = L → A ∈ ℕ 0 → M ∈ 0 … L ∧ N ∈ L … L + B → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A
65 64 eqcoms ⊢ L = A → A ∈ ℕ 0 → M ∈ 0 … L ∧ N ∈ L … L + B → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A
66 1 4 65 mpsyl ⊢ A ∈ Word V → M ∈ 0 … L ∧ N ∈ L … L + B → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A
67 66 adantr ⊢ A ∈ Word V ∧ B ∈ Word V → M ∈ 0 … L ∧ N ∈ L … L + B → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A
68 67 imp ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B → K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A
69 68 com12 ⊢ K ∈ ℕ 0 ∧ L − M ∈ ℕ ∧ K < L − M → A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B → K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A
70 3 69 sylbi ⊢ K ∈ 0 ..^ L − M → A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B → K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A
71 70 adantl ⊢ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B → K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A
72 71 impcom ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B ∧ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A
73 elfzo0 ⊢ K + M ∈ 0 ..^ A ↔ K + M ∈ ℕ 0 ∧ A ∈ ℕ ∧ K + M < A
74 72 73 sylibr ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B ∧ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → K + M ∈ 0 ..^ A
75 df-3an ⊢ A ∈ Word V ∧ B ∈ Word V ∧ K + M ∈ 0 ..^ A ↔ A ∈ Word V ∧ B ∈ Word V ∧ K + M ∈ 0 ..^ A
76 2 74 75 sylanbrc ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B ∧ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → A ∈ Word V ∧ B ∈ Word V ∧ K + M ∈ 0 ..^ A
77 ccatval1 ⊢ A ∈ Word V ∧ B ∈ Word V ∧ K + M ∈ 0 ..^ A → A ++ B ⁡ K + M = A ⁡ K + M
78 76 77 syl ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B ∧ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → A ++ B ⁡ K + M = A ⁡ K + M
79 1 pfxccatin12lem2c ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B → A ++ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … A ++ B
80 simpl ⊢ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → K ∈ 0 ..^ N − M
81 swrdfv ⊢ A ++ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … A ++ B ∧ K ∈ 0 ..^ N − M → A ++ B substr M N ⁡ K = A ++ B ⁡ K + M
82 79 80 81 syl2an ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B ∧ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → A ++ B substr M N ⁡ K = A ++ B ⁡ K + M
83 simplll ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B ∧ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → A ∈ Word V
84 simplrl ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B ∧ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → M ∈ 0 … L
85 1 eleq1i ⊢ L ∈ ℕ 0 ↔ A ∈ ℕ 0
86 elnn0uz ⊢ L ∈ ℕ 0 ↔ L ∈ ℤ ≥ 0
87 eluzfz2 ⊢ L ∈ ℤ ≥ 0 → L ∈ 0 … L
88 86 87 sylbi ⊢ L ∈ ℕ 0 → L ∈ 0 … L
89 1 oveq2i ⊢ 0 … L = 0 … A
90 88 89 eleqtrdi ⊢ L ∈ ℕ 0 → L ∈ 0 … A
91 85 90 sylbir ⊢ A ∈ ℕ 0 → L ∈ 0 … A
92 4 91 syl ⊢ A ∈ Word V → L ∈ 0 … A
93 92 ad3antrrr ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B ∧ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → L ∈ 0 … A
94 simprr ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B ∧ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → K ∈ 0 ..^ L − M
95 swrdfv ⊢ A ∈ Word V ∧ M ∈ 0 … L ∧ L ∈ 0 … A ∧ K ∈ 0 ..^ L − M → A substr M L ⁡ K = A ⁡ K + M
96 83 84 93 94 95 syl31anc ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B ∧ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → A substr M L ⁡ K = A ⁡ K + M
97 78 82 96 3eqtr4d ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B ∧ K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → A ++ B substr M N ⁡ K = A substr M L ⁡ K
98 97 ex ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … L ∧ N ∈ L … L + B → K ∈ 0 ..^ N − M ∧ K ∈ 0 ..^ L − M → A ++ B substr M N ⁡ K = A substr M L ⁡ K