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

Theorem joinfval 17606
 Description: Value of join function for a poset. (Contributed by NM, 12-Sep-2011.) (Revised by NM, 9-Sep-2018.) TODO: prove joinfval2 17607 first to reduce net proof size (existence part)?
Hypotheses
Ref Expression
joinfval.u 𝑈 = (lub‘𝐾)
joinfval.j = (join‘𝐾)
Assertion
Ref Expression
joinfval (𝐾𝑉 = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ {𝑥, 𝑦}𝑈𝑧})
Distinct variable groups:   𝑥,𝑦,𝑧,𝐾   𝑧,𝑈
Allowed substitution hints:   𝑈(𝑥,𝑦)   (𝑥,𝑦,𝑧)   𝑉(𝑥,𝑦,𝑧)

Proof of Theorem joinfval
Dummy variable 𝑝 is distinct from all other variables.
StepHypRef Expression
1 elex 3462 . 2 (𝐾𝑉𝐾 ∈ V)
2 joinfval.j . . 3 = (join‘𝐾)
3 fvex 6662 . . . . . . 7 (Base‘𝐾) ∈ V
4 moeq 3649 . . . . . . . 8 ∃*𝑧 𝑧 = (𝑈‘{𝑥, 𝑦})
54a1i 11 . . . . . . 7 ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) → ∃*𝑧 𝑧 = (𝑈‘{𝑥, 𝑦}))
6 eqid 2801 . . . . . . 7 {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ∧ 𝑧 = (𝑈‘{𝑥, 𝑦}))} = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ∧ 𝑧 = (𝑈‘{𝑥, 𝑦}))}
73, 3, 5, 6oprabex 7663 . . . . . 6 {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ∧ 𝑧 = (𝑈‘{𝑥, 𝑦}))} ∈ V
87a1i 11 . . . . 5 (𝐾 ∈ V → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ∧ 𝑧 = (𝑈‘{𝑥, 𝑦}))} ∈ V)
9 joinfval.u . . . . . . . . . . . 12 𝑈 = (lub‘𝐾)
109lubfun 17585 . . . . . . . . . . 11 Fun 𝑈
11 funbrfv2b 6702 . . . . . . . . . . 11 (Fun 𝑈 → ({𝑥, 𝑦}𝑈𝑧 ↔ ({𝑥, 𝑦} ∈ dom 𝑈 ∧ (𝑈‘{𝑥, 𝑦}) = 𝑧)))
1210, 11ax-mp 5 . . . . . . . . . 10 ({𝑥, 𝑦}𝑈𝑧 ↔ ({𝑥, 𝑦} ∈ dom 𝑈 ∧ (𝑈‘{𝑥, 𝑦}) = 𝑧))
13 eqid 2801 . . . . . . . . . . . . . 14 (Base‘𝐾) = (Base‘𝐾)
14 eqid 2801 . . . . . . . . . . . . . 14 (le‘𝐾) = (le‘𝐾)
15 simpl 486 . . . . . . . . . . . . . 14 ((𝐾 ∈ V ∧ {𝑥, 𝑦} ∈ dom 𝑈) → 𝐾 ∈ V)
16 simpr 488 . . . . . . . . . . . . . 14 ((𝐾 ∈ V ∧ {𝑥, 𝑦} ∈ dom 𝑈) → {𝑥, 𝑦} ∈ dom 𝑈)
1713, 14, 9, 15, 16lubelss 17587 . . . . . . . . . . . . 13 ((𝐾 ∈ V ∧ {𝑥, 𝑦} ∈ dom 𝑈) → {𝑥, 𝑦} ⊆ (Base‘𝐾))
1817ex 416 . . . . . . . . . . . 12 (𝐾 ∈ V → ({𝑥, 𝑦} ∈ dom 𝑈 → {𝑥, 𝑦} ⊆ (Base‘𝐾)))
19 vex 3447 . . . . . . . . . . . . 13 𝑥 ∈ V
20 vex 3447 . . . . . . . . . . . . 13 𝑦 ∈ V
2119, 20prss 4716 . . . . . . . . . . . 12 ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ↔ {𝑥, 𝑦} ⊆ (Base‘𝐾))
2218, 21syl6ibr 255 . . . . . . . . . . 11 (𝐾 ∈ V → ({𝑥, 𝑦} ∈ dom 𝑈 → (𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾))))
23 eqcom 2808 . . . . . . . . . . . 12 ((𝑈‘{𝑥, 𝑦}) = 𝑧𝑧 = (𝑈‘{𝑥, 𝑦}))
2423biimpi 219 . . . . . . . . . . 11 ((𝑈‘{𝑥, 𝑦}) = 𝑧𝑧 = (𝑈‘{𝑥, 𝑦}))
2522, 24anim12d1 612 . . . . . . . . . 10 (𝐾 ∈ V → (({𝑥, 𝑦} ∈ dom 𝑈 ∧ (𝑈‘{𝑥, 𝑦}) = 𝑧) → ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ∧ 𝑧 = (𝑈‘{𝑥, 𝑦}))))
2612, 25syl5bi 245 . . . . . . . . 9 (𝐾 ∈ V → ({𝑥, 𝑦}𝑈𝑧 → ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ∧ 𝑧 = (𝑈‘{𝑥, 𝑦}))))
2726alrimiv 1928 . . . . . . . 8 (𝐾 ∈ V → ∀𝑧({𝑥, 𝑦}𝑈𝑧 → ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ∧ 𝑧 = (𝑈‘{𝑥, 𝑦}))))
2827alrimiv 1928 . . . . . . 7 (𝐾 ∈ V → ∀𝑦𝑧({𝑥, 𝑦}𝑈𝑧 → ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ∧ 𝑧 = (𝑈‘{𝑥, 𝑦}))))
2928alrimiv 1928 . . . . . 6 (𝐾 ∈ V → ∀𝑥𝑦𝑧({𝑥, 𝑦}𝑈𝑧 → ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ∧ 𝑧 = (𝑈‘{𝑥, 𝑦}))))
30 ssoprab2 7205 . . . . . 6 (∀𝑥𝑦𝑧({𝑥, 𝑦}𝑈𝑧 → ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ∧ 𝑧 = (𝑈‘{𝑥, 𝑦}))) → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ {𝑥, 𝑦}𝑈𝑧} ⊆ {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ∧ 𝑧 = (𝑈‘{𝑥, 𝑦}))})
3129, 30syl 17 . . . . 5 (𝐾 ∈ V → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ {𝑥, 𝑦}𝑈𝑧} ⊆ {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ ((𝑥 ∈ (Base‘𝐾) ∧ 𝑦 ∈ (Base‘𝐾)) ∧ 𝑧 = (𝑈‘{𝑥, 𝑦}))})
328, 31ssexd 5195 . . . 4 (𝐾 ∈ V → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ {𝑥, 𝑦}𝑈𝑧} ∈ V)
33 fveq2 6649 . . . . . . . 8 (𝑝 = 𝐾 → (lub‘𝑝) = (lub‘𝐾))
3433, 9eqtr4di 2854 . . . . . . 7 (𝑝 = 𝐾 → (lub‘𝑝) = 𝑈)
3534breqd 5044 . . . . . 6 (𝑝 = 𝐾 → ({𝑥, 𝑦} (lub‘𝑝)𝑧 ↔ {𝑥, 𝑦}𝑈𝑧))
3635oprabbidv 7203 . . . . 5 (𝑝 = 𝐾 → {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ {𝑥, 𝑦} (lub‘𝑝)𝑧} = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ {𝑥, 𝑦}𝑈𝑧})
37 df-join 17581 . . . . 5 join = (𝑝 ∈ V ↦ {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ {𝑥, 𝑦} (lub‘𝑝)𝑧})
3836, 37fvmptg 6747 . . . 4 ((𝐾 ∈ V ∧ {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ {𝑥, 𝑦}𝑈𝑧} ∈ V) → (join‘𝐾) = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ {𝑥, 𝑦}𝑈𝑧})
3932, 38mpdan 686 . . 3 (𝐾 ∈ V → (join‘𝐾) = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ {𝑥, 𝑦}𝑈𝑧})
402, 39syl5eq 2848 . 2 (𝐾 ∈ V → = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ {𝑥, 𝑦}𝑈𝑧})
411, 40syl 17 1 (𝐾𝑉 = {⟨⟨𝑥, 𝑦⟩, 𝑧⟩ ∣ {𝑥, 𝑦}𝑈𝑧})
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ↔ wb 209   ∧ wa 399  ∀wal 1536   = wceq 1538   ∈ wcel 2112  ∃*wmo 2599  Vcvv 3444   ⊆ wss 3884  {cpr 4530   class class class wbr 5033  dom cdm 5523  Fun wfun 6322  ‘cfv 6328  {coprab 7140  Basecbs 16478  lecple 16567  lubclub 17547  joincjn 17549 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2114  ax-9 2122  ax-10 2143  ax-11 2159  ax-12 2176  ax-ext 2773  ax-rep 5157  ax-sep 5170  ax-nul 5177  ax-pow 5234  ax-pr 5298  ax-un 7445 This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2601  df-eu 2632  df-clab 2780  df-cleq 2794  df-clel 2873  df-nfc 2941  df-ne 2991  df-ral 3114  df-rex 3115  df-reu 3116  df-rab 3118  df-v 3446  df-sbc 3724  df-csb 3832  df-dif 3887  df-un 3889  df-in 3891  df-ss 3901  df-nul 4247  df-if 4429  df-pw 4502  df-sn 4529  df-pr 4531  df-op 4535  df-uni 4804  df-iun 4886  df-br 5034  df-opab 5096  df-mpt 5114  df-id 5428  df-xp 5529  df-rel 5530  df-cnv 5531  df-co 5532  df-dm 5533  df-rn 5534  df-res 5535  df-ima 5536  df-iota 6287  df-fun 6330  df-fn 6331  df-f 6332  df-f1 6333  df-fo 6334  df-f1o 6335  df-fv 6336  df-riota 7097  df-oprab 7143  df-lub 17579  df-join 17581 This theorem is referenced by:  joinfval2  17607  join0  17743  odumeet  17745  odujoin  17747
 Copyright terms: Public domain W3C validator