Metamath Proof Explorer


Theorem motgrp

Description: The motions of a geometry form a group with respect to function composition, called the Isometry group. (Contributed by Thierry Arnoux, 15-Dec-2019)

Ref Expression
Hypotheses ismot.p 𝑃 = ( Base ‘ 𝐺 )
ismot.m = ( dist ‘ 𝐺 )
motgrp.1 ( 𝜑𝐺𝑉 )
motgrp.i 𝐼 = { ⟨ ( Base ‘ ndx ) , ( 𝐺 Ismt 𝐺 ) ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) , 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ↦ ( 𝑓𝑔 ) ) ⟩ }
Assertion motgrp ( 𝜑𝐼 ∈ Grp )

Proof

Step Hyp Ref Expression
1 ismot.p 𝑃 = ( Base ‘ 𝐺 )
2 ismot.m = ( dist ‘ 𝐺 )
3 motgrp.1 ( 𝜑𝐺𝑉 )
4 motgrp.i 𝐼 = { ⟨ ( Base ‘ ndx ) , ( 𝐺 Ismt 𝐺 ) ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) , 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ↦ ( 𝑓𝑔 ) ) ⟩ }
5 ovex ( 𝐺 Ismt 𝐺 ) ∈ V
6 4 grpbase ( ( 𝐺 Ismt 𝐺 ) ∈ V → ( 𝐺 Ismt 𝐺 ) = ( Base ‘ 𝐼 ) )
7 5 6 mp1i ( 𝜑 → ( 𝐺 Ismt 𝐺 ) = ( Base ‘ 𝐼 ) )
8 eqidd ( 𝜑 → ( +g𝐼 ) = ( +g𝐼 ) )
9 3 3ad2ant1 ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ) → 𝐺𝑉 )
10 simp2 ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ) → 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) )
11 simp3 ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ) → 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) )
12 1 2 9 4 10 11 motplusg ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ) → ( 𝑓 ( +g𝐼 ) 𝑔 ) = ( 𝑓𝑔 ) )
13 1 2 9 10 11 motco ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ) → ( 𝑓𝑔 ) ∈ ( 𝐺 Ismt 𝐺 ) )
14 12 13 eqeltrd ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ) → ( 𝑓 ( +g𝐼 ) 𝑔 ) ∈ ( 𝐺 Ismt 𝐺 ) )
15 coass ( ( 𝑓𝑔 ) ∘ ) = ( 𝑓 ∘ ( 𝑔 ) )
16 12 3adant3r3 ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → ( 𝑓 ( +g𝐼 ) 𝑔 ) = ( 𝑓𝑔 ) )
17 16 oveq1d ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → ( ( 𝑓 ( +g𝐼 ) 𝑔 ) ( +g𝐼 ) ) = ( ( 𝑓𝑔 ) ( +g𝐼 ) ) )
18 3 adantr ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → 𝐺𝑉 )
19 13 3adant3r3 ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → ( 𝑓𝑔 ) ∈ ( 𝐺 Ismt 𝐺 ) )
20 simpr3 ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → ∈ ( 𝐺 Ismt 𝐺 ) )
21 1 2 18 4 19 20 motplusg ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → ( ( 𝑓𝑔 ) ( +g𝐼 ) ) = ( ( 𝑓𝑔 ) ∘ ) )
22 17 21 eqtrd ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → ( ( 𝑓 ( +g𝐼 ) 𝑔 ) ( +g𝐼 ) ) = ( ( 𝑓𝑔 ) ∘ ) )
23 simpr2 ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) )
24 1 2 18 4 23 20 motplusg ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → ( 𝑔 ( +g𝐼 ) ) = ( 𝑔 ) )
25 24 oveq2d ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → ( 𝑓 ( +g𝐼 ) ( 𝑔 ( +g𝐼 ) ) ) = ( 𝑓 ( +g𝐼 ) ( 𝑔 ) ) )
26 simpr1 ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) )
27 1 2 18 23 20 motco ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → ( 𝑔 ) ∈ ( 𝐺 Ismt 𝐺 ) )
28 1 2 18 4 26 27 motplusg ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → ( 𝑓 ( +g𝐼 ) ( 𝑔 ) ) = ( 𝑓 ∘ ( 𝑔 ) ) )
29 25 28 eqtrd ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → ( 𝑓 ( +g𝐼 ) ( 𝑔 ( +g𝐼 ) ) ) = ( 𝑓 ∘ ( 𝑔 ) ) )
30 15 22 29 3eqtr4a ( ( 𝜑 ∧ ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ∧ 𝑔 ∈ ( 𝐺 Ismt 𝐺 ) ∧ ∈ ( 𝐺 Ismt 𝐺 ) ) ) → ( ( 𝑓 ( +g𝐼 ) 𝑔 ) ( +g𝐼 ) ) = ( 𝑓 ( +g𝐼 ) ( 𝑔 ( +g𝐼 ) ) ) )
31 1 2 3 idmot ( 𝜑 → ( I ↾ 𝑃 ) ∈ ( 𝐺 Ismt 𝐺 ) )
32 3 adantr ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ) → 𝐺𝑉 )
33 31 adantr ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ) → ( I ↾ 𝑃 ) ∈ ( 𝐺 Ismt 𝐺 ) )
34 simpr ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ) → 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) )
35 1 2 32 4 33 34 motplusg ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ) → ( ( I ↾ 𝑃 ) ( +g𝐼 ) 𝑓 ) = ( ( I ↾ 𝑃 ) ∘ 𝑓 ) )
36 1 2 ismot ( 𝐺𝑉 → ( 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ↔ ( 𝑓 : 𝑃1-1-onto𝑃 ∧ ∀ 𝑎𝑃𝑏𝑃 ( ( 𝑓𝑎 ) ( 𝑓𝑏 ) ) = ( 𝑎 𝑏 ) ) ) )
37 36 simprbda ( ( 𝐺𝑉𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ) → 𝑓 : 𝑃1-1-onto𝑃 )
38 3 37 sylan ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ) → 𝑓 : 𝑃1-1-onto𝑃 )
39 f1of ( 𝑓 : 𝑃1-1-onto𝑃𝑓 : 𝑃𝑃 )
40 fcoi2 ( 𝑓 : 𝑃𝑃 → ( ( I ↾ 𝑃 ) ∘ 𝑓 ) = 𝑓 )
41 38 39 40 3syl ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ) → ( ( I ↾ 𝑃 ) ∘ 𝑓 ) = 𝑓 )
42 35 41 eqtrd ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ) → ( ( I ↾ 𝑃 ) ( +g𝐼 ) 𝑓 ) = 𝑓 )
43 1 2 32 34 cnvmot ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ) → 𝑓 ∈ ( 𝐺 Ismt 𝐺 ) )
44 1 2 32 4 43 34 motplusg ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ) → ( 𝑓 ( +g𝐼 ) 𝑓 ) = ( 𝑓𝑓 ) )
45 f1ococnv1 ( 𝑓 : 𝑃1-1-onto𝑃 → ( 𝑓𝑓 ) = ( I ↾ 𝑃 ) )
46 38 45 syl ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ) → ( 𝑓𝑓 ) = ( I ↾ 𝑃 ) )
47 44 46 eqtrd ( ( 𝜑𝑓 ∈ ( 𝐺 Ismt 𝐺 ) ) → ( 𝑓 ( +g𝐼 ) 𝑓 ) = ( I ↾ 𝑃 ) )
48 7 8 14 30 31 42 43 47 isgrpd ( 𝜑𝐼 ∈ Grp )