Users' Mathboxes Mathbox for Scott Fenton < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  addscllem1 Structured version   Visualization version   GIF version

Theorem addscllem1 33715
Description: Lemma for addscl (future) Alternate expression for surreal addition. (Contributed by Scott Fenton, 23-Aug-2024.)
Assertion
Ref Expression
addscllem1 ((𝐴 No 𝐵 No ) → (𝐴 +s 𝐵) = ((( +s “ (( L ‘𝐴) × {𝐵})) ∪ ( +s “ ({𝐴} × ( L ‘𝐵)))) |s (( +s “ (( R ‘𝐴) × {𝐵})) ∪ ( +s “ ({𝐴} × ( R ‘𝐵))))))

Proof of Theorem addscllem1
Dummy variables 𝑙 𝑟 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 addsov 33710 . 2 ((𝐴 No 𝐵 No ) → (𝐴 +s 𝐵) = (({𝑥 ∣ ∃𝑙 ∈ ( L ‘𝐴)𝑥 = (𝑙 +s 𝐵)} ∪ {𝑦 ∣ ∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝐴 +s 𝑙)}) |s ({𝑥 ∣ ∃𝑟 ∈ ( R ‘𝐴)𝑥 = (𝑟 +s 𝐵)} ∪ {𝑦 ∣ ∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝐴 +s 𝑟)})))
2 addsfn 33709 . . . . . . 7 +s Fn ( No × No )
3 leftssno 33655 . . . . . . . 8 (𝐴 No → ( L ‘𝐴) ⊆ No )
4 snssi 4701 . . . . . . . 8 (𝐵 No → {𝐵} ⊆ No )
5 xpss12 5543 . . . . . . . 8 ((( L ‘𝐴) ⊆ No ∧ {𝐵} ⊆ No ) → (( L ‘𝐴) × {𝐵}) ⊆ ( No × No ))
63, 4, 5syl2an 598 . . . . . . 7 ((𝐴 No 𝐵 No ) → (( L ‘𝐴) × {𝐵}) ⊆ ( No × No ))
7 ovelimab 7328 . . . . . . 7 (( +s Fn ( No × No ) ∧ (( L ‘𝐴) × {𝐵}) ⊆ ( No × No )) → (𝑥 ∈ ( +s “ (( L ‘𝐴) × {𝐵})) ↔ ∃𝑙 ∈ ( L ‘𝐴)∃𝑟 ∈ {𝐵}𝑥 = (𝑙 +s 𝑟)))
82, 6, 7sylancr 590 . . . . . 6 ((𝐴 No 𝐵 No ) → (𝑥 ∈ ( +s “ (( L ‘𝐴) × {𝐵})) ↔ ∃𝑙 ∈ ( L ‘𝐴)∃𝑟 ∈ {𝐵}𝑥 = (𝑙 +s 𝑟)))
9 oveq2 7164 . . . . . . . . . 10 (𝑟 = 𝐵 → (𝑙 +s 𝑟) = (𝑙 +s 𝐵))
109eqeq2d 2769 . . . . . . . . 9 (𝑟 = 𝐵 → (𝑥 = (𝑙 +s 𝑟) ↔ 𝑥 = (𝑙 +s 𝐵)))
1110rexsng 4574 . . . . . . . 8 (𝐵 No → (∃𝑟 ∈ {𝐵}𝑥 = (𝑙 +s 𝑟) ↔ 𝑥 = (𝑙 +s 𝐵)))
1211adantl 485 . . . . . . 7 ((𝐴 No 𝐵 No ) → (∃𝑟 ∈ {𝐵}𝑥 = (𝑙 +s 𝑟) ↔ 𝑥 = (𝑙 +s 𝐵)))
1312rexbidv 3221 . . . . . 6 ((𝐴 No 𝐵 No ) → (∃𝑙 ∈ ( L ‘𝐴)∃𝑟 ∈ {𝐵}𝑥 = (𝑙 +s 𝑟) ↔ ∃𝑙 ∈ ( L ‘𝐴)𝑥 = (𝑙 +s 𝐵)))
148, 13bitrd 282 . . . . 5 ((𝐴 No 𝐵 No ) → (𝑥 ∈ ( +s “ (( L ‘𝐴) × {𝐵})) ↔ ∃𝑙 ∈ ( L ‘𝐴)𝑥 = (𝑙 +s 𝐵)))
1514abbi2dv 2889 . . . 4 ((𝐴 No 𝐵 No ) → ( +s “ (( L ‘𝐴) × {𝐵})) = {𝑥 ∣ ∃𝑙 ∈ ( L ‘𝐴)𝑥 = (𝑙 +s 𝐵)})
16 snssi 4701 . . . . . . . 8 (𝐴 No → {𝐴} ⊆ No )
17 leftssno 33655 . . . . . . . 8 (𝐵 No → ( L ‘𝐵) ⊆ No )
18 xpss12 5543 . . . . . . . 8 (({𝐴} ⊆ No ∧ ( L ‘𝐵) ⊆ No ) → ({𝐴} × ( L ‘𝐵)) ⊆ ( No × No ))
1916, 17, 18syl2an 598 . . . . . . 7 ((𝐴 No 𝐵 No ) → ({𝐴} × ( L ‘𝐵)) ⊆ ( No × No ))
20 ovelimab 7328 . . . . . . 7 (( +s Fn ( No × No ) ∧ ({𝐴} × ( L ‘𝐵)) ⊆ ( No × No )) → (𝑦 ∈ ( +s “ ({𝐴} × ( L ‘𝐵))) ↔ ∃𝑟 ∈ {𝐴}∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝑟 +s 𝑙)))
212, 19, 20sylancr 590 . . . . . 6 ((𝐴 No 𝐵 No ) → (𝑦 ∈ ( +s “ ({𝐴} × ( L ‘𝐵))) ↔ ∃𝑟 ∈ {𝐴}∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝑟 +s 𝑙)))
22 oveq1 7163 . . . . . . . . . 10 (𝑟 = 𝐴 → (𝑟 +s 𝑙) = (𝐴 +s 𝑙))
2322eqeq2d 2769 . . . . . . . . 9 (𝑟 = 𝐴 → (𝑦 = (𝑟 +s 𝑙) ↔ 𝑦 = (𝐴 +s 𝑙)))
2423rexbidv 3221 . . . . . . . 8 (𝑟 = 𝐴 → (∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝑟 +s 𝑙) ↔ ∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝐴 +s 𝑙)))
2524rexsng 4574 . . . . . . 7 (𝐴 No → (∃𝑟 ∈ {𝐴}∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝑟 +s 𝑙) ↔ ∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝐴 +s 𝑙)))
2625adantr 484 . . . . . 6 ((𝐴 No 𝐵 No ) → (∃𝑟 ∈ {𝐴}∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝑟 +s 𝑙) ↔ ∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝐴 +s 𝑙)))
2721, 26bitrd 282 . . . . 5 ((𝐴 No 𝐵 No ) → (𝑦 ∈ ( +s “ ({𝐴} × ( L ‘𝐵))) ↔ ∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝐴 +s 𝑙)))
2827abbi2dv 2889 . . . 4 ((𝐴 No 𝐵 No ) → ( +s “ ({𝐴} × ( L ‘𝐵))) = {𝑦 ∣ ∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝐴 +s 𝑙)})
2915, 28uneq12d 4071 . . 3 ((𝐴 No 𝐵 No ) → (( +s “ (( L ‘𝐴) × {𝐵})) ∪ ( +s “ ({𝐴} × ( L ‘𝐵)))) = ({𝑥 ∣ ∃𝑙 ∈ ( L ‘𝐴)𝑥 = (𝑙 +s 𝐵)} ∪ {𝑦 ∣ ∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝐴 +s 𝑙)}))
30 rightssno 33656 . . . . . . . 8 (𝐴 No → ( R ‘𝐴) ⊆ No )
31 xpss12 5543 . . . . . . . 8 ((( R ‘𝐴) ⊆ No ∧ {𝐵} ⊆ No ) → (( R ‘𝐴) × {𝐵}) ⊆ ( No × No ))
3230, 4, 31syl2an 598 . . . . . . 7 ((𝐴 No 𝐵 No ) → (( R ‘𝐴) × {𝐵}) ⊆ ( No × No ))
33 ovelimab 7328 . . . . . . 7 (( +s Fn ( No × No ) ∧ (( R ‘𝐴) × {𝐵}) ⊆ ( No × No )) → (𝑥 ∈ ( +s “ (( R ‘𝐴) × {𝐵})) ↔ ∃𝑟 ∈ ( R ‘𝐴)∃𝑙 ∈ {𝐵}𝑥 = (𝑟 +s 𝑙)))
342, 32, 33sylancr 590 . . . . . 6 ((𝐴 No 𝐵 No ) → (𝑥 ∈ ( +s “ (( R ‘𝐴) × {𝐵})) ↔ ∃𝑟 ∈ ( R ‘𝐴)∃𝑙 ∈ {𝐵}𝑥 = (𝑟 +s 𝑙)))
35 oveq2 7164 . . . . . . . . . 10 (𝑙 = 𝐵 → (𝑟 +s 𝑙) = (𝑟 +s 𝐵))
3635eqeq2d 2769 . . . . . . . . 9 (𝑙 = 𝐵 → (𝑥 = (𝑟 +s 𝑙) ↔ 𝑥 = (𝑟 +s 𝐵)))
3736rexsng 4574 . . . . . . . 8 (𝐵 No → (∃𝑙 ∈ {𝐵}𝑥 = (𝑟 +s 𝑙) ↔ 𝑥 = (𝑟 +s 𝐵)))
3837adantl 485 . . . . . . 7 ((𝐴 No 𝐵 No ) → (∃𝑙 ∈ {𝐵}𝑥 = (𝑟 +s 𝑙) ↔ 𝑥 = (𝑟 +s 𝐵)))
3938rexbidv 3221 . . . . . 6 ((𝐴 No 𝐵 No ) → (∃𝑟 ∈ ( R ‘𝐴)∃𝑙 ∈ {𝐵}𝑥 = (𝑟 +s 𝑙) ↔ ∃𝑟 ∈ ( R ‘𝐴)𝑥 = (𝑟 +s 𝐵)))
4034, 39bitrd 282 . . . . 5 ((𝐴 No 𝐵 No ) → (𝑥 ∈ ( +s “ (( R ‘𝐴) × {𝐵})) ↔ ∃𝑟 ∈ ( R ‘𝐴)𝑥 = (𝑟 +s 𝐵)))
4140abbi2dv 2889 . . . 4 ((𝐴 No 𝐵 No ) → ( +s “ (( R ‘𝐴) × {𝐵})) = {𝑥 ∣ ∃𝑟 ∈ ( R ‘𝐴)𝑥 = (𝑟 +s 𝐵)})
42 rightssno 33656 . . . . . . . 8 (𝐵 No → ( R ‘𝐵) ⊆ No )
43 xpss12 5543 . . . . . . . 8 (({𝐴} ⊆ No ∧ ( R ‘𝐵) ⊆ No ) → ({𝐴} × ( R ‘𝐵)) ⊆ ( No × No ))
4416, 42, 43syl2an 598 . . . . . . 7 ((𝐴 No 𝐵 No ) → ({𝐴} × ( R ‘𝐵)) ⊆ ( No × No ))
45 ovelimab 7328 . . . . . . 7 (( +s Fn ( No × No ) ∧ ({𝐴} × ( R ‘𝐵)) ⊆ ( No × No )) → (𝑦 ∈ ( +s “ ({𝐴} × ( R ‘𝐵))) ↔ ∃𝑙 ∈ {𝐴}∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝑙 +s 𝑟)))
462, 44, 45sylancr 590 . . . . . 6 ((𝐴 No 𝐵 No ) → (𝑦 ∈ ( +s “ ({𝐴} × ( R ‘𝐵))) ↔ ∃𝑙 ∈ {𝐴}∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝑙 +s 𝑟)))
47 oveq1 7163 . . . . . . . . . 10 (𝑙 = 𝐴 → (𝑙 +s 𝑟) = (𝐴 +s 𝑟))
4847eqeq2d 2769 . . . . . . . . 9 (𝑙 = 𝐴 → (𝑦 = (𝑙 +s 𝑟) ↔ 𝑦 = (𝐴 +s 𝑟)))
4948rexbidv 3221 . . . . . . . 8 (𝑙 = 𝐴 → (∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝑙 +s 𝑟) ↔ ∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝐴 +s 𝑟)))
5049rexsng 4574 . . . . . . 7 (𝐴 No → (∃𝑙 ∈ {𝐴}∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝑙 +s 𝑟) ↔ ∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝐴 +s 𝑟)))
5150adantr 484 . . . . . 6 ((𝐴 No 𝐵 No ) → (∃𝑙 ∈ {𝐴}∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝑙 +s 𝑟) ↔ ∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝐴 +s 𝑟)))
5246, 51bitrd 282 . . . . 5 ((𝐴 No 𝐵 No ) → (𝑦 ∈ ( +s “ ({𝐴} × ( R ‘𝐵))) ↔ ∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝐴 +s 𝑟)))
5352abbi2dv 2889 . . . 4 ((𝐴 No 𝐵 No ) → ( +s “ ({𝐴} × ( R ‘𝐵))) = {𝑦 ∣ ∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝐴 +s 𝑟)})
5441, 53uneq12d 4071 . . 3 ((𝐴 No 𝐵 No ) → (( +s “ (( R ‘𝐴) × {𝐵})) ∪ ( +s “ ({𝐴} × ( R ‘𝐵)))) = ({𝑥 ∣ ∃𝑟 ∈ ( R ‘𝐴)𝑥 = (𝑟 +s 𝐵)} ∪ {𝑦 ∣ ∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝐴 +s 𝑟)}))
5529, 54oveq12d 7174 . 2 ((𝐴 No 𝐵 No ) → ((( +s “ (( L ‘𝐴) × {𝐵})) ∪ ( +s “ ({𝐴} × ( L ‘𝐵)))) |s (( +s “ (( R ‘𝐴) × {𝐵})) ∪ ( +s “ ({𝐴} × ( R ‘𝐵))))) = (({𝑥 ∣ ∃𝑙 ∈ ( L ‘𝐴)𝑥 = (𝑙 +s 𝐵)} ∪ {𝑦 ∣ ∃𝑙 ∈ ( L ‘𝐵)𝑦 = (𝐴 +s 𝑙)}) |s ({𝑥 ∣ ∃𝑟 ∈ ( R ‘𝐴)𝑥 = (𝑟 +s 𝐵)} ∪ {𝑦 ∣ ∃𝑟 ∈ ( R ‘𝐵)𝑦 = (𝐴 +s 𝑟)})))
561, 55eqtr4d 2796 1 ((𝐴 No 𝐵 No ) → (𝐴 +s 𝐵) = ((( +s “ (( L ‘𝐴) × {𝐵})) ∪ ( +s “ ({𝐴} × ( L ‘𝐵)))) |s (( +s “ (( R ‘𝐴) × {𝐵})) ∪ ( +s “ ({𝐴} × ( R ‘𝐵))))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399   = wceq 1538  wcel 2111  {cab 2735  wrex 3071  cun 3858  wss 3860  {csn 4525   × cxp 5526  cima 5531   Fn wfn 6335  cfv 6340  (class class class)co 7156   No csur 33441   |s cscut 33575   L cleft 33624   R cright 33625   +s cadds 33700
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2729  ax-rep 5160  ax-sep 5173  ax-nul 5180  ax-pow 5238  ax-pr 5302  ax-un 7465
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3or 1085  df-3an 1086  df-tru 1541  df-fal 1551  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2557  df-eu 2588  df-clab 2736  df-cleq 2750  df-clel 2830  df-nfc 2901  df-ne 2952  df-ral 3075  df-rex 3076  df-reu 3077  df-rmo 3078  df-rab 3079  df-v 3411  df-sbc 3699  df-csb 3808  df-dif 3863  df-un 3865  df-in 3867  df-ss 3877  df-pss 3879  df-nul 4228  df-if 4424  df-pw 4499  df-sn 4526  df-pr 4528  df-tp 4530  df-op 4532  df-uni 4802  df-int 4842  df-iun 4888  df-br 5037  df-opab 5099  df-mpt 5117  df-tr 5143  df-id 5434  df-eprel 5439  df-po 5447  df-so 5448  df-fr 5487  df-se 5488  df-we 5489  df-xp 5534  df-rel 5535  df-cnv 5536  df-co 5537  df-dm 5538  df-rn 5539  df-res 5540  df-ima 5541  df-pred 6131  df-ord 6177  df-on 6178  df-suc 6180  df-iota 6299  df-fun 6342  df-fn 6343  df-f 6344  df-f1 6345  df-fo 6346  df-f1o 6347  df-fv 6348  df-riota 7114  df-ov 7159  df-oprab 7160  df-mpo 7161  df-1st 7699  df-2nd 7700  df-wrecs 7963  df-recs 8024  df-1o 8118  df-2o 8119  df-frecs 33393  df-no 33444  df-slt 33445  df-bday 33446  df-sslt 33574  df-scut 33576  df-made 33626  df-old 33627  df-left 33629  df-right 33630  df-norec2 33689  df-adds 33703
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator