Metamath Proof Explorer


Theorem fmulcl

Description: If ' Y ' is closed under the multiplication of two functions, then Y is closed under the multiplication ( ' X ' ) of a finite number of functions. (Contributed by Glauco Siliprandi, 20-Apr-2017)

Ref Expression
Hypotheses fmulcl.1 𝑃 = ( 𝑓𝑌 , 𝑔𝑌 ↦ ( 𝑡𝑇 ↦ ( ( 𝑓𝑡 ) · ( 𝑔𝑡 ) ) ) )
fmulcl.2 𝑋 = ( seq 1 ( 𝑃 , 𝑈 ) ‘ 𝑁 )
fmulcl.4 ( 𝜑𝑁 ∈ ( 1 ... 𝑀 ) )
fmulcl.5 ( 𝜑𝑈 : ( 1 ... 𝑀 ) ⟶ 𝑌 )
fmulcl.6 ( ( 𝜑𝑓𝑌𝑔𝑌 ) → ( 𝑡𝑇 ↦ ( ( 𝑓𝑡 ) · ( 𝑔𝑡 ) ) ) ∈ 𝑌 )
fmulcl.7 ( 𝜑𝑇 ∈ V )
Assertion fmulcl ( 𝜑𝑋𝑌 )

Proof

Step Hyp Ref Expression
1 fmulcl.1 𝑃 = ( 𝑓𝑌 , 𝑔𝑌 ↦ ( 𝑡𝑇 ↦ ( ( 𝑓𝑡 ) · ( 𝑔𝑡 ) ) ) )
2 fmulcl.2 𝑋 = ( seq 1 ( 𝑃 , 𝑈 ) ‘ 𝑁 )
3 fmulcl.4 ( 𝜑𝑁 ∈ ( 1 ... 𝑀 ) )
4 fmulcl.5 ( 𝜑𝑈 : ( 1 ... 𝑀 ) ⟶ 𝑌 )
5 fmulcl.6 ( ( 𝜑𝑓𝑌𝑔𝑌 ) → ( 𝑡𝑇 ↦ ( ( 𝑓𝑡 ) · ( 𝑔𝑡 ) ) ) ∈ 𝑌 )
6 fmulcl.7 ( 𝜑𝑇 ∈ V )
7 elfzuz ( 𝑁 ∈ ( 1 ... 𝑀 ) → 𝑁 ∈ ( ℤ ‘ 1 ) )
8 3 7 syl ( 𝜑𝑁 ∈ ( ℤ ‘ 1 ) )
9 elfzuz3 ( 𝑁 ∈ ( 1 ... 𝑀 ) → 𝑀 ∈ ( ℤ𝑁 ) )
10 fzss2 ( 𝑀 ∈ ( ℤ𝑁 ) → ( 1 ... 𝑁 ) ⊆ ( 1 ... 𝑀 ) )
11 3 9 10 3syl ( 𝜑 → ( 1 ... 𝑁 ) ⊆ ( 1 ... 𝑀 ) )
12 11 sselda ( ( 𝜑 ∈ ( 1 ... 𝑁 ) ) → ∈ ( 1 ... 𝑀 ) )
13 4 ffvelrnda ( ( 𝜑 ∈ ( 1 ... 𝑀 ) ) → ( 𝑈 ) ∈ 𝑌 )
14 12 13 syldan ( ( 𝜑 ∈ ( 1 ... 𝑁 ) ) → ( 𝑈 ) ∈ 𝑌 )
15 simprl ( ( 𝜑 ∧ ( 𝑌𝑙𝑌 ) ) → 𝑌 )
16 simprr ( ( 𝜑 ∧ ( 𝑌𝑙𝑌 ) ) → 𝑙𝑌 )
17 6 adantr ( ( 𝜑 ∧ ( 𝑌𝑙𝑌 ) ) → 𝑇 ∈ V )
18 mptexg ( 𝑇 ∈ V → ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑙𝑡 ) ) ) ∈ V )
19 17 18 syl ( ( 𝜑 ∧ ( 𝑌𝑙𝑌 ) ) → ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑙𝑡 ) ) ) ∈ V )
20 fveq1 ( 𝑓 = → ( 𝑓𝑡 ) = ( 𝑡 ) )
21 fveq1 ( 𝑔 = 𝑙 → ( 𝑔𝑡 ) = ( 𝑙𝑡 ) )
22 20 21 oveqan12d ( ( 𝑓 = 𝑔 = 𝑙 ) → ( ( 𝑓𝑡 ) · ( 𝑔𝑡 ) ) = ( ( 𝑡 ) · ( 𝑙𝑡 ) ) )
23 22 mpteq2dv ( ( 𝑓 = 𝑔 = 𝑙 ) → ( 𝑡𝑇 ↦ ( ( 𝑓𝑡 ) · ( 𝑔𝑡 ) ) ) = ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑙𝑡 ) ) ) )
24 23 1 ovmpoga ( ( 𝑌𝑙𝑌 ∧ ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑙𝑡 ) ) ) ∈ V ) → ( 𝑃 𝑙 ) = ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑙𝑡 ) ) ) )
25 15 16 19 24 syl3anc ( ( 𝜑 ∧ ( 𝑌𝑙𝑌 ) ) → ( 𝑃 𝑙 ) = ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑙𝑡 ) ) ) )
26 3simpc ( ( 𝜑𝑌𝑙𝑌 ) → ( 𝑌𝑙𝑌 ) )
27 eleq1w ( 𝑓 = → ( 𝑓𝑌𝑌 ) )
28 27 3anbi2d ( 𝑓 = → ( ( 𝜑𝑓𝑌𝑔𝑌 ) ↔ ( 𝜑𝑌𝑔𝑌 ) ) )
29 20 oveq1d ( 𝑓 = → ( ( 𝑓𝑡 ) · ( 𝑔𝑡 ) ) = ( ( 𝑡 ) · ( 𝑔𝑡 ) ) )
30 29 mpteq2dv ( 𝑓 = → ( 𝑡𝑇 ↦ ( ( 𝑓𝑡 ) · ( 𝑔𝑡 ) ) ) = ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑔𝑡 ) ) ) )
31 30 eleq1d ( 𝑓 = → ( ( 𝑡𝑇 ↦ ( ( 𝑓𝑡 ) · ( 𝑔𝑡 ) ) ) ∈ 𝑌 ↔ ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑔𝑡 ) ) ) ∈ 𝑌 ) )
32 28 31 imbi12d ( 𝑓 = → ( ( ( 𝜑𝑓𝑌𝑔𝑌 ) → ( 𝑡𝑇 ↦ ( ( 𝑓𝑡 ) · ( 𝑔𝑡 ) ) ) ∈ 𝑌 ) ↔ ( ( 𝜑𝑌𝑔𝑌 ) → ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑔𝑡 ) ) ) ∈ 𝑌 ) ) )
33 eleq1w ( 𝑔 = 𝑙 → ( 𝑔𝑌𝑙𝑌 ) )
34 33 3anbi3d ( 𝑔 = 𝑙 → ( ( 𝜑𝑌𝑔𝑌 ) ↔ ( 𝜑𝑌𝑙𝑌 ) ) )
35 21 oveq2d ( 𝑔 = 𝑙 → ( ( 𝑡 ) · ( 𝑔𝑡 ) ) = ( ( 𝑡 ) · ( 𝑙𝑡 ) ) )
36 35 mpteq2dv ( 𝑔 = 𝑙 → ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑔𝑡 ) ) ) = ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑙𝑡 ) ) ) )
37 36 eleq1d ( 𝑔 = 𝑙 → ( ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑔𝑡 ) ) ) ∈ 𝑌 ↔ ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑙𝑡 ) ) ) ∈ 𝑌 ) )
38 34 37 imbi12d ( 𝑔 = 𝑙 → ( ( ( 𝜑𝑌𝑔𝑌 ) → ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑔𝑡 ) ) ) ∈ 𝑌 ) ↔ ( ( 𝜑𝑌𝑙𝑌 ) → ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑙𝑡 ) ) ) ∈ 𝑌 ) ) )
39 32 38 5 vtocl2g ( ( 𝑌𝑙𝑌 ) → ( ( 𝜑𝑌𝑙𝑌 ) → ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑙𝑡 ) ) ) ∈ 𝑌 ) )
40 26 39 mpcom ( ( 𝜑𝑌𝑙𝑌 ) → ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑙𝑡 ) ) ) ∈ 𝑌 )
41 40 3expb ( ( 𝜑 ∧ ( 𝑌𝑙𝑌 ) ) → ( 𝑡𝑇 ↦ ( ( 𝑡 ) · ( 𝑙𝑡 ) ) ) ∈ 𝑌 )
42 25 41 eqeltrd ( ( 𝜑 ∧ ( 𝑌𝑙𝑌 ) ) → ( 𝑃 𝑙 ) ∈ 𝑌 )
43 8 14 42 seqcl ( 𝜑 → ( seq 1 ( 𝑃 , 𝑈 ) ‘ 𝑁 ) ∈ 𝑌 )
44 2 43 eqeltrid ( 𝜑𝑋𝑌 )