Users' Mathboxes Mathbox for Jeff Madsen < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  isgrpda Structured version   Visualization version   GIF version

Theorem isgrpda 37934
Description: Properties that determine a group operation. (Contributed by Jeff Madsen, 1-Dec-2009.) (New usage is discouraged.)
Hypotheses
Ref Expression
isgrpda.1 (𝜑𝑋 ∈ V)
isgrpda.2 (𝜑𝐺:(𝑋 × 𝑋)⟶𝑋)
isgrpda.3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)))
isgrpda.4 (𝜑𝑈𝑋)
isgrpda.5 ((𝜑𝑥𝑋) → (𝑈𝐺𝑥) = 𝑥)
isgrpda.6 ((𝜑𝑥𝑋) → ∃𝑛𝑋 (𝑛𝐺𝑥) = 𝑈)
Assertion
Ref Expression
isgrpda (𝜑𝐺 ∈ GrpOp)
Distinct variable groups:   𝜑,𝑥,𝑦,𝑧   𝑛,𝐺,𝑥,𝑦,𝑧   𝑛,𝑋,𝑥,𝑦,𝑧   𝑈,𝑛,𝑥,𝑦,𝑧
Allowed substitution hint:   𝜑(𝑛)

Proof of Theorem isgrpda
Dummy variable 𝑢 is distinct from all other variables.
StepHypRef Expression
1 isgrpda.2 . . 3 (𝜑𝐺:(𝑋 × 𝑋)⟶𝑋)
2 isgrpda.3 . . . 4 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)))
32ralrimivvva 3175 . . 3 (𝜑 → ∀𝑥𝑋𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)))
4 isgrpda.4 . . . 4 (𝜑𝑈𝑋)
5 isgrpda.5 . . . . . 6 ((𝜑𝑥𝑋) → (𝑈𝐺𝑥) = 𝑥)
6 isgrpda.6 . . . . . . 7 ((𝜑𝑥𝑋) → ∃𝑛𝑋 (𝑛𝐺𝑥) = 𝑈)
7 oveq1 7360 . . . . . . . . 9 (𝑦 = 𝑛 → (𝑦𝐺𝑥) = (𝑛𝐺𝑥))
87eqeq1d 2731 . . . . . . . 8 (𝑦 = 𝑛 → ((𝑦𝐺𝑥) = 𝑈 ↔ (𝑛𝐺𝑥) = 𝑈))
98cbvrexvw 3208 . . . . . . 7 (∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈 ↔ ∃𝑛𝑋 (𝑛𝐺𝑥) = 𝑈)
106, 9sylibr 234 . . . . . 6 ((𝜑𝑥𝑋) → ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)
115, 10jca 511 . . . . 5 ((𝜑𝑥𝑋) → ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈))
1211ralrimiva 3121 . . . 4 (𝜑 → ∀𝑥𝑋 ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈))
13 oveq1 7360 . . . . . . . 8 (𝑢 = 𝑈 → (𝑢𝐺𝑥) = (𝑈𝐺𝑥))
1413eqeq1d 2731 . . . . . . 7 (𝑢 = 𝑈 → ((𝑢𝐺𝑥) = 𝑥 ↔ (𝑈𝐺𝑥) = 𝑥))
15 eqeq2 2741 . . . . . . . 8 (𝑢 = 𝑈 → ((𝑦𝐺𝑥) = 𝑢 ↔ (𝑦𝐺𝑥) = 𝑈))
1615rexbidv 3153 . . . . . . 7 (𝑢 = 𝑈 → (∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢 ↔ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈))
1714, 16anbi12d 632 . . . . . 6 (𝑢 = 𝑈 → (((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢) ↔ ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)))
1817ralbidv 3152 . . . . 5 (𝑢 = 𝑈 → (∀𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢) ↔ ∀𝑥𝑋 ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)))
1918rspcev 3579 . . . 4 ((𝑈𝑋 ∧ ∀𝑥𝑋 ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)) → ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))
204, 12, 19syl2anc 584 . . 3 (𝜑 → ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))
214adantr 480 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝑈𝑋)
22 simpr 484 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝑥𝑋)
235eqcomd 2735 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝑥 = (𝑈𝐺𝑥))
24 rspceov 7402 . . . . . . . . . 10 ((𝑈𝑋𝑥𝑋𝑥 = (𝑈𝐺𝑥)) → ∃𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧))
2521, 22, 23, 24syl3anc 1373 . . . . . . . . 9 ((𝜑𝑥𝑋) → ∃𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧))
2625ralrimiva 3121 . . . . . . . 8 (𝜑 → ∀𝑥𝑋𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧))
27 foov 7527 . . . . . . . 8 (𝐺:(𝑋 × 𝑋)–onto𝑋 ↔ (𝐺:(𝑋 × 𝑋)⟶𝑋 ∧ ∀𝑥𝑋𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧)))
281, 26, 27sylanbrc 583 . . . . . . 7 (𝜑𝐺:(𝑋 × 𝑋)–onto𝑋)
29 forn 6743 . . . . . . 7 (𝐺:(𝑋 × 𝑋)–onto𝑋 → ran 𝐺 = 𝑋)
3028, 29syl 17 . . . . . 6 (𝜑 → ran 𝐺 = 𝑋)
3130sqxpeqd 5655 . . . . 5 (𝜑 → (ran 𝐺 × ran 𝐺) = (𝑋 × 𝑋))
3231, 30feq23d 6651 . . . 4 (𝜑 → (𝐺:(ran 𝐺 × ran 𝐺)⟶ran 𝐺𝐺:(𝑋 × 𝑋)⟶𝑋))
3330raleqdv 3290 . . . . . 6 (𝜑 → (∀𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ↔ ∀𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧))))
3430, 33raleqbidv 3310 . . . . 5 (𝜑 → (∀𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ↔ ∀𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧))))
3530, 34raleqbidv 3310 . . . 4 (𝜑 → (∀𝑥 ∈ ran 𝐺𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ↔ ∀𝑥𝑋𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧))))
3630rexeqdv 3291 . . . . . . 7 (𝜑 → (∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢 ↔ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))
3736anbi2d 630 . . . . . 6 (𝜑 → (((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢) ↔ ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢)))
3830, 37raleqbidv 3310 . . . . 5 (𝜑 → (∀𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢) ↔ ∀𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢)))
3930, 38rexeqbidv 3311 . . . 4 (𝜑 → (∃𝑢 ∈ ran 𝐺𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢) ↔ ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢)))
4032, 35, 393anbi123d 1438 . . 3 (𝜑 → ((𝐺:(ran 𝐺 × ran 𝐺)⟶ran 𝐺 ∧ ∀𝑥 ∈ ran 𝐺𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ∧ ∃𝑢 ∈ ran 𝐺𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢)) ↔ (𝐺:(𝑋 × 𝑋)⟶𝑋 ∧ ∀𝑥𝑋𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ∧ ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))))
411, 3, 20, 40mpbir3and 1343 . 2 (𝜑 → (𝐺:(ran 𝐺 × ran 𝐺)⟶ran 𝐺 ∧ ∀𝑥 ∈ ran 𝐺𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ∧ ∃𝑢 ∈ ran 𝐺𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢)))
42 isgrpda.1 . . . . 5 (𝜑𝑋 ∈ V)
4342, 42xpexd 7691 . . . 4 (𝜑 → (𝑋 × 𝑋) ∈ V)
441, 43fexd 7167 . . 3 (𝜑𝐺 ∈ V)
45 eqid 2729 . . . 4 ran 𝐺 = ran 𝐺
4645isgrpo 30459 . . 3 (𝐺 ∈ V → (𝐺 ∈ GrpOp ↔ (𝐺:(ran 𝐺 × ran 𝐺)⟶ran 𝐺 ∧ ∀𝑥 ∈ ran 𝐺𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ∧ ∃𝑢 ∈ ran 𝐺𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢))))
4744, 46syl 17 . 2 (𝜑 → (𝐺 ∈ GrpOp ↔ (𝐺:(ran 𝐺 × ran 𝐺)⟶ran 𝐺 ∧ ∀𝑥 ∈ ran 𝐺𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ∧ ∃𝑢 ∈ ran 𝐺𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢))))
4841, 47mpbird 257 1 (𝜑𝐺 ∈ GrpOp)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1086   = wceq 1540  wcel 2109  wral 3044  wrex 3053  Vcvv 3438   × cxp 5621  ran crn 5624  wf 6482  ontowfo 6484  (class class class)co 7353  GrpOpcgr 30451
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2701  ax-rep 5221  ax-sep 5238  ax-nul 5248  ax-pow 5307  ax-pr 5374  ax-un 7675
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2533  df-eu 2562  df-clab 2708  df-cleq 2721  df-clel 2803  df-nfc 2878  df-ne 2926  df-ral 3045  df-rex 3054  df-reu 3346  df-rab 3397  df-v 3440  df-sbc 3745  df-csb 3854  df-dif 3908  df-un 3910  df-in 3912  df-ss 3922  df-nul 4287  df-if 4479  df-pw 4555  df-sn 4580  df-pr 4582  df-op 4586  df-uni 4862  df-iun 4946  df-br 5096  df-opab 5158  df-mpt 5177  df-id 5518  df-xp 5629  df-rel 5630  df-cnv 5631  df-co 5632  df-dm 5633  df-rn 5634  df-res 5635  df-ima 5636  df-iota 6442  df-fun 6488  df-fn 6489  df-f 6490  df-f1 6491  df-fo 6492  df-f1o 6493  df-fv 6494  df-ov 7356  df-grpo 30455
This theorem is referenced by:  isdrngo2  37937
  Copyright terms: Public domain W3C validator