ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  swrdccat GIF version

Theorem swrdccat 11365
Description: The subword of a concatenation of two words as concatenation of subwords of the two concatenated words. (Contributed by Alexander van der Vekens, 29-May-2018.)
Hypothesis
Ref Expression
swrdccatin2.l 𝐿 = (♯‘𝐴)
Assertion
Ref Expression
swrdccat ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(𝐿 + (♯‘𝐵)))) → ((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) = ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩))))

Proof of Theorem swrdccat
StepHypRef Expression
1 swrdccatin2.l . . . . 5 𝐿 = (♯‘𝐴)
21pfxccat3 11364 . . . 4 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(𝐿 + (♯‘𝐵)))) → ((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) = if(𝑁𝐿, (𝐴 substr ⟨𝑀, 𝑁⟩), if(𝐿𝑀, (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩), ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿)))))))
32imp 124 . . 3 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(𝐿 + (♯‘𝐵))))) → ((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) = if(𝑁𝐿, (𝐴 substr ⟨𝑀, 𝑁⟩), if(𝐿𝑀, (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩), ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿))))))
4 lencl 11166 . . . . . 6 (𝐴 ∈ Word 𝑉 → (♯‘𝐴) ∈ ℕ0)
54adantr 276 . . . . 5 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (♯‘𝐴) ∈ ℕ0)
61eqcomi 2235 . . . . . . 7 (♯‘𝐴) = 𝐿
76eleq1i 2297 . . . . . 6 ((♯‘𝐴) ∈ ℕ0𝐿 ∈ ℕ0)
8 elfz2nn0 10392 . . . . . . . . 9 (𝑀 ∈ (0...𝑁) ↔ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁))
9 iftrue 3614 . . . . . . . . . . . . . . . . . 18 (𝑁𝐿 → if(𝑁𝐿, 𝑁, 𝐿) = 𝑁)
109adantl 277 . . . . . . . . . . . . . . . . 17 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → if(𝑁𝐿, 𝑁, 𝐿) = 𝑁)
1110opeq2d 3874 . . . . . . . . . . . . . . . 16 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩ = ⟨𝑀, 𝑁⟩)
1211oveq2d 6044 . . . . . . . . . . . . . . 15 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → (𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) = (𝐴 substr ⟨𝑀, 𝑁⟩))
13 0z 9534 . . . . . . . . . . . . . . . . 17 0 ∈ ℤ
14 simprll 539 . . . . . . . . . . . . . . . . . . . 20 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → 𝑀 ∈ ℕ0)
1514adantr 276 . . . . . . . . . . . . . . . . . . 19 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → 𝑀 ∈ ℕ0)
1615nn0zd 9644 . . . . . . . . . . . . . . . . . 18 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → 𝑀 ∈ ℤ)
17 simplrr 538 . . . . . . . . . . . . . . . . . . 19 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → 𝐿 ∈ ℕ0)
1817nn0zd 9644 . . . . . . . . . . . . . . . . . 18 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → 𝐿 ∈ ℤ)
1916, 18zsubcld 9651 . . . . . . . . . . . . . . . . 17 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → (𝑀𝐿) ∈ ℤ)
20 zdcle 9600 . . . . . . . . . . . . . . . . 17 ((0 ∈ ℤ ∧ (𝑀𝐿) ∈ ℤ) → DECID 0 ≤ (𝑀𝐿))
2113, 19, 20sylancr 414 . . . . . . . . . . . . . . . 16 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → DECID 0 ≤ (𝑀𝐿))
22 exmiddc 844 . . . . . . . . . . . . . . . . 17 (DECID 0 ≤ (𝑀𝐿) → (0 ≤ (𝑀𝐿) ∨ ¬ 0 ≤ (𝑀𝐿)))
23 iftrue 3614 . . . . . . . . . . . . . . . . . . . . . . 23 (0 ≤ (𝑀𝐿) → if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0) = (𝑀𝐿))
2423opeq1d 3873 . . . . . . . . . . . . . . . . . . . . . 22 (0 ≤ (𝑀𝐿) → ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩ = ⟨(𝑀𝐿), (𝑁𝐿)⟩)
2524oveq2d 6044 . . . . . . . . . . . . . . . . . . . . 21 (0 ≤ (𝑀𝐿) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩))
2625adantr 276 . . . . . . . . . . . . . . . . . . . 20 ((0 ≤ (𝑀𝐿) ∧ (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿)) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩))
27 simpr 110 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → 𝐵 ∈ Word 𝑉)
28 nn0z 9543 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝐿 ∈ ℕ0𝐿 ∈ ℤ)
29 nn0z 9543 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝑀 ∈ ℕ0𝑀 ∈ ℤ)
3029adantr 276 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑀 ∈ ℤ)
31 zsubcl 9564 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝑀 ∈ ℤ ∧ 𝐿 ∈ ℤ) → (𝑀𝐿) ∈ ℤ)
3230, 31sylan 283 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℤ) → (𝑀𝐿) ∈ ℤ)
33 nn0z 9543 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝑁 ∈ ℕ0𝑁 ∈ ℤ)
3433adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑁 ∈ ℤ)
35 zsubcl 9564 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝑁 ∈ ℤ ∧ 𝐿 ∈ ℤ) → (𝑁𝐿) ∈ ℤ)
3634, 35sylan 283 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℤ) → (𝑁𝐿) ∈ ℤ)
3732, 36jca 306 . . . . . . . . . . . . . . . . . . . . . . . . 25 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℤ) → ((𝑀𝐿) ∈ ℤ ∧ (𝑁𝐿) ∈ ℤ))
3828, 37sylan2 286 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → ((𝑀𝐿) ∈ ℤ ∧ (𝑁𝐿) ∈ ℤ))
3927, 38anim12i 338 . . . . . . . . . . . . . . . . . . . . . . 23 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (𝐵 ∈ Word 𝑉 ∧ ((𝑀𝐿) ∈ ℤ ∧ (𝑁𝐿) ∈ ℤ)))
40 3anass 1009 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝐵 ∈ Word 𝑉 ∧ (𝑀𝐿) ∈ ℤ ∧ (𝑁𝐿) ∈ ℤ) ↔ (𝐵 ∈ Word 𝑉 ∧ ((𝑀𝐿) ∈ ℤ ∧ (𝑁𝐿) ∈ ℤ)))
4139, 40sylibr 134 . . . . . . . . . . . . . . . . . . . . . 22 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (𝐵 ∈ Word 𝑉 ∧ (𝑀𝐿) ∈ ℤ ∧ (𝑁𝐿) ∈ ℤ))
4241ad2antrl 490 . . . . . . . . . . . . . . . . . . . . 21 ((0 ≤ (𝑀𝐿) ∧ (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿)) → (𝐵 ∈ Word 𝑉 ∧ (𝑀𝐿) ∈ ℤ ∧ (𝑁𝐿) ∈ ℤ))
43 nn0re 9453 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝑀 ∈ ℕ0𝑀 ∈ ℝ)
44 nn0re 9453 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝑁 ∈ ℕ0𝑁 ∈ ℝ)
4543, 44anim12i 338 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ))
46 nn0re 9453 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝐿 ∈ ℕ0𝐿 ∈ ℝ)
47 subge0 8697 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑀 ∈ ℝ ∧ 𝐿 ∈ ℝ) → (0 ≤ (𝑀𝐿) ↔ 𝐿𝑀))
4847adantlr 477 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) ∧ 𝐿 ∈ ℝ) → (0 ≤ (𝑀𝐿) ↔ 𝐿𝑀))
49 simplr 529 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) ∧ 𝐿 ∈ ℝ) → 𝑁 ∈ ℝ)
50 simpr 110 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) ∧ 𝐿 ∈ ℝ) → 𝐿 ∈ ℝ)
51 simpll 527 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) ∧ 𝐿 ∈ ℝ) → 𝑀 ∈ ℝ)
52 letr 8304 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((𝑁 ∈ ℝ ∧ 𝐿 ∈ ℝ ∧ 𝑀 ∈ ℝ) → ((𝑁𝐿𝐿𝑀) → 𝑁𝑀))
5349, 50, 51, 52syl3anc 1274 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) ∧ 𝐿 ∈ ℝ) → ((𝑁𝐿𝐿𝑀) → 𝑁𝑀))
5453expcomd 1487 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) ∧ 𝐿 ∈ ℝ) → (𝐿𝑀 → (𝑁𝐿𝑁𝑀)))
5548, 54sylbid 150 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) ∧ 𝐿 ∈ ℝ) → (0 ≤ (𝑀𝐿) → (𝑁𝐿𝑁𝑀)))
5655com23 78 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) ∧ 𝐿 ∈ ℝ) → (𝑁𝐿 → (0 ≤ (𝑀𝐿) → 𝑁𝑀)))
5745, 46, 56syl2an 289 . . . . . . . . . . . . . . . . . . . . . . . . 25 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → (𝑁𝐿 → (0 ≤ (𝑀𝐿) → 𝑁𝑀)))
5857adantl 277 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (𝑁𝐿 → (0 ≤ (𝑀𝐿) → 𝑁𝑀)))
5958imp 124 . . . . . . . . . . . . . . . . . . . . . . 23 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → (0 ≤ (𝑀𝐿) → 𝑁𝑀))
6059impcom 125 . . . . . . . . . . . . . . . . . . . . . 22 ((0 ≤ (𝑀𝐿) ∧ (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿)) → 𝑁𝑀)
6144adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑁 ∈ ℝ)
6261adantr 276 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → 𝑁 ∈ ℝ)
6343adantr 276 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → 𝑀 ∈ ℝ)
6463adantr 276 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → 𝑀 ∈ ℝ)
6546adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → 𝐿 ∈ ℝ)
6662, 64, 653jca 1204 . . . . . . . . . . . . . . . . . . . . . . . . 25 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → (𝑁 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ 𝐿 ∈ ℝ))
6766adantl 277 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (𝑁 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ 𝐿 ∈ ℝ))
6867ad2antrl 490 . . . . . . . . . . . . . . . . . . . . . . 23 ((0 ≤ (𝑀𝐿) ∧ (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿)) → (𝑁 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ 𝐿 ∈ ℝ))
69 lesub1 8678 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝑁 ∈ ℝ ∧ 𝑀 ∈ ℝ ∧ 𝐿 ∈ ℝ) → (𝑁𝑀 ↔ (𝑁𝐿) ≤ (𝑀𝐿)))
7068, 69syl 14 . . . . . . . . . . . . . . . . . . . . . 22 ((0 ≤ (𝑀𝐿) ∧ (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿)) → (𝑁𝑀 ↔ (𝑁𝐿) ≤ (𝑀𝐿)))
7160, 70mpbid 147 . . . . . . . . . . . . . . . . . . . . 21 ((0 ≤ (𝑀𝐿) ∧ (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿)) → (𝑁𝐿) ≤ (𝑀𝐿))
72 swrdlend 11288 . . . . . . . . . . . . . . . . . . . . 21 ((𝐵 ∈ Word 𝑉 ∧ (𝑀𝐿) ∈ ℤ ∧ (𝑁𝐿) ∈ ℤ) → ((𝑁𝐿) ≤ (𝑀𝐿) → (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩) = ∅))
7342, 71, 72sylc 62 . . . . . . . . . . . . . . . . . . . 20 ((0 ≤ (𝑀𝐿) ∧ (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿)) → (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩) = ∅)
7426, 73eqtrd 2264 . . . . . . . . . . . . . . . . . . 19 ((0 ≤ (𝑀𝐿) ∧ (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿)) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = ∅)
7574ex 115 . . . . . . . . . . . . . . . . . 18 (0 ≤ (𝑀𝐿) → ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = ∅))
76 iffalse 3617 . . . . . . . . . . . . . . . . . . . . . 22 (¬ 0 ≤ (𝑀𝐿) → if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0) = 0)
7776opeq1d 3873 . . . . . . . . . . . . . . . . . . . . 21 (¬ 0 ≤ (𝑀𝐿) → ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩ = ⟨0, (𝑁𝐿)⟩)
7877oveq2d 6044 . . . . . . . . . . . . . . . . . . . 20 (¬ 0 ≤ (𝑀𝐿) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = (𝐵 substr ⟨0, (𝑁𝐿)⟩))
79 simplr 529 . . . . . . . . . . . . . . . . . . . . . . 23 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → 𝐵 ∈ Word 𝑉)
8079adantr 276 . . . . . . . . . . . . . . . . . . . . . 22 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → 𝐵 ∈ Word 𝑉)
81 0zd 9535 . . . . . . . . . . . . . . . . . . . . . 22 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → 0 ∈ ℤ)
8234, 28, 35syl2an 289 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → (𝑁𝐿) ∈ ℤ)
8382adantl 277 . . . . . . . . . . . . . . . . . . . . . . 23 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (𝑁𝐿) ∈ ℤ)
8483adantr 276 . . . . . . . . . . . . . . . . . . . . . 22 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → (𝑁𝐿) ∈ ℤ)
8580, 81, 843jca 1204 . . . . . . . . . . . . . . . . . . . . 21 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → (𝐵 ∈ Word 𝑉 ∧ 0 ∈ ℤ ∧ (𝑁𝐿) ∈ ℤ))
8661, 46anim12i 338 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → (𝑁 ∈ ℝ ∧ 𝐿 ∈ ℝ))
8786adantl 277 . . . . . . . . . . . . . . . . . . . . . . 23 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (𝑁 ∈ ℝ ∧ 𝐿 ∈ ℝ))
88 suble0 8698 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝑁 ∈ ℝ ∧ 𝐿 ∈ ℝ) → ((𝑁𝐿) ≤ 0 ↔ 𝑁𝐿))
8987, 88syl 14 . . . . . . . . . . . . . . . . . . . . . 22 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → ((𝑁𝐿) ≤ 0 ↔ 𝑁𝐿))
9089biimpar 297 . . . . . . . . . . . . . . . . . . . . 21 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → (𝑁𝐿) ≤ 0)
91 swrdlend 11288 . . . . . . . . . . . . . . . . . . . . 21 ((𝐵 ∈ Word 𝑉 ∧ 0 ∈ ℤ ∧ (𝑁𝐿) ∈ ℤ) → ((𝑁𝐿) ≤ 0 → (𝐵 substr ⟨0, (𝑁𝐿)⟩) = ∅))
9285, 90, 91sylc 62 . . . . . . . . . . . . . . . . . . . 20 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → (𝐵 substr ⟨0, (𝑁𝐿)⟩) = ∅)
9378, 92sylan9eq 2284 . . . . . . . . . . . . . . . . . . 19 ((¬ 0 ≤ (𝑀𝐿) ∧ (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿)) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = ∅)
9493ex 115 . . . . . . . . . . . . . . . . . 18 (¬ 0 ≤ (𝑀𝐿) → ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = ∅))
9575, 94jaoi 724 . . . . . . . . . . . . . . . . 17 ((0 ≤ (𝑀𝐿) ∨ ¬ 0 ≤ (𝑀𝐿)) → ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = ∅))
9622, 95syl 14 . . . . . . . . . . . . . . . 16 (DECID 0 ≤ (𝑀𝐿) → ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = ∅))
9721, 96mpcom 36 . . . . . . . . . . . . . . 15 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = ∅)
9812, 97oveq12d 6046 . . . . . . . . . . . . . 14 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = ((𝐴 substr ⟨𝑀, 𝑁⟩) ++ ∅))
99 simpll 527 . . . . . . . . . . . . . . . . 17 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → 𝐴 ∈ Word 𝑉)
10014nn0zd 9644 . . . . . . . . . . . . . . . . 17 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → 𝑀 ∈ ℤ)
10134ad2antrl 490 . . . . . . . . . . . . . . . . 17 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → 𝑁 ∈ ℤ)
102 swrdclg 11280 . . . . . . . . . . . . . . . . 17 ((𝐴 ∈ Word 𝑉𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝐴 substr ⟨𝑀, 𝑁⟩) ∈ Word 𝑉)
10399, 100, 101, 102syl3anc 1274 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (𝐴 substr ⟨𝑀, 𝑁⟩) ∈ Word 𝑉)
104 ccatrid 11233 . . . . . . . . . . . . . . . 16 ((𝐴 substr ⟨𝑀, 𝑁⟩) ∈ Word 𝑉 → ((𝐴 substr ⟨𝑀, 𝑁⟩) ++ ∅) = (𝐴 substr ⟨𝑀, 𝑁⟩))
105103, 104syl 14 . . . . . . . . . . . . . . 15 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → ((𝐴 substr ⟨𝑀, 𝑁⟩) ++ ∅) = (𝐴 substr ⟨𝑀, 𝑁⟩))
106105adantr 276 . . . . . . . . . . . . . 14 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → ((𝐴 substr ⟨𝑀, 𝑁⟩) ++ ∅) = (𝐴 substr ⟨𝑀, 𝑁⟩))
10798, 106eqtrd 2264 . . . . . . . . . . . . 13 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝑁𝐿) → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = (𝐴 substr ⟨𝑀, 𝑁⟩))
108 iffalse 3617 . . . . . . . . . . . . . . . . . . 19 𝑁𝐿 → if(𝑁𝐿, 𝑁, 𝐿) = 𝐿)
1091083ad2ant2 1046 . . . . . . . . . . . . . . . . . 18 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿𝐿𝑀) → if(𝑁𝐿, 𝑁, 𝐿) = 𝐿)
110109opeq2d 3874 . . . . . . . . . . . . . . . . 17 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿𝐿𝑀) → ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩ = ⟨𝑀, 𝐿⟩)
111110oveq2d 6044 . . . . . . . . . . . . . . . 16 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿𝐿𝑀) → (𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) = (𝐴 substr ⟨𝑀, 𝐿⟩))
112 simpl 109 . . . . . . . . . . . . . . . . . . . . 21 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → 𝐴 ∈ Word 𝑉)
113112, 30, 283anim123i 1211 . . . . . . . . . . . . . . . . . . . 20 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → (𝐴 ∈ Word 𝑉𝑀 ∈ ℤ ∧ 𝐿 ∈ ℤ))
1141133expb 1231 . . . . . . . . . . . . . . . . . . 19 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (𝐴 ∈ Word 𝑉𝑀 ∈ ℤ ∧ 𝐿 ∈ ℤ))
115 swrdlend 11288 . . . . . . . . . . . . . . . . . . 19 ((𝐴 ∈ Word 𝑉𝑀 ∈ ℤ ∧ 𝐿 ∈ ℤ) → (𝐿𝑀 → (𝐴 substr ⟨𝑀, 𝐿⟩) = ∅))
116114, 115syl 14 . . . . . . . . . . . . . . . . . 18 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (𝐿𝑀 → (𝐴 substr ⟨𝑀, 𝐿⟩) = ∅))
117116imp 124 . . . . . . . . . . . . . . . . 17 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝐿𝑀) → (𝐴 substr ⟨𝑀, 𝐿⟩) = ∅)
1181173adant2 1043 . . . . . . . . . . . . . . . 16 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿𝐿𝑀) → (𝐴 substr ⟨𝑀, 𝐿⟩) = ∅)
119111, 118eqtrd 2264 . . . . . . . . . . . . . . 15 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿𝐿𝑀) → (𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) = ∅)
12063, 46, 47syl2an 289 . . . . . . . . . . . . . . . . . . . . 21 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → (0 ≤ (𝑀𝐿) ↔ 𝐿𝑀))
121120biimprd 158 . . . . . . . . . . . . . . . . . . . 20 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → (𝐿𝑀 → 0 ≤ (𝑀𝐿)))
122121adantl 277 . . . . . . . . . . . . . . . . . . 19 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (𝐿𝑀 → 0 ≤ (𝑀𝐿)))
123122imp 124 . . . . . . . . . . . . . . . . . 18 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ 𝐿𝑀) → 0 ≤ (𝑀𝐿))
1241233adant2 1043 . . . . . . . . . . . . . . . . 17 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿𝐿𝑀) → 0 ≤ (𝑀𝐿))
125124, 24syl 14 . . . . . . . . . . . . . . . 16 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿𝐿𝑀) → ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩ = ⟨(𝑀𝐿), (𝑁𝐿)⟩)
126125oveq2d 6044 . . . . . . . . . . . . . . 15 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿𝐿𝑀) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩))
127119, 126oveq12d 6046 . . . . . . . . . . . . . 14 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿𝐿𝑀) → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = (∅ ++ (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩)))
128 swrdclg 11280 . . . . . . . . . . . . . . . 16 ((𝐵 ∈ Word 𝑉 ∧ (𝑀𝐿) ∈ ℤ ∧ (𝑁𝐿) ∈ ℤ) → (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩) ∈ Word 𝑉)
129 ccatlid 11232 . . . . . . . . . . . . . . . 16 ((𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩) ∈ Word 𝑉 → (∅ ++ (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩)) = (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩))
13041, 128, 1293syl 17 . . . . . . . . . . . . . . 15 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (∅ ++ (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩)) = (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩))
1311303ad2ant1 1045 . . . . . . . . . . . . . 14 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿𝐿𝑀) → (∅ ++ (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩)) = (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩))
132127, 131eqtrd 2264 . . . . . . . . . . . . 13 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿𝐿𝑀) → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩))
1331083ad2ant2 1046 . . . . . . . . . . . . . . . 16 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿 ∧ ¬ 𝐿𝑀) → if(𝑁𝐿, 𝑁, 𝐿) = 𝐿)
134133opeq2d 3874 . . . . . . . . . . . . . . 15 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿 ∧ ¬ 𝐿𝑀) → ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩ = ⟨𝑀, 𝐿⟩)
135134oveq2d 6044 . . . . . . . . . . . . . 14 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿 ∧ ¬ 𝐿𝑀) → (𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) = (𝐴 substr ⟨𝑀, 𝐿⟩))
13643, 46, 47syl2an 289 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝑀 ∈ ℕ0𝐿 ∈ ℕ0) → (0 ≤ (𝑀𝐿) ↔ 𝐿𝑀))
137136adantlr 477 . . . . . . . . . . . . . . . . . . . . . 22 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → (0 ≤ (𝑀𝐿) ↔ 𝐿𝑀))
138137adantl 277 . . . . . . . . . . . . . . . . . . . . 21 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (0 ≤ (𝑀𝐿) ↔ 𝐿𝑀))
139138biimpd 144 . . . . . . . . . . . . . . . . . . . 20 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (0 ≤ (𝑀𝐿) → 𝐿𝑀))
140139con3dimp 640 . . . . . . . . . . . . . . . . . . 19 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝐿𝑀) → ¬ 0 ≤ (𝑀𝐿))
1411403adant2 1043 . . . . . . . . . . . . . . . . . 18 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿 ∧ ¬ 𝐿𝑀) → ¬ 0 ≤ (𝑀𝐿))
142141, 76syl 14 . . . . . . . . . . . . . . . . 17 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿 ∧ ¬ 𝐿𝑀) → if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0) = 0)
143142opeq1d 3873 . . . . . . . . . . . . . . . 16 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿 ∧ ¬ 𝐿𝑀) → ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩ = ⟨0, (𝑁𝐿)⟩)
144143oveq2d 6044 . . . . . . . . . . . . . . 15 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿 ∧ ¬ 𝐿𝑀) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = (𝐵 substr ⟨0, (𝑁𝐿)⟩))
145793ad2ant1 1045 . . . . . . . . . . . . . . . 16 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿 ∧ ¬ 𝐿𝑀) → 𝐵 ∈ Word 𝑉)
146 simplrr 538 . . . . . . . . . . . . . . . . . 18 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿) → 𝐿 ∈ ℕ0)
147 simprlr 540 . . . . . . . . . . . . . . . . . . 19 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → 𝑁 ∈ ℕ0)
148147adantr 276 . . . . . . . . . . . . . . . . . 18 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿) → 𝑁 ∈ ℕ0)
149 zltnle 9569 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝐿 < 𝑁 ↔ ¬ 𝑁𝐿))
15028, 34, 149syl2anr 290 . . . . . . . . . . . . . . . . . . . . 21 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → (𝐿 < 𝑁 ↔ ¬ 𝑁𝐿))
151 ltle 8309 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐿 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (𝐿 < 𝑁𝐿𝑁))
15246, 61, 151syl2anr 290 . . . . . . . . . . . . . . . . . . . . 21 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → (𝐿 < 𝑁𝐿𝑁))
153150, 152sylbird 170 . . . . . . . . . . . . . . . . . . . 20 (((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0) → (¬ 𝑁𝐿𝐿𝑁))
154153adantl 277 . . . . . . . . . . . . . . . . . . 19 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → (¬ 𝑁𝐿𝐿𝑁))
155154imp 124 . . . . . . . . . . . . . . . . . 18 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿) → 𝐿𝑁)
156 nn0sub2 9597 . . . . . . . . . . . . . . . . . 18 ((𝐿 ∈ ℕ0𝑁 ∈ ℕ0𝐿𝑁) → (𝑁𝐿) ∈ ℕ0)
157146, 148, 155, 156syl3anc 1274 . . . . . . . . . . . . . . . . 17 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿) → (𝑁𝐿) ∈ ℕ0)
1581573adant3 1044 . . . . . . . . . . . . . . . 16 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿 ∧ ¬ 𝐿𝑀) → (𝑁𝐿) ∈ ℕ0)
159 pfxval 11304 . . . . . . . . . . . . . . . 16 ((𝐵 ∈ Word 𝑉 ∧ (𝑁𝐿) ∈ ℕ0) → (𝐵 prefix (𝑁𝐿)) = (𝐵 substr ⟨0, (𝑁𝐿)⟩))
160145, 158, 159syl2anc 411 . . . . . . . . . . . . . . 15 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿 ∧ ¬ 𝐿𝑀) → (𝐵 prefix (𝑁𝐿)) = (𝐵 substr ⟨0, (𝑁𝐿)⟩))
161144, 160eqtr4d 2267 . . . . . . . . . . . . . 14 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿 ∧ ¬ 𝐿𝑀) → (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩) = (𝐵 prefix (𝑁𝐿)))
162135, 161oveq12d 6046 . . . . . . . . . . . . 13 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿 ∧ ¬ 𝐿𝑀) → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿))))
16328ad2antll 491 . . . . . . . . . . . . . 14 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → 𝐿 ∈ ℤ)
164 zdcle 9600 . . . . . . . . . . . . . 14 ((𝑁 ∈ ℤ ∧ 𝐿 ∈ ℤ) → DECID 𝑁𝐿)
165101, 163, 164syl2anc 411 . . . . . . . . . . . . 13 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → DECID 𝑁𝐿)
166146nn0zd 9644 . . . . . . . . . . . . . 14 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿) → 𝐿 ∈ ℤ)
167100adantr 276 . . . . . . . . . . . . . 14 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿) → 𝑀 ∈ ℤ)
168 zdcle 9600 . . . . . . . . . . . . . 14 ((𝐿 ∈ ℤ ∧ 𝑀 ∈ ℤ) → DECID 𝐿𝑀)
169166, 167, 168syl2anc 411 . . . . . . . . . . . . 13 ((((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) ∧ ¬ 𝑁𝐿) → DECID 𝐿𝑀)
170107, 132, 162, 165, 1692if2dc 3649 . . . . . . . . . . . 12 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝐿 ∈ ℕ0)) → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = if(𝑁𝐿, (𝐴 substr ⟨𝑀, 𝑁⟩), if(𝐿𝑀, (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩), ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿))))))
171170exp32 365 . . . . . . . . . . 11 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝐿 ∈ ℕ0 → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = if(𝑁𝐿, (𝐴 substr ⟨𝑀, 𝑁⟩), if(𝐿𝑀, (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩), ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿))))))))
172171com12 30 . . . . . . . . . 10 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝐿 ∈ ℕ0 → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = if(𝑁𝐿, (𝐴 substr ⟨𝑀, 𝑁⟩), if(𝐿𝑀, (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩), ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿))))))))
1731723adant3 1044 . . . . . . . . 9 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0𝑀𝑁) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝐿 ∈ ℕ0 → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = if(𝑁𝐿, (𝐴 substr ⟨𝑀, 𝑁⟩), if(𝐿𝑀, (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩), ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿))))))))
1748, 173sylbi 121 . . . . . . . 8 (𝑀 ∈ (0...𝑁) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝐿 ∈ ℕ0 → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = if(𝑁𝐿, (𝐴 substr ⟨𝑀, 𝑁⟩), if(𝐿𝑀, (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩), ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿))))))))
175174adantr 276 . . . . . . 7 ((𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(𝐿 + (♯‘𝐵)))) → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → (𝐿 ∈ ℕ0 → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = if(𝑁𝐿, (𝐴 substr ⟨𝑀, 𝑁⟩), if(𝐿𝑀, (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩), ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿))))))))
176175com13 80 . . . . . 6 (𝐿 ∈ ℕ0 → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(𝐿 + (♯‘𝐵)))) → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = if(𝑁𝐿, (𝐴 substr ⟨𝑀, 𝑁⟩), if(𝐿𝑀, (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩), ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿))))))))
1777, 176sylbi 121 . . . . 5 ((♯‘𝐴) ∈ ℕ0 → ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(𝐿 + (♯‘𝐵)))) → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = if(𝑁𝐿, (𝐴 substr ⟨𝑀, 𝑁⟩), if(𝐿𝑀, (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩), ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿))))))))
1785, 177mpcom 36 . . . 4 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(𝐿 + (♯‘𝐵)))) → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = if(𝑁𝐿, (𝐴 substr ⟨𝑀, 𝑁⟩), if(𝐿𝑀, (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩), ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿)))))))
179178imp 124 . . 3 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(𝐿 + (♯‘𝐵))))) → ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)) = if(𝑁𝐿, (𝐴 substr ⟨𝑀, 𝑁⟩), if(𝐿𝑀, (𝐵 substr ⟨(𝑀𝐿), (𝑁𝐿)⟩), ((𝐴 substr ⟨𝑀, 𝐿⟩) ++ (𝐵 prefix (𝑁𝐿))))))
1803, 179eqtr4d 2267 . 2 (((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) ∧ (𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(𝐿 + (♯‘𝐵))))) → ((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) = ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩)))
181180ex 115 1 ((𝐴 ∈ Word 𝑉𝐵 ∈ Word 𝑉) → ((𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(𝐿 + (♯‘𝐵)))) → ((𝐴 ++ 𝐵) substr ⟨𝑀, 𝑁⟩) = ((𝐴 substr ⟨𝑀, if(𝑁𝐿, 𝑁, 𝐿)⟩) ++ (𝐵 substr ⟨if(0 ≤ (𝑀𝐿), (𝑀𝐿), 0), (𝑁𝐿)⟩))))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104  wb 105  wo 716  DECID wdc 842  w3a 1005   = wceq 1398  wcel 2202  c0 3496  ifcif 3607  cop 3676   class class class wbr 4093  cfv 5333  (class class class)co 6028  cr 8074  0cc0 8075   + caddc 8078   < clt 8256  cle 8257  cmin 8392  0cn0 9444  cz 9523  ...cfz 10288  chash 11083  Word cword 11162   ++ cconcat 11216   substr csubstr 11275   prefix cpfx 11302
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 619  ax-in2 620  ax-io 717  ax-5 1496  ax-7 1497  ax-gen 1498  ax-ie1 1542  ax-ie2 1543  ax-8 1553  ax-10 1554  ax-11 1555  ax-i12 1556  ax-bndl 1558  ax-4 1559  ax-17 1575  ax-i9 1579  ax-ial 1583  ax-i5r 1584  ax-13 2204  ax-14 2205  ax-ext 2213  ax-coll 4209  ax-sep 4212  ax-nul 4220  ax-pow 4270  ax-pr 4305  ax-un 4536  ax-setind 4641  ax-iinf 4692  ax-cnex 8166  ax-resscn 8167  ax-1cn 8168  ax-1re 8169  ax-icn 8170  ax-addcl 8171  ax-addrcl 8172  ax-mulcl 8173  ax-addcom 8175  ax-addass 8177  ax-distr 8179  ax-i2m1 8180  ax-0lt1 8181  ax-0id 8183  ax-rnegex 8184  ax-cnre 8186  ax-pre-ltirr 8187  ax-pre-ltwlin 8188  ax-pre-lttrn 8189  ax-pre-apti 8190  ax-pre-ltadd 8191
This theorem depends on definitions:  df-bi 117  df-dc 843  df-3or 1006  df-3an 1007  df-tru 1401  df-fal 1404  df-nf 1510  df-sb 1811  df-eu 2082  df-mo 2083  df-clab 2218  df-cleq 2224  df-clel 2227  df-nfc 2364  df-ne 2404  df-nel 2499  df-ral 2516  df-rex 2517  df-reu 2518  df-rab 2520  df-v 2805  df-sbc 3033  df-csb 3129  df-dif 3203  df-un 3205  df-in 3207  df-ss 3214  df-nul 3497  df-if 3608  df-pw 3658  df-sn 3679  df-pr 3680  df-op 3682  df-uni 3899  df-int 3934  df-iun 3977  df-br 4094  df-opab 4156  df-mpt 4157  df-tr 4193  df-id 4396  df-iord 4469  df-on 4471  df-ilim 4472  df-suc 4474  df-iom 4695  df-xp 4737  df-rel 4738  df-cnv 4739  df-co 4740  df-dm 4741  df-rn 4742  df-res 4743  df-ima 4744  df-iota 5293  df-fun 5335  df-fn 5336  df-f 5337  df-f1 5338  df-fo 5339  df-f1o 5340  df-fv 5341  df-riota 5981  df-ov 6031  df-oprab 6032  df-mpo 6033  df-1st 6312  df-2nd 6313  df-recs 6514  df-frec 6600  df-1o 6625  df-er 6745  df-en 6953  df-dom 6954  df-fin 6955  df-pnf 8258  df-mnf 8259  df-xr 8260  df-ltxr 8261  df-le 8262  df-sub 8394  df-neg 8395  df-inn 9186  df-n0 9445  df-z 9524  df-uz 9800  df-fz 10289  df-fzo 10423  df-ihash 11084  df-word 11163  df-concat 11217  df-substr 11276  df-pfx 11303
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator