MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  motgrp Structured version   Visualization version   GIF version

Theorem motgrp 28888
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.)
Hypotheses
Ref Expression
ismot.p 𝑃 = (Base‘𝐺)
ismot.m = (dist‘𝐺)
motgrp.1 (𝜑𝐺𝑉)
motgrp.i 𝐼 = {⟨(Base‘ndx), (𝐺Ismt𝐺)⟩, ⟨(+g‘ndx), (𝑓 ∈ (𝐺Ismt𝐺), 𝑔 ∈ (𝐺Ismt𝐺) ↦ (𝑓𝑔))⟩}
Assertion
Ref Expression
motgrp (𝜑𝐼 ∈ Grp)
Distinct variable groups:   𝑓,𝐺,𝑔   𝑓,𝐼,𝑔   𝑃,𝑓,𝑔   𝜑,𝑓,𝑔
Allowed substitution hints:   (𝑓, 𝑔)   𝑉(𝑓, 𝑔)

Proof of Theorem motgrp
Dummy variables 𝑎 𝑏 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ovex 7447 . . 3 (𝐺Ismt𝐺) ∈ V
2 motgrp.i . . . 4 𝐼 = {⟨(Base‘ndx), (𝐺Ismt𝐺)⟩, ⟨(+g‘ndx), (𝑓 ∈ (𝐺Ismt𝐺), 𝑔 ∈ (𝐺Ismt𝐺) ↦ (𝑓𝑔))⟩}
32grpbase 17377 . . 3 ((𝐺Ismt𝐺) ∈ V → (𝐺Ismt𝐺) = (Base‘𝐼))
41, 3mp1i 14 . 2 (𝜑 → (𝐺Ismt𝐺) = (Base‘𝐼))
5 eqidd 2761 . 2 (𝜑 → (+g𝐼) = (+g𝐼))
6 ismot.p . . . 4 𝑃 = (Base‘𝐺)
7 ismot.m . . . 4 = (dist‘𝐺)
8 motgrp.1 . . . . 5 (𝜑𝐺𝑉)
983ad2ant1 1151 . . . 4 ((𝜑𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺)) → 𝐺𝑉)
10 simp2 1155 . . . 4 ((𝜑𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺)) → 𝑓 ∈ (𝐺Ismt𝐺))
11 simp3 1156 . . . 4 ((𝜑𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺)) → 𝑔 ∈ (𝐺Ismt𝐺))
126, 7, 9, 2, 10, 11motplusg 28887 . . 3 ((𝜑𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺)) → (𝑓(+g𝐼)𝑔) = (𝑓𝑔))
136, 7, 9, 10, 11motco 28885 . . 3 ((𝜑𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺)) → (𝑓𝑔) ∈ (𝐺Ismt𝐺))
1412, 13eqeltrd 2860 . 2 ((𝜑𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺)) → (𝑓(+g𝐼)𝑔) ∈ (𝐺Ismt𝐺))
15 coass 6262 . . 3 ((𝑓𝑔) ∘ ) = (𝑓 ∘ (𝑔))
16123adant3r3 1203 . . . . 5 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → (𝑓(+g𝐼)𝑔) = (𝑓𝑔))
1716oveq1d 7429 . . . 4 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → ((𝑓(+g𝐼)𝑔)(+g𝐼)) = ((𝑓𝑔)(+g𝐼)))
188adantr 486 . . . . 5 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → 𝐺𝑉)
19133adant3r3 1203 . . . . 5 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → (𝑓𝑔) ∈ (𝐺Ismt𝐺))
20 simpr3 1215 . . . . 5 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → ∈ (𝐺Ismt𝐺))
216, 7, 18, 2, 19, 20motplusg 28887 . . . 4 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → ((𝑓𝑔)(+g𝐼)) = ((𝑓𝑔) ∘ ))
2217, 21eqtrd 2795 . . 3 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → ((𝑓(+g𝐼)𝑔)(+g𝐼)) = ((𝑓𝑔) ∘ ))
23 simpr2 1214 . . . . . 6 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → 𝑔 ∈ (𝐺Ismt𝐺))
246, 7, 18, 2, 23, 20motplusg 28887 . . . . 5 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → (𝑔(+g𝐼)) = (𝑔))
2524oveq2d 7430 . . . 4 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → (𝑓(+g𝐼)(𝑔(+g𝐼))) = (𝑓(+g𝐼)(𝑔)))
26 simpr1 1213 . . . . 5 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → 𝑓 ∈ (𝐺Ismt𝐺))
276, 7, 18, 23, 20motco 28885 . . . . 5 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → (𝑔) ∈ (𝐺Ismt𝐺))
286, 7, 18, 2, 26, 27motplusg 28887 . . . 4 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → (𝑓(+g𝐼)(𝑔)) = (𝑓 ∘ (𝑔)))
2925, 28eqtrd 2795 . . 3 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → (𝑓(+g𝐼)(𝑔(+g𝐼))) = (𝑓 ∘ (𝑔)))
3015, 22, 293eqtr4a 2821 . 2 ((𝜑 ∧ (𝑓 ∈ (𝐺Ismt𝐺) ∧ 𝑔 ∈ (𝐺Ismt𝐺) ∧ ∈ (𝐺Ismt𝐺))) → ((𝑓(+g𝐼)𝑔)(+g𝐼)) = (𝑓(+g𝐼)(𝑔(+g𝐼))))
316, 7, 8idmot 28882 . 2 (𝜑 → ( I ↾ 𝑃) ∈ (𝐺Ismt𝐺))
328adantr 486 . . . 4 ((𝜑𝑓 ∈ (𝐺Ismt𝐺)) → 𝐺𝑉)
3331adantr 486 . . . 4 ((𝜑𝑓 ∈ (𝐺Ismt𝐺)) → ( I ↾ 𝑃) ∈ (𝐺Ismt𝐺))
34 simpr 490 . . . 4 ((𝜑𝑓 ∈ (𝐺Ismt𝐺)) → 𝑓 ∈ (𝐺Ismt𝐺))
356, 7, 32, 2, 33, 34motplusg 28887 . . 3 ((𝜑𝑓 ∈ (𝐺Ismt𝐺)) → (( I ↾ 𝑃)(+g𝐼)𝑓) = (( I ↾ 𝑃) ∘ 𝑓))
366, 7ismot 28880 . . . . . 6 (𝐺𝑉 → (𝑓 ∈ (𝐺Ismt𝐺) ↔ (𝑓:𝑃1-1-onto𝑃 ∧ ∀𝑎𝑃𝑏𝑃 ((𝑓𝑎) (𝑓𝑏)) = (𝑎 𝑏))))
3736simprbda 504 . . . . 5 ((𝐺𝑉𝑓 ∈ (𝐺Ismt𝐺)) → 𝑓:𝑃1-1-onto𝑃)
388, 37sylan 592 . . . 4 ((𝜑𝑓 ∈ (𝐺Ismt𝐺)) → 𝑓:𝑃1-1-onto𝑃)
39 f1of 6818 . . . 4 (𝑓:𝑃1-1-onto𝑃𝑓:𝑃𝑃)
40 fcoi2 6751 . . . 4 (𝑓:𝑃𝑃 → (( I ↾ 𝑃) ∘ 𝑓) = 𝑓)
4138, 39, 403syl 19 . . 3 ((𝜑𝑓 ∈ (𝐺Ismt𝐺)) → (( I ↾ 𝑃) ∘ 𝑓) = 𝑓)
4235, 41eqtrd 2795 . 2 ((𝜑𝑓 ∈ (𝐺Ismt𝐺)) → (( I ↾ 𝑃)(+g𝐼)𝑓) = 𝑓)
436, 7, 32, 34cnvmot 28886 . 2 ((𝜑𝑓 ∈ (𝐺Ismt𝐺)) → 𝑓 ∈ (𝐺Ismt𝐺))
446, 7, 32, 2, 43, 34motplusg 28887 . . 3 ((𝜑𝑓 ∈ (𝐺Ismt𝐺)) → (𝑓(+g𝐼)𝑓) = (𝑓𝑓))
45 f1ococnv1 6848 . . . 4 (𝑓:𝑃1-1-onto𝑃 → (𝑓𝑓) = ( I ↾ 𝑃))
4638, 45syl 18 . . 3 ((𝜑𝑓 ∈ (𝐺Ismt𝐺)) → (𝑓𝑓) = ( I ↾ 𝑃))
4744, 46eqtrd 2795 . 2 ((𝜑𝑓 ∈ (𝐺Ismt𝐺)) → (𝑓(+g𝐼)𝑓) = ( I ↾ 𝑃))
484, 5, 14, 30, 31, 42, 43, 47isgrpd 19085 1 (𝜑𝐼 ∈ Grp)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 401  w3a 1103   = wceq 1570  wcel 2145  wral 3076  Vcvv 3450  {cpr 4586  cop 4590   I cid 5549  ccnv 5654  cres 5657  ccom 5659  wf 6529  1-1-ontowf1o 6532  cfv 6533  (class class class)co 7414  cmpo 7416  ndxcnx 17288  Basecbs 17304  +gcplusg 17345  distcds 17354  Grpcgrp 19060  Ismtcismt 28877
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-rep 5232  ax-sep 5251  ax-nul 5263  ax-pow 5330  ax-pr 5398  ax-un 7737  ax-cnex 11183  ax-resscn 11184  ax-1cn 11185  ax-icn 11186  ax-addcl 11187  ax-addrcl 11188  ax-mulcl 11189  ax-mulrcl 11190  ax-mulcom 11191  ax-addass 11192  ax-mulass 11193  ax-distr 11194  ax-i2m1 11195  ax-1ne0 11196  ax-1rid 11197  ax-rnegex 11198  ax-rrecex 11199  ax-cnre 11200  ax-pre-lttri 11201  ax-pre-lttrn 11202  ax-pre-ltadd 11203  ax-pre-mulgt0 11204
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-pred 6299  df-ord 6360  df-on 6361  df-lim 6362  df-suc 6363  df-iota 6489  df-fun 6535  df-fn 6536  df-f 6537  df-f1 6538  df-fo 6539  df-f1o 6540  df-fv 6541  df-riota 7371  df-ov 7417  df-oprab 7418  df-mpo 7419  df-om 7864  df-1st 7987  df-2nd 7988  df-frecs 8281  df-wrecs 8312  df-recs 8361  df-rdg 8400  df-1o 8458  df-er 8699  df-map 8831  df-en 8956  df-dom 8957  df-sdom 8958  df-fin 8959  df-pnf 11272  df-mnf 11273  df-xr 11274  df-ltxr 11275  df-le 11276  df-sub 11470  df-neg 11471  df-nn 12261  df-2 12330  df-n0 12532  df-z 12619  df-uz 12891  df-fz 13565  df-struct 17242  df-slot 17277  df-ndx 17289  df-base 17305  df-plusg 17358  df-0g 17529  df-mgm 18733  df-sgrp 18824  df-mnd 18840  df-grp 19063  df-ismt 28878
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator