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 44476
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 4648 . . . . 5 (𝐶 ∈ {∅, 1o, 2o} → (𝐶 = ∅ ∨ 𝐶 = 1o ∨ 𝐶 = 2o))
2 df-3o 8489 . . . . . 6 3o = suc 2o
3 df2o3 8495 . . . . . . . 8 2o = {∅, 1o}
43uneq1i 4165 . . . . . . 7 (2o ∪ {2o}) = ({∅, 1o} ∪ {2o})
5 df-suc 6374 . . . . . . 7 suc 2o = (2o ∪ {2o})
6 df-tp 4592 . . . . . . 7 {∅, 1o, 2o} = ({∅, 1o} ∪ {2o})
74, 5, 63eqtr4i 2796 . . . . . 6 suc 2o = {∅, 1o, 2o}
82, 7eqtri 2786 . . . . 5 3o = {∅, 1o, 2o}
91, 8eleq2s 2881 . . . 4 (𝐶 ∈ 3o → (𝐶 = ∅ ∨ 𝐶 = 1o ∨ 𝐶 = 2o))
10 orc 881 . . . . . . 7 (𝐶 = ∅ → (𝐶 = ∅ ∨ (𝐶 = (ω ↑o (ω ↑o 𝐶)) ∧ 𝐶 ∈ On)))
11 omcl2 44475 . . . . . . 7 (((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) ∧ (𝐶 = ∅ ∨ (𝐶 = (ω ↑o (ω ↑o 𝐶)) ∧ 𝐶 ∈ On))) → (𝐴 ·o 𝐵) ∈ 𝐶)
1210, 11sylan2 605 . . . . . 6 (((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) ∧ 𝐶 = ∅) → (𝐴 ·o 𝐵) ∈ 𝐶)
1312ex 418 . . . . 5 ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → (𝐶 = ∅ → (𝐴 ·o 𝐵) ∈ 𝐶))
14 el1o 8514 . . . . . . . . 9 (𝐴 ∈ 1o ↔ 𝐴 = ∅)
15 el1o 8514 . . . . . . . . 9 (𝐵 ∈ 1o ↔ 𝐵 = ∅)
16 oveq12 7436 . . . . . . . . . 10 ((𝐴 = ∅ ∧ 𝐵 = ∅) → (𝐴 ·o 𝐵) = (∅ ·o ∅))
17 0elon 6424 . . . . . . . . . . . 12 ∅ ∈ On
18 om0 8536 . . . . . . . . . . . 12 (∅ ∈ On → (∅ ·o ∅) = ∅)
1917, 18ax-mp 5 . . . . . . . . . . 11 (∅ ·o ∅) = ∅
20 0lt1o 8523 . . . . . . . . . . 11 ∅ ∈ 1o
2119, 20eqeltri 2859 . . . . . . . . . 10 (∅ ·o ∅) ∈ 1o
2216, 21eqeltrdi 2871 . . . . . . . . 9 ((𝐴 = ∅ ∧ 𝐵 = ∅) → (𝐴 ·o 𝐵) ∈ 1o)
2314, 15, 22syl2anb 610 . . . . . . . 8 ((𝐴 ∈ 1o ∧ 𝐵 ∈ 1o) → (𝐴 ·o 𝐵) ∈ 1o)
2423a1i 11 . . . . . . 7 (𝐶 = 1o → ((𝐴 ∈ 1o ∧ 𝐵 ∈ 1o) → (𝐴 ·o 𝐵) ∈ 1o))
25 eleq2 2852 . . . . . . . 8 (𝐶 = 1o → (𝐴 ∈ 𝐶 ↔ 𝐴 ∈ 1o))
26 eleq2 2852 . . . . . . . 8 (𝐶 = 1o → (𝐵 ∈ 𝐶 ↔ 𝐵 ∈ 1o))
2725, 26anbi12d 644 . . . . . . 7 (𝐶 = 1o → ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) ↔ (𝐴 ∈ 1o ∧ 𝐵 ∈ 1o)))
28 eleq2 2852 . . . . . . 7 (𝐶 = 1o → ((𝐴 ·o 𝐵) ∈ 𝐶 ↔ (𝐴 ·o 𝐵) ∈ 1o))
2924, 27, 283imtr4d 297 . . . . . 6 (𝐶 = 1o → ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → (𝐴 ·o 𝐵) ∈ 𝐶))
3029com12 33 . . . . 5 ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → (𝐶 = 1o → (𝐴 ·o 𝐵) ∈ 𝐶))
31 elpri 4607 . . . . . . . . . 10 (𝐴 ∈ {∅, 1o} → (𝐴 = ∅ ∨ 𝐴 = 1o))
3231, 3eleq2s 2881 . . . . . . . . 9 (𝐴 ∈ 2o → (𝐴 = ∅ ∨ 𝐴 = 1o))
33 elpri 4607 . . . . . . . . . 10 (𝐵 ∈ {∅, 1o} → (𝐵 = ∅ ∨ 𝐵 = 1o))
3433, 3eleq2s 2881 . . . . . . . . 9 (𝐵 ∈ 2o → (𝐵 = ∅ ∨ 𝐵 = 1o))
35 0ex 5263 . . . . . . . . . . . . 13 ∅ ∈ V
3635prid1 4722 . . . . . . . . . . . 12 ∅ ∈ {∅, 1o}
3736, 19, 33eltr4i 2876 . . . . . . . . . . 11 (∅ ·o ∅) ∈ 2o
3816, 37eqeltrdi 2871 . . . . . . . . . 10 ((𝐴 = ∅ ∧ 𝐵 = ∅) → (𝐴 ·o 𝐵) ∈ 2o)
39 oveq12 7436 . . . . . . . . . . 11 ((𝐴 = 1o ∧ 𝐵 = ∅) → (𝐴 ·o 𝐵) = (1o ·o ∅))
40 1on 8500 . . . . . . . . . . . . 13 1o ∈ On
41 om0 8536 . . . . . . . . . . . . 13 (1o ∈ On → (1o ·o ∅) = ∅)
4240, 41ax-mp 5 . . . . . . . . . . . 12 (1o ·o ∅) = ∅
4336, 42, 33eltr4i 2876 . . . . . . . . . . 11 (1o ·o ∅) ∈ 2o
4439, 43eqeltrdi 2871 . . . . . . . . . 10 ((𝐴 = 1o ∧ 𝐵 = ∅) → (𝐴 ·o 𝐵) ∈ 2o)
45 oveq12 7436 . . . . . . . . . . 11 ((𝐴 = ∅ ∧ 𝐵 = 1o) → (𝐴 ·o 𝐵) = (∅ ·o 1o))
46 om0r 8558 . . . . . . . . . . . . 13 (1o ∈ On → (∅ ·o 1o) = ∅)
4740, 46ax-mp 5 . . . . . . . . . . . 12 (∅ ·o 1o) = ∅
4836, 47, 33eltr4i 2876 . . . . . . . . . . 11 (∅ ·o 1o) ∈ 2o
4945, 48eqeltrdi 2871 . . . . . . . . . 10 ((𝐴 = ∅ ∧ 𝐵 = 1o) → (𝐴 ·o 𝐵) ∈ 2o)
50 oveq12 7436 . . . . . . . . . . 11 ((𝐴 = 1o ∧ 𝐵 = 1o) → (𝐴 ·o 𝐵) = (1o ·o 1o))
51 1oelpr 8498 . . . . . . . . . . . 12 1o ∈ {∅, 1o}
52 om1 8561 . . . . . . . . . . . . 13 (1o ∈ On → (1o ·o 1o) = 1o)
5340, 52ax-mp 5 . . . . . . . . . . . 12 (1o ·o 1o) = 1o
5451, 53, 33eltr4i 2876 . . . . . . . . . . 11 (1o ·o 1o) ∈ 2o
5550, 54eqeltrdi 2871 . . . . . . . . . 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 2852 . . . . . . . 8 (𝐶 = 2o → (𝐴 ∈ 𝐶 ↔ 𝐴 ∈ 2o))
60 eleq2 2852 . . . . . . . 8 (𝐶 = 2o → (𝐵 ∈ 𝐶 ↔ 𝐵 ∈ 2o))
6159, 60anbi12d 644 . . . . . . 7 (𝐶 = 2o → ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) ↔ (𝐴 ∈ 2o ∧ 𝐵 ∈ 2o)))
62 eleq2 2852 . . . . . . 7 (𝐶 = 2o → ((𝐴 ·o 𝐵) ∈ 𝐶 ↔ (𝐴 ·o 𝐵) ∈ 2o))
6358, 61, 623imtr4d 297 . . . . . 6 (𝐶 = 2o → ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → (𝐴 ·o 𝐵) ∈ 𝐶))
6463com12 33 . . . . 5 ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → (𝐶 = 2o → (𝐴 ·o 𝐵) ∈ 𝐶))
6513, 30, 643jaod 1456 . . . 4 ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → ((𝐶 = ∅ ∨ 𝐶 = 1o ∨ 𝐶 = 2o) → (𝐴 ·o 𝐵) ∈ 𝐶))
669, 65syl5 35 . . 3 ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → (𝐶 ∈ 3o → (𝐴 ·o 𝐵) ∈ 𝐶))
67 olc 882 . . . . 5 ((𝐶 = (ω ↑o (ω ↑o 𝐷)) ∧ 𝐷 ∈ On) → (𝐶 = ∅ ∨ (𝐶 = (ω ↑o (ω ↑o 𝐷)) ∧ 𝐷 ∈ On)))
68 omcl2 44475 . . . . 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 1569   ∈ wcel 2146   ∪ cun 4151  ∅c0 4280  {csn 4587  {cpr 4589  {ctp 4591  Oncon0 6368  suc csuc 6370  (class class class)co 7427  ωcom 7884  1oc1o 8480  2oc2o 8481  3oc3o 8482   ·o comu 8485   ↑o coe 8486
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1944  ax-6 2001  ax-7 2042  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2196  ax-12 2215  ax-ext 2735  ax-rep 5234  ax-sep 5251  ax-nul 5262  ax-pr 5394  ax-un 7758  ax-inf2 9652
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2101  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ne 2959  df-ral 3080  df-rex 3090  df-rmo 3368  df-reu 3369  df-rab 3416  df-v 3455  df-sbc 3742  df-csb 3851  df-ss 3900  df-pss 4016  df-dif 4049  df-in 4093  df-un 4153  df-nul 4281  df-if 4485  df-pw 4561  df-sn 4588  df-pr 4590  df-tp 4592  df-op 4838  df-ot 4861  df-uni 4870  df-int 4910  df-iun 4955  df-br 5106  df-opab 5170  df-mpt 5189  df-tr 5215  df-id 5549  df-eprel 5554  df-po 5562  df-so 5563  df-fr 5607  df-we 5609  df-xp 5660  df-rel 5661  df-cnv 5662  df-co 5663  df-dm 5664  df-rn 5665  df-res 5666  df-ima 5667  df-pred 6310  df-ord 6371  df-on 6372  df-lim 6373  df-suc 6374  df-iota 6500  df-fun 6548  df-fn 6549  df-f 6550  df-f1 6551  df-fo 6552  df-f1o 6553  df-fv 6554  df-ov 7430  df-oprab 7431  df-mpo 7432  df-om 7885  df-1st 8008  df-2nd 8009  df-frecs 8310  df-wrecs 8341  df-recs 8390  df-rdg 8429  df-1o 8487  df-2o 8488  df-3o 8489  df-oadd 8491  df-omul 8492  df-oexp 8493
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator