ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  fliftfun GIF version

Theorem fliftfun 5423
Description: The function 𝐹 is the unique function defined by 𝐹𝐴 = 𝐵, provided that the well-definedness condition holds. (Contributed by Mario Carneiro, 23-Dec-2016.)
Hypotheses
Ref Expression
flift.1 𝐹 = ran (𝑥𝑋 ↦ ⟨𝐴, 𝐵⟩)
flift.2 ((𝜑𝑥𝑋) → 𝐴𝑅)
flift.3 ((𝜑𝑥𝑋) → 𝐵𝑆)
fliftfun.4 (𝑥 = 𝑦𝐴 = 𝐶)
fliftfun.5 (𝑥 = 𝑦𝐵 = 𝐷)
Assertion
Ref Expression
fliftfun (𝜑 → (Fun 𝐹 ↔ ∀𝑥𝑋𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷)))
Distinct variable groups:   𝑦,𝐴   𝑦,𝐵   𝑥,𝐶   𝑥,𝑦,𝑅   𝑥,𝐷   𝑦,𝐹   𝜑,𝑥,𝑦   𝑥,𝑋,𝑦   𝑥,𝑆,𝑦
Allowed substitution hints:   𝐴(𝑥)   𝐵(𝑥)   𝐶(𝑦)   𝐷(𝑦)   𝐹(𝑥)

Proof of Theorem fliftfun
Dummy variables 𝑣 𝑢 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 nfv 1421 . . 3 𝑥𝜑
2 flift.1 . . . . 5 𝐹 = ran (𝑥𝑋 ↦ ⟨𝐴, 𝐵⟩)
3 nfmpt1 3847 . . . . . 6 𝑥(𝑥𝑋 ↦ ⟨𝐴, 𝐵⟩)
43nfrn 4566 . . . . 5 𝑥ran (𝑥𝑋 ↦ ⟨𝐴, 𝐵⟩)
52, 4nfcxfr 2175 . . . 4 𝑥𝐹
65nffun 4911 . . 3 𝑥Fun 𝐹
7 fveq2 5165 . . . . . . 7 (𝐴 = 𝐶 → (𝐹𝐴) = (𝐹𝐶))
8 simplr 482 . . . . . . . . 9 (((𝜑 ∧ Fun 𝐹) ∧ (𝑥𝑋𝑦𝑋)) → Fun 𝐹)
9 flift.2 . . . . . . . . . . 11 ((𝜑𝑥𝑋) → 𝐴𝑅)
10 flift.3 . . . . . . . . . . 11 ((𝜑𝑥𝑋) → 𝐵𝑆)
112, 9, 10fliftel1 5421 . . . . . . . . . 10 ((𝜑𝑥𝑋) → 𝐴𝐹𝐵)
1211ad2ant2r 478 . . . . . . . . 9 (((𝜑 ∧ Fun 𝐹) ∧ (𝑥𝑋𝑦𝑋)) → 𝐴𝐹𝐵)
13 funbrfv 5199 . . . . . . . . 9 (Fun 𝐹 → (𝐴𝐹𝐵 → (𝐹𝐴) = 𝐵))
148, 12, 13sylc 56 . . . . . . . 8 (((𝜑 ∧ Fun 𝐹) ∧ (𝑥𝑋𝑦𝑋)) → (𝐹𝐴) = 𝐵)
15 simprr 484 . . . . . . . . . . 11 (((𝜑 ∧ Fun 𝐹) ∧ (𝑥𝑋𝑦𝑋)) → 𝑦𝑋)
16 eqidd 2041 . . . . . . . . . . 11 (((𝜑 ∧ Fun 𝐹) ∧ (𝑥𝑋𝑦𝑋)) → 𝐶 = 𝐶)
17 eqidd 2041 . . . . . . . . . . 11 (((𝜑 ∧ Fun 𝐹) ∧ (𝑥𝑋𝑦𝑋)) → 𝐷 = 𝐷)
18 fliftfun.4 . . . . . . . . . . . . . 14 (𝑥 = 𝑦𝐴 = 𝐶)
1918eqeq2d 2051 . . . . . . . . . . . . 13 (𝑥 = 𝑦 → (𝐶 = 𝐴𝐶 = 𝐶))
20 fliftfun.5 . . . . . . . . . . . . . 14 (𝑥 = 𝑦𝐵 = 𝐷)
2120eqeq2d 2051 . . . . . . . . . . . . 13 (𝑥 = 𝑦 → (𝐷 = 𝐵𝐷 = 𝐷))
2219, 21anbi12d 442 . . . . . . . . . . . 12 (𝑥 = 𝑦 → ((𝐶 = 𝐴𝐷 = 𝐵) ↔ (𝐶 = 𝐶𝐷 = 𝐷)))
2322rspcev 2653 . . . . . . . . . . 11 ((𝑦𝑋 ∧ (𝐶 = 𝐶𝐷 = 𝐷)) → ∃𝑥𝑋 (𝐶 = 𝐴𝐷 = 𝐵))
2415, 16, 17, 23syl12anc 1133 . . . . . . . . . 10 (((𝜑 ∧ Fun 𝐹) ∧ (𝑥𝑋𝑦𝑋)) → ∃𝑥𝑋 (𝐶 = 𝐴𝐷 = 𝐵))
252, 9, 10fliftel 5420 . . . . . . . . . . 11 (𝜑 → (𝐶𝐹𝐷 ↔ ∃𝑥𝑋 (𝐶 = 𝐴𝐷 = 𝐵)))
2625ad2antrr 457 . . . . . . . . . 10 (((𝜑 ∧ Fun 𝐹) ∧ (𝑥𝑋𝑦𝑋)) → (𝐶𝐹𝐷 ↔ ∃𝑥𝑋 (𝐶 = 𝐴𝐷 = 𝐵)))
2724, 26mpbird 156 . . . . . . . . 9 (((𝜑 ∧ Fun 𝐹) ∧ (𝑥𝑋𝑦𝑋)) → 𝐶𝐹𝐷)
28 funbrfv 5199 . . . . . . . . 9 (Fun 𝐹 → (𝐶𝐹𝐷 → (𝐹𝐶) = 𝐷))
298, 27, 28sylc 56 . . . . . . . 8 (((𝜑 ∧ Fun 𝐹) ∧ (𝑥𝑋𝑦𝑋)) → (𝐹𝐶) = 𝐷)
3014, 29eqeq12d 2054 . . . . . . 7 (((𝜑 ∧ Fun 𝐹) ∧ (𝑥𝑋𝑦𝑋)) → ((𝐹𝐴) = (𝐹𝐶) ↔ 𝐵 = 𝐷))
317, 30syl5ib 143 . . . . . 6 (((𝜑 ∧ Fun 𝐹) ∧ (𝑥𝑋𝑦𝑋)) → (𝐴 = 𝐶𝐵 = 𝐷))
3231anassrs 380 . . . . 5 ((((𝜑 ∧ Fun 𝐹) ∧ 𝑥𝑋) ∧ 𝑦𝑋) → (𝐴 = 𝐶𝐵 = 𝐷))
3332ralrimiva 2389 . . . 4 (((𝜑 ∧ Fun 𝐹) ∧ 𝑥𝑋) → ∀𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷))
3433exp31 346 . . 3 (𝜑 → (Fun 𝐹 → (𝑥𝑋 → ∀𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷))))
351, 6, 34ralrimd 2394 . 2 (𝜑 → (Fun 𝐹 → ∀𝑥𝑋𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷)))
362, 9, 10fliftel 5420 . . . . . . . . 9 (𝜑 → (𝑧𝐹𝑢 ↔ ∃𝑥𝑋 (𝑧 = 𝐴𝑢 = 𝐵)))
372, 9, 10fliftel 5420 . . . . . . . . . 10 (𝜑 → (𝑧𝐹𝑣 ↔ ∃𝑥𝑋 (𝑧 = 𝐴𝑣 = 𝐵)))
3818eqeq2d 2051 . . . . . . . . . . . 12 (𝑥 = 𝑦 → (𝑧 = 𝐴𝑧 = 𝐶))
3920eqeq2d 2051 . . . . . . . . . . . 12 (𝑥 = 𝑦 → (𝑣 = 𝐵𝑣 = 𝐷))
4038, 39anbi12d 442 . . . . . . . . . . 11 (𝑥 = 𝑦 → ((𝑧 = 𝐴𝑣 = 𝐵) ↔ (𝑧 = 𝐶𝑣 = 𝐷)))
4140cbvrexv 2531 . . . . . . . . . 10 (∃𝑥𝑋 (𝑧 = 𝐴𝑣 = 𝐵) ↔ ∃𝑦𝑋 (𝑧 = 𝐶𝑣 = 𝐷))
4237, 41syl6bb 185 . . . . . . . . 9 (𝜑 → (𝑧𝐹𝑣 ↔ ∃𝑦𝑋 (𝑧 = 𝐶𝑣 = 𝐷)))
4336, 42anbi12d 442 . . . . . . . 8 (𝜑 → ((𝑧𝐹𝑢𝑧𝐹𝑣) ↔ (∃𝑥𝑋 (𝑧 = 𝐴𝑢 = 𝐵) ∧ ∃𝑦𝑋 (𝑧 = 𝐶𝑣 = 𝐷))))
4443biimpd 132 . . . . . . 7 (𝜑 → ((𝑧𝐹𝑢𝑧𝐹𝑣) → (∃𝑥𝑋 (𝑧 = 𝐴𝑢 = 𝐵) ∧ ∃𝑦𝑋 (𝑧 = 𝐶𝑣 = 𝐷))))
45 reeanv 2476 . . . . . . . 8 (∃𝑥𝑋𝑦𝑋 ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷)) ↔ (∃𝑥𝑋 (𝑧 = 𝐴𝑢 = 𝐵) ∧ ∃𝑦𝑋 (𝑧 = 𝐶𝑣 = 𝐷)))
46 r19.29 2447 . . . . . . . . . 10 ((∀𝑥𝑋𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) ∧ ∃𝑥𝑋𝑦𝑋 ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷))) → ∃𝑥𝑋 (∀𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) ∧ ∃𝑦𝑋 ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷))))
47 r19.29 2447 . . . . . . . . . . . 12 ((∀𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) ∧ ∃𝑦𝑋 ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷))) → ∃𝑦𝑋 ((𝐴 = 𝐶𝐵 = 𝐷) ∧ ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷))))
48 eqtr2 2058 . . . . . . . . . . . . . . . . 17 ((𝑧 = 𝐴𝑧 = 𝐶) → 𝐴 = 𝐶)
4948ad2ant2r 478 . . . . . . . . . . . . . . . 16 (((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷)) → 𝐴 = 𝐶)
5049imim1i 54 . . . . . . . . . . . . . . 15 ((𝐴 = 𝐶𝐵 = 𝐷) → (((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷)) → 𝐵 = 𝐷))
5150imp 115 . . . . . . . . . . . . . 14 (((𝐴 = 𝐶𝐵 = 𝐷) ∧ ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷))) → 𝐵 = 𝐷)
52 simprlr 490 . . . . . . . . . . . . . 14 (((𝐴 = 𝐶𝐵 = 𝐷) ∧ ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷))) → 𝑢 = 𝐵)
53 simprrr 492 . . . . . . . . . . . . . 14 (((𝐴 = 𝐶𝐵 = 𝐷) ∧ ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷))) → 𝑣 = 𝐷)
5451, 52, 533eqtr4d 2082 . . . . . . . . . . . . 13 (((𝐴 = 𝐶𝐵 = 𝐷) ∧ ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷))) → 𝑢 = 𝑣)
5554rexlimivw 2426 . . . . . . . . . . . 12 (∃𝑦𝑋 ((𝐴 = 𝐶𝐵 = 𝐷) ∧ ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷))) → 𝑢 = 𝑣)
5647, 55syl 14 . . . . . . . . . . 11 ((∀𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) ∧ ∃𝑦𝑋 ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷))) → 𝑢 = 𝑣)
5756rexlimivw 2426 . . . . . . . . . 10 (∃𝑥𝑋 (∀𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) ∧ ∃𝑦𝑋 ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷))) → 𝑢 = 𝑣)
5846, 57syl 14 . . . . . . . . 9 ((∀𝑥𝑋𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) ∧ ∃𝑥𝑋𝑦𝑋 ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷))) → 𝑢 = 𝑣)
5958ex 108 . . . . . . . 8 (∀𝑥𝑋𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) → (∃𝑥𝑋𝑦𝑋 ((𝑧 = 𝐴𝑢 = 𝐵) ∧ (𝑧 = 𝐶𝑣 = 𝐷)) → 𝑢 = 𝑣))
6045, 59syl5bir 142 . . . . . . 7 (∀𝑥𝑋𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) → ((∃𝑥𝑋 (𝑧 = 𝐴𝑢 = 𝐵) ∧ ∃𝑦𝑋 (𝑧 = 𝐶𝑣 = 𝐷)) → 𝑢 = 𝑣))
6144, 60syl9 66 . . . . . 6 (𝜑 → (∀𝑥𝑋𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) → ((𝑧𝐹𝑢𝑧𝐹𝑣) → 𝑢 = 𝑣)))
6261alrimdv 1756 . . . . 5 (𝜑 → (∀𝑥𝑋𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) → ∀𝑣((𝑧𝐹𝑢𝑧𝐹𝑣) → 𝑢 = 𝑣)))
6362alrimdv 1756 . . . 4 (𝜑 → (∀𝑥𝑋𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) → ∀𝑢𝑣((𝑧𝐹𝑢𝑧𝐹𝑣) → 𝑢 = 𝑣)))
6463alrimdv 1756 . . 3 (𝜑 → (∀𝑥𝑋𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) → ∀𝑧𝑢𝑣((𝑧𝐹𝑢𝑧𝐹𝑣) → 𝑢 = 𝑣)))
652, 9, 10fliftrel 5419 . . . . 5 (𝜑𝐹 ⊆ (𝑅 × 𝑆))
66 relxp 4434 . . . . 5 Rel (𝑅 × 𝑆)
67 relss 4414 . . . . 5 (𝐹 ⊆ (𝑅 × 𝑆) → (Rel (𝑅 × 𝑆) → Rel 𝐹))
6865, 66, 67mpisyl 1335 . . . 4 (𝜑 → Rel 𝐹)
69 dffun2 4899 . . . . 5 (Fun 𝐹 ↔ (Rel 𝐹 ∧ ∀𝑧𝑢𝑣((𝑧𝐹𝑢𝑧𝐹𝑣) → 𝑢 = 𝑣)))
7069baib 828 . . . 4 (Rel 𝐹 → (Fun 𝐹 ↔ ∀𝑧𝑢𝑣((𝑧𝐹𝑢𝑧𝐹𝑣) → 𝑢 = 𝑣)))
7168, 70syl 14 . . 3 (𝜑 → (Fun 𝐹 ↔ ∀𝑧𝑢𝑣((𝑧𝐹𝑢𝑧𝐹𝑣) → 𝑢 = 𝑣)))
7264, 71sylibrd 158 . 2 (𝜑 → (∀𝑥𝑋𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷) → Fun 𝐹))
7335, 72impbid 120 1 (𝜑 → (Fun 𝐹 ↔ ∀𝑥𝑋𝑦𝑋 (𝐴 = 𝐶𝐵 = 𝐷)))
Colors of variables: wff set class
Syntax hints:  wi 4  wa 97  wb 98  wal 1241   = wceq 1243  wcel 1393  wral 2303  wrex 2304  wss 2914  cop 3375   class class class wbr 3761  cmpt 3815   × cxp 4330  ran crn 4333  Rel wrel 4337  Fun wfun 4883  cfv 4889
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 99  ax-ia2 100  ax-ia3 101  ax-io 630  ax-5 1336  ax-7 1337  ax-gen 1338  ax-ie1 1382  ax-ie2 1383  ax-8 1395  ax-10 1396  ax-11 1397  ax-i12 1398  ax-bndl 1399  ax-4 1400  ax-14 1405  ax-17 1419  ax-i9 1423  ax-ial 1427  ax-i5r 1428  ax-ext 2022  ax-sep 3872  ax-pow 3924  ax-pr 3941
This theorem depends on definitions:  df-bi 110  df-3an 887  df-tru 1246  df-nf 1350  df-sb 1646  df-eu 1903  df-mo 1904  df-clab 2027  df-cleq 2033  df-clel 2036  df-nfc 2167  df-ral 2308  df-rex 2309  df-rab 2312  df-v 2556  df-sbc 2762  df-csb 2850  df-un 2919  df-in 2921  df-ss 2928  df-pw 3358  df-sn 3378  df-pr 3379  df-op 3381  df-uni 3578  df-br 3762  df-opab 3816  df-mpt 3817  df-id 4027  df-xp 4338  df-rel 4339  df-cnv 4340  df-co 4341  df-dm 4342  df-rn 4343  df-res 4344  df-ima 4345  df-iota 4854  df-fun 4891  df-fn 4892  df-f 4893  df-fv 4897
This theorem is referenced by:  fliftfund  5424  fliftfuns  5425  qliftfun  6175
  Copyright terms: Public domain W3C validator