Users' Mathboxes Mathbox for Thierry Arnoux < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  sseqp1 Structured version   Visualization version   GIF version

Theorem sseqp1 34555
Description: Value of the strong sequence builder function at a successor. (Contributed by Thierry Arnoux, 24-Apr-2019.)
Hypotheses
Ref Expression
sseqval.1 (𝜑𝑆 ∈ V)
sseqval.2 (𝜑𝑀 ∈ Word 𝑆)
sseqval.3 𝑊 = (Word 𝑆 ∩ (♯ “ (ℤ‘(♯‘𝑀))))
sseqval.4 (𝜑𝐹:𝑊𝑆)
sseqfv2.4 (𝜑𝑁 ∈ (ℤ‘(♯‘𝑀)))
Assertion
Ref Expression
sseqp1 (𝜑 → ((𝑀seqstr𝐹)‘𝑁) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))))

Proof of Theorem sseqp1
Dummy variables 𝑥 𝑦 𝑎 𝑏 𝑖 𝑛 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 sseqval.1 . . 3 (𝜑𝑆 ∈ V)
2 sseqval.2 . . 3 (𝜑𝑀 ∈ Word 𝑆)
3 sseqval.3 . . 3 𝑊 = (Word 𝑆 ∩ (♯ “ (ℤ‘(♯‘𝑀))))
4 sseqval.4 . . 3 (𝜑𝐹:𝑊𝑆)
5 sseqfv2.4 . . 3 (𝜑𝑁 ∈ (ℤ‘(♯‘𝑀)))
61, 2, 3, 4, 5sseqfv2 34554 . 2 (𝜑 → ((𝑀seqstr𝐹)‘𝑁) = (lastS‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑁)))
7 fveq2 6834 . . . . . . 7 (𝑖 = (♯‘𝑀) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(♯‘𝑀)))
8 oveq2 7368 . . . . . . . . 9 (𝑖 = (♯‘𝑀) → (0..^𝑖) = (0..^(♯‘𝑀)))
98reseq2d 5938 . . . . . . . 8 (𝑖 = (♯‘𝑀) → ((𝑀seqstr𝐹) ↾ (0..^𝑖)) = ((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))
109fveq2d 6838 . . . . . . . . 9 (𝑖 = (♯‘𝑀) → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖))) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀)))))
1110s1eqd 14555 . . . . . . . 8 (𝑖 = (♯‘𝑀) → ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩ = ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩)
129, 11oveq12d 7378 . . . . . . 7 (𝑖 = (♯‘𝑀) → (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩) = (((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩))
137, 12eqeq12d 2753 . . . . . 6 (𝑖 = (♯‘𝑀) → ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩) ↔ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(♯‘𝑀)) = (((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩)))
1413imbi2d 340 . . . . 5 (𝑖 = (♯‘𝑀) → ((𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩)) ↔ (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(♯‘𝑀)) = (((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩))))
15 fveq2 6834 . . . . . . 7 (𝑖 = 𝑛 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))
16 oveq2 7368 . . . . . . . . 9 (𝑖 = 𝑛 → (0..^𝑖) = (0..^𝑛))
1716reseq2d 5938 . . . . . . . 8 (𝑖 = 𝑛 → ((𝑀seqstr𝐹) ↾ (0..^𝑖)) = ((𝑀seqstr𝐹) ↾ (0..^𝑛)))
1817fveq2d 6838 . . . . . . . . 9 (𝑖 = 𝑛 → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖))) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛))))
1918s1eqd 14555 . . . . . . . 8 (𝑖 = 𝑛 → ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩ = ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)
2017, 19oveq12d 7378 . . . . . . 7 (𝑖 = 𝑛 → (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩))
2115, 20eqeq12d 2753 . . . . . 6 (𝑖 = 𝑛 → ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩) ↔ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)))
2221imbi2d 340 . . . . 5 (𝑖 = 𝑛 → ((𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩)) ↔ (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩))))
23 fveq2 6834 . . . . . . 7 (𝑖 = (𝑛 + 1) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(𝑛 + 1)))
24 oveq2 7368 . . . . . . . . 9 (𝑖 = (𝑛 + 1) → (0..^𝑖) = (0..^(𝑛 + 1)))
2524reseq2d 5938 . . . . . . . 8 (𝑖 = (𝑛 + 1) → ((𝑀seqstr𝐹) ↾ (0..^𝑖)) = ((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))
2625fveq2d 6838 . . . . . . . . 9 (𝑖 = (𝑛 + 1) → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖))) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1)))))
2726s1eqd 14555 . . . . . . . 8 (𝑖 = (𝑛 + 1) → ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩ = ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩)
2825, 27oveq12d 7378 . . . . . . 7 (𝑖 = (𝑛 + 1) → (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩) = (((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩))
2923, 28eqeq12d 2753 . . . . . 6 (𝑖 = (𝑛 + 1) → ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩) ↔ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(𝑛 + 1)) = (((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩)))
3029imbi2d 340 . . . . 5 (𝑖 = (𝑛 + 1) → ((𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩)) ↔ (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(𝑛 + 1)) = (((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩))))
31 fveq2 6834 . . . . . . 7 (𝑖 = 𝑁 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑁))
32 oveq2 7368 . . . . . . . . 9 (𝑖 = 𝑁 → (0..^𝑖) = (0..^𝑁))
3332reseq2d 5938 . . . . . . . 8 (𝑖 = 𝑁 → ((𝑀seqstr𝐹) ↾ (0..^𝑖)) = ((𝑀seqstr𝐹) ↾ (0..^𝑁)))
3433fveq2d 6838 . . . . . . . . 9 (𝑖 = 𝑁 → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖))) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))))
3534s1eqd 14555 . . . . . . . 8 (𝑖 = 𝑁 → ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩ = ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩)
3633, 35oveq12d 7378 . . . . . . 7 (𝑖 = 𝑁 → (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩) = (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩))
3731, 36eqeq12d 2753 . . . . . 6 (𝑖 = 𝑁 → ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩) ↔ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑁) = (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩)))
3837imbi2d 340 . . . . 5 (𝑖 = 𝑁 → ((𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩)) ↔ (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑁) = (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩))))
39 ovex 7393 . . . . . . . 8 (𝑀 ++ ⟨“(𝐹𝑀)”⟩) ∈ V
40 lencl 14486 . . . . . . . . 9 (𝑀 ∈ Word 𝑆 → (♯‘𝑀) ∈ ℕ0)
412, 40syl 17 . . . . . . . 8 (𝜑 → (♯‘𝑀) ∈ ℕ0)
42 fvconst2g 7150 . . . . . . . 8 (((𝑀 ++ ⟨“(𝐹𝑀)”⟩) ∈ V ∧ (♯‘𝑀) ∈ ℕ0) → ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(♯‘𝑀)) = (𝑀 ++ ⟨“(𝐹𝑀)”⟩))
4339, 41, 42sylancr 588 . . . . . . 7 (𝜑 → ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(♯‘𝑀)) = (𝑀 ++ ⟨“(𝐹𝑀)”⟩))
4440nn0zd 12540 . . . . . . . 8 (𝑀 ∈ Word 𝑆 → (♯‘𝑀) ∈ ℤ)
45 seq1 13967 . . . . . . . 8 ((♯‘𝑀) ∈ ℤ → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(♯‘𝑀)) = ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(♯‘𝑀)))
462, 44, 453syl 18 . . . . . . 7 (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(♯‘𝑀)) = ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(♯‘𝑀)))
471, 2, 3, 4sseqfres 34553 . . . . . . . 8 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))) = 𝑀)
4847fveq2d 6838 . . . . . . . . 9 (𝜑 → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀)))) = (𝐹𝑀))
4948s1eqd 14555 . . . . . . . 8 (𝜑 → ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩ = ⟨“(𝐹𝑀)”⟩)
5047, 49oveq12d 7378 . . . . . . 7 (𝜑 → (((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩) = (𝑀 ++ ⟨“(𝐹𝑀)”⟩))
5143, 46, 503eqtr4d 2782 . . . . . 6 (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(♯‘𝑀)) = (((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩))
5251a1i 11 . . . . 5 ((♯‘𝑀) ∈ ℤ → (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(♯‘𝑀)) = (((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩)))
53 seqp1 13969 . . . . . . . . . . . 12 (𝑛 ∈ (ℤ‘(♯‘𝑀)) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(𝑛 + 1)) = ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛)(𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩))((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1))))
5453adantl 481 . . . . . . . . . . 11 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(𝑛 + 1)) = ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛)(𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩))((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1))))
55 id 22 . . . . . . . . . . . . . . 15 (𝑥 = 𝑎𝑥 = 𝑎)
56 fveq2 6834 . . . . . . . . . . . . . . . 16 (𝑥 = 𝑎 → (𝐹𝑥) = (𝐹𝑎))
5756s1eqd 14555 . . . . . . . . . . . . . . 15 (𝑥 = 𝑎 → ⟨“(𝐹𝑥)”⟩ = ⟨“(𝐹𝑎)”⟩)
5855, 57oveq12d 7378 . . . . . . . . . . . . . 14 (𝑥 = 𝑎 → (𝑥 ++ ⟨“(𝐹𝑥)”⟩) = (𝑎 ++ ⟨“(𝐹𝑎)”⟩))
59 eqidd 2738 . . . . . . . . . . . . . 14 (𝑦 = 𝑏 → (𝑎 ++ ⟨“(𝐹𝑎)”⟩) = (𝑎 ++ ⟨“(𝐹𝑎)”⟩))
6058, 59cbvmpov 7455 . . . . . . . . . . . . 13 (𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)) = (𝑎 ∈ V, 𝑏 ∈ V ↦ (𝑎 ++ ⟨“(𝐹𝑎)”⟩))
6160a1i 11 . . . . . . . . . . . 12 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)) = (𝑎 ∈ V, 𝑏 ∈ V ↦ (𝑎 ++ ⟨“(𝐹𝑎)”⟩)))
62 simprl 771 . . . . . . . . . . . . 13 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (𝑎 = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ∧ 𝑏 = ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1)))) → 𝑎 = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))
6362fveq2d 6838 . . . . . . . . . . . . . 14 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (𝑎 = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ∧ 𝑏 = ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1)))) → (𝐹𝑎) = (𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛)))
6463s1eqd 14555 . . . . . . . . . . . . 13 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (𝑎 = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ∧ 𝑏 = ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1)))) → ⟨“(𝐹𝑎)”⟩ = ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩)
6562, 64oveq12d 7378 . . . . . . . . . . . 12 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (𝑎 = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ∧ 𝑏 = ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1)))) → (𝑎 ++ ⟨“(𝐹𝑎)”⟩) = ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ++ ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩))
66 fvexd 6849 . . . . . . . . . . . 12 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ∈ V)
67 fvexd 6849 . . . . . . . . . . . 12 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1)) ∈ V)
68 ovex 7393 . . . . . . . . . . . . 13 ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ++ ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩) ∈ V
6968a1i 11 . . . . . . . . . . . 12 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ++ ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩) ∈ V)
7061, 65, 66, 67, 69ovmpod 7512 . . . . . . . . . . 11 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛)(𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩))((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1))) = ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ++ ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩))
7154, 70eqtrd 2772 . . . . . . . . . 10 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(𝑛 + 1)) = ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ++ ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩))
7271adantr 480 . . . . . . . . 9 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(𝑛 + 1)) = ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ++ ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩))
731adantr 480 . . . . . . . . . . . . . . . 16 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → 𝑆 ∈ V)
742adantr 480 . . . . . . . . . . . . . . . 16 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → 𝑀 ∈ Word 𝑆)
754adantr 480 . . . . . . . . . . . . . . . 16 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → 𝐹:𝑊𝑆)
76 simpr 484 . . . . . . . . . . . . . . . 16 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → 𝑛 ∈ (ℤ‘(♯‘𝑀)))
7773, 74, 3, 75, 76sseqfv2 34554 . . . . . . . . . . . . . . 15 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((𝑀seqstr𝐹)‘𝑛) = (lastS‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛)))
7877adantr 480 . . . . . . . . . . . . . 14 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → ((𝑀seqstr𝐹)‘𝑛) = (lastS‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛)))
79 simpr 484 . . . . . . . . . . . . . . 15 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩))
8079fveq2d 6838 . . . . . . . . . . . . . 14 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (lastS‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛)) = (lastS‘(((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)))
811, 2, 3, 4sseqf 34552 . . . . . . . . . . . . . . . . . . 19 (𝜑 → (𝑀seqstr𝐹):ℕ0𝑆)
82 fzo0ssnn0 13692 . . . . . . . . . . . . . . . . . . 19 (0..^𝑛) ⊆ ℕ0
83 fssres 6700 . . . . . . . . . . . . . . . . . . 19 (((𝑀seqstr𝐹):ℕ0𝑆 ∧ (0..^𝑛) ⊆ ℕ0) → ((𝑀seqstr𝐹) ↾ (0..^𝑛)):(0..^𝑛)⟶𝑆)
8481, 82, 83sylancl 587 . . . . . . . . . . . . . . . . . 18 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑛)):(0..^𝑛)⟶𝑆)
85 iswrdi 14470 . . . . . . . . . . . . . . . . . 18 (((𝑀seqstr𝐹) ↾ (0..^𝑛)):(0..^𝑛)⟶𝑆 → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ Word 𝑆)
8684, 85syl 17 . . . . . . . . . . . . . . . . 17 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ Word 𝑆)
8786adantr 480 . . . . . . . . . . . . . . . 16 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ Word 𝑆)
88 elex 3451 . . . . . . . . . . . . . . . . . . . . 21 (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ Word 𝑆 → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ V)
8987, 88syl 17 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ V)
9081adantr 480 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (𝑀seqstr𝐹):ℕ0𝑆)
91 eluznn0 12858 . . . . . . . . . . . . . . . . . . . . . . 23 (((♯‘𝑀) ∈ ℕ0𝑛 ∈ (ℤ‘(♯‘𝑀))) → 𝑛 ∈ ℕ0)
9241, 91sylan 581 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → 𝑛 ∈ ℕ0)
9373, 90, 92subiwrdlen 34546 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (♯‘((𝑀seqstr𝐹) ↾ (0..^𝑛))) = 𝑛)
9493, 76eqeltrd 2837 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (♯‘((𝑀seqstr𝐹) ↾ (0..^𝑛))) ∈ (ℤ‘(♯‘𝑀)))
95 hashf 14291 . . . . . . . . . . . . . . . . . . . . 21 ♯:V⟶(ℕ0 ∪ {+∞})
96 ffn 6662 . . . . . . . . . . . . . . . . . . . . 21 (♯:V⟶(ℕ0 ∪ {+∞}) → ♯ Fn V)
97 elpreima 7004 . . . . . . . . . . . . . . . . . . . . 21 (♯ Fn V → (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ (♯ “ (ℤ‘(♯‘𝑀))) ↔ (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ V ∧ (♯‘((𝑀seqstr𝐹) ↾ (0..^𝑛))) ∈ (ℤ‘(♯‘𝑀)))))
9895, 96, 97mp2b 10 . . . . . . . . . . . . . . . . . . . 20 (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ (♯ “ (ℤ‘(♯‘𝑀))) ↔ (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ V ∧ (♯‘((𝑀seqstr𝐹) ↾ (0..^𝑛))) ∈ (ℤ‘(♯‘𝑀))))
9989, 94, 98sylanbrc 584 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ (♯ “ (ℤ‘(♯‘𝑀))))
10087, 99elind 4141 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ (Word 𝑆 ∩ (♯ “ (ℤ‘(♯‘𝑀)))))
101100, 3eleqtrrdi 2848 . . . . . . . . . . . . . . . . 17 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ 𝑊)
10275, 101ffvelcdmd 7031 . . . . . . . . . . . . . . . 16 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛))) ∈ 𝑆)
103 lswccats1 14588 . . . . . . . . . . . . . . . 16 ((((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ Word 𝑆 ∧ (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛))) ∈ 𝑆) → (lastS‘(((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛))))
10487, 102, 103syl2anc 585 . . . . . . . . . . . . . . 15 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (lastS‘(((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛))))
105104adantr 480 . . . . . . . . . . . . . 14 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (lastS‘(((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛))))
10678, 80, 1053eqtrrd 2777 . . . . . . . . . . . . 13 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛))) = ((𝑀seqstr𝐹)‘𝑛))
107106s1eqd 14555 . . . . . . . . . . . 12 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩ = ⟨“((𝑀seqstr𝐹)‘𝑛)”⟩)
108107oveq2d 7376 . . . . . . . . . . 11 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“((𝑀seqstr𝐹)‘𝑛)”⟩))
10973, 90, 92iwrdsplit 34547 . . . . . . . . . . . 12 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“((𝑀seqstr𝐹)‘𝑛)”⟩))
110109adantr 480 . . . . . . . . . . 11 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → ((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“((𝑀seqstr𝐹)‘𝑛)”⟩))
111108, 79, 1103eqtr4d 2782 . . . . . . . . . 10 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = ((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))
112111fveq2d 6838 . . . . . . . . . . 11 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛)) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1)))))
113112s1eqd 14555 . . . . . . . . . 10 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩ = ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩)
114111, 113oveq12d 7378 . . . . . . . . 9 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ++ ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩) = (((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩))
11572, 114eqtrd 2772 . . . . . . . 8 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(𝑛 + 1)) = (((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩))
116115ex 412 . . . . . . 7 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(𝑛 + 1)) = (((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩)))
117116expcom 413 . . . . . 6 (𝑛 ∈ (ℤ‘(♯‘𝑀)) → (𝜑 → ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(𝑛 + 1)) = (((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩))))
118117a2d 29 . . . . 5 (𝑛 ∈ (ℤ‘(♯‘𝑀)) → ((𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(𝑛 + 1)) = (((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩))))
11914, 22, 30, 38, 52, 118uzind4 12847 . . . 4 (𝑁 ∈ (ℤ‘(♯‘𝑀)) → (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑁) = (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩)))
1205, 119mpcom 38 . . 3 (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑁) = (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩))
121120fveq2d 6838 . 2 (𝜑 → (lastS‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑁)) = (lastS‘(((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩)))
122 fzo0ssnn0 13692 . . . . 5 (0..^𝑁) ⊆ ℕ0
123 fssres 6700 . . . . 5 (((𝑀seqstr𝐹):ℕ0𝑆 ∧ (0..^𝑁) ⊆ ℕ0) → ((𝑀seqstr𝐹) ↾ (0..^𝑁)):(0..^𝑁)⟶𝑆)
12481, 122, 123sylancl 587 . . . 4 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)):(0..^𝑁)⟶𝑆)
125 iswrdi 14470 . . . 4 (((𝑀seqstr𝐹) ↾ (0..^𝑁)):(0..^𝑁)⟶𝑆 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ Word 𝑆)
126124, 125syl 17 . . 3 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ Word 𝑆)
127 elex 3451 . . . . . . . 8 (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ Word 𝑆 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ V)
128126, 127syl 17 . . . . . . 7 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ V)
129 eluznn0 12858 . . . . . . . . . 10 (((♯‘𝑀) ∈ ℕ0𝑁 ∈ (ℤ‘(♯‘𝑀))) → 𝑁 ∈ ℕ0)
13041, 5, 129syl2anc 585 . . . . . . . . 9 (𝜑𝑁 ∈ ℕ0)
1311, 81, 130subiwrdlen 34546 . . . . . . . 8 (𝜑 → (♯‘((𝑀seqstr𝐹) ↾ (0..^𝑁))) = 𝑁)
132131, 5eqeltrd 2837 . . . . . . 7 (𝜑 → (♯‘((𝑀seqstr𝐹) ↾ (0..^𝑁))) ∈ (ℤ‘(♯‘𝑀)))
133 elpreima 7004 . . . . . . . 8 (♯ Fn V → (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ (♯ “ (ℤ‘(♯‘𝑀))) ↔ (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ V ∧ (♯‘((𝑀seqstr𝐹) ↾ (0..^𝑁))) ∈ (ℤ‘(♯‘𝑀)))))
13495, 96, 133mp2b 10 . . . . . . 7 (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ (♯ “ (ℤ‘(♯‘𝑀))) ↔ (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ V ∧ (♯‘((𝑀seqstr𝐹) ↾ (0..^𝑁))) ∈ (ℤ‘(♯‘𝑀))))
135128, 132, 134sylanbrc 584 . . . . . 6 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ (♯ “ (ℤ‘(♯‘𝑀))))
136126, 135elind 4141 . . . . 5 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ (Word 𝑆 ∩ (♯ “ (ℤ‘(♯‘𝑀)))))
137136, 3eleqtrrdi 2848 . . . 4 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ 𝑊)
1384, 137ffvelcdmd 7031 . . 3 (𝜑 → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))) ∈ 𝑆)
139 lswccats1 14588 . . 3 ((((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ Word 𝑆 ∧ (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))) ∈ 𝑆) → (lastS‘(((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩)) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))))
140126, 138, 139syl2anc 585 . 2 (𝜑 → (lastS‘(((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩)) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))))
1416, 121, 1403eqtrd 2776 1 (𝜑 → ((𝑀seqstr𝐹)‘𝑁) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1542  wcel 2114  Vcvv 3430  cun 3888  cin 3889  wss 3890  {csn 4568   × cxp 5622  ccnv 5623  cres 5626  cima 5627   Fn wfn 6487  wf 6488  cfv 6492  (class class class)co 7360  cmpo 7362  0cc0 11029  1c1 11030   + caddc 11032  +∞cpnf 11167  0cn0 12428  cz 12515  cuz 12779  ..^cfzo 13599  seqcseq 13954  chash 14283  Word cword 14466  lastSclsw 14515   ++ cconcat 14523  ⟨“cs1 14549  seqstrcsseq 34543
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-rep 5212  ax-sep 5231  ax-nul 5241  ax-pow 5302  ax-pr 5370  ax-un 7682  ax-inf2 9553  ax-cnex 11085  ax-resscn 11086  ax-1cn 11087  ax-icn 11088  ax-addcl 11089  ax-addrcl 11090  ax-mulcl 11091  ax-mulrcl 11092  ax-mulcom 11093  ax-addass 11094  ax-mulass 11095  ax-distr 11096  ax-i2m1 11097  ax-1ne0 11098  ax-1rid 11099  ax-rnegex 11100  ax-rrecex 11101  ax-cnre 11102  ax-pre-lttri 11103  ax-pre-lttrn 11104  ax-pre-ltadd 11105  ax-pre-mulgt0 11106
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-nel 3038  df-ral 3053  df-rex 3063  df-reu 3344  df-rab 3391  df-v 3432  df-sbc 3730  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-pss 3910  df-nul 4275  df-if 4468  df-pw 4544  df-sn 4569  df-pr 4571  df-op 4575  df-uni 4852  df-int 4891  df-iun 4936  df-br 5087  df-opab 5149  df-mpt 5168  df-tr 5194  df-id 5519  df-eprel 5524  df-po 5532  df-so 5533  df-fr 5577  df-we 5579  df-xp 5630  df-rel 5631  df-cnv 5632  df-co 5633  df-dm 5634  df-rn 5635  df-res 5636  df-ima 5637  df-pred 6259  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-riota 7317  df-ov 7363  df-oprab 7364  df-mpo 7365  df-om 7811  df-1st 7935  df-2nd 7936  df-frecs 8224  df-wrecs 8255  df-recs 8304  df-rdg 8342  df-1o 8398  df-er 8636  df-map 8768  df-en 8887  df-dom 8888  df-sdom 8889  df-fin 8890  df-card 9854  df-pnf 11172  df-mnf 11173  df-xr 11174  df-ltxr 11175  df-le 11176  df-sub 11370  df-neg 11371  df-nn 12166  df-n0 12429  df-xnn0 12502  df-z 12516  df-uz 12780  df-rp 12934  df-fz 13453  df-fzo 13600  df-seq 13955  df-hash 14284  df-word 14467  df-lsw 14516  df-concat 14524  df-s1 14550  df-substr 14595  df-pfx 14625  df-sseq 34544
This theorem is referenced by:  fibp1  34561
  Copyright terms: Public domain W3C validator