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 34377
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 34376 . 2 (𝜑 → ((𝑀seqstr𝐹)‘𝑁) = (lastS‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑁)))
7 fveq2 6907 . . . . . . 7 (𝑖 = (♯‘𝑀) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(♯‘𝑀)))
8 oveq2 7439 . . . . . . . . 9 (𝑖 = (♯‘𝑀) → (0..^𝑖) = (0..^(♯‘𝑀)))
98reseq2d 6000 . . . . . . . 8 (𝑖 = (♯‘𝑀) → ((𝑀seqstr𝐹) ↾ (0..^𝑖)) = ((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))
109fveq2d 6911 . . . . . . . . 9 (𝑖 = (♯‘𝑀) → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖))) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀)))))
1110s1eqd 14636 . . . . . . . 8 (𝑖 = (♯‘𝑀) → ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩ = ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩)
129, 11oveq12d 7449 . . . . . . 7 (𝑖 = (♯‘𝑀) → (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩) = (((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩))
137, 12eqeq12d 2751 . . . . . 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 6907 . . . . . . 7 (𝑖 = 𝑛 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))
16 oveq2 7439 . . . . . . . . 9 (𝑖 = 𝑛 → (0..^𝑖) = (0..^𝑛))
1716reseq2d 6000 . . . . . . . 8 (𝑖 = 𝑛 → ((𝑀seqstr𝐹) ↾ (0..^𝑖)) = ((𝑀seqstr𝐹) ↾ (0..^𝑛)))
1817fveq2d 6911 . . . . . . . . 9 (𝑖 = 𝑛 → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖))) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛))))
1918s1eqd 14636 . . . . . . . 8 (𝑖 = 𝑛 → ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩ = ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)
2017, 19oveq12d 7449 . . . . . . 7 (𝑖 = 𝑛 → (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩))
2115, 20eqeq12d 2751 . . . . . 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 6907 . . . . . . 7 (𝑖 = (𝑛 + 1) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(𝑛 + 1)))
24 oveq2 7439 . . . . . . . . 9 (𝑖 = (𝑛 + 1) → (0..^𝑖) = (0..^(𝑛 + 1)))
2524reseq2d 6000 . . . . . . . 8 (𝑖 = (𝑛 + 1) → ((𝑀seqstr𝐹) ↾ (0..^𝑖)) = ((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))
2625fveq2d 6911 . . . . . . . . 9 (𝑖 = (𝑛 + 1) → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖))) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1)))))
2726s1eqd 14636 . . . . . . . 8 (𝑖 = (𝑛 + 1) → ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩ = ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩)
2825, 27oveq12d 7449 . . . . . . 7 (𝑖 = (𝑛 + 1) → (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩) = (((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩))
2923, 28eqeq12d 2751 . . . . . 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 6907 . . . . . . 7 (𝑖 = 𝑁 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑖) = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑁))
32 oveq2 7439 . . . . . . . . 9 (𝑖 = 𝑁 → (0..^𝑖) = (0..^𝑁))
3332reseq2d 6000 . . . . . . . 8 (𝑖 = 𝑁 → ((𝑀seqstr𝐹) ↾ (0..^𝑖)) = ((𝑀seqstr𝐹) ↾ (0..^𝑁)))
3433fveq2d 6911 . . . . . . . . 9 (𝑖 = 𝑁 → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖))) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))))
3534s1eqd 14636 . . . . . . . 8 (𝑖 = 𝑁 → ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩ = ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩)
3633, 35oveq12d 7449 . . . . . . 7 (𝑖 = 𝑁 → (((𝑀seqstr𝐹) ↾ (0..^𝑖)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑖)))”⟩) = (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩))
3731, 36eqeq12d 2751 . . . . . 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 7464 . . . . . . . 8 (𝑀 ++ ⟨“(𝐹𝑀)”⟩) ∈ V
40 lencl 14568 . . . . . . . . 9 (𝑀 ∈ Word 𝑆 → (♯‘𝑀) ∈ ℕ0)
412, 40syl 17 . . . . . . . 8 (𝜑 → (♯‘𝑀) ∈ ℕ0)
42 fvconst2g 7222 . . . . . . . 8 (((𝑀 ++ ⟨“(𝐹𝑀)”⟩) ∈ V ∧ (♯‘𝑀) ∈ ℕ0) → ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(♯‘𝑀)) = (𝑀 ++ ⟨“(𝐹𝑀)”⟩))
4339, 41, 42sylancr 587 . . . . . . 7 (𝜑 → ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(♯‘𝑀)) = (𝑀 ++ ⟨“(𝐹𝑀)”⟩))
4440nn0zd 12637 . . . . . . . 8 (𝑀 ∈ Word 𝑆 → (♯‘𝑀) ∈ ℤ)
45 seq1 14052 . . . . . . . 8 ((♯‘𝑀) ∈ ℤ → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(♯‘𝑀)) = ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(♯‘𝑀)))
462, 44, 453syl 18 . . . . . . 7 (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(♯‘𝑀)) = ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(♯‘𝑀)))
471, 2, 3, 4sseqfres 34375 . . . . . . . 8 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))) = 𝑀)
4847fveq2d 6911 . . . . . . . . 9 (𝜑 → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀)))) = (𝐹𝑀))
4948s1eqd 14636 . . . . . . . 8 (𝜑 → ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩ = ⟨“(𝐹𝑀)”⟩)
5047, 49oveq12d 7449 . . . . . . 7 (𝜑 → (((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩) = (𝑀 ++ ⟨“(𝐹𝑀)”⟩))
5143, 46, 503eqtr4d 2785 . . . . . 6 (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(♯‘𝑀)) = (((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩))
5251a1i 11 . . . . 5 ((♯‘𝑀) ∈ ℤ → (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘(♯‘𝑀)) = (((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(♯‘𝑀))))”⟩)))
53 seqp1 14054 . . . . . . . . . . . 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 6907 . . . . . . . . . . . . . . . 16 (𝑥 = 𝑎 → (𝐹𝑥) = (𝐹𝑎))
5756s1eqd 14636 . . . . . . . . . . . . . . 15 (𝑥 = 𝑎 → ⟨“(𝐹𝑥)”⟩ = ⟨“(𝐹𝑎)”⟩)
5855, 57oveq12d 7449 . . . . . . . . . . . . . 14 (𝑥 = 𝑎 → (𝑥 ++ ⟨“(𝐹𝑥)”⟩) = (𝑎 ++ ⟨“(𝐹𝑎)”⟩))
59 eqidd 2736 . . . . . . . . . . . . . 14 (𝑦 = 𝑏 → (𝑎 ++ ⟨“(𝐹𝑎)”⟩) = (𝑎 ++ ⟨“(𝐹𝑎)”⟩))
6058, 59cbvmpov 7528 . . . . . . . . . . . . 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 6911 . . . . . . . . . . . . . 14 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (𝑎 = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ∧ 𝑏 = ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1)))) → (𝐹𝑎) = (𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛)))
6463s1eqd 14636 . . . . . . . . . . . . 13 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (𝑎 = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ∧ 𝑏 = ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1)))) → ⟨“(𝐹𝑎)”⟩ = ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩)
6562, 64oveq12d 7449 . . . . . . . . . . . 12 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (𝑎 = (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ∧ 𝑏 = ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1)))) → (𝑎 ++ ⟨“(𝐹𝑎)”⟩) = ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ++ ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩))
66 fvexd 6922 . . . . . . . . . . . 12 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ∈ V)
67 fvexd 6922 . . . . . . . . . . . 12 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1)) ∈ V)
68 ovex 7464 . . . . . . . . . . . . 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 7585 . . . . . . . . . . 11 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛)(𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩))((ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)})‘(𝑛 + 1))) = ((seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) ++ ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩))
7154, 70eqtrd 2775 . . . . . . . . . 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 34376 . . . . . . . . . . . . . . 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 6911 . . . . . . . . . . . . . 14 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (lastS‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛)) = (lastS‘(((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)))
811, 2, 3, 4sseqf 34374 . . . . . . . . . . . . . . . . . . 19 (𝜑 → (𝑀seqstr𝐹):ℕ0𝑆)
82 fzo0ssnn0 13782 . . . . . . . . . . . . . . . . . . 19 (0..^𝑛) ⊆ ℕ0
83 fssres 6775 . . . . . . . . . . . . . . . . . . 19 (((𝑀seqstr𝐹):ℕ0𝑆 ∧ (0..^𝑛) ⊆ ℕ0) → ((𝑀seqstr𝐹) ↾ (0..^𝑛)):(0..^𝑛)⟶𝑆)
8481, 82, 83sylancl 586 . . . . . . . . . . . . . . . . . 18 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑛)):(0..^𝑛)⟶𝑆)
85 iswrdi 14553 . . . . . . . . . . . . . . . . . 18 (((𝑀seqstr𝐹) ↾ (0..^𝑛)):(0..^𝑛)⟶𝑆 → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ Word 𝑆)
8684, 85syl 17 . . . . . . . . . . . . . . . . 17 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ Word 𝑆)
8786adantr 480 . . . . . . . . . . . . . . . 16 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ Word 𝑆)
88 elex 3499 . . . . . . . . . . . . . . . . . . . . 21 (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ Word 𝑆 → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ V)
8987, 88syl 17 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ V)
9081adantr 480 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (𝑀seqstr𝐹):ℕ0𝑆)
91 eluznn0 12957 . . . . . . . . . . . . . . . . . . . . . . 23 (((♯‘𝑀) ∈ ℕ0𝑛 ∈ (ℤ‘(♯‘𝑀))) → 𝑛 ∈ ℕ0)
9241, 91sylan 580 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → 𝑛 ∈ ℕ0)
9373, 90, 92subiwrdlen 34368 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (♯‘((𝑀seqstr𝐹) ↾ (0..^𝑛))) = 𝑛)
9493, 76eqeltrd 2839 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (♯‘((𝑀seqstr𝐹) ↾ (0..^𝑛))) ∈ (ℤ‘(♯‘𝑀)))
95 hashf 14374 . . . . . . . . . . . . . . . . . . . . 21 ♯:V⟶(ℕ0 ∪ {+∞})
96 ffn 6737 . . . . . . . . . . . . . . . . . . . . 21 (♯:V⟶(ℕ0 ∪ {+∞}) → ♯ Fn V)
97 elpreima 7078 . . . . . . . . . . . . . . . . . . . . 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 583 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ (♯ “ (ℤ‘(♯‘𝑀))))
10087, 99elind 4210 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ (Word 𝑆 ∩ (♯ “ (ℤ‘(♯‘𝑀)))))
101100, 3eleqtrrdi 2850 . . . . . . . . . . . . . . . . 17 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → ((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ 𝑊)
10275, 101ffvelcdmd 7105 . . . . . . . . . . . . . . . 16 ((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛))) ∈ 𝑆)
103 lswccats1 14669 . . . . . . . . . . . . . . . 16 ((((𝑀seqstr𝐹) ↾ (0..^𝑛)) ∈ Word 𝑆 ∧ (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛))) ∈ 𝑆) → (lastS‘(((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛))))
10487, 102, 103syl2anc 584 . . . . . . . . . . . . . . 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 2780 . . . . . . . . . . . . 13 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛))) = ((𝑀seqstr𝐹)‘𝑛))
107106s1eqd 14636 . . . . . . . . . . . 12 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩ = ⟨“((𝑀seqstr𝐹)‘𝑛)”⟩)
108107oveq2d 7447 . . . . . . . . . . 11 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“((𝑀seqstr𝐹)‘𝑛)”⟩))
10973, 90, 92iwrdsplit 34369 . . . . . . . . . . . 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 2785 . . . . . . . . . 10 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = ((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))
112111fveq2d 6911 . . . . . . . . . . 11 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → (𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛)) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1)))))
113112s1eqd 14636 . . . . . . . . . 10 (((𝜑𝑛 ∈ (ℤ‘(♯‘𝑀))) ∧ (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛) = (((𝑀seqstr𝐹) ↾ (0..^𝑛)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑛)))”⟩)) → ⟨“(𝐹‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑛))”⟩ = ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^(𝑛 + 1))))”⟩)
114111, 113oveq12d 7449 . . . . . . . . 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 2775 . . . . . . . 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 12946 . . . 4 (𝑁 ∈ (ℤ‘(♯‘𝑀)) → (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑁) = (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩)))
1205, 119mpcom 38 . . 3 (𝜑 → (seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑁) = (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩))
121120fveq2d 6911 . 2 (𝜑 → (lastS‘(seq(♯‘𝑀)((𝑥 ∈ V, 𝑦 ∈ V ↦ (𝑥 ++ ⟨“(𝐹𝑥)”⟩)), (ℕ0 × {(𝑀 ++ ⟨“(𝐹𝑀)”⟩)}))‘𝑁)) = (lastS‘(((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩)))
122 fzo0ssnn0 13782 . . . . 5 (0..^𝑁) ⊆ ℕ0
123 fssres 6775 . . . . 5 (((𝑀seqstr𝐹):ℕ0𝑆 ∧ (0..^𝑁) ⊆ ℕ0) → ((𝑀seqstr𝐹) ↾ (0..^𝑁)):(0..^𝑁)⟶𝑆)
12481, 122, 123sylancl 586 . . . 4 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)):(0..^𝑁)⟶𝑆)
125 iswrdi 14553 . . . 4 (((𝑀seqstr𝐹) ↾ (0..^𝑁)):(0..^𝑁)⟶𝑆 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ Word 𝑆)
126124, 125syl 17 . . 3 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ Word 𝑆)
127 elex 3499 . . . . . . . 8 (((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ Word 𝑆 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ V)
128126, 127syl 17 . . . . . . 7 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ V)
129 eluznn0 12957 . . . . . . . . . 10 (((♯‘𝑀) ∈ ℕ0𝑁 ∈ (ℤ‘(♯‘𝑀))) → 𝑁 ∈ ℕ0)
13041, 5, 129syl2anc 584 . . . . . . . . 9 (𝜑𝑁 ∈ ℕ0)
1311, 81, 130subiwrdlen 34368 . . . . . . . 8 (𝜑 → (♯‘((𝑀seqstr𝐹) ↾ (0..^𝑁))) = 𝑁)
132131, 5eqeltrd 2839 . . . . . . 7 (𝜑 → (♯‘((𝑀seqstr𝐹) ↾ (0..^𝑁))) ∈ (ℤ‘(♯‘𝑀)))
133 elpreima 7078 . . . . . . . 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 583 . . . . . 6 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ (♯ “ (ℤ‘(♯‘𝑀))))
136126, 135elind 4210 . . . . 5 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ (Word 𝑆 ∩ (♯ “ (ℤ‘(♯‘𝑀)))))
137136, 3eleqtrrdi 2850 . . . 4 (𝜑 → ((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ 𝑊)
1384, 137ffvelcdmd 7105 . . 3 (𝜑 → (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))) ∈ 𝑆)
139 lswccats1 14669 . . 3 ((((𝑀seqstr𝐹) ↾ (0..^𝑁)) ∈ Word 𝑆 ∧ (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))) ∈ 𝑆) → (lastS‘(((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩)) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))))
140126, 138, 139syl2anc 584 . 2 (𝜑 → (lastS‘(((𝑀seqstr𝐹) ↾ (0..^𝑁)) ++ ⟨“(𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁)))”⟩)) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))))
1416, 121, 1403eqtrd 2779 1 (𝜑 → ((𝑀seqstr𝐹)‘𝑁) = (𝐹‘((𝑀seqstr𝐹) ↾ (0..^𝑁))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1537  wcel 2106  Vcvv 3478  cun 3961  cin 3962  wss 3963  {csn 4631   × cxp 5687  ccnv 5688  cres 5691  cima 5692   Fn wfn 6558  wf 6559  cfv 6563  (class class class)co 7431  cmpo 7433  0cc0 11153  1c1 11154   + caddc 11156  +∞cpnf 11290  0cn0 12524  cz 12611  cuz 12876  ..^cfzo 13691  seqcseq 14039  chash 14366  Word cword 14549  lastSclsw 14597   ++ cconcat 14605  ⟨“cs1 14630  seqstrcsseq 34365
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1792  ax-4 1806  ax-5 1908  ax-6 1965  ax-7 2005  ax-8 2108  ax-9 2116  ax-10 2139  ax-11 2155  ax-12 2175  ax-ext 2706  ax-rep 5285  ax-sep 5302  ax-nul 5312  ax-pow 5371  ax-pr 5438  ax-un 7754  ax-inf2 9679  ax-cnex 11209  ax-resscn 11210  ax-1cn 11211  ax-icn 11212  ax-addcl 11213  ax-addrcl 11214  ax-mulcl 11215  ax-mulrcl 11216  ax-mulcom 11217  ax-addass 11218  ax-mulass 11219  ax-distr 11220  ax-i2m1 11221  ax-1ne0 11222  ax-1rid 11223  ax-rnegex 11224  ax-rrecex 11225  ax-cnre 11226  ax-pre-lttri 11227  ax-pre-lttrn 11228  ax-pre-ltadd 11229  ax-pre-mulgt0 11230
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1540  df-fal 1550  df-ex 1777  df-nf 1781  df-sb 2063  df-mo 2538  df-eu 2567  df-clab 2713  df-cleq 2727  df-clel 2814  df-nfc 2890  df-ne 2939  df-nel 3045  df-ral 3060  df-rex 3069  df-reu 3379  df-rab 3434  df-v 3480  df-sbc 3792  df-csb 3909  df-dif 3966  df-un 3968  df-in 3970  df-ss 3980  df-pss 3983  df-nul 4340  df-if 4532  df-pw 4607  df-sn 4632  df-pr 4634  df-op 4638  df-uni 4913  df-int 4952  df-iun 4998  df-br 5149  df-opab 5211  df-mpt 5232  df-tr 5266  df-id 5583  df-eprel 5589  df-po 5597  df-so 5598  df-fr 5641  df-we 5643  df-xp 5695  df-rel 5696  df-cnv 5697  df-co 5698  df-dm 5699  df-rn 5700  df-res 5701  df-ima 5702  df-pred 6323  df-ord 6389  df-on 6390  df-lim 6391  df-suc 6392  df-iota 6516  df-fun 6565  df-fn 6566  df-f 6567  df-f1 6568  df-fo 6569  df-f1o 6570  df-fv 6571  df-riota 7388  df-ov 7434  df-oprab 7435  df-mpo 7436  df-om 7888  df-1st 8013  df-2nd 8014  df-frecs 8305  df-wrecs 8336  df-recs 8410  df-rdg 8449  df-1o 8505  df-er 8744  df-map 8867  df-en 8985  df-dom 8986  df-sdom 8987  df-fin 8988  df-card 9977  df-pnf 11295  df-mnf 11296  df-xr 11297  df-ltxr 11298  df-le 11299  df-sub 11492  df-neg 11493  df-nn 12265  df-n0 12525  df-xnn0 12598  df-z 12612  df-uz 12877  df-rp 13033  df-fz 13545  df-fzo 13692  df-seq 14040  df-hash 14367  df-word 14550  df-lsw 14598  df-concat 14606  df-s1 14631  df-substr 14676  df-pfx 14706  df-sseq 34366
This theorem is referenced by:  fibp1  34383
  Copyright terms: Public domain W3C validator