Metamath Proof Explorer


Definition df-splice

Description: Define an operation which replaces portions of words. (Contributed by Stefan O'Rear, 15-Aug-2015) (Revised by AV, 14-Oct-2022)

Ref Expression
Assertion df-splice splice = ( 𝑠 ∈ V , 𝑏 ∈ V ↦ ( ( ( 𝑠 prefix ( 1st ‘ ( 1st𝑏 ) ) ) ++ ( 2nd𝑏 ) ) ++ ( 𝑠 substr ⟨ ( 2nd ‘ ( 1st𝑏 ) ) , ( ♯ ‘ 𝑠 ) ⟩ ) ) )

Detailed syntax breakdown

Step Hyp Ref Expression
0 csplice splice
1 vs 𝑠
2 cvv V
3 vb 𝑏
4 1 cv 𝑠
5 cpfx prefix
6 c1st 1st
7 3 cv 𝑏
8 7 6 cfv ( 1st𝑏 )
9 8 6 cfv ( 1st ‘ ( 1st𝑏 ) )
10 4 9 5 co ( 𝑠 prefix ( 1st ‘ ( 1st𝑏 ) ) )
11 cconcat ++
12 c2nd 2nd
13 7 12 cfv ( 2nd𝑏 )
14 10 13 11 co ( ( 𝑠 prefix ( 1st ‘ ( 1st𝑏 ) ) ) ++ ( 2nd𝑏 ) )
15 csubstr substr
16 8 12 cfv ( 2nd ‘ ( 1st𝑏 ) )
17 chash
18 4 17 cfv ( ♯ ‘ 𝑠 )
19 16 18 cop ⟨ ( 2nd ‘ ( 1st𝑏 ) ) , ( ♯ ‘ 𝑠 ) ⟩
20 4 19 15 co ( 𝑠 substr ⟨ ( 2nd ‘ ( 1st𝑏 ) ) , ( ♯ ‘ 𝑠 ) ⟩ )
21 14 20 11 co ( ( ( 𝑠 prefix ( 1st ‘ ( 1st𝑏 ) ) ) ++ ( 2nd𝑏 ) ) ++ ( 𝑠 substr ⟨ ( 2nd ‘ ( 1st𝑏 ) ) , ( ♯ ‘ 𝑠 ) ⟩ ) )
22 1 3 2 2 21 cmpo ( 𝑠 ∈ V , 𝑏 ∈ V ↦ ( ( ( 𝑠 prefix ( 1st ‘ ( 1st𝑏 ) ) ) ++ ( 2nd𝑏 ) ) ++ ( 𝑠 substr ⟨ ( 2nd ‘ ( 1st𝑏 ) ) , ( ♯ ‘ 𝑠 ) ⟩ ) ) )
23 0 22 wceq splice = ( 𝑠 ∈ V , 𝑏 ∈ V ↦ ( ( ( 𝑠 prefix ( 1st ‘ ( 1st𝑏 ) ) ) ++ ( 2nd𝑏 ) ) ++ ( 𝑠 substr ⟨ ( 2nd ‘ ( 1st𝑏 ) ) , ( ♯ ‘ 𝑠 ) ⟩ ) ) )