Users' Mathboxes Mathbox for Richard Penner < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  omcl3g Structured version   Visualization version   GIF version

Theorem omcl3g 44597
Description: Closure law for ordinal multiplication. (Contributed by RP, 14-Jan-2025.)
Assertion
Ref Expression
omcl3g (((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) ∧ (𝐶 ∈ 3o ∨ (𝐶 = (ω ↑o (ω ↑o 𝐷)) ∧ 𝐷 ∈ On))) → (𝐴 ·o 𝐵) ∈ 𝐶)

Proof of Theorem omcl3g
StepHypRef Expression
1 eltpi 4650 . . . . 5 (𝐶 ∈ {∅, 1o, 2o} → (𝐶 = ∅ ∨ 𝐶 = 1o ∨ 𝐶 = 2o))
2 df-3o 8516 . . . . . 6 3o = suc 2o
3 df2o3 8522 . . . . . . . 8 2o = {∅, 1o}
43uneq1i 4166 . . . . . . 7 (2o ∪ {2o}) = ({∅, 1o} ∪ {2o})
5 df-suc 6394 . . . . . . 7 suc 2o = (2o ∪ {2o})
6 df-tp 4593 . . . . . . 7 {∅, 1o, 2o} = ({∅, 1o} ∪ {2o})
74, 5, 63eqtr4i 2796 . . . . . 6 suc 2o = {∅, 1o, 2o}
82, 7eqtri 2786 . . . . 5 3o = {∅, 1o, 2o}
91, 8eleq2s 2882 . . . 4 (𝐶 ∈ 3o → (𝐶 = ∅ ∨ 𝐶 = 1o ∨ 𝐶 = 2o))
10 orc 881 . . . . . . 7 (𝐶 = ∅ → (𝐶 = ∅ ∨ (𝐶 = (ω ↑o (ω ↑o 𝐶)) ∧ 𝐶 ∈ On)))
11 omcl2 44596 . . . . . . 7 (((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) ∧ (𝐶 = ∅ ∨ (𝐶 = (ω ↑o (ω ↑o 𝐶)) ∧ 𝐶 ∈ On))) → (𝐴 ·o 𝐵) ∈ 𝐶)
1210, 11sylan2 605 . . . . . 6 (((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) ∧ 𝐶 = ∅) → (𝐴 ·o 𝐵) ∈ 𝐶)
1312ex 418 . . . . 5 ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → (𝐶 = ∅ → (𝐴 ·o 𝐵) ∈ 𝐶))
14 el1o 8541 . . . . . . . . 9 (𝐴 ∈ 1o ↔ 𝐴 = ∅)
15 el1o 8541 . . . . . . . . 9 (𝐵 ∈ 1o ↔ 𝐵 = ∅)
16 oveq12 7460 . . . . . . . . . 10 ((𝐴 = ∅ ∧ 𝐵 = ∅) → (𝐴 ·o 𝐵) = (∅ ·o ∅))
17 0elon 6444 . . . . . . . . . . . 12 ∅ ∈ On
18 om0 8563 . . . . . . . . . . . 12 (∅ ∈ On → (∅ ·o ∅) = ∅)
1917, 18ax-mp 5 . . . . . . . . . . 11 (∅ ·o ∅) = ∅
20 0lt1o 8550 . . . . . . . . . . 11 ∅ ∈ 1o
2119, 20eqeltri 2860 . . . . . . . . . 10 (∅ ·o ∅) ∈ 1o
2216, 21eqeltrdi 2872 . . . . . . . . 9 ((𝐴 = ∅ ∧ 𝐵 = ∅) → (𝐴 ·o 𝐵) ∈ 1o)
2314, 15, 22syl2anb 610 . . . . . . . 8 ((𝐴 ∈ 1o ∧ 𝐵 ∈ 1o) → (𝐴 ·o 𝐵) ∈ 1o)
2423a1i 11 . . . . . . 7 (𝐶 = 1o → ((𝐴 ∈ 1o ∧ 𝐵 ∈ 1o) → (𝐴 ·o 𝐵) ∈ 1o))
25 eleq2 2853 . . . . . . . 8 (𝐶 = 1o → (𝐴 ∈ 𝐶 ↔ 𝐴 ∈ 1o))
26 eleq2 2853 . . . . . . . 8 (𝐶 = 1o → (𝐵 ∈ 𝐶 ↔ 𝐵 ∈ 1o))
2725, 26anbi12d 644 . . . . . . 7 (𝐶 = 1o → ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) ↔ (𝐴 ∈ 1o ∧ 𝐵 ∈ 1o)))
28 eleq2 2853 . . . . . . 7 (𝐶 = 1o → ((𝐴 ·o 𝐵) ∈ 𝐶 ↔ (𝐴 ·o 𝐵) ∈ 1o))
2924, 27, 283imtr4d 297 . . . . . 6 (𝐶 = 1o → ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → (𝐴 ·o 𝐵) ∈ 𝐶))
3029com12 33 . . . . 5 ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → (𝐶 = 1o → (𝐴 ·o 𝐵) ∈ 𝐶))
31 elpri 4608 . . . . . . . . . 10 (𝐴 ∈ {∅, 1o} → (𝐴 = ∅ ∨ 𝐴 = 1o))
3231, 3eleq2s 2882 . . . . . . . . 9 (𝐴 ∈ 2o → (𝐴 = ∅ ∨ 𝐴 = 1o))
33 elpri 4608 . . . . . . . . . 10 (𝐵 ∈ {∅, 1o} → (𝐵 = ∅ ∨ 𝐵 = 1o))
3433, 3eleq2s 2882 . . . . . . . . 9 (𝐵 ∈ 2o → (𝐵 = ∅ ∨ 𝐵 = 1o))
35 0ex 5267 . . . . . . . . . . . . 13 ∅ ∈ V
3635prid1 4725 . . . . . . . . . . . 12 ∅ ∈ {∅, 1o}
3736, 19, 33eltr4i 2877 . . . . . . . . . . 11 (∅ ·o ∅) ∈ 2o
3816, 37eqeltrdi 2872 . . . . . . . . . 10 ((𝐴 = ∅ ∧ 𝐵 = ∅) → (𝐴 ·o 𝐵) ∈ 2o)
39 oveq12 7460 . . . . . . . . . . 11 ((𝐴 = 1o ∧ 𝐵 = ∅) → (𝐴 ·o 𝐵) = (1o ·o ∅))
40 1on 8527 . . . . . . . . . . . . 13 1o ∈ On
41 om0 8563 . . . . . . . . . . . . 13 (1o ∈ On → (1o ·o ∅) = ∅)
4240, 41ax-mp 5 . . . . . . . . . . . 12 (1o ·o ∅) = ∅
4336, 42, 33eltr4i 2877 . . . . . . . . . . 11 (1o ·o ∅) ∈ 2o
4439, 43eqeltrdi 2872 . . . . . . . . . 10 ((𝐴 = 1o ∧ 𝐵 = ∅) → (𝐴 ·o 𝐵) ∈ 2o)
45 oveq12 7460 . . . . . . . . . . 11 ((𝐴 = ∅ ∧ 𝐵 = 1o) → (𝐴 ·o 𝐵) = (∅ ·o 1o))
46 om0r 8585 . . . . . . . . . . . . 13 (1o ∈ On → (∅ ·o 1o) = ∅)
4740, 46ax-mp 5 . . . . . . . . . . . 12 (∅ ·o 1o) = ∅
4836, 47, 33eltr4i 2877 . . . . . . . . . . 11 (∅ ·o 1o) ∈ 2o
4945, 48eqeltrdi 2872 . . . . . . . . . 10 ((𝐴 = ∅ ∧ 𝐵 = 1o) → (𝐴 ·o 𝐵) ∈ 2o)
50 oveq12 7460 . . . . . . . . . . 11 ((𝐴 = 1o ∧ 𝐵 = 1o) → (𝐴 ·o 𝐵) = (1o ·o 1o))
51 1oelpr 8525 . . . . . . . . . . . 12 1o ∈ {∅, 1o}
52 om1 8588 . . . . . . . . . . . . 13 (1o ∈ On → (1o ·o 1o) = 1o)
5340, 52ax-mp 5 . . . . . . . . . . . 12 (1o ·o 1o) = 1o
5451, 53, 33eltr4i 2877 . . . . . . . . . . 11 (1o ·o 1o) ∈ 2o
5550, 54eqeltrdi 2872 . . . . . . . . . 10 ((𝐴 = 1o ∧ 𝐵 = 1o) → (𝐴 ·o 𝐵) ∈ 2o)
5638, 44, 49, 55ccase 1053 . . . . . . . . 9 (((𝐴 = ∅ ∨ 𝐴 = 1o) ∧ (𝐵 = ∅ ∨ 𝐵 = 1o)) → (𝐴 ·o 𝐵) ∈ 2o)
5732, 34, 56syl2an 608 . . . . . . . 8 ((𝐴 ∈ 2o ∧ 𝐵 ∈ 2o) → (𝐴 ·o 𝐵) ∈ 2o)
5857a1i 11 . . . . . . 7 (𝐶 = 2o → ((𝐴 ∈ 2o ∧ 𝐵 ∈ 2o) → (𝐴 ·o 𝐵) ∈ 2o))
59 eleq2 2853 . . . . . . . 8 (𝐶 = 2o → (𝐴 ∈ 𝐶 ↔ 𝐴 ∈ 2o))
60 eleq2 2853 . . . . . . . 8 (𝐶 = 2o → (𝐵 ∈ 𝐶 ↔ 𝐵 ∈ 2o))
6159, 60anbi12d 644 . . . . . . 7 (𝐶 = 2o → ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) ↔ (𝐴 ∈ 2o ∧ 𝐵 ∈ 2o)))
62 eleq2 2853 . . . . . . 7 (𝐶 = 2o → ((𝐴 ·o 𝐵) ∈ 𝐶 ↔ (𝐴 ·o 𝐵) ∈ 2o))
6358, 61, 623imtr4d 297 . . . . . 6 (𝐶 = 2o → ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → (𝐴 ·o 𝐵) ∈ 𝐶))
6463com12 33 . . . . 5 ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → (𝐶 = 2o → (𝐴 ·o 𝐵) ∈ 𝐶))
6513, 30, 643jaod 1457 . . . 4 ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → ((𝐶 = ∅ ∨ 𝐶 = 1o ∨ 𝐶 = 2o) → (𝐴 ·o 𝐵) ∈ 𝐶))
669, 65syl5 35 . . 3 ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → (𝐶 ∈ 3o → (𝐴 ·o 𝐵) ∈ 𝐶))
67 olc 882 . . . . 5 ((𝐶 = (ω ↑o (ω ↑o 𝐷)) ∧ 𝐷 ∈ On) → (𝐶 = ∅ ∨ (𝐶 = (ω ↑o (ω ↑o 𝐷)) ∧ 𝐷 ∈ On)))
68 omcl2 44596 . . . . 5 (((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) ∧ (𝐶 = ∅ ∨ (𝐶 = (ω ↑o (ω ↑o 𝐷)) ∧ 𝐷 ∈ On))) → (𝐴 ·o 𝐵) ∈ 𝐶)
6967, 68sylan2 605 . . . 4 (((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) ∧ (𝐶 = (ω ↑o (ω ↑o 𝐷)) ∧ 𝐷 ∈ On)) → (𝐴 ·o 𝐵) ∈ 𝐶)
7069ex 418 . . 3 ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → ((𝐶 = (ω ↑o (ω ↑o 𝐷)) ∧ 𝐷 ∈ On) → (𝐴 ·o 𝐵) ∈ 𝐶))
7166, 70jaod 873 . 2 ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → ((𝐶 ∈ 3o ∨ (𝐶 = (ω ↑o (ω ↑o 𝐷)) ∧ 𝐷 ∈ On)) → (𝐴 ·o 𝐵) ∈ 𝐶))
7271imp 412 1 (((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) ∧ (𝐶 ∈ 3o ∨ (𝐶 = (ω ↑o (ω ↑o 𝐷)) ∧ 𝐷 ∈ On))) → (𝐴 ·o 𝐵) ∈ 𝐶)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   ∨ wo 861   ∨ w3o 1102   = wceq 1570   ∈ wcel 2147   ∪ cun 4152  ∅c0 4281  {csn 4588  {cpr 4590  {ctp 4592  Oncon0 6388  suc csuc 6390  (class class class)co 7451  ωcom 7911  1oc1o 8507  2oc2o 8508  3oc3o 8509   ·o comu 8512   ↑o coe 8513
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-rep 5238  ax-sep 5255  ax-nul 5266  ax-pr 5398  ax-un 7783  ax-inf2 9679
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-ral 3081  df-rex 3091  df-rmo 3369  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-tp 4593  df-op 4841  df-ot 4864  df-uni 4873  df-int 4913  df-iun 4958  df-br 5109  df-opab 5174  df-mpt 5193  df-tr 5219  df-id 5553  df-eprel 5558  df-po 5566  df-so 5567  df-fr 5611  df-we 5613  df-xp 5664  df-rel 5665  df-cnv 5666  df-co 5667  df-dm 5668  df-rn 5669  df-res 5670  df-ima 5671  df-pred 6330  df-ord 6391  df-on 6392  df-lim 6393  df-suc 6394  df-iota 6520  df-fun 6568  df-fn 6569  df-f 6570  df-f1 6571  df-fo 6572  df-f1o 6573  df-fv 6574  df-ov 7454  df-oprab 7455  df-mpo 7456  df-om 7912  df-1st 8035  df-2nd 8036  df-frecs 8337  df-wrecs 8368  df-recs 8417  df-rdg 8456  df-1o 8514  df-2o 8515  df-3o 8516  df-oadd 8518  df-omul 8519  df-oexp 8520
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator