| Step |
Hyp |
Ref |
Expression |
| 1 |
|
df-pfx |
|- prefix = ( s e. _V , l e. NN0 |-> ( s substr <. 0 , l >. ) ) |
| 2 |
1
|
a1i |
|- ( ( S e. V /\ L e. NN0 ) -> prefix = ( s e. _V , l e. NN0 |-> ( s substr <. 0 , l >. ) ) ) |
| 3 |
|
simpl |
|- ( ( s = S /\ l = L ) -> s = S ) |
| 4 |
|
opeq2 |
|- ( l = L -> <. 0 , l >. = <. 0 , L >. ) |
| 5 |
4
|
adantl |
|- ( ( s = S /\ l = L ) -> <. 0 , l >. = <. 0 , L >. ) |
| 6 |
3 5
|
oveq12d |
|- ( ( s = S /\ l = L ) -> ( s substr <. 0 , l >. ) = ( S substr <. 0 , L >. ) ) |
| 7 |
6
|
adantl |
|- ( ( ( S e. V /\ L e. NN0 ) /\ ( s = S /\ l = L ) ) -> ( s substr <. 0 , l >. ) = ( S substr <. 0 , L >. ) ) |
| 8 |
|
elex |
|- ( S e. V -> S e. _V ) |
| 9 |
8
|
adantr |
|- ( ( S e. V /\ L e. NN0 ) -> S e. _V ) |
| 10 |
|
simpr |
|- ( ( S e. V /\ L e. NN0 ) -> L e. NN0 ) |
| 11 |
|
ovexd |
|- ( ( S e. V /\ L e. NN0 ) -> ( S substr <. 0 , L >. ) e. _V ) |
| 12 |
2 7 9 10 11
|
ovmpod |
|- ( ( S e. V /\ L e. NN0 ) -> ( S prefix L ) = ( S substr <. 0 , L >. ) ) |