Metamath Proof Explorer


Theorem pfxccat3

Description: The subword of a concatenation is either a subword of the first concatenated word or a subword of the second concatenated word or a concatenation of a suffix of the first word with a prefix of the second word. (Contributed by Alexander van der Vekens, 30-Mar-2018) (Revised by AV, 10-May-2020)

Ref Expression
Hypothesis swrdccatin2.l ⊢ L = A
Assertion pfxccat3 ⊢ A ∈ Word V ∧ B ∈ Word V → M ∈ 0 … N ∧ N ∈ 0 … L + B → A ++ B substr M N = if N ≤ L A substr M N if L ≤ M B substr M − L N − L A substr M L ++ B prefix N − L

Proof

Step Hyp Ref Expression
1 swrdccatin2.l ⊢ L = A
2 simpll ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ N ≤ L → A ∈ Word V ∧ B ∈ Word V
3 simplrl ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ N ≤ L → M ∈ 0 … N
4 lencl ⊢ A ∈ Word V → A ∈ ℕ 0
5 elfznn0 ⊢ N ∈ 0 … L + B → N ∈ ℕ 0
6 5 adantr ⊢ N ∈ 0 … L + B ∧ A ∈ ℕ 0 → N ∈ ℕ 0
7 6 adantr ⊢ N ∈ 0 … L + B ∧ A ∈ ℕ 0 ∧ N ≤ L → N ∈ ℕ 0
8 simplr ⊢ N ∈ 0 … L + B ∧ A ∈ ℕ 0 ∧ N ≤ L → A ∈ ℕ 0
9 1 breq2i ⊢ N ≤ L ↔ N ≤ A
10 9 bilani ⊢ N ∈ 0 … L + B ∧ A ∈ ℕ 0 ∧ N ≤ L → N ≤ A
11 elfz2nn0 ⊢ N ∈ 0 … A ↔ N ∈ ℕ 0 ∧ A ∈ ℕ 0 ∧ N ≤ A
12 7 8 10 11 syl3anbrc ⊢ N ∈ 0 … L + B ∧ A ∈ ℕ 0 ∧ N ≤ L → N ∈ 0 … A
13 12 exp31 ⊢ N ∈ 0 … L + B → A ∈ ℕ 0 → N ≤ L → N ∈ 0 … A
14 13 adantl ⊢ M ∈ 0 … N ∧ N ∈ 0 … L + B → A ∈ ℕ 0 → N ≤ L → N ∈ 0 … A
15 4 14 syl5com ⊢ A ∈ Word V → M ∈ 0 … N ∧ N ∈ 0 … L + B → N ≤ L → N ∈ 0 … A
16 15 adantr ⊢ A ∈ Word V ∧ B ∈ Word V → M ∈ 0 … N ∧ N ∈ 0 … L + B → N ≤ L → N ∈ 0 … A
17 16 imp ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B → N ≤ L → N ∈ 0 … A
18 17 imp ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ N ≤ L → N ∈ 0 … A
19 3 18 jca ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ N ≤ L → M ∈ 0 … N ∧ N ∈ 0 … A
20 swrdccatin1 ⊢ A ∈ Word V ∧ B ∈ Word V → M ∈ 0 … N ∧ N ∈ 0 … A → A ++ B substr M N = A substr M N
21 2 19 20 sylc ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ N ≤ L → A ++ B substr M N = A substr M N
22 simp1l ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ ¬ N ≤ L ∧ L ≤ M → A ∈ Word V ∧ B ∈ Word V
23 1 eleq1i ⊢ L ∈ ℕ 0 ↔ A ∈ ℕ 0
24 elfz2nn0 ⊢ M ∈ 0 … N ↔ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N
25 nn0z ⊢ L ∈ ℕ 0 → L ∈ ℤ
26 25 adantl ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N ∧ L ∈ ℕ 0 → L ∈ ℤ
27 nn0z ⊢ N ∈ ℕ 0 → N ∈ ℤ
28 27 3ad2ant2 ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N → N ∈ ℤ
29 28 adantr ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N ∧ L ∈ ℕ 0 → N ∈ ℤ
30 nn0z ⊢ M ∈ ℕ 0 → M ∈ ℤ
31 30 3ad2ant1 ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N → M ∈ ℤ
32 31 adantr ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N ∧ L ∈ ℕ 0 → M ∈ ℤ
33 26 29 32 3jca ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N ∧ L ∈ ℕ 0 → L ∈ ℤ ∧ N ∈ ℤ ∧ M ∈ ℤ
34 33 adantr ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N ∧ L ∈ ℕ 0 ∧ L ≤ M → L ∈ ℤ ∧ N ∈ ℤ ∧ M ∈ ℤ
35 simpl3 ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N ∧ L ∈ ℕ 0 → M ≤ N
36 35 anim1ci ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N ∧ L ∈ ℕ 0 ∧ L ≤ M → L ≤ M ∧ M ≤ N
37 elfz2 ⊢ M ∈ L … N ↔ L ∈ ℤ ∧ N ∈ ℤ ∧ M ∈ ℤ ∧ L ≤ M ∧ M ≤ N
38 34 36 37 sylanbrc ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N ∧ L ∈ ℕ 0 ∧ L ≤ M → M ∈ L … N
39 38 exp31 ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N → L ∈ ℕ 0 → L ≤ M → M ∈ L … N
40 24 39 sylbi ⊢ M ∈ 0 … N → L ∈ ℕ 0 → L ≤ M → M ∈ L … N
41 40 adantr ⊢ M ∈ 0 … N ∧ N ∈ 0 … L + B → L ∈ ℕ 0 → L ≤ M → M ∈ L … N
42 41 com12 ⊢ L ∈ ℕ 0 → M ∈ 0 … N ∧ N ∈ 0 … L + B → L ≤ M → M ∈ L … N
43 23 42 sylbir ⊢ A ∈ ℕ 0 → M ∈ 0 … N ∧ N ∈ 0 … L + B → L ≤ M → M ∈ L … N
44 4 43 syl ⊢ A ∈ Word V → M ∈ 0 … N ∧ N ∈ 0 … L + B → L ≤ M → M ∈ L … N
45 44 adantr ⊢ A ∈ Word V ∧ B ∈ Word V → M ∈ 0 … N ∧ N ∈ 0 … L + B → L ≤ M → M ∈ L … N
46 45 imp ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B → L ≤ M → M ∈ L … N
47 46 a1d ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B → ¬ N ≤ L → L ≤ M → M ∈ L … N
48 47 3imp ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ ¬ N ≤ L ∧ L ≤ M → M ∈ L … N
49 elfz2nn0 ⊢ N ∈ 0 … L + B ↔ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B
50 nn0z ⊢ A ∈ ℕ 0 → A ∈ ℤ
51 1 50 eqeltrid ⊢ A ∈ ℕ 0 → L ∈ ℤ
52 51 adantr ⊢ A ∈ ℕ 0 ∧ ¬ N ≤ L → L ∈ ℤ
53 52 adantl ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ A ∈ ℕ 0 ∧ ¬ N ≤ L → L ∈ ℤ
54 nn0z ⊢ L + B ∈ ℕ 0 → L + B ∈ ℤ
55 54 3ad2ant2 ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → L + B ∈ ℤ
56 55 adantr ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ A ∈ ℕ 0 ∧ ¬ N ≤ L → L + B ∈ ℤ
57 27 3ad2ant1 ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → N ∈ ℤ
58 57 adantr ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ A ∈ ℕ 0 ∧ ¬ N ≤ L → N ∈ ℤ
59 53 56 58 3jca ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ A ∈ ℕ 0 ∧ ¬ N ≤ L → L ∈ ℤ ∧ L + B ∈ ℤ ∧ N ∈ ℤ
60 1 eqcomi ⊢ A = L
61 60 eleq1i ⊢ A ∈ ℕ 0 ↔ L ∈ ℕ 0
62 nn0re ⊢ L ∈ ℕ 0 → L ∈ ℝ
63 nn0re ⊢ N ∈ ℕ 0 → N ∈ ℝ
64 ltnle ⊢ L ∈ ℝ ∧ N ∈ ℝ → L < N ↔ ¬ N ≤ L
65 62 63 64 syl2anr ⊢ N ∈ ℕ 0 ∧ L ∈ ℕ 0 → L < N ↔ ¬ N ≤ L
66 65 bicomd ⊢ N ∈ ℕ 0 ∧ L ∈ ℕ 0 → ¬ N ≤ L ↔ L < N
67 ltle ⊢ L ∈ ℝ ∧ N ∈ ℝ → L < N → L ≤ N
68 62 63 67 syl2anr ⊢ N ∈ ℕ 0 ∧ L ∈ ℕ 0 → L < N → L ≤ N
69 66 68 sylbid ⊢ N ∈ ℕ 0 ∧ L ∈ ℕ 0 → ¬ N ≤ L → L ≤ N
70 69 ex ⊢ N ∈ ℕ 0 → L ∈ ℕ 0 → ¬ N ≤ L → L ≤ N
71 61 70 biimtrid ⊢ N ∈ ℕ 0 → A ∈ ℕ 0 → ¬ N ≤ L → L ≤ N
72 71 3ad2ant1 ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → A ∈ ℕ 0 → ¬ N ≤ L → L ≤ N
73 72 imp32 ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ A ∈ ℕ 0 ∧ ¬ N ≤ L → L ≤ N
74 simpl3 ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ A ∈ ℕ 0 ∧ ¬ N ≤ L → N ≤ L + B
75 73 74 jca ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ A ∈ ℕ 0 ∧ ¬ N ≤ L → L ≤ N ∧ N ≤ L + B
76 elfz2 ⊢ N ∈ L … L + B ↔ L ∈ ℤ ∧ L + B ∈ ℤ ∧ N ∈ ℤ ∧ L ≤ N ∧ N ≤ L + B
77 59 75 76 sylanbrc ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ A ∈ ℕ 0 ∧ ¬ N ≤ L → N ∈ L … L + B
78 77 exp32 ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → A ∈ ℕ 0 → ¬ N ≤ L → N ∈ L … L + B
79 49 78 sylbi ⊢ N ∈ 0 … L + B → A ∈ ℕ 0 → ¬ N ≤ L → N ∈ L … L + B
80 79 adantl ⊢ M ∈ 0 … N ∧ N ∈ 0 … L + B → A ∈ ℕ 0 → ¬ N ≤ L → N ∈ L … L + B
81 4 80 syl5com ⊢ A ∈ Word V → M ∈ 0 … N ∧ N ∈ 0 … L + B → ¬ N ≤ L → N ∈ L … L + B
82 81 adantr ⊢ A ∈ Word V ∧ B ∈ Word V → M ∈ 0 … N ∧ N ∈ 0 … L + B → ¬ N ≤ L → N ∈ L … L + B
83 82 imp ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B → ¬ N ≤ L → N ∈ L … L + B
84 83 a1dd ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B → ¬ N ≤ L → L ≤ M → N ∈ L … L + B
85 84 3imp ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ ¬ N ≤ L ∧ L ≤ M → N ∈ L … L + B
86 48 85 jca ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ ¬ N ≤ L ∧ L ≤ M → M ∈ L … N ∧ N ∈ L … L + B
87 1 swrdccatin2 ⊢ A ∈ Word V ∧ B ∈ Word V → M ∈ L … N ∧ N ∈ L … L + B → A ++ B substr M N = B substr M − L N − L
88 22 86 87 sylc ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ ¬ N ≤ L ∧ L ≤ M → A ++ B substr M N = B substr M − L N − L
89 simp1l ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ ¬ N ≤ L ∧ ¬ L ≤ M → A ∈ Word V ∧ B ∈ Word V
90 nn0re ⊢ M ∈ ℕ 0 → M ∈ ℝ
91 90 adantr ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 → M ∈ ℝ
92 ltnle ⊢ M ∈ ℝ ∧ L ∈ ℝ → M < L ↔ ¬ L ≤ M
93 91 62 92 syl2anr ⊢ L ∈ ℕ 0 ∧ M ∈ ℕ 0 ∧ N ∈ ℕ 0 → M < L ↔ ¬ L ≤ M
94 93 bicomd ⊢ L ∈ ℕ 0 ∧ M ∈ ℕ 0 ∧ N ∈ ℕ 0 → ¬ L ≤ M ↔ M < L
95 simpll ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M < L → M ∈ ℕ 0
96 simplr ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M < L → L ∈ ℕ 0
97 ltle ⊢ M ∈ ℝ ∧ L ∈ ℝ → M < L → M ≤ L
98 90 62 97 syl2an ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 → M < L → M ≤ L
99 98 imp ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M < L → M ≤ L
100 elfz2nn0 ⊢ M ∈ 0 … L ↔ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M ≤ L
101 95 96 99 100 syl3anbrc ⊢ M ∈ ℕ 0 ∧ L ∈ ℕ 0 ∧ M < L → M ∈ 0 … L
102 101 exp31 ⊢ M ∈ ℕ 0 → L ∈ ℕ 0 → M < L → M ∈ 0 … L
103 102 adantr ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 → L ∈ ℕ 0 → M < L → M ∈ 0 … L
104 103 impcom ⊢ L ∈ ℕ 0 ∧ M ∈ ℕ 0 ∧ N ∈ ℕ 0 → M < L → M ∈ 0 … L
105 94 104 sylbid ⊢ L ∈ ℕ 0 ∧ M ∈ ℕ 0 ∧ N ∈ ℕ 0 → ¬ L ≤ M → M ∈ 0 … L
106 105 expcom ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 → L ∈ ℕ 0 → ¬ L ≤ M → M ∈ 0 … L
107 106 3adant3 ⊢ M ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ M ≤ N → L ∈ ℕ 0 → ¬ L ≤ M → M ∈ 0 … L
108 24 107 sylbi ⊢ M ∈ 0 … N → L ∈ ℕ 0 → ¬ L ≤ M → M ∈ 0 … L
109 61 108 biimtrid ⊢ M ∈ 0 … N → A ∈ ℕ 0 → ¬ L ≤ M → M ∈ 0 … L
110 109 adantr ⊢ M ∈ 0 … N ∧ N ∈ 0 … L + B → A ∈ ℕ 0 → ¬ L ≤ M → M ∈ 0 … L
111 4 110 syl5com ⊢ A ∈ Word V → M ∈ 0 … N ∧ N ∈ 0 … L + B → ¬ L ≤ M → M ∈ 0 … L
112 111 adantr ⊢ A ∈ Word V ∧ B ∈ Word V → M ∈ 0 … N ∧ N ∈ 0 … L + B → ¬ L ≤ M → M ∈ 0 … L
113 112 imp ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B → ¬ L ≤ M → M ∈ 0 … L
114 113 a1d ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B → ¬ N ≤ L → ¬ L ≤ M → M ∈ 0 … L
115 114 3imp ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ ¬ N ≤ L ∧ ¬ L ≤ M → M ∈ 0 … L
116 63 3ad2ant1 ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → N ∈ ℝ
117 64 bicomd ⊢ L ∈ ℝ ∧ N ∈ ℝ → ¬ N ≤ L ↔ L < N
118 62 116 117 syl2an ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → ¬ N ≤ L ↔ L < N
119 25 adantr ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → L ∈ ℤ
120 55 adantl ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → L + B ∈ ℤ
121 57 adantl ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → N ∈ ℤ
122 119 120 121 3jca ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → L ∈ ℤ ∧ L + B ∈ ℤ ∧ N ∈ ℤ
123 122 adantr ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ L < N → L ∈ ℤ ∧ L + B ∈ ℤ ∧ N ∈ ℤ
124 62 116 67 syl2an ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → L < N → L ≤ N
125 124 imp ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ L < N → L ≤ N
126 simplr3 ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ L < N → N ≤ L + B
127 125 126 jca ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ L < N → L ≤ N ∧ N ≤ L + B
128 123 127 76 sylanbrc ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B ∧ L < N → N ∈ L … L + B
129 128 ex ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → L < N → N ∈ L … L + B
130 118 129 sylbid ⊢ L ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → ¬ N ≤ L → N ∈ L … L + B
131 130 ex ⊢ L ∈ ℕ 0 → N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → ¬ N ≤ L → N ∈ L … L + B
132 61 131 sylbi ⊢ A ∈ ℕ 0 → N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → ¬ N ≤ L → N ∈ L … L + B
133 4 132 syl ⊢ A ∈ Word V → N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → ¬ N ≤ L → N ∈ L … L + B
134 133 adantr ⊢ A ∈ Word V ∧ B ∈ Word V → N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → ¬ N ≤ L → N ∈ L … L + B
135 134 com12 ⊢ N ∈ ℕ 0 ∧ L + B ∈ ℕ 0 ∧ N ≤ L + B → A ∈ Word V ∧ B ∈ Word V → ¬ N ≤ L → N ∈ L … L + B
136 49 135 sylbi ⊢ N ∈ 0 … L + B → A ∈ Word V ∧ B ∈ Word V → ¬ N ≤ L → N ∈ L … L + B
137 136 adantl ⊢ M ∈ 0 … N ∧ N ∈ 0 … L + B → A ∈ Word V ∧ B ∈ Word V → ¬ N ≤ L → N ∈ L … L + B
138 137 impcom ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B → ¬ N ≤ L → N ∈ L … L + B
139 138 a1dd ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B → ¬ N ≤ L → ¬ L ≤ M → N ∈ L … L + B
140 139 3imp ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ ¬ N ≤ L ∧ ¬ L ≤ M → N ∈ L … L + B
141 115 140 jca ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ ¬ N ≤ L ∧ ¬ L ≤ M → M ∈ 0 … L ∧ N ∈ L … L + B
142 1 pfxccatin12 ⊢ A ∈ Word V ∧ B ∈ Word V → M ∈ 0 … L ∧ N ∈ L … L + B → A ++ B substr M N = A substr M L ++ B prefix N − L
143 89 141 142 sylc ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B ∧ ¬ N ≤ L ∧ ¬ L ≤ M → A ++ B substr M N = A substr M L ++ B prefix N − L
144 21 88 143 2if2 ⊢ A ∈ Word V ∧ B ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … L + B → A ++ B substr M N = if N ≤ L A substr M N if L ≤ M B substr M − L N − L A substr M L ++ B prefix N − L
145 144 ex ⊢ A ∈ Word V ∧ B ∈ Word V → M ∈ 0 … N ∧ N ∈ 0 … L + B → A ++ B substr M N = if N ≤ L A substr M N if L ≤ M B substr M − L N − L A substr M L ++ B prefix N − L