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 36211
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 3196 . . 3 (𝜑 → ∀𝑥𝑋𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)))
4 isgrpda.4 . . . 4 (𝜑𝑈𝑋)
5 isgrpda.5 . . . . . 6 ((𝜑𝑥𝑋) → (𝑈𝐺𝑥) = 𝑥)
6 isgrpda.6 . . . . . . 7 ((𝜑𝑥𝑋) → ∃𝑛𝑋 (𝑛𝐺𝑥) = 𝑈)
7 oveq1 7336 . . . . . . . . 9 (𝑦 = 𝑛 → (𝑦𝐺𝑥) = (𝑛𝐺𝑥))
87eqeq1d 2738 . . . . . . . 8 (𝑦 = 𝑛 → ((𝑦𝐺𝑥) = 𝑈 ↔ (𝑛𝐺𝑥) = 𝑈))
98cbvrexvw 3222 . . . . . . 7 (∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈 ↔ ∃𝑛𝑋 (𝑛𝐺𝑥) = 𝑈)
106, 9sylibr 233 . . . . . 6 ((𝜑𝑥𝑋) → ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)
115, 10jca 512 . . . . 5 ((𝜑𝑥𝑋) → ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈))
1211ralrimiva 3139 . . . 4 (𝜑 → ∀𝑥𝑋 ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈))
13 oveq1 7336 . . . . . . . 8 (𝑢 = 𝑈 → (𝑢𝐺𝑥) = (𝑈𝐺𝑥))
1413eqeq1d 2738 . . . . . . 7 (𝑢 = 𝑈 → ((𝑢𝐺𝑥) = 𝑥 ↔ (𝑈𝐺𝑥) = 𝑥))
15 eqeq2 2748 . . . . . . . 8 (𝑢 = 𝑈 → ((𝑦𝐺𝑥) = 𝑢 ↔ (𝑦𝐺𝑥) = 𝑈))
1615rexbidv 3171 . . . . . . 7 (𝑢 = 𝑈 → (∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢 ↔ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈))
1714, 16anbi12d 631 . . . . . 6 (𝑢 = 𝑈 → (((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢) ↔ ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)))
1817ralbidv 3170 . . . . 5 (𝑢 = 𝑈 → (∀𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢) ↔ ∀𝑥𝑋 ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)))
1918rspcev 3570 . . . 4 ((𝑈𝑋 ∧ ∀𝑥𝑋 ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)) → ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))
204, 12, 19syl2anc 584 . . 3 (𝜑 → ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))
214adantr 481 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝑈𝑋)
22 simpr 485 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝑥𝑋)
235eqcomd 2742 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝑥 = (𝑈𝐺𝑥))
24 rspceov 7376 . . . . . . . . . 10 ((𝑈𝑋𝑥𝑋𝑥 = (𝑈𝐺𝑥)) → ∃𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧))
2521, 22, 23, 24syl3anc 1370 . . . . . . . . 9 ((𝜑𝑥𝑋) → ∃𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧))
2625ralrimiva 3139 . . . . . . . 8 (𝜑 → ∀𝑥𝑋𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧))
27 foov 7500 . . . . . . . 8 (𝐺:(𝑋 × 𝑋)–onto𝑋 ↔ (𝐺:(𝑋 × 𝑋)⟶𝑋 ∧ ∀𝑥𝑋𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧)))
281, 26, 27sylanbrc 583 . . . . . . 7 (𝜑𝐺:(𝑋 × 𝑋)–onto𝑋)
29 forn 6736 . . . . . . 7 (𝐺:(𝑋 × 𝑋)–onto𝑋 → ran 𝐺 = 𝑋)
3028, 29syl 17 . . . . . 6 (𝜑 → ran 𝐺 = 𝑋)
3130sqxpeqd 5646 . . . . 5 (𝜑 → (ran 𝐺 × ran 𝐺) = (𝑋 × 𝑋))
3231, 30feq23d 6640 . . . 4 (𝜑 → (𝐺:(ran 𝐺 × ran 𝐺)⟶ran 𝐺𝐺:(𝑋 × 𝑋)⟶𝑋))
3330raleqdv 3309 . . . . . 6 (𝜑 → (∀𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ↔ ∀𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧))))
3430, 33raleqbidv 3315 . . . . 5 (𝜑 → (∀𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ↔ ∀𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧))))
3530, 34raleqbidv 3315 . . . 4 (𝜑 → (∀𝑥 ∈ ran 𝐺𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ↔ ∀𝑥𝑋𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧))))
3630rexeqdv 3310 . . . . . . 7 (𝜑 → (∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢 ↔ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))
3736anbi2d 629 . . . . . 6 (𝜑 → (((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢) ↔ ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢)))
3830, 37raleqbidv 3315 . . . . 5 (𝜑 → (∀𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢) ↔ ∀𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢)))
3930, 38rexeqbidv 3316 . . . 4 (𝜑 → (∃𝑢 ∈ ran 𝐺𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢) ↔ ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢)))
4032, 35, 393anbi123d 1435 . . 3 (𝜑 → ((𝐺:(ran 𝐺 × ran 𝐺)⟶ran 𝐺 ∧ ∀𝑥 ∈ ran 𝐺𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ∧ ∃𝑢 ∈ ran 𝐺𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢)) ↔ (𝐺:(𝑋 × 𝑋)⟶𝑋 ∧ ∀𝑥𝑋𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ∧ ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))))
411, 3, 20, 40mpbir3and 1341 . 2 (𝜑 → (𝐺:(ran 𝐺 × ran 𝐺)⟶ran 𝐺 ∧ ∀𝑥 ∈ ran 𝐺𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ∧ ∃𝑢 ∈ ran 𝐺𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢)))
42 isgrpda.1 . . . . 5 (𝜑𝑋 ∈ V)
4342, 42xpexd 7655 . . . 4 (𝜑 → (𝑋 × 𝑋) ∈ V)
441, 43fexd 7153 . . 3 (𝜑𝐺 ∈ V)
45 eqid 2736 . . . 4 ran 𝐺 = ran 𝐺
4645isgrpo 29060 . . 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 256 1 (𝜑𝐺 ∈ GrpOp)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 396  w3a 1086   = wceq 1540  wcel 2105  wral 3061  wrex 3070  Vcvv 3441   × cxp 5612  ran crn 5615  wf 6469  ontowfo 6471  (class class class)co 7329  GrpOpcgr 29052
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1912  ax-6 1970  ax-7 2010  ax-8 2107  ax-9 2115  ax-10 2136  ax-11 2153  ax-12 2170  ax-ext 2707  ax-rep 5226  ax-sep 5240  ax-nul 5247  ax-pow 5305  ax-pr 5369  ax-un 7642
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1781  df-nf 1785  df-sb 2067  df-mo 2538  df-eu 2567  df-clab 2714  df-cleq 2728  df-clel 2814  df-nfc 2886  df-ne 2941  df-ral 3062  df-rex 3071  df-reu 3350  df-rab 3404  df-v 3443  df-sbc 3727  df-csb 3843  df-dif 3900  df-un 3902  df-in 3904  df-ss 3914  df-nul 4269  df-if 4473  df-pw 4548  df-sn 4573  df-pr 4575  df-op 4579  df-uni 4852  df-iun 4940  df-br 5090  df-opab 5152  df-mpt 5173  df-id 5512  df-xp 5620  df-rel 5621  df-cnv 5622  df-co 5623  df-dm 5624  df-rn 5625  df-res 5626  df-ima 5627  df-iota 6425  df-fun 6475  df-fn 6476  df-f 6477  df-f1 6478  df-fo 6479  df-f1o 6480  df-fv 6481  df-ov 7332  df-grpo 29056
This theorem is referenced by:  isdrngo2  36214
  Copyright terms: Public domain W3C validator