| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | sseqval.1 | . . . 4
⊢ (𝜑 → 𝑆 ∈ V) | 
| 2 |  | sseqval.2 | . . . 4
⊢ (𝜑 → 𝑀 ∈ Word 𝑆) | 
| 3 |  | sseqval.3 | . . . 4
⊢ 𝑊 = (Word 𝑆 ∩ (◡♯ “
(ℤ≥‘(♯‘𝑀)))) | 
| 4 |  | sseqval.4 | . . . 4
⊢ (𝜑 → 𝐹:𝑊⟶𝑆) | 
| 5 | 1, 2, 3, 4 | sseqval 34391 | . . 3
⊢ (𝜑 → (𝑀seqstr𝐹) = (𝑀 ∪ (lastS ∘
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))))) | 
| 6 | 5 | fveq1d 6907 | . 2
⊢ (𝜑 → ((𝑀seqstr𝐹)‘𝑁) = ((𝑀 ∪ (lastS ∘
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))))‘𝑁)) | 
| 7 |  | wrdfn 14567 | . . . 4
⊢ (𝑀 ∈ Word 𝑆 → 𝑀 Fn (0..^(♯‘𝑀))) | 
| 8 | 2, 7 | syl 17 | . . 3
⊢ (𝜑 → 𝑀 Fn (0..^(♯‘𝑀))) | 
| 9 |  | fvex 6918 | . . . . . 6
⊢ (𝑥‘((♯‘𝑥) − 1)) ∈
V | 
| 10 |  | df-lsw 14602 | . . . . . 6
⊢ lastS =
(𝑥 ∈ V ↦ (𝑥‘((♯‘𝑥) − 1))) | 
| 11 | 9, 10 | fnmpti 6710 | . . . . 5
⊢ lastS Fn
V | 
| 12 | 11 | a1i 11 | . . . 4
⊢ (𝜑 → lastS Fn
V) | 
| 13 |  | lencl 14572 | . . . . . . 7
⊢ (𝑀 ∈ Word 𝑆 → (♯‘𝑀) ∈
ℕ0) | 
| 14 | 2, 13 | syl 17 | . . . . . 6
⊢ (𝜑 → (♯‘𝑀) ∈
ℕ0) | 
| 15 | 14 | nn0zd 12641 | . . . . 5
⊢ (𝜑 → (♯‘𝑀) ∈
ℤ) | 
| 16 |  | seqfn 14055 | . . . . 5
⊢
((♯‘𝑀)
∈ ℤ → seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})) Fn
(ℤ≥‘(♯‘𝑀))) | 
| 17 | 15, 16 | syl 17 | . . . 4
⊢ (𝜑 → seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})) Fn
(ℤ≥‘(♯‘𝑀))) | 
| 18 |  | ssv 4007 | . . . . 5
⊢ ran
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})) ⊆
V | 
| 19 | 18 | a1i 11 | . . . 4
⊢ (𝜑 → ran
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})) ⊆
V) | 
| 20 |  | fnco 6685 | . . . 4
⊢ ((lastS
Fn V ∧ seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})) Fn
(ℤ≥‘(♯‘𝑀)) ∧ ran seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})) ⊆ V)
→ (lastS ∘ seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))) Fn
(ℤ≥‘(♯‘𝑀))) | 
| 21 | 12, 17, 19, 20 | syl3anc 1372 | . . 3
⊢ (𝜑 → (lastS ∘
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))) Fn
(ℤ≥‘(♯‘𝑀))) | 
| 22 |  | fzouzdisj 13736 | . . . 4
⊢
((0..^(♯‘𝑀)) ∩
(ℤ≥‘(♯‘𝑀))) = ∅ | 
| 23 | 22 | a1i 11 | . . 3
⊢ (𝜑 → ((0..^(♯‘𝑀)) ∩
(ℤ≥‘(♯‘𝑀))) = ∅) | 
| 24 |  | sseqfv2.4 | . . 3
⊢ (𝜑 → 𝑁 ∈
(ℤ≥‘(♯‘𝑀))) | 
| 25 |  | fvun2 7000 | . . 3
⊢ ((𝑀 Fn (0..^(♯‘𝑀)) ∧ (lastS ∘
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))) Fn
(ℤ≥‘(♯‘𝑀)) ∧ (((0..^(♯‘𝑀)) ∩
(ℤ≥‘(♯‘𝑀))) = ∅ ∧ 𝑁 ∈
(ℤ≥‘(♯‘𝑀)))) → ((𝑀 ∪ (lastS ∘
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))))‘𝑁) = ((lastS ∘
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})))‘𝑁)) | 
| 26 | 8, 21, 23, 24, 25 | syl112anc 1375 | . 2
⊢ (𝜑 → ((𝑀 ∪ (lastS ∘
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))))‘𝑁) = ((lastS ∘
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})))‘𝑁)) | 
| 27 |  | fnfun 6667 | . . . 4
⊢
(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})) Fn
(ℤ≥‘(♯‘𝑀)) → Fun seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))) | 
| 28 | 17, 27 | syl 17 | . . 3
⊢ (𝜑 → Fun
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))) | 
| 29 |  | fvexd 6920 | . . . . . 6
⊢ (𝜑 → ((ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})‘(♯‘𝑀)) ∈ V) | 
| 30 |  | ovexd 7467 | . . . . . 6
⊢ ((𝜑 ∧ (𝑎 ∈ V ∧ 𝑏 ∈ V)) → (𝑎(𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉))𝑏) ∈ V) | 
| 31 |  | eqid 2736 | . . . . . 6
⊢
(ℤ≥‘(♯‘𝑀)) =
(ℤ≥‘(♯‘𝑀)) | 
| 32 |  | fvexd 6920 | . . . . . 6
⊢ ((𝜑 ∧ 𝑎 ∈
(ℤ≥‘((♯‘𝑀) + 1))) → ((ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})‘𝑎) ∈ V) | 
| 33 | 29, 30, 31, 15, 32 | seqf2 14063 | . . . . 5
⊢ (𝜑 → seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})):(ℤ≥‘(♯‘𝑀))⟶V) | 
| 34 | 33 | fdmd 6745 | . . . 4
⊢ (𝜑 → dom
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})) =
(ℤ≥‘(♯‘𝑀))) | 
| 35 | 24, 34 | eleqtrrd 2843 | . . 3
⊢ (𝜑 → 𝑁 ∈ dom seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))) | 
| 36 |  | fvco 7006 | . . 3
⊢ ((Fun
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})) ∧ 𝑁 ∈ dom
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))) →
((lastS ∘ seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})))‘𝑁) =
(lastS‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))‘𝑁))) | 
| 37 | 28, 35, 36 | syl2anc 584 | . 2
⊢ (𝜑 → ((lastS ∘
seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)})))‘𝑁) =
(lastS‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))‘𝑁))) | 
| 38 | 6, 26, 37 | 3eqtrd 2780 | 1
⊢ (𝜑 → ((𝑀seqstr𝐹)‘𝑁) = (lastS‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ 〈“(𝐹‘𝑥)”〉)), (ℕ0
× {(𝑀 ++
〈“(𝐹‘𝑀)”〉)}))‘𝑁))) |