NFE Home New Foundations Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  NFE Home  >  Th. List  >  xpassenlem GIF version

Theorem xpassenlem 6057
Description: Lemma for xpassen 6058. Compute a projection. (Contributed by Scott Fenton, 19-Apr-2021.)
Assertion
Ref Expression
xpassenlem ⊢ (y((1st ∘ 1st ) ⊗ ((2nd ∘ 1st ) ⊗ 2nd ))x ↔ ( Proj1 Proj1 y = Proj1 x ∧ Proj2 Proj1 y = Proj1 Proj2 x ∧ Proj2 y = Proj2 Proj2 x))

Proof of Theorem xpassenlem
Dummy variable t is distinct from all other variables.
StepHypRef Expression
1 opeq 4620 . . . . 5 ⊢ y = ⟨ Proj1 y, Proj2 y⟩
21breq1i 4647 . . . 4 ⊢ (y(1st ∘ 1st ) Proj1 x ↔ ⟨ Proj1 y, Proj2 y⟩(1st ∘ 1st ) Proj1 x)
3 brco 4884 . . . 4 ⊢ (⟨ Proj1 y, Proj2 y⟩(1st ∘ 1st ) Proj1 x ↔ ∃t(⟨ Proj1 y, Proj2 y⟩1st t ∧ t1st Proj1 x))
4 vex 2863 . . . . . . . . . 10 ⊢ y ∈ V
54proj1ex 4594 . . . . . . . . 9 ⊢ Proj1 y ∈ V
64proj2ex 4595 . . . . . . . . 9 ⊢ Proj2 y ∈ V
75, 6opbr1st 5502 . . . . . . . 8 ⊢ (⟨ Proj1 y, Proj2 y⟩1st t ↔ Proj1 y = t)
8 eqcom 2355 . . . . . . . 8 ⊢ ( Proj1 y = t ↔ t = Proj1 y)
97, 8bitri 240 . . . . . . 7 ⊢ (⟨ Proj1 y, Proj2 y⟩1st t ↔ t = Proj1 y)
109anbi1i 676 . . . . . 6 ⊢ ((⟨ Proj1 y, Proj2 y⟩1st t ∧ t1st Proj1 x) ↔ (t = Proj1 y ∧ t1st Proj1 x))
1110exbii 1582 . . . . 5 ⊢ (∃t(⟨ Proj1 y, Proj2 y⟩1st t ∧ t1st Proj1 x) ↔ ∃t(t = Proj1 y ∧ t1st Proj1 x))
12 breq1 4643 . . . . . . 7 ⊢ (t = Proj1 y → (t1st Proj1 x ↔ Proj1 y1st Proj1 x))
13 opeq 4620 . . . . . . . . 9 ⊢ Proj1 y = ⟨ Proj1 Proj1 y, Proj2 Proj1 y⟩
1413breq1i 4647 . . . . . . . 8 ⊢ ( Proj1 y1st Proj1 x ↔ ⟨ Proj1 Proj1 y, Proj2 Proj1 y⟩1st Proj1 x)
155proj1ex 4594 . . . . . . . . 9 ⊢ Proj1 Proj1 y ∈ V
165proj2ex 4595 . . . . . . . . 9 ⊢ Proj2 Proj1 y ∈ V
1715, 16opbr1st 5502 . . . . . . . 8 ⊢ (⟨ Proj1 Proj1 y, Proj2 Proj1 y⟩1st Proj1 x ↔ Proj1 Proj1 y = Proj1 x)
1814, 17bitri 240 . . . . . . 7 ⊢ ( Proj1 y1st Proj1 x ↔ Proj1 Proj1 y = Proj1 x)
1912, 18syl6bb 252 . . . . . 6 ⊢ (t = Proj1 y → (t1st Proj1 x ↔ Proj1 Proj1 y = Proj1 x))
205, 19ceqsexv 2895 . . . . 5 ⊢ (∃t(t = Proj1 y ∧ t1st Proj1 x) ↔ Proj1 Proj1 y = Proj1 x)
2111, 20bitri 240 . . . 4 ⊢ (∃t(⟨ Proj1 y, Proj2 y⟩1st t ∧ t1st Proj1 x) ↔ Proj1 Proj1 y = Proj1 x)
222, 3, 213bitri 262 . . 3 ⊢ (y(1st ∘ 1st ) Proj1 x ↔ Proj1 Proj1 y = Proj1 x)
23 opeq 4620 . . . . 5 ⊢ Proj2 x = ⟨ Proj1 Proj2 x, Proj2 Proj2 x⟩
2423breq2i 4648 . . . 4 ⊢ (y((2nd ∘ 1st ) ⊗ 2nd ) Proj2 x ↔ y((2nd ∘ 1st ) ⊗ 2nd )⟨ Proj1 Proj2 x, Proj2 Proj2 x⟩)
25 trtxp 5782 . . . 4 ⊢ (y((2nd ∘ 1st ) ⊗ 2nd )⟨ Proj1 Proj2 x, Proj2 Proj2 x⟩ ↔ (y(2nd ∘ 1st ) Proj1 Proj2 x ∧ y2nd Proj2 Proj2 x))
261breq1i 4647 . . . . . 6 ⊢ (y(2nd ∘ 1st ) Proj1 Proj2 x ↔ ⟨ Proj1 y, Proj2 y⟩(2nd ∘ 1st ) Proj1 Proj2 x)
27 brco 4884 . . . . . 6 ⊢ (⟨ Proj1 y, Proj2 y⟩(2nd ∘ 1st ) Proj1 Proj2 x ↔ ∃t(⟨ Proj1 y, Proj2 y⟩1st t ∧ t2nd Proj1 Proj2 x))
289anbi1i 676 . . . . . . . 8 ⊢ ((⟨ Proj1 y, Proj2 y⟩1st t ∧ t2nd Proj1 Proj2 x) ↔ (t = Proj1 y ∧ t2nd Proj1 Proj2 x))
2928exbii 1582 . . . . . . 7 ⊢ (∃t(⟨ Proj1 y, Proj2 y⟩1st t ∧ t2nd Proj1 Proj2 x) ↔ ∃t(t = Proj1 y ∧ t2nd Proj1 Proj2 x))
30 breq1 4643 . . . . . . . . 9 ⊢ (t = Proj1 y → (t2nd Proj1 Proj2 x ↔ Proj1 y2nd Proj1 Proj2 x))
3113breq1i 4647 . . . . . . . . . 10 ⊢ ( Proj1 y2nd Proj1 Proj2 x ↔ ⟨ Proj1 Proj1 y, Proj2 Proj1 y⟩2nd Proj1 Proj2 x)
3215, 16opbr2nd 5503 . . . . . . . . . 10 ⊢ (⟨ Proj1 Proj1 y, Proj2 Proj1 y⟩2nd Proj1 Proj2 x ↔ Proj2 Proj1 y = Proj1 Proj2 x)
3331, 32bitri 240 . . . . . . . . 9 ⊢ ( Proj1 y2nd Proj1 Proj2 x ↔ Proj2 Proj1 y = Proj1 Proj2 x)
3430, 33syl6bb 252 . . . . . . . 8 ⊢ (t = Proj1 y → (t2nd Proj1 Proj2 x ↔ Proj2 Proj1 y = Proj1 Proj2 x))
355, 34ceqsexv 2895 . . . . . . 7 ⊢ (∃t(t = Proj1 y ∧ t2nd Proj1 Proj2 x) ↔ Proj2 Proj1 y = Proj1 Proj2 x)
3629, 35bitri 240 . . . . . 6 ⊢ (∃t(⟨ Proj1 y, Proj2 y⟩1st t ∧ t2nd Proj1 Proj2 x) ↔ Proj2 Proj1 y = Proj1 Proj2 x)
3726, 27, 363bitri 262 . . . . 5 ⊢ (y(2nd ∘ 1st ) Proj1 Proj2 x ↔ Proj2 Proj1 y = Proj1 Proj2 x)
381breq1i 4647 . . . . . 6 ⊢ (y2nd Proj2 Proj2 x ↔ ⟨ Proj1 y, Proj2 y⟩2nd Proj2 Proj2 x)
395, 6opbr2nd 5503 . . . . . 6 ⊢ (⟨ Proj1 y, Proj2 y⟩2nd Proj2 Proj2 x ↔ Proj2 y = Proj2 Proj2 x)
4038, 39bitri 240 . . . . 5 ⊢ (y2nd Proj2 Proj2 x ↔ Proj2 y = Proj2 Proj2 x)
4137, 40anbi12i 678 . . . 4 ⊢ ((y(2nd ∘ 1st ) Proj1 Proj2 x ∧ y2nd Proj2 Proj2 x) ↔ ( Proj2 Proj1 y = Proj1 Proj2 x ∧ Proj2 y = Proj2 Proj2 x))
4224, 25, 413bitri 262 . . 3 ⊢ (y((2nd ∘ 1st ) ⊗ 2nd ) Proj2 x ↔ ( Proj2 Proj1 y = Proj1 Proj2 x ∧ Proj2 y = Proj2 Proj2 x))
4322, 42anbi12i 678 . 2 ⊢ ((y(1st ∘ 1st ) Proj1 x ∧ y((2nd ∘ 1st ) ⊗ 2nd ) Proj2 x) ↔ ( Proj1 Proj1 y = Proj1 x ∧ ( Proj2 Proj1 y = Proj1 Proj2 x ∧ Proj2 y = Proj2 Proj2 x)))
44 opeq 4620 . . . 4 ⊢ x = ⟨ Proj1 x, Proj2 x⟩
4544breq2i 4648 . . 3 ⊢ (y((1st ∘ 1st ) ⊗ ((2nd ∘ 1st ) ⊗ 2nd ))x ↔ y((1st ∘ 1st ) ⊗ ((2nd ∘ 1st ) ⊗ 2nd ))⟨ Proj1 x, Proj2 x⟩)
46 trtxp 5782 . . 3 ⊢ (y((1st ∘ 1st ) ⊗ ((2nd ∘ 1st ) ⊗ 2nd ))⟨ Proj1 x, Proj2 x⟩ ↔ (y(1st ∘ 1st ) Proj1 x ∧ y((2nd ∘ 1st ) ⊗ 2nd ) Proj2 x))
4745, 46bitri 240 . 2 ⊢ (y((1st ∘ 1st ) ⊗ ((2nd ∘ 1st ) ⊗ 2nd ))x ↔ (y(1st ∘ 1st ) Proj1 x ∧ y((2nd ∘ 1st ) ⊗ 2nd ) Proj2 x))
48 3anass 938 . 2 ⊢ (( Proj1 Proj1 y = Proj1 x ∧ Proj2 Proj1 y = Proj1 Proj2 x ∧ Proj2 y = Proj2 Proj2 x) ↔ ( Proj1 Proj1 y = Proj1 x ∧ ( Proj2 Proj1 y = Proj1 Proj2 x ∧ Proj2 y = Proj2 Proj2 x)))
4943, 47, 483bitr4i 268 1 ⊢ (y((1st ∘ 1st ) ⊗ ((2nd ∘ 1st ) ⊗ 2nd ))x ↔ ( Proj1 Proj1 y = Proj1 x ∧ Proj2 Proj1 y = Proj1 Proj2 x ∧ Proj2 y = Proj2 Proj2 x))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   ↔ wb 176   ∧ wa 358   ∧ w3a 934  ∃wex 1541   = wceq 1642  ⟨cop 4562   Proj1 cproj1 4564   Proj2 cproj2 4565   class class class wbr 4640  1st c1st 4718   ∘ ccom 4722  2nd c2nd 4784   ⊗ ctxp 5736
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1546  ax-5 1557  ax-17 1616  ax-9 1654  ax-8 1675  ax-13 1712  ax-14 1714  ax-6 1729  ax-7 1734  ax-11 1746  ax-12 1925  ax-ext 2334  ax-nin 4079  ax-xp 4080  ax-cnv 4081  ax-1c 4082  ax-sset 4083  ax-si 4084  ax-ins2 4085  ax-ins3 4086  ax-typlower 4087  ax-sn 4088
This proof depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-nan 1288  df-tru 1319  df-ex 1542  df-nf 1545  df-sb 1649  df-eu 2208  df-mo 2209  df-clab 2340  df-cleq 2346  df-clel 2349  df-nfc 2479  df-ne 2519  df-ral 2620  df-rex 2621  df-reu 2622  df-rmo 2623  df-rab 2624  df-v 2862  df-sbc 3048  df-nin 3212  df-compl 3213  df-in 3214  df-un 3215  df-dif 3216  df-symdif 3217  df-ss 3260  df-pss 3262  df-nul 3552  df-if 3664  df-pw 3725  df-sn 3742  df-pr 3743  df-uni 3893  df-int 3928  df-opk 4059  df-1c 4137  df-pw1 4138  df-uni1 4139  df-xpk 4186  df-cnvk 4187  df-ins2k 4188  df-ins3k 4189  df-imak 4190  df-cok 4191  df-p6 4192  df-sik 4193  df-ssetk 4194  df-imagek 4195  df-idk 4196  df-iota 4340  df-0c 4378  df-addc 4379  df-nnc 4380  df-fin 4381  df-lefin 4441  df-ltfin 4442  df-ncfin 4443  df-tfin 4444  df-evenfin 4445  df-oddfin 4446  df-sfin 4447  df-spfin 4448  df-phi 4566  df-op 4567  df-proj1 4568  df-proj2 4569  df-opab 4624  df-br 4641  df-1st 4724  df-co 4727  df-cnv 4786  df-2nd 4798  df-txp 5737
This theorem is used by:  xpassen  6058
  Copyright terms: Public domain W3C validator