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 37915
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 3211 . . 3 (𝜑 → ∀𝑥𝑋𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)))
4 isgrpda.4 . . . 4 (𝜑𝑈𝑋)
5 isgrpda.5 . . . . . 6 ((𝜑𝑥𝑋) → (𝑈𝐺𝑥) = 𝑥)
6 isgrpda.6 . . . . . . 7 ((𝜑𝑥𝑋) → ∃𝑛𝑋 (𝑛𝐺𝑥) = 𝑈)
7 oveq1 7455 . . . . . . . . 9 (𝑦 = 𝑛 → (𝑦𝐺𝑥) = (𝑛𝐺𝑥))
87eqeq1d 2742 . . . . . . . 8 (𝑦 = 𝑛 → ((𝑦𝐺𝑥) = 𝑈 ↔ (𝑛𝐺𝑥) = 𝑈))
98cbvrexvw 3244 . . . . . . 7 (∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈 ↔ ∃𝑛𝑋 (𝑛𝐺𝑥) = 𝑈)
106, 9sylibr 234 . . . . . 6 ((𝜑𝑥𝑋) → ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)
115, 10jca 511 . . . . 5 ((𝜑𝑥𝑋) → ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈))
1211ralrimiva 3152 . . . 4 (𝜑 → ∀𝑥𝑋 ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈))
13 oveq1 7455 . . . . . . . 8 (𝑢 = 𝑈 → (𝑢𝐺𝑥) = (𝑈𝐺𝑥))
1413eqeq1d 2742 . . . . . . 7 (𝑢 = 𝑈 → ((𝑢𝐺𝑥) = 𝑥 ↔ (𝑈𝐺𝑥) = 𝑥))
15 eqeq2 2752 . . . . . . . 8 (𝑢 = 𝑈 → ((𝑦𝐺𝑥) = 𝑢 ↔ (𝑦𝐺𝑥) = 𝑈))
1615rexbidv 3185 . . . . . . 7 (𝑢 = 𝑈 → (∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢 ↔ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈))
1714, 16anbi12d 631 . . . . . 6 (𝑢 = 𝑈 → (((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢) ↔ ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)))
1817ralbidv 3184 . . . . 5 (𝑢 = 𝑈 → (∀𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢) ↔ ∀𝑥𝑋 ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)))
1918rspcev 3635 . . . 4 ((𝑈𝑋 ∧ ∀𝑥𝑋 ((𝑈𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑈)) → ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))
204, 12, 19syl2anc 583 . . 3 (𝜑 → ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))
214adantr 480 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝑈𝑋)
22 simpr 484 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝑥𝑋)
235eqcomd 2746 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝑥 = (𝑈𝐺𝑥))
24 rspceov 7497 . . . . . . . . . 10 ((𝑈𝑋𝑥𝑋𝑥 = (𝑈𝐺𝑥)) → ∃𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧))
2521, 22, 23, 24syl3anc 1371 . . . . . . . . 9 ((𝜑𝑥𝑋) → ∃𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧))
2625ralrimiva 3152 . . . . . . . 8 (𝜑 → ∀𝑥𝑋𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧))
27 foov 7624 . . . . . . . 8 (𝐺:(𝑋 × 𝑋)–onto𝑋 ↔ (𝐺:(𝑋 × 𝑋)⟶𝑋 ∧ ∀𝑥𝑋𝑦𝑋𝑧𝑋 𝑥 = (𝑦𝐺𝑧)))
281, 26, 27sylanbrc 582 . . . . . . 7 (𝜑𝐺:(𝑋 × 𝑋)–onto𝑋)
29 forn 6837 . . . . . . 7 (𝐺:(𝑋 × 𝑋)–onto𝑋 → ran 𝐺 = 𝑋)
3028, 29syl 17 . . . . . 6 (𝜑 → ran 𝐺 = 𝑋)
3130sqxpeqd 5732 . . . . 5 (𝜑 → (ran 𝐺 × ran 𝐺) = (𝑋 × 𝑋))
3231, 30feq23d 6742 . . . 4 (𝜑 → (𝐺:(ran 𝐺 × ran 𝐺)⟶ran 𝐺𝐺:(𝑋 × 𝑋)⟶𝑋))
3330raleqdv 3334 . . . . . 6 (𝜑 → (∀𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ↔ ∀𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧))))
3430, 33raleqbidv 3354 . . . . 5 (𝜑 → (∀𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ↔ ∀𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧))))
3530, 34raleqbidv 3354 . . . 4 (𝜑 → (∀𝑥 ∈ ran 𝐺𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ↔ ∀𝑥𝑋𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧))))
3630rexeqdv 3335 . . . . . . 7 (𝜑 → (∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢 ↔ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))
3736anbi2d 629 . . . . . 6 (𝜑 → (((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢) ↔ ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢)))
3830, 37raleqbidv 3354 . . . . 5 (𝜑 → (∀𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢) ↔ ∀𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢)))
3930, 38rexeqbidv 3355 . . . 4 (𝜑 → (∃𝑢 ∈ ran 𝐺𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢) ↔ ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢)))
4032, 35, 393anbi123d 1436 . . 3 (𝜑 → ((𝐺:(ran 𝐺 × ran 𝐺)⟶ran 𝐺 ∧ ∀𝑥 ∈ ran 𝐺𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ∧ ∃𝑢 ∈ ran 𝐺𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢)) ↔ (𝐺:(𝑋 × 𝑋)⟶𝑋 ∧ ∀𝑥𝑋𝑦𝑋𝑧𝑋 ((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ∧ ∃𝑢𝑋𝑥𝑋 ((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦𝑋 (𝑦𝐺𝑥) = 𝑢))))
411, 3, 20, 40mpbir3and 1342 . 2 (𝜑 → (𝐺:(ran 𝐺 × ran 𝐺)⟶ran 𝐺 ∧ ∀𝑥 ∈ ran 𝐺𝑦 ∈ ran 𝐺𝑧 ∈ ran 𝐺((𝑥𝐺𝑦)𝐺𝑧) = (𝑥𝐺(𝑦𝐺𝑧)) ∧ ∃𝑢 ∈ ran 𝐺𝑥 ∈ ran 𝐺((𝑢𝐺𝑥) = 𝑥 ∧ ∃𝑦 ∈ ran 𝐺(𝑦𝐺𝑥) = 𝑢)))
42 isgrpda.1 . . . . 5 (𝜑𝑋 ∈ V)
4342, 42xpexd 7786 . . . 4 (𝜑 → (𝑋 × 𝑋) ∈ V)
441, 43fexd 7264 . . 3 (𝜑𝐺 ∈ V)
45 eqid 2740 . . . 4 ran 𝐺 = ran 𝐺
4645isgrpo 30529 . . 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 1537  wcel 2108  wral 3067  wrex 3076  Vcvv 3488   × cxp 5698  ran crn 5701  wf 6569  ontowfo 6571  (class class class)co 7448  GrpOpcgr 30521
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2158  ax-12 2178  ax-ext 2711  ax-rep 5303  ax-sep 5317  ax-nul 5324  ax-pow 5383  ax-pr 5447  ax-un 7770
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 847  df-3an 1089  df-tru 1540  df-fal 1550  df-ex 1778  df-nf 1782  df-sb 2065  df-mo 2543  df-eu 2572  df-clab 2718  df-cleq 2732  df-clel 2819  df-nfc 2895  df-ne 2947  df-ral 3068  df-rex 3077  df-reu 3389  df-rab 3444  df-v 3490  df-sbc 3805  df-csb 3922  df-dif 3979  df-un 3981  df-in 3983  df-ss 3993  df-nul 4353  df-if 4549  df-pw 4624  df-sn 4649  df-pr 4651  df-op 4655  df-uni 4932  df-iun 5017  df-br 5167  df-opab 5229  df-mpt 5250  df-id 5593  df-xp 5706  df-rel 5707  df-cnv 5708  df-co 5709  df-dm 5710  df-rn 5711  df-res 5712  df-ima 5713  df-iota 6525  df-fun 6575  df-fn 6576  df-f 6577  df-f1 6578  df-fo 6579  df-f1o 6580  df-fv 6581  df-ov 7451  df-grpo 30525
This theorem is referenced by:  isdrngo2  37918
  Copyright terms: Public domain W3C validator