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

Theorem fun11 6615
Description: Two ways of stating that 𝐴 is one-to-one (but not necessarily a function). Each side is equivalent to Definition 6.4(3) of [TakeutiZaring] p. 24, who use the notation "Un2 (A)" for one-to-one (but not necessarily a function). (Contributed by NM, 17-Jan-2006.)
Assertion
Ref Expression
fun11 ((Fun ◡◡𝐴 ∧ Fun ◡𝐴) ↔ ∀𝑥∀𝑦∀𝑧∀𝑤((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 ↔ 𝑦 = 𝑤)))
Distinct variable group:   𝑥,𝑦,𝑧,𝑤,𝐴

Proof of Theorem fun11
StepHypRef Expression
1 dfbi2 480 . . . . . . . 8 ((𝑥 = 𝑧 ↔ 𝑦 = 𝑤) ↔ ((𝑥 = 𝑧 → 𝑦 = 𝑤) ∧ (𝑦 = 𝑤 → 𝑥 = 𝑧)))
21imbi2i 339 . . . . . . 7 (((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 ↔ 𝑦 = 𝑤)) ↔ ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → ((𝑥 = 𝑧 → 𝑦 = 𝑤) ∧ (𝑦 = 𝑤 → 𝑥 = 𝑧))))
3 pm4.76 528 . . . . . . 7 ((((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 → 𝑦 = 𝑤)) ∧ ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑦 = 𝑤 → 𝑥 = 𝑧))) ↔ ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → ((𝑥 = 𝑧 → 𝑦 = 𝑤) ∧ (𝑦 = 𝑤 → 𝑥 = 𝑧))))
4 bi2.04 392 . . . . . . . 8 (((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 → 𝑦 = 𝑤)) ↔ (𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)))
5 bi2.04 392 . . . . . . . 8 (((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑦 = 𝑤 → 𝑥 = 𝑧)) ↔ (𝑦 = 𝑤 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧)))
64, 5anbi12i 640 . . . . . . 7 ((((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 → 𝑦 = 𝑤)) ∧ ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑦 = 𝑤 → 𝑥 = 𝑧))) ↔ ((𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)) ∧ (𝑦 = 𝑤 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))))
72, 3, 63bitr2i 302 . . . . . 6 (((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 ↔ 𝑦 = 𝑤)) ↔ ((𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)) ∧ (𝑦 = 𝑤 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))))
872albii 1852 . . . . 5 (∀𝑥∀𝑦((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 ↔ 𝑦 = 𝑤)) ↔ ∀𝑥∀𝑦((𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)) ∧ (𝑦 = 𝑤 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))))
9 19.26-2 1903 . . . . 5 (∀𝑥∀𝑦((𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)) ∧ (𝑦 = 𝑤 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))) ↔ (∀𝑥∀𝑦(𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)) ∧ ∀𝑥∀𝑦(𝑦 = 𝑤 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))))
10 alcom 2195 . . . . . . 7 (∀𝑥∀𝑦(𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)) ↔ ∀𝑦∀𝑥(𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)))
11 breq1 5105 . . . . . . . . . . 11 (𝑥 = 𝑧 → (𝑥𝐴𝑦 ↔ 𝑧𝐴𝑦))
1211anbi1d 643 . . . . . . . . . 10 (𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) ↔ (𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤)))
1312imbi1d 344 . . . . . . . . 9 (𝑥 = 𝑧 → (((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤) ↔ ((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)))
1413equsalvw 2036 . . . . . . . 8 (∀𝑥(𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)) ↔ ((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤))
1514albii 1851 . . . . . . 7 (∀𝑦∀𝑥(𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)) ↔ ∀𝑦((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤))
1610, 15bitri 278 . . . . . 6 (∀𝑥∀𝑦(𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)) ↔ ∀𝑦((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤))
17 breq2 5106 . . . . . . . . . 10 (𝑦 = 𝑤 → (𝑥𝐴𝑦 ↔ 𝑥𝐴𝑤))
1817anbi1d 643 . . . . . . . . 9 (𝑦 = 𝑤 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) ↔ (𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤)))
1918imbi1d 344 . . . . . . . 8 (𝑦 = 𝑤 → (((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧) ↔ ((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧)))
2019equsalvw 2036 . . . . . . 7 (∀𝑦(𝑦 = 𝑤 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧)) ↔ ((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))
2120albii 1851 . . . . . 6 (∀𝑥∀𝑦(𝑦 = 𝑤 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧)) ↔ ∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))
2216, 21anbi12i 640 . . . . 5 ((∀𝑥∀𝑦(𝑥 = 𝑧 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤)) ∧ ∀𝑥∀𝑦(𝑦 = 𝑤 → ((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))) ↔ (∀𝑦((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤) ∧ ∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧)))
238, 9, 223bitri 300 . . . 4 (∀𝑥∀𝑦((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 ↔ 𝑦 = 𝑤)) ↔ (∀𝑦((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤) ∧ ∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧)))
24232albii 1852 . . 3 (∀𝑧∀𝑤∀𝑥∀𝑦((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 ↔ 𝑦 = 𝑤)) ↔ ∀𝑧∀𝑤(∀𝑦((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤) ∧ ∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧)))
25 19.26-2 1903 . . 3 (∀𝑧∀𝑤(∀𝑦((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤) ∧ ∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧)) ↔ (∀𝑧∀𝑤∀𝑦((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤) ∧ ∀𝑧∀𝑤∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧)))
2624, 25bitr2i 279 . 2 ((∀𝑧∀𝑤∀𝑦((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤) ∧ ∀𝑧∀𝑤∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧)) ↔ ∀𝑧∀𝑤∀𝑥∀𝑦((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 ↔ 𝑦 = 𝑤)))
27 fun2cnv 6612 . . . 4 (Fun ◡◡𝐴 ↔ ∀𝑧∃*𝑦 𝑧𝐴𝑦)
28 breq2 5106 . . . . . 6 (𝑦 = 𝑤 → (𝑧𝐴𝑦 ↔ 𝑧𝐴𝑤))
2928mo4 2591 . . . . 5 (∃*𝑦 𝑧𝐴𝑦 ↔ ∀𝑦∀𝑤((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤))
3029albii 1851 . . . 4 (∀𝑧∃*𝑦 𝑧𝐴𝑦 ↔ ∀𝑧∀𝑦∀𝑤((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤))
31 alcom 2195 . . . . 5 (∀𝑦∀𝑤((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤) ↔ ∀𝑤∀𝑦((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤))
3231albii 1851 . . . 4 (∀𝑧∀𝑦∀𝑤((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤) ↔ ∀𝑧∀𝑤∀𝑦((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤))
3327, 30, 323bitri 300 . . 3 (Fun ◡◡𝐴 ↔ ∀𝑧∀𝑤∀𝑦((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤))
34 funcnv2 6609 . . . 4 (Fun ◡𝐴 ↔ ∀𝑤∃*𝑥 𝑥𝐴𝑤)
35 breq1 5105 . . . . . 6 (𝑥 = 𝑧 → (𝑥𝐴𝑤 ↔ 𝑧𝐴𝑤))
3635mo4 2591 . . . . 5 (∃*𝑥 𝑥𝐴𝑤 ↔ ∀𝑥∀𝑧((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))
3736albii 1851 . . . 4 (∀𝑤∃*𝑥 𝑥𝐴𝑤 ↔ ∀𝑤∀𝑥∀𝑧((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))
38 alcom 2195 . . . . . 6 (∀𝑥∀𝑧((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧) ↔ ∀𝑧∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))
3938albii 1851 . . . . 5 (∀𝑤∀𝑥∀𝑧((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧) ↔ ∀𝑤∀𝑧∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))
40 alcom 2195 . . . . 5 (∀𝑤∀𝑧∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧) ↔ ∀𝑧∀𝑤∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))
4139, 40bitri 278 . . . 4 (∀𝑤∀𝑥∀𝑧((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧) ↔ ∀𝑧∀𝑤∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))
4234, 37, 413bitri 300 . . 3 (Fun ◡𝐴 ↔ ∀𝑧∀𝑤∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧))
4333, 42anbi12i 640 . 2 ((Fun ◡◡𝐴 ∧ Fun ◡𝐴) ↔ (∀𝑧∀𝑤∀𝑦((𝑧𝐴𝑦 ∧ 𝑧𝐴𝑤) → 𝑦 = 𝑤) ∧ ∀𝑧∀𝑤∀𝑥((𝑥𝐴𝑤 ∧ 𝑧𝐴𝑤) → 𝑥 = 𝑧)))
44 alrot4 2197 . 2 (∀𝑥∀𝑦∀𝑧∀𝑤((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 ↔ 𝑦 = 𝑤)) ↔ ∀𝑧∀𝑤∀𝑥∀𝑦((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 ↔ 𝑦 = 𝑤)))
4526, 43, 443bitr4i 306 1 ((Fun ◡◡𝐴 ∧ Fun ◡𝐴) ↔ ∀𝑥∀𝑦∀𝑧∀𝑤((𝑥𝐴𝑦 ∧ 𝑧𝐴𝑤) → (𝑥 = 𝑧 ↔ 𝑦 = 𝑤)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401  ∀wal 1567  ∃*wmo 2562   class class class wbr 5102  ◡ccnv 5649  Fun wfun 6533
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 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-11 2193  ax-ext 2732  ax-sep 5248  ax-pr 5390
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-sb 2099  df-mo 2564  df-clab 2739  df-cleq 2752  df-clel 2835  df-ral 3077  df-rex 3087  df-rab 3413  df-v 3452  df-ss 3896  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-sn 4585  df-pr 4587  df-op 4835  df-br 5103  df-opab 5167  df-id 5545  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-fun 6541
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator