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

Theorem swapf1o 5512
Description: Swap is a bijection over the universe. (Contributed by SF, 23-Feb-2015.) (Revised by Scott Fenton, 17-Apr-2021.)
Assertion
Ref Expression
swapf1o ⊢ Swap :V–1-1-onto→V

Proof of Theorem swapf1o
Dummy variables x y z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 dffun2 5120 . . . 4 ⊢ (Fun Swap ↔ ∀x∀y∀z((x Swap y ∧ x Swap z) → y = z))
2 opeq 4620 . . . . . . . 8 ⊢ y = ⟨ Proj1 y, Proj2 y⟩
32breq2i 4648 . . . . . . 7 ⊢ (x Swap y ↔ x Swap ⟨ Proj1 y, Proj2 y⟩)
4 vex 2863 . . . . . . . . 9 ⊢ y ∈ V
54proj1ex 4594 . . . . . . . 8 ⊢ Proj1 y ∈ V
64proj2ex 4595 . . . . . . . 8 ⊢ Proj2 y ∈ V
75, 6brswap2 4861 . . . . . . 7 ⊢ (x Swap ⟨ Proj1 y, Proj2 y⟩ ↔ x = ⟨ Proj2 y, Proj1 y⟩)
83, 7bitri 240 . . . . . 6 ⊢ (x Swap y ↔ x = ⟨ Proj2 y, Proj1 y⟩)
9 opeq 4620 . . . . . . . 8 ⊢ z = ⟨ Proj1 z, Proj2 z⟩
109breq2i 4648 . . . . . . 7 ⊢ (x Swap z ↔ x Swap ⟨ Proj1 z, Proj2 z⟩)
11 vex 2863 . . . . . . . . 9 ⊢ z ∈ V
1211proj1ex 4594 . . . . . . . 8 ⊢ Proj1 z ∈ V
1311proj2ex 4595 . . . . . . . 8 ⊢ Proj2 z ∈ V
1412, 13brswap2 4861 . . . . . . 7 ⊢ (x Swap ⟨ Proj1 z, Proj2 z⟩ ↔ x = ⟨ Proj2 z, Proj1 z⟩)
1510, 14bitri 240 . . . . . 6 ⊢ (x Swap z ↔ x = ⟨ Proj2 z, Proj1 z⟩)
16 eqtr2 2371 . . . . . . 7 ⊢ ((x = ⟨ Proj2 y, Proj1 y⟩ ∧ x = ⟨ Proj2 z, Proj1 z⟩) → ⟨ Proj2 y, Proj1 y⟩ = ⟨ Proj2 z, Proj1 z⟩)
17 ancom 437 . . . . . . . 8 ⊢ (( Proj2 y = Proj2 z ∧ Proj1 y = Proj1 z) ↔ ( Proj1 y = Proj1 z ∧ Proj2 y = Proj2 z))
18 opth 4603 . . . . . . . 8 ⊢ (⟨ Proj2 y, Proj1 y⟩ = ⟨ Proj2 z, Proj1 z⟩ ↔ ( Proj2 y = Proj2 z ∧ Proj1 y = Proj1 z))
192, 9eqeq12i 2366 . . . . . . . . 9 ⊢ (y = z ↔ ⟨ Proj1 y, Proj2 y⟩ = ⟨ Proj1 z, Proj2 z⟩)
20 opth 4603 . . . . . . . . 9 ⊢ (⟨ Proj1 y, Proj2 y⟩ = ⟨ Proj1 z, Proj2 z⟩ ↔ ( Proj1 y = Proj1 z ∧ Proj2 y = Proj2 z))
2119, 20bitri 240 . . . . . . . 8 ⊢ (y = z ↔ ( Proj1 y = Proj1 z ∧ Proj2 y = Proj2 z))
2217, 18, 213bitr4i 268 . . . . . . 7 ⊢ (⟨ Proj2 y, Proj1 y⟩ = ⟨ Proj2 z, Proj1 z⟩ ↔ y = z)
2316, 22sylib 188 . . . . . 6 ⊢ ((x = ⟨ Proj2 y, Proj1 y⟩ ∧ x = ⟨ Proj2 z, Proj1 z⟩) → y = z)
248, 15, 23syl2anb 465 . . . . 5 ⊢ ((x Swap y ∧ x Swap z) → y = z)
2524gen2 1547 . . . 4 ⊢ ∀y∀z((x Swap y ∧ x Swap z) → y = z)
261, 25mpgbir 1550 . . 3 ⊢ Fun Swap
27 eqv 3566 . . . 4 ⊢ (dom Swap = V ↔ ∀x x ∈ dom Swap )
28 opeq 4620 . . . . 5 ⊢ x = ⟨ Proj1 x, Proj2 x⟩
29 eqid 2353 . . . . . . 7 ⊢ ⟨ Proj1 x, Proj2 x⟩ = ⟨ Proj1 x, Proj2 x⟩
30 vex 2863 . . . . . . . . 9 ⊢ x ∈ V
3130proj2ex 4595 . . . . . . . 8 ⊢ Proj2 x ∈ V
3230proj1ex 4594 . . . . . . . 8 ⊢ Proj1 x ∈ V
3331, 32brswap2 4861 . . . . . . 7 ⊢ (⟨ Proj1 x, Proj2 x⟩ Swap ⟨ Proj2 x, Proj1 x⟩ ↔ ⟨ Proj1 x, Proj2 x⟩ = ⟨ Proj1 x, Proj2 x⟩)
3429, 33mpbir 200 . . . . . 6 ⊢ ⟨ Proj1 x, Proj2 x⟩ Swap ⟨ Proj2 x, Proj1 x⟩
35 breldm 4912 . . . . . 6 ⊢ (⟨ Proj1 x, Proj2 x⟩ Swap ⟨ Proj2 x, Proj1 x⟩ → ⟨ Proj1 x, Proj2 x⟩ ∈ dom Swap )
3634, 35ax-mp 5 . . . . 5 ⊢ ⟨ Proj1 x, Proj2 x⟩ ∈ dom Swap
3728, 36eqeltri 2423 . . . 4 ⊢ x ∈ dom Swap
3827, 37mpgbir 1550 . . 3 ⊢ dom Swap = V
39 df-fn 4791 . . 3 ⊢ ( Swap Fn V ↔ (Fun Swap ∧ dom Swap = V))
4026, 38, 39mpbir2an 886 . 2 ⊢ Swap Fn V
41 cnvswap 5511 . . . 4 ⊢ ◡ Swap = Swap
4241fneq1i 5179 . . 3 ⊢ (◡ Swap Fn V ↔ Swap Fn V)
4340, 42mpbir 200 . 2 ⊢ ◡ Swap Fn V
44 dff1o4 5295 . 2 ⊢ ( Swap :V–1-1-onto→V ↔ ( Swap Fn V ∧ ◡ Swap Fn V))
4540, 43, 44mpbir2an 886 1 ⊢ Swap :V–1-1-onto→V
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 358  ∀wal 1540   = wceq 1642   ∈ wcel 1710  Vcvv 2860  ⟨cop 4562   Proj1 cproj1 4564   Proj2 cproj2 4565   class class class wbr 4640   Swap cswap 4719  ◡ccnv 4772  dom cdm 4773  Fun wfun 4776   Fn wfn 4777  –1-1-onto→wf1o 4781
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-swap 4725  df-co 4727  df-ima 4728  df-id 4768  df-cnv 4786  df-rn 4787  df-dm 4788  df-fun 4790  df-fn 4791  df-f 4792  df-f1 4793  df-fo 4794  df-f1o 4795
This theorem is used by:  swapres  5513
  Copyright terms: Public domain W3C validator