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 )