Metamath Proof Explorer


Theorem itcovalt2lem2

Description: Lemma 2 for itcovalt2 : induction step. (Contributed by AV, 7-May-2024)

Ref Expression
Hypothesis itcovalt2.f 𝐹 = ( 𝑛 ∈ ℕ0 ↦ ( ( 2 · 𝑛 ) + 𝐶 ) )
Assertion itcovalt2lem2 ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) → ( ( ( IterComp ‘ 𝐹 ) ‘ 𝑦 ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) → ( ( IterComp ‘ 𝐹 ) ‘ ( 𝑦 + 1 ) ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ ( 𝑦 + 1 ) ) ) − 𝐶 ) ) ) )

Proof

Step Hyp Ref Expression
1 itcovalt2.f 𝐹 = ( 𝑛 ∈ ℕ0 ↦ ( ( 2 · 𝑛 ) + 𝐶 ) )
2 nn0ex 0 ∈ V
3 2 mptex ( 𝑛 ∈ ℕ0 ↦ ( ( 2 · 𝑛 ) + 𝐶 ) ) ∈ V
4 1 3 eqeltri 𝐹 ∈ V
5 simpl ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) → 𝑦 ∈ ℕ0 )
6 simpr ( ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) ∧ ( ( IterComp ‘ 𝐹 ) ‘ 𝑦 ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) ) → ( ( IterComp ‘ 𝐹 ) ‘ 𝑦 ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) )
7 itcovalsucov ( ( 𝐹 ∈ V ∧ 𝑦 ∈ ℕ0 ∧ ( ( IterComp ‘ 𝐹 ) ‘ 𝑦 ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) ) → ( ( IterComp ‘ 𝐹 ) ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ∘ ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) ) )
8 4 5 6 7 mp3an2ani ( ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) ∧ ( ( IterComp ‘ 𝐹 ) ‘ 𝑦 ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) ) → ( ( IterComp ‘ 𝐹 ) ‘ ( 𝑦 + 1 ) ) = ( 𝐹 ∘ ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) ) )
9 2nn 2 ∈ ℕ
10 9 a1i ( 𝑦 ∈ ℕ0 → 2 ∈ ℕ )
11 id ( 𝑦 ∈ ℕ0𝑦 ∈ ℕ0 )
12 10 11 nnexpcld ( 𝑦 ∈ ℕ0 → ( 2 ↑ 𝑦 ) ∈ ℕ )
13 itcovalt2lem2lem1 ( ( ( ( 2 ↑ 𝑦 ) ∈ ℕ ∧ 𝐶 ∈ ℕ0 ) ∧ 𝑛 ∈ ℕ0 ) → ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ∈ ℕ0 )
14 12 13 sylanl1 ( ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) ∧ 𝑛 ∈ ℕ0 ) → ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ∈ ℕ0 )
15 eqidd ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) → ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) )
16 oveq2 ( 𝑛 = 𝑚 → ( 2 · 𝑛 ) = ( 2 · 𝑚 ) )
17 16 oveq1d ( 𝑛 = 𝑚 → ( ( 2 · 𝑛 ) + 𝐶 ) = ( ( 2 · 𝑚 ) + 𝐶 ) )
18 17 cbvmptv ( 𝑛 ∈ ℕ0 ↦ ( ( 2 · 𝑛 ) + 𝐶 ) ) = ( 𝑚 ∈ ℕ0 ↦ ( ( 2 · 𝑚 ) + 𝐶 ) )
19 1 18 eqtri 𝐹 = ( 𝑚 ∈ ℕ0 ↦ ( ( 2 · 𝑚 ) + 𝐶 ) )
20 19 a1i ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) → 𝐹 = ( 𝑚 ∈ ℕ0 ↦ ( ( 2 · 𝑚 ) + 𝐶 ) ) )
21 oveq2 ( 𝑚 = ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) → ( 2 · 𝑚 ) = ( 2 · ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) )
22 21 oveq1d ( 𝑚 = ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) → ( ( 2 · 𝑚 ) + 𝐶 ) = ( ( 2 · ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) + 𝐶 ) )
23 14 15 20 22 fmptco ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) → ( 𝐹 ∘ ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) ) = ( 𝑛 ∈ ℕ0 ↦ ( ( 2 · ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) + 𝐶 ) ) )
24 itcovalt2lem2lem2 ( ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) ∧ 𝑛 ∈ ℕ0 ) → ( ( 2 · ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) + 𝐶 ) = ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ ( 𝑦 + 1 ) ) ) − 𝐶 ) )
25 24 mpteq2dva ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) → ( 𝑛 ∈ ℕ0 ↦ ( ( 2 · ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) + 𝐶 ) ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ ( 𝑦 + 1 ) ) ) − 𝐶 ) ) )
26 23 25 eqtrd ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) → ( 𝐹 ∘ ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ ( 𝑦 + 1 ) ) ) − 𝐶 ) ) )
27 26 adantr ( ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) ∧ ( ( IterComp ‘ 𝐹 ) ‘ 𝑦 ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) ) → ( 𝐹 ∘ ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ ( 𝑦 + 1 ) ) ) − 𝐶 ) ) )
28 8 27 eqtrd ( ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) ∧ ( ( IterComp ‘ 𝐹 ) ‘ 𝑦 ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) ) → ( ( IterComp ‘ 𝐹 ) ‘ ( 𝑦 + 1 ) ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ ( 𝑦 + 1 ) ) ) − 𝐶 ) ) )
29 28 ex ( ( 𝑦 ∈ ℕ0𝐶 ∈ ℕ0 ) → ( ( ( IterComp ‘ 𝐹 ) ‘ 𝑦 ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ 𝑦 ) ) − 𝐶 ) ) → ( ( IterComp ‘ 𝐹 ) ‘ ( 𝑦 + 1 ) ) = ( 𝑛 ∈ ℕ0 ↦ ( ( ( 𝑛 + 𝐶 ) · ( 2 ↑ ( 𝑦 + 1 ) ) ) − 𝐶 ) ) ) )