Users' Mathboxes Mathbox for Alexander van der Vekens < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  isassintop Structured version   Visualization version   GIF version

Theorem isassintop 47383
Description: The predicate "is an associative (closed internal binary) operations for a set". (Contributed by FL, 2-Nov-2009.) (Revised by AV, 20-Jan-2020.)
Assertion
Ref Expression
isassintop (𝑀𝑉 → ( ∈ ( assIntOp ‘𝑀) ↔ ( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)))))
Distinct variable groups:   𝑥,𝑀,𝑦,𝑧   𝑥, ,𝑦,𝑧
Allowed substitution hints:   𝑉(𝑥,𝑦,𝑧)

Proof of Theorem isassintop
Dummy variable 𝑜 is distinct from all other variables.
StepHypRef Expression
1 assintopmap 47379 . . . . 5 (𝑀𝑉 → ( assIntOp ‘𝑀) = {𝑜 ∈ (𝑀m (𝑀 × 𝑀)) ∣ 𝑜 assLaw 𝑀})
21eleq2d 2811 . . . 4 (𝑀𝑉 → ( ∈ ( assIntOp ‘𝑀) ↔ ∈ {𝑜 ∈ (𝑀m (𝑀 × 𝑀)) ∣ 𝑜 assLaw 𝑀}))
3 breq1 5146 . . . . 5 (𝑜 = → (𝑜 assLaw 𝑀 assLaw 𝑀))
43elrab 3675 . . . 4 ( ∈ {𝑜 ∈ (𝑀m (𝑀 × 𝑀)) ∣ 𝑜 assLaw 𝑀} ↔ ( ∈ (𝑀m (𝑀 × 𝑀)) ∧ assLaw 𝑀))
52, 4bitrdi 286 . . 3 (𝑀𝑉 → ( ∈ ( assIntOp ‘𝑀) ↔ ( ∈ (𝑀m (𝑀 × 𝑀)) ∧ assLaw 𝑀)))
6 elmapi 8864 . . . . . 6 ( ∈ (𝑀m (𝑀 × 𝑀)) → :(𝑀 × 𝑀)⟶𝑀)
76ad2antrl 726 . . . . 5 ((𝑀𝑉 ∧ ( ∈ (𝑀m (𝑀 × 𝑀)) ∧ assLaw 𝑀)) → :(𝑀 × 𝑀)⟶𝑀)
8 isasslaw 47365 . . . . . . . 8 (( ∈ (𝑀m (𝑀 × 𝑀)) ∧ 𝑀𝑉) → ( assLaw 𝑀 ↔ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧))))
98biimpd 228 . . . . . . 7 (( ∈ (𝑀m (𝑀 × 𝑀)) ∧ 𝑀𝑉) → ( assLaw 𝑀 → ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧))))
109impancom 450 . . . . . 6 (( ∈ (𝑀m (𝑀 × 𝑀)) ∧ assLaw 𝑀) → (𝑀𝑉 → ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧))))
1110impcom 406 . . . . 5 ((𝑀𝑉 ∧ ( ∈ (𝑀m (𝑀 × 𝑀)) ∧ assLaw 𝑀)) → ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)))
127, 11jca 510 . . . 4 ((𝑀𝑉 ∧ ( ∈ (𝑀m (𝑀 × 𝑀)) ∧ assLaw 𝑀)) → ( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧))))
1312ex 411 . . 3 (𝑀𝑉 → (( ∈ (𝑀m (𝑀 × 𝑀)) ∧ assLaw 𝑀) → ( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)))))
145, 13sylbid 239 . 2 (𝑀𝑉 → ( ∈ ( assIntOp ‘𝑀) → ( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)))))
15 isclintop 47380 . . . . . . 7 (𝑀𝑉 → ( ∈ ( clIntOp ‘𝑀) ↔ :(𝑀 × 𝑀)⟶𝑀))
1615biimprcd 249 . . . . . 6 ( :(𝑀 × 𝑀)⟶𝑀 → (𝑀𝑉 ∈ ( clIntOp ‘𝑀)))
1716adantr 479 . . . . 5 (( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧))) → (𝑀𝑉 ∈ ( clIntOp ‘𝑀)))
1817impcom 406 . . . 4 ((𝑀𝑉 ∧ ( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)))) → ∈ ( clIntOp ‘𝑀))
19 sqxpexg 7754 . . . . . . . . 9 (𝑀𝑉 → (𝑀 × 𝑀) ∈ V)
20 fex 7233 . . . . . . . . 9 (( :(𝑀 × 𝑀)⟶𝑀 ∧ (𝑀 × 𝑀) ∈ V) → ∈ V)
2119, 20sylan2 591 . . . . . . . 8 (( :(𝑀 × 𝑀)⟶𝑀𝑀𝑉) → ∈ V)
2221ancoms 457 . . . . . . 7 ((𝑀𝑉 :(𝑀 × 𝑀)⟶𝑀) → ∈ V)
23 simpl 481 . . . . . . 7 ((𝑀𝑉 :(𝑀 × 𝑀)⟶𝑀) → 𝑀𝑉)
24 isasslaw 47365 . . . . . . . 8 (( ∈ V ∧ 𝑀𝑉) → ( assLaw 𝑀 ↔ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧))))
2524bicomd 222 . . . . . . 7 (( ∈ V ∧ 𝑀𝑉) → (∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)) ↔ assLaw 𝑀))
2622, 23, 25syl2anc 582 . . . . . 6 ((𝑀𝑉 :(𝑀 × 𝑀)⟶𝑀) → (∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)) ↔ assLaw 𝑀))
2726biimpd 228 . . . . 5 ((𝑀𝑉 :(𝑀 × 𝑀)⟶𝑀) → (∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)) → assLaw 𝑀))
2827impr 453 . . . 4 ((𝑀𝑉 ∧ ( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)))) → assLaw 𝑀)
29 assintopval 47378 . . . . . . 7 (𝑀𝑉 → ( assIntOp ‘𝑀) = {𝑜 ∈ ( clIntOp ‘𝑀) ∣ 𝑜 assLaw 𝑀})
3029adantr 479 . . . . . 6 ((𝑀𝑉 ∧ ( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)))) → ( assIntOp ‘𝑀) = {𝑜 ∈ ( clIntOp ‘𝑀) ∣ 𝑜 assLaw 𝑀})
3130eleq2d 2811 . . . . 5 ((𝑀𝑉 ∧ ( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)))) → ( ∈ ( assIntOp ‘𝑀) ↔ ∈ {𝑜 ∈ ( clIntOp ‘𝑀) ∣ 𝑜 assLaw 𝑀}))
323elrab 3675 . . . . 5 ( ∈ {𝑜 ∈ ( clIntOp ‘𝑀) ∣ 𝑜 assLaw 𝑀} ↔ ( ∈ ( clIntOp ‘𝑀) ∧ assLaw 𝑀))
3331, 32bitrdi 286 . . . 4 ((𝑀𝑉 ∧ ( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)))) → ( ∈ ( assIntOp ‘𝑀) ↔ ( ∈ ( clIntOp ‘𝑀) ∧ assLaw 𝑀)))
3418, 28, 33mpbir2and 711 . . 3 ((𝑀𝑉 ∧ ( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)))) → ∈ ( assIntOp ‘𝑀))
3534ex 411 . 2 (𝑀𝑉 → (( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧))) → ∈ ( assIntOp ‘𝑀)))
3614, 35impbid 211 1 (𝑀𝑉 → ( ∈ ( assIntOp ‘𝑀) ↔ ( :(𝑀 × 𝑀)⟶𝑀 ∧ ∀𝑥𝑀𝑦𝑀𝑧𝑀 ((𝑥 𝑦) 𝑧) = (𝑥 (𝑦 𝑧)))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 394   = wceq 1533  wcel 2098  wral 3051  {crab 3419  Vcvv 3463   class class class wbr 5143   × cxp 5670  wf 6538  cfv 6542  (class class class)co 7415  m cmap 8841   assLaw casslaw 47357   clIntOp cclintop 47370   assIntOp cassintop 47371
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1789  ax-4 1803  ax-5 1905  ax-6 1963  ax-7 2003  ax-8 2100  ax-9 2108  ax-10 2129  ax-11 2146  ax-12 2166  ax-ext 2696  ax-rep 5280  ax-sep 5294  ax-nul 5301  ax-pow 5359  ax-pr 5423  ax-un 7737
This theorem depends on definitions:  df-bi 206  df-an 395  df-or 846  df-3an 1086  df-tru 1536  df-fal 1546  df-ex 1774  df-nf 1778  df-sb 2060  df-mo 2528  df-eu 2557  df-clab 2703  df-cleq 2717  df-clel 2802  df-nfc 2877  df-ne 2931  df-ral 3052  df-rex 3061  df-reu 3365  df-rab 3420  df-v 3465  df-sbc 3770  df-csb 3886  df-dif 3943  df-un 3945  df-in 3947  df-ss 3957  df-nul 4319  df-if 4525  df-pw 4600  df-sn 4625  df-pr 4627  df-op 4631  df-uni 4904  df-iun 4993  df-br 5144  df-opab 5206  df-mpt 5227  df-id 5570  df-xp 5678  df-rel 5679  df-cnv 5680  df-co 5681  df-dm 5682  df-rn 5683  df-res 5684  df-ima 5685  df-iota 6494  df-fun 6544  df-fn 6545  df-f 6546  df-f1 6547  df-fo 6548  df-f1o 6549  df-fv 6550  df-ov 7418  df-oprab 7419  df-mpo 7420  df-1st 7989  df-2nd 7990  df-map 8843  df-asslaw 47361  df-intop 47372  df-clintop 47373  df-assintop 47374
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator