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 37962
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 3205 . . 3 (𝜑 → ∀𝑥𝑋𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)))
4 isgrpda.4 . . . 4 (𝜑𝑈𝑋)
5 isgrpda.5 . . . . . 6 ((𝜑𝑥𝑋) → (𝑈𝐺𝑥) = 𝑥)
6 isgrpda.6 . . . . . . 7 ((𝜑𝑥𝑋) → ∃𝑛𝑋 (𝑛𝐺𝑥) = 𝑈)
7 oveq1 7438 . . . . . . . . 9 (𝑦 = 𝑛 → (𝑦𝐺𝑥) = (𝑛𝐺𝑥))
87eqeq1d 2739 . . . . . . . 8 (𝑦 = 𝑛 → ((𝑦𝐺𝑥) = 𝑈 ↔ (𝑛𝐺𝑥) = 𝑈))
98cbvrexvw 3238 . . . . . . 7 (∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈 ↔ ∃𝑛𝑋 (𝑛𝐺𝑥) = 𝑈)
106, 9sylibr 234 . . . . . 6 ((𝜑𝑥𝑋) → ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)
115, 10jca 511 . . . . 5 ((𝜑𝑥𝑋) → ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈))
1211ralrimiva 3146 . . . 4 (𝜑 → ∀𝑥𝑋 ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈))
13 oveq1 7438 . . . . . . . 8 (𝑢 = 𝑈 → (𝑢𝐺𝑥) = (𝑈𝐺𝑥))
1413eqeq1d 2739 . . . . . . 7 (𝑢 = 𝑈 → ((𝑢𝐺𝑥) = 𝑥 ↔ (𝑈𝐺𝑥) = 𝑥))
15 eqeq2 2749 . . . . . . . 8 (𝑢 = 𝑈 → ((𝑦𝐺𝑥) = 𝑢 ↔ (𝑦𝐺𝑥) = 𝑈))
1615rexbidv 3179 . . . . . . 7 (𝑢 = 𝑈 → (∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢 ↔ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈))
1714, 16anbi12d 632 . . . . . 6 (𝑢 = 𝑈 → (((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢) ↔ ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)))
1817ralbidv 3178 . . . . 5 (𝑢 = 𝑈 → (∀𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢) ↔ ∀𝑥𝑋 ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)))
1918rspcev 3622 . . . 4 ((𝑈𝑋 ∧ ∀𝑥𝑋 ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)) → ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))
204, 12, 19syl2anc 584 . . 3 (𝜑 → ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))
214adantr 480 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝑈𝑋)
22 simpr 484 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝑥𝑋)
235eqcomd 2743 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝑥 = (𝑈𝐺𝑥))
24 rspceov 7480 . . . . . . . . . 10 ((𝑈𝑋𝑥𝑋𝑥 = (𝑈𝐺𝑥)) → ∃𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧))
2521, 22, 23, 24syl3anc 1373 . . . . . . . . 9 ((𝜑𝑥𝑋) → ∃𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧))
2625ralrimiva 3146 . . . . . . . 8 (𝜑 → ∀𝑥𝑋𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧))
27 foov 7607 . . . . . . . 8 (𝐺:(𝑋 × 𝑋)–onto𝑋 ↔ (𝐺:(𝑋 × 𝑋)⟶𝑋 ∧ ∀𝑥𝑋𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧)))
281, 26, 27sylanbrc 583 . . . . . . 7 (𝜑𝐺:(𝑋 × 𝑋)–onto𝑋)
29 forn 6823 . . . . . . 7 (𝐺:(𝑋 × 𝑋)–onto𝑋 → ran 𝐺 = 𝑋)
3028, 29syl 17 . . . . . 6 (𝜑 → ran 𝐺 = 𝑋)
3130sqxpeqd 5717 . . . . 5 (𝜑 → (ran 𝐺 × ran 𝐺) = (𝑋 × 𝑋))
3231, 30feq23d 6731 . . . 4 (𝜑 → (𝐺:(ran 𝐺 × ran 𝐺)⟶ran 𝐺𝐺:(𝑋 × 𝑋)⟶𝑋))
3330raleqdv 3326 . . . . . 6 (𝜑 → (∀𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ↔ ∀𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧))))
3430, 33raleqbidv 3346 . . . . 5 (𝜑 → (∀𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ↔ ∀𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧))))
3530, 34raleqbidv 3346 . . . 4 (𝜑 → (∀𝑥 ∈ ran 𝐺𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ↔ ∀𝑥𝑋𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧))))
3630rexeqdv 3327 . . . . . . 7 (𝜑 → (∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢 ↔ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))
3736anbi2d 630 . . . . . 6 (𝜑 → (((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢) ↔ ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢)))
3830, 37raleqbidv 3346 . . . . 5 (𝜑 → (∀𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢) ↔ ∀𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢)))
3930, 38rexeqbidv 3347 . . . 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 7771 . . . 4 (𝜑 → (𝑋 × 𝑋) ∈ V)
441, 43fexd 7247 . . 3 (𝜑𝐺 ∈ V)
45 eqid 2737 . . . 4 ran 𝐺 = ran 𝐺
4645isgrpo 30516 . . 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 1087   = wceq 1540  wcel 2108  wral 3061  wrex 3070  Vcvv 3480   × cxp 5683  ran crn 5686  wf 6557  ontowfo 6559  (class class class)co 7431  GrpOpcgr 30508
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 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2157  ax-12 2177  ax-ext 2708  ax-rep 5279  ax-sep 5296  ax-nul 5306  ax-pow 5365  ax-pr 5432  ax-un 7755
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3an 1089  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2065  df-mo 2540  df-eu 2569  df-clab 2715  df-cleq 2729  df-clel 2816  df-nfc 2892  df-ne 2941  df-ral 3062  df-rex 3071  df-reu 3381  df-rab 3437  df-v 3482  df-sbc 3789  df-csb 3900  df-dif 3954  df-un 3956  df-in 3958  df-ss 3968  df-nul 4334  df-if 4526  df-pw 4602  df-sn 4627  df-pr 4629  df-op 4633  df-uni 4908  df-iun 4993  df-br 5144  df-opab 5206  df-mpt 5226  df-id 5578  df-xp 5691  df-rel 5692  df-cnv 5693  df-co 5694  df-dm 5695  df-rn 5696  df-res 5697  df-ima 5698  df-iota 6514  df-fun 6563  df-fn 6564  df-f 6565  df-f1 6566  df-fo 6567  df-f1o 6568  df-fv 6569  df-ov 7434  df-grpo 30512
This theorem is referenced by:  isdrngo2  37965
  Copyright terms: Public domain W3C validator