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

Theorem refun0 21738
 Description: Adding the empty set preserves refinements. (Contributed by Thierry Arnoux, 31-Jan-2020.)
Assertion
Ref Expression
refun0 ((𝐴Ref𝐵𝐵 ≠ ∅) → (𝐴 ∪ {∅})Ref𝐵)

Proof of Theorem refun0
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eqid 2778 . . . 4 𝐴 = 𝐴
2 eqid 2778 . . . 4 𝐵 = 𝐵
31, 2refbas 21733 . . 3 (𝐴Ref𝐵 𝐵 = 𝐴)
43adantr 474 . 2 ((𝐴Ref𝐵𝐵 ≠ ∅) → 𝐵 = 𝐴)
5 elun 3976 . . . 4 (𝑥 ∈ (𝐴 ∪ {∅}) ↔ (𝑥𝐴𝑥 ∈ {∅}))
6 refssex 21734 . . . . . 6 ((𝐴Ref𝐵𝑥𝐴) → ∃𝑦𝐵 𝑥𝑦)
76adantlr 705 . . . . 5 (((𝐴Ref𝐵𝐵 ≠ ∅) ∧ 𝑥𝐴) → ∃𝑦𝐵 𝑥𝑦)
8 0ss 4198 . . . . . . . . 9 ∅ ⊆ 𝑦
98a1i 11 . . . . . . . 8 ((𝐴Ref𝐵𝑦𝐵) → ∅ ⊆ 𝑦)
109reximdva0 4161 . . . . . . 7 ((𝐴Ref𝐵𝐵 ≠ ∅) → ∃𝑦𝐵 ∅ ⊆ 𝑦)
1110adantr 474 . . . . . 6 (((𝐴Ref𝐵𝐵 ≠ ∅) ∧ 𝑥 ∈ {∅}) → ∃𝑦𝐵 ∅ ⊆ 𝑦)
12 elsni 4415 . . . . . . . 8 (𝑥 ∈ {∅} → 𝑥 = ∅)
13 sseq1 3845 . . . . . . . . 9 (𝑥 = ∅ → (𝑥𝑦 ↔ ∅ ⊆ 𝑦))
1413rexbidv 3237 . . . . . . . 8 (𝑥 = ∅ → (∃𝑦𝐵 𝑥𝑦 ↔ ∃𝑦𝐵 ∅ ⊆ 𝑦))
1512, 14syl 17 . . . . . . 7 (𝑥 ∈ {∅} → (∃𝑦𝐵 𝑥𝑦 ↔ ∃𝑦𝐵 ∅ ⊆ 𝑦))
1615adantl 475 . . . . . 6 (((𝐴Ref𝐵𝐵 ≠ ∅) ∧ 𝑥 ∈ {∅}) → (∃𝑦𝐵 𝑥𝑦 ↔ ∃𝑦𝐵 ∅ ⊆ 𝑦))
1711, 16mpbird 249 . . . . 5 (((𝐴Ref𝐵𝐵 ≠ ∅) ∧ 𝑥 ∈ {∅}) → ∃𝑦𝐵 𝑥𝑦)
187, 17jaodan 943 . . . 4 (((𝐴Ref𝐵𝐵 ≠ ∅) ∧ (𝑥𝐴𝑥 ∈ {∅})) → ∃𝑦𝐵 𝑥𝑦)
195, 18sylan2b 587 . . 3 (((𝐴Ref𝐵𝐵 ≠ ∅) ∧ 𝑥 ∈ (𝐴 ∪ {∅})) → ∃𝑦𝐵 𝑥𝑦)
2019ralrimiva 3148 . 2 ((𝐴Ref𝐵𝐵 ≠ ∅) → ∀𝑥 ∈ (𝐴 ∪ {∅})∃𝑦𝐵 𝑥𝑦)
21 refrel 21731 . . . . . 6 Rel Ref
2221brrelex1i 5408 . . . . 5 (𝐴Ref𝐵𝐴 ∈ V)
23 p0ex 5097 . . . . 5 {∅} ∈ V
24 unexg 7238 . . . . 5 ((𝐴 ∈ V ∧ {∅} ∈ V) → (𝐴 ∪ {∅}) ∈ V)
2522, 23, 24sylancl 580 . . . 4 (𝐴Ref𝐵 → (𝐴 ∪ {∅}) ∈ V)
26 uniun 4694 . . . . . 6 (𝐴 ∪ {∅}) = ( 𝐴 {∅})
27 0ex 5028 . . . . . . . 8 ∅ ∈ V
2827unisn 4689 . . . . . . 7 {∅} = ∅
2928uneq2i 3987 . . . . . 6 ( 𝐴 {∅}) = ( 𝐴 ∪ ∅)
30 un0 4193 . . . . . 6 ( 𝐴 ∪ ∅) = 𝐴
3126, 29, 303eqtrri 2807 . . . . 5 𝐴 = (𝐴 ∪ {∅})
3231, 2isref 21732 . . . 4 ((𝐴 ∪ {∅}) ∈ V → ((𝐴 ∪ {∅})Ref𝐵 ↔ ( 𝐵 = 𝐴 ∧ ∀𝑥 ∈ (𝐴 ∪ {∅})∃𝑦𝐵 𝑥𝑦)))
3325, 32syl 17 . . 3 (𝐴Ref𝐵 → ((𝐴 ∪ {∅})Ref𝐵 ↔ ( 𝐵 = 𝐴 ∧ ∀𝑥 ∈ (𝐴 ∪ {∅})∃𝑦𝐵 𝑥𝑦)))
3433adantr 474 . 2 ((𝐴Ref𝐵𝐵 ≠ ∅) → ((𝐴 ∪ {∅})Ref𝐵 ↔ ( 𝐵 = 𝐴 ∧ ∀𝑥 ∈ (𝐴 ∪ {∅})∃𝑦𝐵 𝑥𝑦)))
354, 20, 34mpbir2and 703 1 ((𝐴Ref𝐵𝐵 ≠ ∅) → (𝐴 ∪ {∅})Ref𝐵)
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ↔ wb 198   ∧ wa 386   ∨ wo 836   = wceq 1601   ∈ wcel 2107   ≠ wne 2969  ∀wral 3090  ∃wrex 3091  Vcvv 3398   ∪ cun 3790   ⊆ wss 3792  ∅c0 4141  {csn 4398  ∪ cuni 4673   class class class wbr 4888  Refcref 21725 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1839  ax-4 1853  ax-5 1953  ax-6 2021  ax-7 2055  ax-8 2109  ax-9 2116  ax-10 2135  ax-11 2150  ax-12 2163  ax-13 2334  ax-ext 2754  ax-sep 5019  ax-nul 5027  ax-pow 5079  ax-pr 5140  ax-un 7228 This theorem depends on definitions:  df-bi 199  df-an 387  df-or 837  df-3an 1073  df-tru 1605  df-ex 1824  df-nf 1828  df-sb 2012  df-mo 2551  df-eu 2587  df-clab 2764  df-cleq 2770  df-clel 2774  df-nfc 2921  df-ne 2970  df-ral 3095  df-rex 3096  df-rab 3099  df-v 3400  df-dif 3795  df-un 3797  df-in 3799  df-ss 3806  df-nul 4142  df-if 4308  df-pw 4381  df-sn 4399  df-pr 4401  df-op 4405  df-uni 4674  df-br 4889  df-opab 4951  df-xp 5363  df-rel 5364  df-ref 21728 This theorem is referenced by:  locfinref  30514
 Copyright terms: Public domain W3C validator