MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  xporderlem Structured version   Visualization version   GIF version

Theorem xporderlem 8065
Description: Lemma for lexicographical ordering theorems. (Contributed by Scott Fenton, 16-Mar-2011.)
Hypothesis
Ref Expression
xporderlem.1 𝑇 = {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ (𝐴 × 𝐵) ∧ 𝑦 ∈ (𝐴 × 𝐵)) ∧ ((1st𝑥)𝑅(1st𝑦) ∨ ((1st𝑥) = (1st𝑦) ∧ (2nd𝑥)𝑆(2nd𝑦))))}
Assertion
Ref Expression
xporderlem (⟨𝑎, 𝑏𝑇𝑐, 𝑑⟩ ↔ (((𝑎𝐴𝑐𝐴) ∧ (𝑏𝐵𝑑𝐵)) ∧ (𝑎𝑅𝑐 ∨ (𝑎 = 𝑐𝑏𝑆𝑑))))
Distinct variable groups:   𝑥,𝐴,𝑦   𝑥,𝐵,𝑦   𝑥,𝑅,𝑦   𝑥,𝑆,𝑦   𝑥,𝑎,𝑦   𝑥,𝑏,𝑦   𝑥,𝑐,𝑦   𝑥,𝑑,𝑦
Allowed substitution hints:   𝐴(𝑎,𝑏,𝑐,𝑑)   𝐵(𝑎,𝑏,𝑐,𝑑)   𝑅(𝑎,𝑏,𝑐,𝑑)   𝑆(𝑎,𝑏,𝑐,𝑑)   𝑇(𝑥,𝑦,𝑎,𝑏,𝑐,𝑑)

Proof of Theorem xporderlem
StepHypRef Expression
1 df-br 5096 . . 3 (⟨𝑎, 𝑏𝑇𝑐, 𝑑⟩ ↔ ⟨⟨𝑎, 𝑏⟩, ⟨𝑐, 𝑑⟩⟩ ∈ 𝑇)
2 xporderlem.1 . . . 4 𝑇 = {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ (𝐴 × 𝐵) ∧ 𝑦 ∈ (𝐴 × 𝐵)) ∧ ((1st𝑥)𝑅(1st𝑦) ∨ ((1st𝑥) = (1st𝑦) ∧ (2nd𝑥)𝑆(2nd𝑦))))}
32eleq2i 2825 . . 3 (⟨⟨𝑎, 𝑏⟩, ⟨𝑐, 𝑑⟩⟩ ∈ 𝑇 ↔ ⟨⟨𝑎, 𝑏⟩, ⟨𝑐, 𝑑⟩⟩ ∈ {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ (𝐴 × 𝐵) ∧ 𝑦 ∈ (𝐴 × 𝐵)) ∧ ((1st𝑥)𝑅(1st𝑦) ∨ ((1st𝑥) = (1st𝑦) ∧ (2nd𝑥)𝑆(2nd𝑦))))})
41, 3bitri 275 . 2 (⟨𝑎, 𝑏𝑇𝑐, 𝑑⟩ ↔ ⟨⟨𝑎, 𝑏⟩, ⟨𝑐, 𝑑⟩⟩ ∈ {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ (𝐴 × 𝐵) ∧ 𝑦 ∈ (𝐴 × 𝐵)) ∧ ((1st𝑥)𝑅(1st𝑦) ∨ ((1st𝑥) = (1st𝑦) ∧ (2nd𝑥)𝑆(2nd𝑦))))})
5 opex 5409 . . 3 𝑎, 𝑏⟩ ∈ V
6 opex 5409 . . 3 𝑐, 𝑑⟩ ∈ V
7 eleq1 2821 . . . . . 6 (𝑥 = ⟨𝑎, 𝑏⟩ → (𝑥 ∈ (𝐴 × 𝐵) ↔ ⟨𝑎, 𝑏⟩ ∈ (𝐴 × 𝐵)))
8 opelxp 5657 . . . . . 6 (⟨𝑎, 𝑏⟩ ∈ (𝐴 × 𝐵) ↔ (𝑎𝐴𝑏𝐵))
97, 8bitrdi 287 . . . . 5 (𝑥 = ⟨𝑎, 𝑏⟩ → (𝑥 ∈ (𝐴 × 𝐵) ↔ (𝑎𝐴𝑏𝐵)))
109anbi1d 631 . . . 4 (𝑥 = ⟨𝑎, 𝑏⟩ → ((𝑥 ∈ (𝐴 × 𝐵) ∧ 𝑦 ∈ (𝐴 × 𝐵)) ↔ ((𝑎𝐴𝑏𝐵) ∧ 𝑦 ∈ (𝐴 × 𝐵))))
11 vex 3441 . . . . . . 7 𝑎 ∈ V
12 vex 3441 . . . . . . 7 𝑏 ∈ V
1311, 12op1std 7939 . . . . . 6 (𝑥 = ⟨𝑎, 𝑏⟩ → (1st𝑥) = 𝑎)
1413breq1d 5105 . . . . 5 (𝑥 = ⟨𝑎, 𝑏⟩ → ((1st𝑥)𝑅(1st𝑦) ↔ 𝑎𝑅(1st𝑦)))
1513eqeq1d 2735 . . . . . 6 (𝑥 = ⟨𝑎, 𝑏⟩ → ((1st𝑥) = (1st𝑦) ↔ 𝑎 = (1st𝑦)))
1611, 12op2ndd 7940 . . . . . . 7 (𝑥 = ⟨𝑎, 𝑏⟩ → (2nd𝑥) = 𝑏)
1716breq1d 5105 . . . . . 6 (𝑥 = ⟨𝑎, 𝑏⟩ → ((2nd𝑥)𝑆(2nd𝑦) ↔ 𝑏𝑆(2nd𝑦)))
1815, 17anbi12d 632 . . . . 5 (𝑥 = ⟨𝑎, 𝑏⟩ → (((1st𝑥) = (1st𝑦) ∧ (2nd𝑥)𝑆(2nd𝑦)) ↔ (𝑎 = (1st𝑦) ∧ 𝑏𝑆(2nd𝑦))))
1914, 18orbi12d 918 . . . 4 (𝑥 = ⟨𝑎, 𝑏⟩ → (((1st𝑥)𝑅(1st𝑦) ∨ ((1st𝑥) = (1st𝑦) ∧ (2nd𝑥)𝑆(2nd𝑦))) ↔ (𝑎𝑅(1st𝑦) ∨ (𝑎 = (1st𝑦) ∧ 𝑏𝑆(2nd𝑦)))))
2010, 19anbi12d 632 . . 3 (𝑥 = ⟨𝑎, 𝑏⟩ → (((𝑥 ∈ (𝐴 × 𝐵) ∧ 𝑦 ∈ (𝐴 × 𝐵)) ∧ ((1st𝑥)𝑅(1st𝑦) ∨ ((1st𝑥) = (1st𝑦) ∧ (2nd𝑥)𝑆(2nd𝑦)))) ↔ (((𝑎𝐴𝑏𝐵) ∧ 𝑦 ∈ (𝐴 × 𝐵)) ∧ (𝑎𝑅(1st𝑦) ∨ (𝑎 = (1st𝑦) ∧ 𝑏𝑆(2nd𝑦))))))
21 eleq1 2821 . . . . . 6 (𝑦 = ⟨𝑐, 𝑑⟩ → (𝑦 ∈ (𝐴 × 𝐵) ↔ ⟨𝑐, 𝑑⟩ ∈ (𝐴 × 𝐵)))
22 opelxp 5657 . . . . . 6 (⟨𝑐, 𝑑⟩ ∈ (𝐴 × 𝐵) ↔ (𝑐𝐴𝑑𝐵))
2321, 22bitrdi 287 . . . . 5 (𝑦 = ⟨𝑐, 𝑑⟩ → (𝑦 ∈ (𝐴 × 𝐵) ↔ (𝑐𝐴𝑑𝐵)))
2423anbi2d 630 . . . 4 (𝑦 = ⟨𝑐, 𝑑⟩ → (((𝑎𝐴𝑏𝐵) ∧ 𝑦 ∈ (𝐴 × 𝐵)) ↔ ((𝑎𝐴𝑏𝐵) ∧ (𝑐𝐴𝑑𝐵))))
25 vex 3441 . . . . . . 7 𝑐 ∈ V
26 vex 3441 . . . . . . 7 𝑑 ∈ V
2725, 26op1std 7939 . . . . . 6 (𝑦 = ⟨𝑐, 𝑑⟩ → (1st𝑦) = 𝑐)
2827breq2d 5107 . . . . 5 (𝑦 = ⟨𝑐, 𝑑⟩ → (𝑎𝑅(1st𝑦) ↔ 𝑎𝑅𝑐))
2927eqeq2d 2744 . . . . . 6 (𝑦 = ⟨𝑐, 𝑑⟩ → (𝑎 = (1st𝑦) ↔ 𝑎 = 𝑐))
3025, 26op2ndd 7940 . . . . . . 7 (𝑦 = ⟨𝑐, 𝑑⟩ → (2nd𝑦) = 𝑑)
3130breq2d 5107 . . . . . 6 (𝑦 = ⟨𝑐, 𝑑⟩ → (𝑏𝑆(2nd𝑦) ↔ 𝑏𝑆𝑑))
3229, 31anbi12d 632 . . . . 5 (𝑦 = ⟨𝑐, 𝑑⟩ → ((𝑎 = (1st𝑦) ∧ 𝑏𝑆(2nd𝑦)) ↔ (𝑎 = 𝑐𝑏𝑆𝑑)))
3328, 32orbi12d 918 . . . 4 (𝑦 = ⟨𝑐, 𝑑⟩ → ((𝑎𝑅(1st𝑦) ∨ (𝑎 = (1st𝑦) ∧ 𝑏𝑆(2nd𝑦))) ↔ (𝑎𝑅𝑐 ∨ (𝑎 = 𝑐𝑏𝑆𝑑))))
3424, 33anbi12d 632 . . 3 (𝑦 = ⟨𝑐, 𝑑⟩ → ((((𝑎𝐴𝑏𝐵) ∧ 𝑦 ∈ (𝐴 × 𝐵)) ∧ (𝑎𝑅(1st𝑦) ∨ (𝑎 = (1st𝑦) ∧ 𝑏𝑆(2nd𝑦)))) ↔ (((𝑎𝐴𝑏𝐵) ∧ (𝑐𝐴𝑑𝐵)) ∧ (𝑎𝑅𝑐 ∨ (𝑎 = 𝑐𝑏𝑆𝑑)))))
355, 6, 20, 34opelopab 5487 . 2 (⟨⟨𝑎, 𝑏⟩, ⟨𝑐, 𝑑⟩⟩ ∈ {⟨𝑥, 𝑦⟩ ∣ ((𝑥 ∈ (𝐴 × 𝐵) ∧ 𝑦 ∈ (𝐴 × 𝐵)) ∧ ((1st𝑥)𝑅(1st𝑦) ∨ ((1st𝑥) = (1st𝑦) ∧ (2nd𝑥)𝑆(2nd𝑦))))} ↔ (((𝑎𝐴𝑏𝐵) ∧ (𝑐𝐴𝑑𝐵)) ∧ (𝑎𝑅𝑐 ∨ (𝑎 = 𝑐𝑏𝑆𝑑))))
36 an4 656 . . 3 (((𝑎𝐴𝑏𝐵) ∧ (𝑐𝐴𝑑𝐵)) ↔ ((𝑎𝐴𝑐𝐴) ∧ (𝑏𝐵𝑑𝐵)))
3736anbi1i 624 . 2 ((((𝑎𝐴𝑏𝐵) ∧ (𝑐𝐴𝑑𝐵)) ∧ (𝑎𝑅𝑐 ∨ (𝑎 = 𝑐𝑏𝑆𝑑))) ↔ (((𝑎𝐴𝑐𝐴) ∧ (𝑏𝐵𝑑𝐵)) ∧ (𝑎𝑅𝑐 ∨ (𝑎 = 𝑐𝑏𝑆𝑑))))
384, 35, 373bitri 297 1 (⟨𝑎, 𝑏𝑇𝑐, 𝑑⟩ ↔ (((𝑎𝐴𝑐𝐴) ∧ (𝑏𝐵𝑑𝐵)) ∧ (𝑎𝑅𝑐 ∨ (𝑎 = 𝑐𝑏𝑆𝑑))))
Colors of variables: wff setvar class
Syntax hints:  wb 206  wa 395  wo 847   = wceq 1541  wcel 2113  cop 4583   class class class wbr 5095  {copab 5157   × cxp 5619  cfv 6488  1st c1st 7927  2nd c2nd 7928
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2182  ax-ext 2705  ax-sep 5238  ax-nul 5248  ax-pr 5374  ax-un 7676
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2537  df-eu 2566  df-clab 2712  df-cleq 2725  df-clel 2808  df-nfc 2882  df-ne 2930  df-ral 3049  df-rex 3058  df-rab 3397  df-v 3439  df-dif 3901  df-un 3903  df-in 3905  df-ss 3915  df-nul 4283  df-if 4477  df-sn 4578  df-pr 4580  df-op 4584  df-uni 4861  df-br 5096  df-opab 5158  df-mpt 5177  df-id 5516  df-xp 5627  df-rel 5628  df-cnv 5629  df-co 5630  df-dm 5631  df-rn 5632  df-iota 6444  df-fun 6490  df-fv 6496  df-1st 7929  df-2nd 7930
This theorem is referenced by:  poxp  8066  soxp  8067
  Copyright terms: Public domain W3C validator