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

Theorem pfxccat3a 11532
Description: A prefix of a concatenation is either a prefix of the first concatenated word or a concatenation of the first word with a prefix of the second word. (Contributed by Alexander van der Vekens, 31-Mar-2018.) (Revised by AV, 10-May-2020.)
Hypotheses
Ref Expression
swrdccatin2.l 𝐿 = (♯‘𝐴)
pfxccatpfx2.m 𝑀 = (♯‘𝐵)
Assertion
Ref Expression
pfxccat3a ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝑁 ∈ (0...(𝐿 + 𝑀)) → ((𝐴 ++ 𝐵) prefix 𝑁) = if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿))))))

Proof of Theorem pfxccat3a
StepHypRef Expression
1 elfznn0 10538 . . . . . 6 (𝑁 ∈ (0...(𝐿 + 𝑀)) → 𝑁 ∈ ℕ0)
21adantl 277 . . . . 5 (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀))) → 𝑁 ∈ ℕ0)
32nn0zd 9777 . . . 4 (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀))) → 𝑁 ∈ ℤ)
4 swrdccatin2.l . . . . . . . 8 𝐿 = (♯‘𝐴)
5 lencl 11330 . . . . . . . 8 (𝐴 ∈ Word 𝑉 → (♯‘𝐴) ∈ ℕ0)
64, 5eqeltrid 2325 . . . . . . 7 (𝐴 ∈ Word 𝑉 → 𝐿 ∈ ℕ0)
76adantr 276 . . . . . 6 ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → 𝐿 ∈ ℕ0)
87adantr 276 . . . . 5 (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀))) → 𝐿 ∈ ℕ0)
98nn0zd 9777 . . . 4 (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀))) → 𝐿 ∈ ℤ)
10 zdcle 9732 . . . 4 ((𝑁 ∈ ℤ ∧ 𝐿 ∈ ℤ) → DECID 𝑁 ≤ 𝐿)
113, 9, 10syl2anc 415 . . 3 (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀))) → DECID 𝑁 ≤ 𝐿)
12 exmiddc 848 . . . 4 (DECID 𝑁 ≤ 𝐿 → (𝑁 ≤ 𝐿 ∨ ¬ 𝑁 ≤ 𝐿))
13 simprl 535 . . . . . . . . 9 ((𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉))
142adantl 277 . . . . . . . . . 10 ((𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → 𝑁 ∈ ℕ0)
158adantl 277 . . . . . . . . . 10 ((𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → 𝐿 ∈ ℕ0)
16 simpl 109 . . . . . . . . . 10 ((𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → 𝑁 ≤ 𝐿)
17 elfz2nn0 10536 . . . . . . . . . 10 (𝑁 ∈ (0...𝐿) ↔ (𝑁 ∈ ℕ0 ∧ 𝐿 ∈ ℕ0 ∧ 𝑁 ≤ 𝐿))
1814, 15, 16, 17syl3anbrc 1212 . . . . . . . . 9 ((𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → 𝑁 ∈ (0...𝐿))
19 df-3an 1011 . . . . . . . . 9 ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) ↔ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...𝐿)))
2013, 18, 19sylanbrc 421 . . . . . . . 8 ((𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)))
214pfxccatpfx1 11530 . . . . . . . 8 ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ (0...𝐿)) → ((𝐴 ++ 𝐵) prefix 𝑁) = (𝐴 prefix 𝑁))
2220, 21syl 14 . . . . . . 7 ((𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → ((𝐴 ++ 𝐵) prefix 𝑁) = (𝐴 prefix 𝑁))
23 iftrue 3645 . . . . . . . 8 (𝑁 ≤ 𝐿 → if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿)))) = (𝐴 prefix 𝑁))
2423adantr 276 . . . . . . 7 ((𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿)))) = (𝐴 prefix 𝑁))
2522, 24eqtr4d 2274 . . . . . 6 ((𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → ((𝐴 ++ 𝐵) prefix 𝑁) = if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿)))))
2625ex 115 . . . . 5 (𝑁 ≤ 𝐿 → (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀))) → ((𝐴 ++ 𝐵) prefix 𝑁) = if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿))))))
27 simprl 535 . . . . . . . . 9 ((¬ 𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉))
28 elfz2nn0 10536 . . . . . . . . . . . 12 (𝑁 ∈ (0...(𝐿 + 𝑀)) ↔ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀)))
294eleq1i 2304 . . . . . . . . . . . . . . 15 (𝐿 ∈ ℕ0 ↔ (♯‘𝐴) ∈ ℕ0)
30 nn0ltp1le 9718 . . . . . . . . . . . . . . . . . . 19 ((𝐿 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (𝐿 < 𝑁 ↔ (𝐿 + 1) ≤ 𝑁))
31 nn0z 9675 . . . . . . . . . . . . . . . . . . . 20 (𝐿 ∈ ℕ0 → 𝐿 ∈ ℤ)
32 nn0z 9675 . . . . . . . . . . . . . . . . . . . 20 (𝑁 ∈ ℕ0 → 𝑁 ∈ ℤ)
33 zltnle 9701 . . . . . . . . . . . . . . . . . . . 20 ((𝐿 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝐿 < 𝑁 ↔ ¬ 𝑁 ≤ 𝐿))
3431, 32, 33syl2an 289 . . . . . . . . . . . . . . . . . . 19 ((𝐿 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (𝐿 < 𝑁 ↔ ¬ 𝑁 ≤ 𝐿))
3530, 34bitr3d 190 . . . . . . . . . . . . . . . . . 18 ((𝐿 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → ((𝐿 + 1) ≤ 𝑁 ↔ ¬ 𝑁 ≤ 𝐿))
36353ad2antr1 1193 . . . . . . . . . . . . . . . . 17 ((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) → ((𝐿 + 1) ≤ 𝑁 ↔ ¬ 𝑁 ≤ 𝐿))
37 simpr3 1036 . . . . . . . . . . . . . . . . . . . 20 ((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) → 𝑁 ≤ (𝐿 + 𝑀))
3837anim1ci 341 . . . . . . . . . . . . . . . . . . 19 (((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) ∧ (𝐿 + 1) ≤ 𝑁) → ((𝐿 + 1) ≤ 𝑁 ∧ 𝑁 ≤ (𝐿 + 𝑀)))
39323ad2ant1 1049 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀)) → 𝑁 ∈ ℤ)
4039adantl 277 . . . . . . . . . . . . . . . . . . . . 21 ((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) → 𝑁 ∈ ℤ)
4140adantr 276 . . . . . . . . . . . . . . . . . . . 20 (((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) ∧ (𝐿 + 1) ≤ 𝑁) → 𝑁 ∈ ℤ)
42 peano2nn0 9614 . . . . . . . . . . . . . . . . . . . . . . 23 (𝐿 ∈ ℕ0 → (𝐿 + 1) ∈ ℕ0)
4342nn0zd 9777 . . . . . . . . . . . . . . . . . . . . . 22 (𝐿 ∈ ℕ0 → (𝐿 + 1) ∈ ℤ)
4443adantr 276 . . . . . . . . . . . . . . . . . . . . 21 ((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) → (𝐿 + 1) ∈ ℤ)
4544adantr 276 . . . . . . . . . . . . . . . . . . . 20 (((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) ∧ (𝐿 + 1) ≤ 𝑁) → (𝐿 + 1) ∈ ℤ)
46 nn0z 9675 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝐿 + 𝑀) ∈ ℕ0 → (𝐿 + 𝑀) ∈ ℤ)
47463ad2ant2 1050 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀)) → (𝐿 + 𝑀) ∈ ℤ)
4847adantl 277 . . . . . . . . . . . . . . . . . . . . 21 ((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) → (𝐿 + 𝑀) ∈ ℤ)
4948adantr 276 . . . . . . . . . . . . . . . . . . . 20 (((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) ∧ (𝐿 + 1) ≤ 𝑁) → (𝐿 + 𝑀) ∈ ℤ)
50 elfz 10434 . . . . . . . . . . . . . . . . . . . 20 ((𝑁 ∈ ℤ ∧ (𝐿 + 1) ∈ ℤ ∧ (𝐿 + 𝑀) ∈ ℤ) → (𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀)) ↔ ((𝐿 + 1) ≤ 𝑁 ∧ 𝑁 ≤ (𝐿 + 𝑀))))
5141, 45, 49, 50syl3anc 1278 . . . . . . . . . . . . . . . . . . 19 (((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) ∧ (𝐿 + 1) ≤ 𝑁) → (𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀)) ↔ ((𝐿 + 1) ≤ 𝑁 ∧ 𝑁 ≤ (𝐿 + 𝑀))))
5238, 51mpbird 167 . . . . . . . . . . . . . . . . . 18 (((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) ∧ (𝐿 + 1) ≤ 𝑁) → 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀)))
5352ex 115 . . . . . . . . . . . . . . . . 17 ((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) → ((𝐿 + 1) ≤ 𝑁 → 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀))))
5436, 53sylbird 170 . . . . . . . . . . . . . . . 16 ((𝐿 ∈ ℕ0 ∧ (𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀))) → (¬ 𝑁 ≤ 𝐿 → 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀))))
5554ex 115 . . . . . . . . . . . . . . 15 (𝐿 ∈ ℕ0 → ((𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀)) → (¬ 𝑁 ≤ 𝐿 → 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀)))))
5629, 55sylbir 135 . . . . . . . . . . . . . 14 ((♯‘𝐴) ∈ ℕ0 → ((𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀)) → (¬ 𝑁 ≤ 𝐿 → 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀)))))
575, 56syl 14 . . . . . . . . . . . . 13 (𝐴 ∈ Word 𝑉 → ((𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀)) → (¬ 𝑁 ≤ 𝐿 → 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀)))))
5857adantr 276 . . . . . . . . . . . 12 ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → ((𝑁 ∈ ℕ0 ∧ (𝐿 + 𝑀) ∈ ℕ0 ∧ 𝑁 ≤ (𝐿 + 𝑀)) → (¬ 𝑁 ≤ 𝐿 → 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀)))))
5928, 58biimtrid 152 . . . . . . . . . . 11 ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝑁 ∈ (0...(𝐿 + 𝑀)) → (¬ 𝑁 ≤ 𝐿 → 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀)))))
6059imp 124 . . . . . . . . . 10 (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀))) → (¬ 𝑁 ≤ 𝐿 → 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀))))
6160impcom 125 . . . . . . . . 9 ((¬ 𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀)))
62 df-3an 1011 . . . . . . . . 9 ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀))) ↔ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀))))
6327, 61, 62sylanbrc 421 . . . . . . . 8 ((¬ 𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → (𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀))))
64 pfxccatpfx2.m . . . . . . . . 9 𝑀 = (♯‘𝐵)
654, 64pfxccatpfx2 11531 . . . . . . . 8 ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉 ∧ 𝑁 ∈ ((𝐿 + 1)...(𝐿 + 𝑀))) → ((𝐴 ++ 𝐵) prefix 𝑁) = (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿))))
6663, 65syl 14 . . . . . . 7 ((¬ 𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → ((𝐴 ++ 𝐵) prefix 𝑁) = (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿))))
67 iffalse 3648 . . . . . . . 8 (¬ 𝑁 ≤ 𝐿 → if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿)))) = (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿))))
6867adantr 276 . . . . . . 7 ((¬ 𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿)))) = (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿))))
6966, 68eqtr4d 2274 . . . . . 6 ((¬ 𝑁 ≤ 𝐿 ∧ ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀)))) → ((𝐴 ++ 𝐵) prefix 𝑁) = if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿)))))
7069ex 115 . . . . 5 (¬ 𝑁 ≤ 𝐿 → (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀))) → ((𝐴 ++ 𝐵) prefix 𝑁) = if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿))))))
7126, 70jaoi 728 . . . 4 ((𝑁 ≤ 𝐿 ∨ ¬ 𝑁 ≤ 𝐿) → (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀))) → ((𝐴 ++ 𝐵) prefix 𝑁) = if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿))))))
7212, 71syl 14 . . 3 (DECID 𝑁 ≤ 𝐿 → (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀))) → ((𝐴 ++ 𝐵) prefix 𝑁) = if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿))))))
7311, 72mpcom 36 . 2 (((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) ∧ 𝑁 ∈ (0...(𝐿 + 𝑀))) → ((𝐴 ++ 𝐵) prefix 𝑁) = if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿)))))
7473ex 115 1 ((𝐴 ∈ Word 𝑉 ∧ 𝐵 ∈ Word 𝑉) → (𝑁 ∈ (0...(𝐿 + 𝑀)) → ((𝐴 ++ 𝐵) prefix 𝑁) = if(𝑁 ≤ 𝐿, (𝐴 prefix 𝑁), (𝐴 ++ (𝐵 prefix (𝑁 − 𝐿))))))
Colors of variables:    wff set class
This proof depends on syntax axioms:  ¬ wn 3   → wi 4   ∧ wa 104   ↔ wb 105   ∨ wo 720  DECID wdc 846   ∧ w3a 1009   = wceq 1402   ∈ wcel 2209  ifcif 3638   class class class wbr 4131  ‘cfv 5380  (class class class)co 6088  0cc0 8185  1c1 8186   + caddc 8188   < clt 8366   ≤ cle 8367   − cmin 8504  ℕ0cn0 9574  ℤcz 9655  ...cfz 10428  ♯chash 11236  Word cword 11326   ++ cconcat 11380   prefix cpfx 11466
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-coll 4248  ax-sep 4251  ax-nul 4261  ax-pow 4313  ax-pr 4348  ax-un 4580  ax-setind 4686  ax-iinf 4737  ax-cnex 8276  ax-resscn 8277  ax-1cn 8278  ax-1re 8279  ax-icn 8280  ax-addcl 8281  ax-addrcl 8282  ax-mulcl 8283  ax-addcom 8285  ax-addass 8287  ax-distr 8289  ax-i2m1 8290  ax-0lt1 8291  ax-0id 8293  ax-rnegex 8294  ax-cnre 8296  ax-pre-ltirr 8297  ax-pre-ltwlin 8298  ax-pre-lttrn 8299  ax-pre-apti 8300  ax-pre-ltadd 8301
This proof depends on definitions:  df-bi 117  df-dc 847  df-3or 1010  df-3an 1011  df-tru 1405  df-fal 1408  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ne 2421  df-nel 2516  df-ral 2533  df-rex 2534  df-reu 2535  df-rab 2537  df-v 2823  df-sbc 3052  df-csb 3148  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-if 3639  df-pw 3690  df-sn 3715  df-pr 3716  df-op 3718  df-uni 3936  df-int 3971  df-iun 4014  df-br 4132  df-opab 4194  df-mpt 4195  df-tr 4232  df-id 4440  df-iord 4513  df-on 4515  df-ilim 4516  df-suc 4518  df-iom 4740  df-xp 4782  df-rel 4783  df-cnv 4784  df-co 4785  df-dm 4786  df-rn 4787  df-res 4788  df-ima 4789  df-iota 5340  df-fun 5382  df-fn 5383  df-f 5384  df-f1 5385  df-fo 5386  df-f1o 5387  df-fv 5388  df-riota 6041  df-ov 6091  df-oprab 6092  df-mpo 6093  df-1st 6378  df-2nd 6379  df-recs 6580  df-frec 6666  df-1o 6691  df-er 6811  df-en 7027  df-dom 7028  df-fin 7029  df-pnf 8368  df-mnf 8369  df-xr 8370  df-ltxr 8371  df-le 8372  df-sub 8506  df-neg 8507  df-inn 9314  df-n0 9575  df-z 9656  df-uz 9938  df-fz 10429  df-fzo 10567  df-ihash 11237  df-word 11327  df-concat 11381  df-substr 11440  df-pfx 11467
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator