Metamath Proof Explorer


Theorem smndex1igid

Description: The composition of the modulo function I and a constant function ( GK ) results in ( GK ) itself. (Contributed by AV, 14-Feb-2024) Avoid ax-rep . (Revised by GG, 2-Apr-2026)

Ref Expression
Hypotheses smndex1ibas.m 𝑀 = ( EndoFMnd ‘ ℕ0 )
smndex1ibas.n 𝑁 ∈ ℕ
smndex1ibas.i 𝐼 = ( 𝑥 ∈ ℕ0 ↦ ( 𝑥 mod 𝑁 ) )
smndex1ibas.g 𝐺 = ( 𝑛 ∈ ( 0 ..^ 𝑁 ) ↦ ( 𝑥 ∈ ℕ0𝑛 ) )
Assertion smndex1igid ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → ( 𝐼 ∘ ( 𝐺𝐾 ) ) = ( 𝐺𝐾 ) )

Proof

Step Hyp Ref Expression
1 smndex1ibas.m 𝑀 = ( EndoFMnd ‘ ℕ0 )
2 smndex1ibas.n 𝑁 ∈ ℕ
3 smndex1ibas.i 𝐼 = ( 𝑥 ∈ ℕ0 ↦ ( 𝑥 mod 𝑁 ) )
4 smndex1ibas.g 𝐺 = ( 𝑛 ∈ ( 0 ..^ 𝑁 ) ↦ ( 𝑥 ∈ ℕ0𝑛 ) )
5 fconstmpt ( ℕ0 × { 𝐾 } ) = ( 𝑥 ∈ ℕ0𝐾 )
6 5 eqcomi ( 𝑥 ∈ ℕ0𝐾 ) = ( ℕ0 × { 𝐾 } )
7 6 a1i ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → ( 𝑥 ∈ ℕ0𝐾 ) = ( ℕ0 × { 𝐾 } ) )
8 7 coeq2d ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → ( 𝐼 ∘ ( 𝑥 ∈ ℕ0𝐾 ) ) = ( 𝐼 ∘ ( ℕ0 × { 𝐾 } ) ) )
9 id ( 𝑛 = 𝐾𝑛 = 𝐾 )
10 9 mpteq2dv ( 𝑛 = 𝐾 → ( 𝑥 ∈ ℕ0𝑛 ) = ( 𝑥 ∈ ℕ0𝐾 ) )
11 nn0ex 0 ∈ V
12 snex { 𝐾 } ∈ V
13 11 12 xpex ( ℕ0 × { 𝐾 } ) ∈ V
14 5 13 eqeltrri ( 𝑥 ∈ ℕ0𝐾 ) ∈ V
15 10 4 14 fvmpt ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → ( 𝐺𝐾 ) = ( 𝑥 ∈ ℕ0𝐾 ) )
16 15 coeq2d ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → ( 𝐼 ∘ ( 𝐺𝐾 ) ) = ( 𝐼 ∘ ( 𝑥 ∈ ℕ0𝐾 ) ) )
17 oveq1 ( 𝑥 = 𝐾 → ( 𝑥 mod 𝑁 ) = ( 𝐾 mod 𝑁 ) )
18 zmodidfzoimp ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → ( 𝐾 mod 𝑁 ) = 𝐾 )
19 17 18 sylan9eqr ( ( 𝐾 ∈ ( 0 ..^ 𝑁 ) ∧ 𝑥 = 𝐾 ) → ( 𝑥 mod 𝑁 ) = 𝐾 )
20 elfzonn0 ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → 𝐾 ∈ ℕ0 )
21 3 19 20 20 fvmptd2 ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → ( 𝐼𝐾 ) = 𝐾 )
22 21 eqcomd ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → 𝐾 = ( 𝐼𝐾 ) )
23 22 sneqd ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → { 𝐾 } = { ( 𝐼𝐾 ) } )
24 23 xpeq2d ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → ( ℕ0 × { 𝐾 } ) = ( ℕ0 × { ( 𝐼𝐾 ) } ) )
25 15 5 eqtr4di ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → ( 𝐺𝐾 ) = ( ℕ0 × { 𝐾 } ) )
26 ovex ( 𝑥 mod 𝑁 ) ∈ V
27 26 3 fnmpti 𝐼 Fn ℕ0
28 fcoconst ( ( 𝐼 Fn ℕ0𝐾 ∈ ℕ0 ) → ( 𝐼 ∘ ( ℕ0 × { 𝐾 } ) ) = ( ℕ0 × { ( 𝐼𝐾 ) } ) )
29 27 20 28 sylancr ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → ( 𝐼 ∘ ( ℕ0 × { 𝐾 } ) ) = ( ℕ0 × { ( 𝐼𝐾 ) } ) )
30 24 25 29 3eqtr4d ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → ( 𝐺𝐾 ) = ( 𝐼 ∘ ( ℕ0 × { 𝐾 } ) ) )
31 8 16 30 3eqtr4d ( 𝐾 ∈ ( 0 ..^ 𝑁 ) → ( 𝐼 ∘ ( 𝐺𝐾 ) ) = ( 𝐺𝐾 ) )