Metamath Proof Explorer


Theorem symgvalstruct

Description: The value of the symmetric group function at A represented as extensible structure with three slots. This corresponds to the former definition of SymGrp . (Contributed by Paul Chapman, 25-Feb-2008) (Revised by Mario Carneiro, 12-Jan-2015) (Revised by AV, 31-Mar-2024) (Proof shortened by AV, 6-Nov-2024)

Ref Expression
Hypotheses symgvalstruct.g G = SymGrp A
symgvalstruct.b B = x | x : A 1-1 onto A
symgvalstruct.m M = A A
symgvalstruct.p + ˙ = f M , g M f g
symgvalstruct.j J = 𝑡 A × 𝒫 A
Assertion symgvalstruct A V G = Base ndx B + ndx + ˙ TopSet ndx J

Proof

Step Hyp Ref Expression
1 symgvalstruct.g G = SymGrp A
2 symgvalstruct.b B = x | x : A 1-1 onto A
3 symgvalstruct.m M = A A
4 symgvalstruct.p + ˙ = f M , g M f g
5 symgvalstruct.j J = 𝑡 A × 𝒫 A
6 hashv01gt1 A V A = 0 A = 1 1 < A
7 hasheq0 A V A = 0 A =
8 0symgefmndeq Could not format ( EndoFMnd ` (/) ) = ( SymGrp ` (/) ) : No typesetting found for |- ( EndoFMnd ` (/) ) = ( SymGrp ` (/) ) with typecode |-
9 8 eqcomi Could not format ( SymGrp ` (/) ) = ( EndoFMnd ` (/) ) : No typesetting found for |- ( SymGrp ` (/) ) = ( EndoFMnd ` (/) ) with typecode |-
10 fveq2 A = SymGrp A = SymGrp
11 1 10 eqtrid A = G = SymGrp
12 fveq2 Could not format ( A = (/) -> ( EndoFMnd ` A ) = ( EndoFMnd ` (/) ) ) : No typesetting found for |- ( A = (/) -> ( EndoFMnd ` A ) = ( EndoFMnd ` (/) ) ) with typecode |-
13 9 11 12 3eqtr4a Could not format ( A = (/) -> G = ( EndoFMnd ` A ) ) : No typesetting found for |- ( A = (/) -> G = ( EndoFMnd ` A ) ) with typecode |-
14 13 adantl Could not format ( ( A e. V /\ A = (/) ) -> G = ( EndoFMnd ` A ) ) : No typesetting found for |- ( ( A e. V /\ A = (/) ) -> G = ( EndoFMnd ` A ) ) with typecode |-
15 eqid Could not format ( EndoFMnd ` A ) = ( EndoFMnd ` A ) : No typesetting found for |- ( EndoFMnd ` A ) = ( EndoFMnd ` A ) with typecode |-
16 15 3 4 5 efmnd Could not format ( A e. V -> ( EndoFMnd ` A ) = { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } ) : No typesetting found for |- ( A e. V -> ( EndoFMnd ` A ) = { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } ) with typecode |-
17 16 adantr Could not format ( ( A e. V /\ A = (/) ) -> ( EndoFMnd ` A ) = { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } ) : No typesetting found for |- ( ( A e. V /\ A = (/) ) -> ( EndoFMnd ` A ) = { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } ) with typecode |-
18 0map0sn0 =
19 id A = A =
20 19 19 oveq12d A = A A =
21 11 fveq2d A = Base G = Base SymGrp
22 eqid Base G = Base G
23 1 22 symgbas Base G = x | x : A 1-1 onto A
24 symgbas0 Base SymGrp =
25 21 23 24 3eqtr3g A = x | x : A 1-1 onto A =
26 2 25 eqtrid A = B =
27 18 20 26 3eqtr4a A = A A = B
28 27 adantl A V A = A A = B
29 3 28 eqtrid A V A = M = B
30 29 opeq2d A V A = Base ndx M = Base ndx B
31 30 tpeq1d A V A = Base ndx M + ndx + ˙ TopSet ndx J = Base ndx B + ndx + ˙ TopSet ndx J
32 14 17 31 3eqtrd A V A = G = Base ndx B + ndx + ˙ TopSet ndx J
33 32 ex A V A = G = Base ndx B + ndx + ˙ TopSet ndx J
34 7 33 sylbid A V A = 0 G = Base ndx B + ndx + ˙ TopSet ndx J
35 hash1snb A V A = 1 x A = x
36 snex x V
37 eleq1 A = x A V x V
38 36 37 mpbiri A = x A V
39 15 3 4 5 efmnd Could not format ( A e. _V -> ( EndoFMnd ` A ) = { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } ) : No typesetting found for |- ( A e. _V -> ( EndoFMnd ` A ) = { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } ) with typecode |-
40 38 39 syl Could not format ( A = { x } -> ( EndoFMnd ` A ) = { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } ) : No typesetting found for |- ( A = { x } -> ( EndoFMnd ` A ) = { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } ) with typecode |-
41 snsymgefmndeq Could not format ( A = { x } -> ( EndoFMnd ` A ) = ( SymGrp ` A ) ) : No typesetting found for |- ( A = { x } -> ( EndoFMnd ` A ) = ( SymGrp ` A ) ) with typecode |-
42 41 1 eqtr4di Could not format ( A = { x } -> ( EndoFMnd ` A ) = G ) : No typesetting found for |- ( A = { x } -> ( EndoFMnd ` A ) = G ) with typecode |-
43 42 fveq2d Could not format ( A = { x } -> ( Base ` ( EndoFMnd ` A ) ) = ( Base ` G ) ) : No typesetting found for |- ( A = { x } -> ( Base ` ( EndoFMnd ` A ) ) = ( Base ` G ) ) with typecode |-
44 eqid Could not format ( Base ` ( EndoFMnd ` A ) ) = ( Base ` ( EndoFMnd ` A ) ) : No typesetting found for |- ( Base ` ( EndoFMnd ` A ) ) = ( Base ` ( EndoFMnd ` A ) ) with typecode |-
45 15 44 efmndbas Could not format ( Base ` ( EndoFMnd ` A ) ) = ( A ^m A ) : No typesetting found for |- ( Base ` ( EndoFMnd ` A ) ) = ( A ^m A ) with typecode |-
46 45 3 eqtr4i Could not format ( Base ` ( EndoFMnd ` A ) ) = M : No typesetting found for |- ( Base ` ( EndoFMnd ` A ) ) = M with typecode |-
47 23 2 eqtr4i Base G = B
48 43 46 47 3eqtr3g A = x M = B
49 48 opeq2d A = x Base ndx M = Base ndx B
50 49 tpeq1d A = x Base ndx M + ndx + ˙ TopSet ndx J = Base ndx B + ndx + ˙ TopSet ndx J
51 40 42 50 3eqtr3d A = x G = Base ndx B + ndx + ˙ TopSet ndx J
52 51 exlimiv x A = x G = Base ndx B + ndx + ˙ TopSet ndx J
53 35 52 syl6bi A V A = 1 G = Base ndx B + ndx + ˙ TopSet ndx J
54 ssnpss A A B ¬ B A A
55 15 1 symgpssefmnd Could not format ( ( A e. V /\ 1 < ( # ` A ) ) -> ( Base ` G ) C. ( Base ` ( EndoFMnd ` A ) ) ) : No typesetting found for |- ( ( A e. V /\ 1 < ( # ` A ) ) -> ( Base ` G ) C. ( Base ` ( EndoFMnd ` A ) ) ) with typecode |-
56 2 23 eqtr4i B = Base G
57 45 eqcomi Could not format ( A ^m A ) = ( Base ` ( EndoFMnd ` A ) ) : No typesetting found for |- ( A ^m A ) = ( Base ` ( EndoFMnd ` A ) ) with typecode |-
58 56 57 psseq12i Could not format ( B C. ( A ^m A ) <-> ( Base ` G ) C. ( Base ` ( EndoFMnd ` A ) ) ) : No typesetting found for |- ( B C. ( A ^m A ) <-> ( Base ` G ) C. ( Base ` ( EndoFMnd ` A ) ) ) with typecode |-
59 55 58 sylibr A V 1 < A B A A
60 54 59 nsyl3 A V 1 < A ¬ A A B
61 fvexd Could not format ( ( A e. V /\ 1 < ( # ` A ) ) -> ( EndoFMnd ` A ) e. _V ) : No typesetting found for |- ( ( A e. V /\ 1 < ( # ` A ) ) -> ( EndoFMnd ` A ) e. _V ) with typecode |-
62 f1osetex x | x : A 1-1 onto A V
63 2 62 eqeltri B V
64 63 a1i A V 1 < A B V
65 1 2 symgval Could not format G = ( ( EndoFMnd ` A ) |`s B ) : No typesetting found for |- G = ( ( EndoFMnd ` A ) |`s B ) with typecode |-
66 65 57 ressval2 Could not format ( ( -. ( A ^m A ) C_ B /\ ( EndoFMnd ` A ) e. _V /\ B e. _V ) -> G = ( ( EndoFMnd ` A ) sSet <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. ) ) : No typesetting found for |- ( ( -. ( A ^m A ) C_ B /\ ( EndoFMnd ` A ) e. _V /\ B e. _V ) -> G = ( ( EndoFMnd ` A ) sSet <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. ) ) with typecode |-
67 60 61 64 66 syl3anc Could not format ( ( A e. V /\ 1 < ( # ` A ) ) -> G = ( ( EndoFMnd ` A ) sSet <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. ) ) : No typesetting found for |- ( ( A e. V /\ 1 < ( # ` A ) ) -> G = ( ( EndoFMnd ` A ) sSet <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. ) ) with typecode |-
68 ovex A A V
69 68 inex2 B A A V
70 setsval Could not format ( ( ( EndoFMnd ` A ) e. _V /\ ( B i^i ( A ^m A ) ) e. _V ) -> ( ( EndoFMnd ` A ) sSet <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. ) = ( ( ( EndoFMnd ` A ) |` ( _V \ { ( Base ` ndx ) } ) ) u. { <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. } ) ) : No typesetting found for |- ( ( ( EndoFMnd ` A ) e. _V /\ ( B i^i ( A ^m A ) ) e. _V ) -> ( ( EndoFMnd ` A ) sSet <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. ) = ( ( ( EndoFMnd ` A ) |` ( _V \ { ( Base ` ndx ) } ) ) u. { <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. } ) ) with typecode |-
71 61 69 70 sylancl Could not format ( ( A e. V /\ 1 < ( # ` A ) ) -> ( ( EndoFMnd ` A ) sSet <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. ) = ( ( ( EndoFMnd ` A ) |` ( _V \ { ( Base ` ndx ) } ) ) u. { <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. } ) ) : No typesetting found for |- ( ( A e. V /\ 1 < ( # ` A ) ) -> ( ( EndoFMnd ` A ) sSet <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. ) = ( ( ( EndoFMnd ` A ) |` ( _V \ { ( Base ` ndx ) } ) ) u. { <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. } ) ) with typecode |-
72 16 adantr Could not format ( ( A e. V /\ 1 < ( # ` A ) ) -> ( EndoFMnd ` A ) = { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } ) : No typesetting found for |- ( ( A e. V /\ 1 < ( # ` A ) ) -> ( EndoFMnd ` A ) = { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } ) with typecode |-
73 72 reseq1d Could not format ( ( A e. V /\ 1 < ( # ` A ) ) -> ( ( EndoFMnd ` A ) |` ( _V \ { ( Base ` ndx ) } ) ) = ( { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } |` ( _V \ { ( Base ` ndx ) } ) ) ) : No typesetting found for |- ( ( A e. V /\ 1 < ( # ` A ) ) -> ( ( EndoFMnd ` A ) |` ( _V \ { ( Base ` ndx ) } ) ) = ( { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } |` ( _V \ { ( Base ` ndx ) } ) ) ) with typecode |-
74 73 uneq1d Could not format ( ( A e. V /\ 1 < ( # ` A ) ) -> ( ( ( EndoFMnd ` A ) |` ( _V \ { ( Base ` ndx ) } ) ) u. { <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. } ) = ( ( { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } |` ( _V \ { ( Base ` ndx ) } ) ) u. { <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. } ) ) : No typesetting found for |- ( ( A e. V /\ 1 < ( # ` A ) ) -> ( ( ( EndoFMnd ` A ) |` ( _V \ { ( Base ` ndx ) } ) ) u. { <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. } ) = ( ( { <. ( Base ` ndx ) , M >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } |` ( _V \ { ( Base ` ndx ) } ) ) u. { <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. } ) ) with typecode |-
75 eqidd A V 1 < A Base ndx M + ndx + ˙ TopSet ndx J = Base ndx M + ndx + ˙ TopSet ndx J
76 fvexd A V 1 < A + ndx V
77 fvexd A V 1 < A TopSet ndx V
78 3 68 eqeltri M V
79 78 78 mpoex f M , g M f g V
80 4 79 eqeltri + ˙ V
81 80 a1i A V 1 < A + ˙ V
82 5 fvexi J V
83 82 a1i A V 1 < A J V
84 basendxnplusgndx Base ndx + ndx
85 84 necomi + ndx Base ndx
86 85 a1i A V 1 < A + ndx Base ndx
87 tsetndxnbasendx TopSet ndx Base ndx
88 87 a1i A V 1 < A TopSet ndx Base ndx
89 75 76 77 81 83 86 88 tpres A V 1 < A Base ndx M + ndx + ˙ TopSet ndx J V Base ndx = + ndx + ˙ TopSet ndx J
90 89 uneq1d A V 1 < A Base ndx M + ndx + ˙ TopSet ndx J V Base ndx Base ndx B A A = + ndx + ˙ TopSet ndx J Base ndx B A A
91 uncom + ndx + ˙ TopSet ndx J Base ndx B A A = Base ndx B A A + ndx + ˙ TopSet ndx J
92 tpass Base ndx B A A + ndx + ˙ TopSet ndx J = Base ndx B A A + ndx + ˙ TopSet ndx J
93 91 92 eqtr4i + ndx + ˙ TopSet ndx J Base ndx B A A = Base ndx B A A + ndx + ˙ TopSet ndx J
94 1 56 symgbasmap x B x A A
95 94 a1i A V 1 < A x B x A A
96 95 ssrdv A V 1 < A B A A
97 df-ss B A A B A A = B
98 96 97 sylib A V 1 < A B A A = B
99 98 opeq2d A V 1 < A Base ndx B A A = Base ndx B
100 99 tpeq1d A V 1 < A Base ndx B A A + ndx + ˙ TopSet ndx J = Base ndx B + ndx + ˙ TopSet ndx J
101 93 100 eqtrid A V 1 < A + ndx + ˙ TopSet ndx J Base ndx B A A = Base ndx B + ndx + ˙ TopSet ndx J
102 74 90 101 3eqtrd Could not format ( ( A e. V /\ 1 < ( # ` A ) ) -> ( ( ( EndoFMnd ` A ) |` ( _V \ { ( Base ` ndx ) } ) ) u. { <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. } ) = { <. ( Base ` ndx ) , B >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } ) : No typesetting found for |- ( ( A e. V /\ 1 < ( # ` A ) ) -> ( ( ( EndoFMnd ` A ) |` ( _V \ { ( Base ` ndx ) } ) ) u. { <. ( Base ` ndx ) , ( B i^i ( A ^m A ) ) >. } ) = { <. ( Base ` ndx ) , B >. , <. ( +g ` ndx ) , .+ >. , <. ( TopSet ` ndx ) , J >. } ) with typecode |-
103 67 71 102 3eqtrd A V 1 < A G = Base ndx B + ndx + ˙ TopSet ndx J
104 103 ex A V 1 < A G = Base ndx B + ndx + ˙ TopSet ndx J
105 34 53 104 3jaod A V A = 0 A = 1 1 < A G = Base ndx B + ndx + ˙ TopSet ndx J
106 6 105 mpd A V G = Base ndx B + ndx + ˙ TopSet ndx J