Metamath Proof Explorer


Theorem efmnd

Description: The monoid of endofunctions on set A . (Contributed by AV, 25-Jan-2024)

Ref Expression
Hypotheses efmnd.1 ⊢ G = EndoFMnd ⁡ A
efmnd.2 ⊢ B = A A
efmnd.3 ⊢ + ˙ = f ∈ B , g ∈ B ⟼ f ∘ g
efmnd.4 ⊢ J = ∏ 𝑡 ⁡ A × 𝒫 A
Assertion efmnd ⊢ A ∈ V → G = Base ndx B + ndx + ˙ TopSet ⁡ ndx J

Proof

Step Hyp Ref Expression
1 efmnd.1 ⊢ G = EndoFMnd ⁡ A
2 efmnd.2 ⊢ B = A A
3 efmnd.3 ⊢ + ˙ = f ∈ B , g ∈ B ⟼ f ∘ g
4 efmnd.4 ⊢ J = ∏ 𝑡 ⁡ A × 𝒫 A
5 elex ⊢ A ∈ V → A ∈ V
6 ovexd ⊢ a = A → a a ∈ V
7 id ⊢ b = a a → b = a a
8 id ⊢ a = A → a = A
9 8 8 oveq12d ⊢ a = A → a a = A A
10 9 2 eqtr4di ⊢ a = A → a a = B
11 7 10 sylan9eqr ⊢ a = A ∧ b = a a → b = B
12 11 opeq2d ⊢ a = A ∧ b = a a → Base ndx b = Base ndx B
13 eqidd ⊢ a = A ∧ b = a a → f ∘ g = f ∘ g
14 11 11 13 mpoeq123dv ⊢ a = A ∧ b = a a → f ∈ b , g ∈ b ⟼ f ∘ g = f ∈ B , g ∈ B ⟼ f ∘ g
15 14 3 eqtr4di ⊢ a = A ∧ b = a a → f ∈ b , g ∈ b ⟼ f ∘ g = + ˙
16 15 opeq2d ⊢ a = A ∧ b = a a → + ndx f ∈ b , g ∈ b ⟼ f ∘ g = + ndx + ˙
17 simpl ⊢ a = A ∧ b = a a → a = A
18 pweq ⊢ a = A → 𝒫 a = 𝒫 A
19 18 sneqd ⊢ a = A → 𝒫 a = 𝒫 A
20 19 adantr ⊢ a = A ∧ b = a a → 𝒫 a = 𝒫 A
21 17 20 xpeq12d ⊢ a = A ∧ b = a a → a × 𝒫 a = A × 𝒫 A
22 21 fveq2d ⊢ a = A ∧ b = a a → ∏ 𝑡 ⁡ a × 𝒫 a = ∏ 𝑡 ⁡ A × 𝒫 A
23 22 4 eqtr4di ⊢ a = A ∧ b = a a → ∏ 𝑡 ⁡ a × 𝒫 a = J
24 23 opeq2d ⊢ a = A ∧ b = a a → TopSet ⁡ ndx ∏ 𝑡 ⁡ a × 𝒫 a = TopSet ⁡ ndx J
25 12 16 24 tpeq123d ⊢ a = A ∧ b = a a → Base ndx b + ndx f ∈ b , g ∈ b ⟼ f ∘ g TopSet ⁡ ndx ∏ 𝑡 ⁡ a × 𝒫 a = Base ndx B + ndx + ˙ TopSet ⁡ ndx J
26 6 25 csbied ⊢ a = A → ⦋ a a / b⦌ Base ndx b + ndx f ∈ b , g ∈ b ⟼ f ∘ g TopSet ⁡ ndx ∏ 𝑡 ⁡ a × 𝒫 a = Base ndx B + ndx + ˙ TopSet ⁡ ndx J
27 df-efmnd ⊢ EndoFMnd = a ∈ V ⟼ ⦋ a a / b⦌ Base ndx b + ndx f ∈ b , g ∈ b ⟼ f ∘ g TopSet ⁡ ndx ∏ 𝑡 ⁡ a × 𝒫 a
28 tpex ⊢ Base ndx B + ndx + ˙ TopSet ⁡ ndx J ∈ V
29 26 27 28 fvmpt ⊢ A ∈ V → EndoFMnd ⁡ A = Base ndx B + ndx + ˙ TopSet ⁡ ndx J
30 5 29 syl ⊢ A ∈ V → EndoFMnd ⁡ A = Base ndx B + ndx + ˙ TopSet ⁡ ndx J
31 1 30 eqtrid ⊢ A ∈ V → G = Base ndx B + ndx + ˙ TopSet ⁡ ndx J