Metamath Proof Explorer


Theorem symgcom

Description: Two permutations X and Y commute if their orbits are disjoint. (Contributed by Thierry Arnoux, 15-Oct-2023)

Ref Expression
Hypotheses symgcom.g 𝐺 = ( SymGrp ‘ 𝐴 )
symgcom.b 𝐵 = ( Base ‘ 𝐺 )
symgcom.x ( 𝜑𝑋𝐵 )
symgcom.y ( 𝜑𝑌𝐵 )
symgcom.1 ( 𝜑 → ( 𝑋𝐸 ) = ( I ↾ 𝐸 ) )
symgcom.2 ( 𝜑 → ( 𝑌𝐹 ) = ( I ↾ 𝐹 ) )
symgcom.3 ( 𝜑 → ( 𝐸𝐹 ) = ∅ )
symgcom.4 ( 𝜑 → ( 𝐸𝐹 ) = 𝐴 )
Assertion symgcom ( 𝜑 → ( 𝑋𝑌 ) = ( 𝑌𝑋 ) )

Proof

Step Hyp Ref Expression
1 symgcom.g 𝐺 = ( SymGrp ‘ 𝐴 )
2 symgcom.b 𝐵 = ( Base ‘ 𝐺 )
3 symgcom.x ( 𝜑𝑋𝐵 )
4 symgcom.y ( 𝜑𝑌𝐵 )
5 symgcom.1 ( 𝜑 → ( 𝑋𝐸 ) = ( I ↾ 𝐸 ) )
6 symgcom.2 ( 𝜑 → ( 𝑌𝐹 ) = ( I ↾ 𝐹 ) )
7 symgcom.3 ( 𝜑 → ( 𝐸𝐹 ) = ∅ )
8 symgcom.4 ( 𝜑 → ( 𝐸𝐹 ) = 𝐴 )
9 8 reseq2d ( 𝜑 → ( ( 𝑋𝑌 ) ↾ ( 𝐸𝐹 ) ) = ( ( 𝑋𝑌 ) ↾ 𝐴 ) )
10 resundi ( ( 𝑋𝑌 ) ↾ ( 𝐸𝐹 ) ) = ( ( ( 𝑋𝑌 ) ↾ 𝐸 ) ∪ ( ( 𝑋𝑌 ) ↾ 𝐹 ) )
11 resco ( ( 𝑋𝑌 ) ↾ 𝐸 ) = ( 𝑋 ∘ ( 𝑌𝐸 ) )
12 1 2 symgbasf1o ( 𝑌𝐵𝑌 : 𝐴1-1-onto𝐴 )
13 4 12 syl ( 𝜑𝑌 : 𝐴1-1-onto𝐴 )
14 f1ocnv ( 𝑌 : 𝐴1-1-onto𝐴 𝑌 : 𝐴1-1-onto𝐴 )
15 f1ofun ( 𝑌 : 𝐴1-1-onto𝐴 → Fun 𝑌 )
16 13 14 15 3syl ( 𝜑 → Fun 𝑌 )
17 f1ofn ( 𝑌 : 𝐴1-1-onto𝐴𝑌 Fn 𝐴 )
18 fnresdm ( 𝑌 Fn 𝐴 → ( 𝑌𝐴 ) = 𝑌 )
19 13 17 18 3syl ( 𝜑 → ( 𝑌𝐴 ) = 𝑌 )
20 f1ofo ( 𝑌 : 𝐴1-1-onto𝐴𝑌 : 𝐴onto𝐴 )
21 13 20 syl ( 𝜑𝑌 : 𝐴onto𝐴 )
22 foeq1 ( ( 𝑌𝐴 ) = 𝑌 → ( ( 𝑌𝐴 ) : 𝐴onto𝐴𝑌 : 𝐴onto𝐴 ) )
23 22 biimpar ( ( ( 𝑌𝐴 ) = 𝑌𝑌 : 𝐴onto𝐴 ) → ( 𝑌𝐴 ) : 𝐴onto𝐴 )
24 19 21 23 syl2anc ( 𝜑 → ( 𝑌𝐴 ) : 𝐴onto𝐴 )
25 f1oi ( I ↾ 𝐹 ) : 𝐹1-1-onto𝐹
26 f1ofo ( ( I ↾ 𝐹 ) : 𝐹1-1-onto𝐹 → ( I ↾ 𝐹 ) : 𝐹onto𝐹 )
27 25 26 mp1i ( 𝜑 → ( I ↾ 𝐹 ) : 𝐹onto𝐹 )
28 foeq1 ( ( 𝑌𝐹 ) = ( I ↾ 𝐹 ) → ( ( 𝑌𝐹 ) : 𝐹onto𝐹 ↔ ( I ↾ 𝐹 ) : 𝐹onto𝐹 ) )
29 28 biimpar ( ( ( 𝑌𝐹 ) = ( I ↾ 𝐹 ) ∧ ( I ↾ 𝐹 ) : 𝐹onto𝐹 ) → ( 𝑌𝐹 ) : 𝐹onto𝐹 )
30 6 27 29 syl2anc ( 𝜑 → ( 𝑌𝐹 ) : 𝐹onto𝐹 )
31 resdif ( ( Fun 𝑌 ∧ ( 𝑌𝐴 ) : 𝐴onto𝐴 ∧ ( 𝑌𝐹 ) : 𝐹onto𝐹 ) → ( 𝑌 ↾ ( 𝐴𝐹 ) ) : ( 𝐴𝐹 ) –1-1-onto→ ( 𝐴𝐹 ) )
32 16 24 30 31 syl3anc ( 𝜑 → ( 𝑌 ↾ ( 𝐴𝐹 ) ) : ( 𝐴𝐹 ) –1-1-onto→ ( 𝐴𝐹 ) )
33 ssun2 𝐹 ⊆ ( 𝐸𝐹 )
34 33 8 sseqtrid ( 𝜑𝐹𝐴 )
35 incom ( 𝐸𝐹 ) = ( 𝐹𝐸 )
36 35 7 eqtr3id ( 𝜑 → ( 𝐹𝐸 ) = ∅ )
37 uncom ( 𝐸𝐹 ) = ( 𝐹𝐸 )
38 37 8 eqtr3id ( 𝜑 → ( 𝐹𝐸 ) = 𝐴 )
39 uneqdifeq ( ( 𝐹𝐴 ∧ ( 𝐹𝐸 ) = ∅ ) → ( ( 𝐹𝐸 ) = 𝐴 ↔ ( 𝐴𝐹 ) = 𝐸 ) )
40 39 biimpa ( ( ( 𝐹𝐴 ∧ ( 𝐹𝐸 ) = ∅ ) ∧ ( 𝐹𝐸 ) = 𝐴 ) → ( 𝐴𝐹 ) = 𝐸 )
41 34 36 38 40 syl21anc ( 𝜑 → ( 𝐴𝐹 ) = 𝐸 )
42 41 reseq2d ( 𝜑 → ( 𝑌 ↾ ( 𝐴𝐹 ) ) = ( 𝑌𝐸 ) )
43 42 41 41 f1oeq123d ( 𝜑 → ( ( 𝑌 ↾ ( 𝐴𝐹 ) ) : ( 𝐴𝐹 ) –1-1-onto→ ( 𝐴𝐹 ) ↔ ( 𝑌𝐸 ) : 𝐸1-1-onto𝐸 ) )
44 32 43 mpbid ( 𝜑 → ( 𝑌𝐸 ) : 𝐸1-1-onto𝐸 )
45 f1of ( ( 𝑌𝐸 ) : 𝐸1-1-onto𝐸 → ( 𝑌𝐸 ) : 𝐸𝐸 )
46 44 45 syl ( 𝜑 → ( 𝑌𝐸 ) : 𝐸𝐸 )
47 46 frnd ( 𝜑 → ran ( 𝑌𝐸 ) ⊆ 𝐸 )
48 cores ( ran ( 𝑌𝐸 ) ⊆ 𝐸 → ( ( 𝑋𝐸 ) ∘ ( 𝑌𝐸 ) ) = ( 𝑋 ∘ ( 𝑌𝐸 ) ) )
49 47 48 syl ( 𝜑 → ( ( 𝑋𝐸 ) ∘ ( 𝑌𝐸 ) ) = ( 𝑋 ∘ ( 𝑌𝐸 ) ) )
50 11 49 eqtr4id ( 𝜑 → ( ( 𝑋𝑌 ) ↾ 𝐸 ) = ( ( 𝑋𝐸 ) ∘ ( 𝑌𝐸 ) ) )
51 5 coeq1d ( 𝜑 → ( ( 𝑋𝐸 ) ∘ ( 𝑌𝐸 ) ) = ( ( I ↾ 𝐸 ) ∘ ( 𝑌𝐸 ) ) )
52 fcoi2 ( ( 𝑌𝐸 ) : 𝐸𝐸 → ( ( I ↾ 𝐸 ) ∘ ( 𝑌𝐸 ) ) = ( 𝑌𝐸 ) )
53 46 52 syl ( 𝜑 → ( ( I ↾ 𝐸 ) ∘ ( 𝑌𝐸 ) ) = ( 𝑌𝐸 ) )
54 50 51 53 3eqtrd ( 𝜑 → ( ( 𝑋𝑌 ) ↾ 𝐸 ) = ( 𝑌𝐸 ) )
55 resco ( ( 𝑋𝑌 ) ↾ 𝐹 ) = ( 𝑋 ∘ ( 𝑌𝐹 ) )
56 6 coeq2d ( 𝜑 → ( 𝑋 ∘ ( 𝑌𝐹 ) ) = ( 𝑋 ∘ ( I ↾ 𝐹 ) ) )
57 coires1 ( 𝑋 ∘ ( I ↾ 𝐹 ) ) = ( 𝑋𝐹 )
58 56 57 eqtrdi ( 𝜑 → ( 𝑋 ∘ ( 𝑌𝐹 ) ) = ( 𝑋𝐹 ) )
59 55 58 syl5eq ( 𝜑 → ( ( 𝑋𝑌 ) ↾ 𝐹 ) = ( 𝑋𝐹 ) )
60 54 59 uneq12d ( 𝜑 → ( ( ( 𝑋𝑌 ) ↾ 𝐸 ) ∪ ( ( 𝑋𝑌 ) ↾ 𝐹 ) ) = ( ( 𝑌𝐸 ) ∪ ( 𝑋𝐹 ) ) )
61 10 60 syl5eq ( 𝜑 → ( ( 𝑋𝑌 ) ↾ ( 𝐸𝐹 ) ) = ( ( 𝑌𝐸 ) ∪ ( 𝑋𝐹 ) ) )
62 1 2 symgbasf1o ( 𝑋𝐵𝑋 : 𝐴1-1-onto𝐴 )
63 3 62 syl ( 𝜑𝑋 : 𝐴1-1-onto𝐴 )
64 f1oco ( ( 𝑋 : 𝐴1-1-onto𝐴𝑌 : 𝐴1-1-onto𝐴 ) → ( 𝑋𝑌 ) : 𝐴1-1-onto𝐴 )
65 63 13 64 syl2anc ( 𝜑 → ( 𝑋𝑌 ) : 𝐴1-1-onto𝐴 )
66 f1ofn ( ( 𝑋𝑌 ) : 𝐴1-1-onto𝐴 → ( 𝑋𝑌 ) Fn 𝐴 )
67 fnresdm ( ( 𝑋𝑌 ) Fn 𝐴 → ( ( 𝑋𝑌 ) ↾ 𝐴 ) = ( 𝑋𝑌 ) )
68 65 66 67 3syl ( 𝜑 → ( ( 𝑋𝑌 ) ↾ 𝐴 ) = ( 𝑋𝑌 ) )
69 9 61 68 3eqtr3d ( 𝜑 → ( ( 𝑌𝐸 ) ∪ ( 𝑋𝐹 ) ) = ( 𝑋𝑌 ) )
70 8 reseq2d ( 𝜑 → ( ( 𝑌𝑋 ) ↾ ( 𝐸𝐹 ) ) = ( ( 𝑌𝑋 ) ↾ 𝐴 ) )
71 resundi ( ( 𝑌𝑋 ) ↾ ( 𝐸𝐹 ) ) = ( ( ( 𝑌𝑋 ) ↾ 𝐸 ) ∪ ( ( 𝑌𝑋 ) ↾ 𝐹 ) )
72 resco ( ( 𝑌𝑋 ) ↾ 𝐸 ) = ( 𝑌 ∘ ( 𝑋𝐸 ) )
73 5 coeq2d ( 𝜑 → ( 𝑌 ∘ ( 𝑋𝐸 ) ) = ( 𝑌 ∘ ( I ↾ 𝐸 ) ) )
74 coires1 ( 𝑌 ∘ ( I ↾ 𝐸 ) ) = ( 𝑌𝐸 )
75 73 74 eqtrdi ( 𝜑 → ( 𝑌 ∘ ( 𝑋𝐸 ) ) = ( 𝑌𝐸 ) )
76 72 75 syl5eq ( 𝜑 → ( ( 𝑌𝑋 ) ↾ 𝐸 ) = ( 𝑌𝐸 ) )
77 resco ( ( 𝑌𝑋 ) ↾ 𝐹 ) = ( 𝑌 ∘ ( 𝑋𝐹 ) )
78 f1ocnv ( 𝑋 : 𝐴1-1-onto𝐴 𝑋 : 𝐴1-1-onto𝐴 )
79 f1ofun ( 𝑋 : 𝐴1-1-onto𝐴 → Fun 𝑋 )
80 63 78 79 3syl ( 𝜑 → Fun 𝑋 )
81 f1ofn ( 𝑋 : 𝐴1-1-onto𝐴𝑋 Fn 𝐴 )
82 fnresdm ( 𝑋 Fn 𝐴 → ( 𝑋𝐴 ) = 𝑋 )
83 63 81 82 3syl ( 𝜑 → ( 𝑋𝐴 ) = 𝑋 )
84 f1ofo ( 𝑋 : 𝐴1-1-onto𝐴𝑋 : 𝐴onto𝐴 )
85 63 84 syl ( 𝜑𝑋 : 𝐴onto𝐴 )
86 foeq1 ( ( 𝑋𝐴 ) = 𝑋 → ( ( 𝑋𝐴 ) : 𝐴onto𝐴𝑋 : 𝐴onto𝐴 ) )
87 86 biimpar ( ( ( 𝑋𝐴 ) = 𝑋𝑋 : 𝐴onto𝐴 ) → ( 𝑋𝐴 ) : 𝐴onto𝐴 )
88 83 85 87 syl2anc ( 𝜑 → ( 𝑋𝐴 ) : 𝐴onto𝐴 )
89 f1oi ( I ↾ 𝐸 ) : 𝐸1-1-onto𝐸
90 f1ofo ( ( I ↾ 𝐸 ) : 𝐸1-1-onto𝐸 → ( I ↾ 𝐸 ) : 𝐸onto𝐸 )
91 89 90 mp1i ( 𝜑 → ( I ↾ 𝐸 ) : 𝐸onto𝐸 )
92 foeq1 ( ( 𝑋𝐸 ) = ( I ↾ 𝐸 ) → ( ( 𝑋𝐸 ) : 𝐸onto𝐸 ↔ ( I ↾ 𝐸 ) : 𝐸onto𝐸 ) )
93 92 biimpar ( ( ( 𝑋𝐸 ) = ( I ↾ 𝐸 ) ∧ ( I ↾ 𝐸 ) : 𝐸onto𝐸 ) → ( 𝑋𝐸 ) : 𝐸onto𝐸 )
94 5 91 93 syl2anc ( 𝜑 → ( 𝑋𝐸 ) : 𝐸onto𝐸 )
95 resdif ( ( Fun 𝑋 ∧ ( 𝑋𝐴 ) : 𝐴onto𝐴 ∧ ( 𝑋𝐸 ) : 𝐸onto𝐸 ) → ( 𝑋 ↾ ( 𝐴𝐸 ) ) : ( 𝐴𝐸 ) –1-1-onto→ ( 𝐴𝐸 ) )
96 80 88 94 95 syl3anc ( 𝜑 → ( 𝑋 ↾ ( 𝐴𝐸 ) ) : ( 𝐴𝐸 ) –1-1-onto→ ( 𝐴𝐸 ) )
97 ssun1 𝐸 ⊆ ( 𝐸𝐹 )
98 97 8 sseqtrid ( 𝜑𝐸𝐴 )
99 uneqdifeq ( ( 𝐸𝐴 ∧ ( 𝐸𝐹 ) = ∅ ) → ( ( 𝐸𝐹 ) = 𝐴 ↔ ( 𝐴𝐸 ) = 𝐹 ) )
100 99 biimpa ( ( ( 𝐸𝐴 ∧ ( 𝐸𝐹 ) = ∅ ) ∧ ( 𝐸𝐹 ) = 𝐴 ) → ( 𝐴𝐸 ) = 𝐹 )
101 98 7 8 100 syl21anc ( 𝜑 → ( 𝐴𝐸 ) = 𝐹 )
102 101 reseq2d ( 𝜑 → ( 𝑋 ↾ ( 𝐴𝐸 ) ) = ( 𝑋𝐹 ) )
103 102 101 101 f1oeq123d ( 𝜑 → ( ( 𝑋 ↾ ( 𝐴𝐸 ) ) : ( 𝐴𝐸 ) –1-1-onto→ ( 𝐴𝐸 ) ↔ ( 𝑋𝐹 ) : 𝐹1-1-onto𝐹 ) )
104 96 103 mpbid ( 𝜑 → ( 𝑋𝐹 ) : 𝐹1-1-onto𝐹 )
105 f1of ( ( 𝑋𝐹 ) : 𝐹1-1-onto𝐹 → ( 𝑋𝐹 ) : 𝐹𝐹 )
106 104 105 syl ( 𝜑 → ( 𝑋𝐹 ) : 𝐹𝐹 )
107 106 frnd ( 𝜑 → ran ( 𝑋𝐹 ) ⊆ 𝐹 )
108 cores ( ran ( 𝑋𝐹 ) ⊆ 𝐹 → ( ( 𝑌𝐹 ) ∘ ( 𝑋𝐹 ) ) = ( 𝑌 ∘ ( 𝑋𝐹 ) ) )
109 107 108 syl ( 𝜑 → ( ( 𝑌𝐹 ) ∘ ( 𝑋𝐹 ) ) = ( 𝑌 ∘ ( 𝑋𝐹 ) ) )
110 77 109 eqtr4id ( 𝜑 → ( ( 𝑌𝑋 ) ↾ 𝐹 ) = ( ( 𝑌𝐹 ) ∘ ( 𝑋𝐹 ) ) )
111 6 coeq1d ( 𝜑 → ( ( 𝑌𝐹 ) ∘ ( 𝑋𝐹 ) ) = ( ( I ↾ 𝐹 ) ∘ ( 𝑋𝐹 ) ) )
112 fcoi2 ( ( 𝑋𝐹 ) : 𝐹𝐹 → ( ( I ↾ 𝐹 ) ∘ ( 𝑋𝐹 ) ) = ( 𝑋𝐹 ) )
113 106 112 syl ( 𝜑 → ( ( I ↾ 𝐹 ) ∘ ( 𝑋𝐹 ) ) = ( 𝑋𝐹 ) )
114 110 111 113 3eqtrd ( 𝜑 → ( ( 𝑌𝑋 ) ↾ 𝐹 ) = ( 𝑋𝐹 ) )
115 76 114 uneq12d ( 𝜑 → ( ( ( 𝑌𝑋 ) ↾ 𝐸 ) ∪ ( ( 𝑌𝑋 ) ↾ 𝐹 ) ) = ( ( 𝑌𝐸 ) ∪ ( 𝑋𝐹 ) ) )
116 71 115 syl5eq ( 𝜑 → ( ( 𝑌𝑋 ) ↾ ( 𝐸𝐹 ) ) = ( ( 𝑌𝐸 ) ∪ ( 𝑋𝐹 ) ) )
117 f1oco ( ( 𝑌 : 𝐴1-1-onto𝐴𝑋 : 𝐴1-1-onto𝐴 ) → ( 𝑌𝑋 ) : 𝐴1-1-onto𝐴 )
118 13 63 117 syl2anc ( 𝜑 → ( 𝑌𝑋 ) : 𝐴1-1-onto𝐴 )
119 f1ofn ( ( 𝑌𝑋 ) : 𝐴1-1-onto𝐴 → ( 𝑌𝑋 ) Fn 𝐴 )
120 fnresdm ( ( 𝑌𝑋 ) Fn 𝐴 → ( ( 𝑌𝑋 ) ↾ 𝐴 ) = ( 𝑌𝑋 ) )
121 118 119 120 3syl ( 𝜑 → ( ( 𝑌𝑋 ) ↾ 𝐴 ) = ( 𝑌𝑋 ) )
122 70 116 121 3eqtr3d ( 𝜑 → ( ( 𝑌𝐸 ) ∪ ( 𝑋𝐹 ) ) = ( 𝑌𝑋 ) )
123 69 122 eqtr3d ( 𝜑 → ( 𝑋𝑌 ) = ( 𝑌𝑋 ) )