Metamath Proof Explorer


Theorem symgval

Description: The value of the symmetric group function at A . (Contributed by Paul Chapman, 25-Feb-2008) (Revised by Mario Carneiro, 12-Jan-2015)

Ref Expression
Hypotheses symgval.1 𝐺 = ( SymGrp ‘ 𝐴 )
symgval.2 𝐵 = { 𝑥𝑥 : 𝐴1-1-onto𝐴 }
symgval.3 + = ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑓𝑔 ) )
symgval.4 𝐽 = ( ∏t ‘ ( 𝐴 × { 𝒫 𝐴 } ) )
Assertion symgval ( 𝐴𝑉𝐺 = { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐽 ⟩ } )

Proof

Step Hyp Ref Expression
1 symgval.1 𝐺 = ( SymGrp ‘ 𝐴 )
2 symgval.2 𝐵 = { 𝑥𝑥 : 𝐴1-1-onto𝐴 }
3 symgval.3 + = ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑓𝑔 ) )
4 symgval.4 𝐽 = ( ∏t ‘ ( 𝐴 × { 𝒫 𝐴 } ) )
5 elex ( 𝐴𝑉𝐴 ∈ V )
6 ovex ( 𝑎m 𝑎 ) ∈ V
7 f1of ( 𝑥 : 𝑎1-1-onto𝑎𝑥 : 𝑎𝑎 )
8 vex 𝑎 ∈ V
9 8 8 elmap ( 𝑥 ∈ ( 𝑎m 𝑎 ) ↔ 𝑥 : 𝑎𝑎 )
10 7 9 sylibr ( 𝑥 : 𝑎1-1-onto𝑎𝑥 ∈ ( 𝑎m 𝑎 ) )
11 10 abssi { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ⊆ ( 𝑎m 𝑎 )
12 6 11 ssexi { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ∈ V
13 12 a1i ( 𝑎 = 𝐴 → { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ∈ V )
14 id ( 𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } → 𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } )
15 f1oeq23 ( ( 𝑎 = 𝐴𝑎 = 𝐴 ) → ( 𝑥 : 𝑎1-1-onto𝑎𝑥 : 𝐴1-1-onto𝐴 ) )
16 15 anidms ( 𝑎 = 𝐴 → ( 𝑥 : 𝑎1-1-onto𝑎𝑥 : 𝐴1-1-onto𝐴 ) )
17 16 abbidv ( 𝑎 = 𝐴 → { 𝑥𝑥 : 𝑎1-1-onto𝑎 } = { 𝑥𝑥 : 𝐴1-1-onto𝐴 } )
18 17 2 syl6eqr ( 𝑎 = 𝐴 → { 𝑥𝑥 : 𝑎1-1-onto𝑎 } = 𝐵 )
19 14 18 sylan9eqr ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → 𝑏 = 𝐵 )
20 19 opeq2d ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → ⟨ ( Base ‘ ndx ) , 𝑏 ⟩ = ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ )
21 eqidd ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → ( 𝑓𝑔 ) = ( 𝑓𝑔 ) )
22 19 19 21 mpoeq123dv ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑓𝑔 ) ) = ( 𝑓𝐵 , 𝑔𝐵 ↦ ( 𝑓𝑔 ) ) )
23 22 3 syl6eqr ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑓𝑔 ) ) = + )
24 23 opeq2d ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → ⟨ ( +g ‘ ndx ) , ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑓𝑔 ) ) ⟩ = ⟨ ( +g ‘ ndx ) , + ⟩ )
25 simpl ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → 𝑎 = 𝐴 )
26 25 pweqd ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → 𝒫 𝑎 = 𝒫 𝐴 )
27 26 sneqd ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → { 𝒫 𝑎 } = { 𝒫 𝐴 } )
28 25 27 xpeq12d ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → ( 𝑎 × { 𝒫 𝑎 } ) = ( 𝐴 × { 𝒫 𝐴 } ) )
29 28 fveq2d ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → ( ∏t ‘ ( 𝑎 × { 𝒫 𝑎 } ) ) = ( ∏t ‘ ( 𝐴 × { 𝒫 𝐴 } ) ) )
30 29 4 syl6eqr ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → ( ∏t ‘ ( 𝑎 × { 𝒫 𝑎 } ) ) = 𝐽 )
31 30 opeq2d ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → ⟨ ( TopSet ‘ ndx ) , ( ∏t ‘ ( 𝑎 × { 𝒫 𝑎 } ) ) ⟩ = ⟨ ( TopSet ‘ ndx ) , 𝐽 ⟩ )
32 20 24 31 tpeq123d ( ( 𝑎 = 𝐴𝑏 = { 𝑥𝑥 : 𝑎1-1-onto𝑎 } ) → { ⟨ ( Base ‘ ndx ) , 𝑏 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( TopSet ‘ ndx ) , ( ∏t ‘ ( 𝑎 × { 𝒫 𝑎 } ) ) ⟩ } = { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐽 ⟩ } )
33 13 32 csbied ( 𝑎 = 𝐴 { 𝑥𝑥 : 𝑎1-1-onto𝑎 } / 𝑏 { ⟨ ( Base ‘ ndx ) , 𝑏 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( TopSet ‘ ndx ) , ( ∏t ‘ ( 𝑎 × { 𝒫 𝑎 } ) ) ⟩ } = { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐽 ⟩ } )
34 df-symg SymGrp = ( 𝑎 ∈ V ↦ { 𝑥𝑥 : 𝑎1-1-onto𝑎 } / 𝑏 { ⟨ ( Base ‘ ndx ) , 𝑏 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓𝑏 , 𝑔𝑏 ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( TopSet ‘ ndx ) , ( ∏t ‘ ( 𝑎 × { 𝒫 𝑎 } ) ) ⟩ } )
35 tpex { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐽 ⟩ } ∈ V
36 33 34 35 fvmpt ( 𝐴 ∈ V → ( SymGrp ‘ 𝐴 ) = { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐽 ⟩ } )
37 5 36 syl ( 𝐴𝑉 → ( SymGrp ‘ 𝐴 ) = { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐽 ⟩ } )
38 1 37 syl5eq ( 𝐴𝑉𝐺 = { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( TopSet ‘ ndx ) , 𝐽 ⟩ } )