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

Theorem frmin 9365
Description: Every (possibly proper) subclass of a class 𝐴 with a well-founded set-like relation 𝑅 has a minimal element. This is a very strong generalization of tz6.26 6201 and tz7.5 6234. (Contributed by Scott Fenton, 4-Feb-2011.) (Revised by Mario Carneiro, 26-Jun-2015.)
Assertion
Ref Expression
frmin (((𝑅 Fr 𝐴𝑅 Se 𝐴) ∧ (𝐵𝐴𝐵 ≠ ∅)) → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅)
Distinct variable groups:   𝑦,𝐵   𝑦,𝑅
Allowed substitution hint:   𝐴(𝑦)

Proof of Theorem frmin
Dummy variables 𝑏 𝑐 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 frss 5518 . . . 4 (𝐵𝐴 → (𝑅 Fr 𝐴𝑅 Fr 𝐵))
2 sess2 5520 . . . 4 (𝐵𝐴 → (𝑅 Se 𝐴𝑅 Se 𝐵))
31, 2anim12d 612 . . 3 (𝐵𝐴 → ((𝑅 Fr 𝐴𝑅 Se 𝐴) → (𝑅 Fr 𝐵𝑅 Se 𝐵)))
4 n0 4261 . . . 4 (𝐵 ≠ ∅ ↔ ∃𝑏 𝑏𝐵)
5 predeq3 6164 . . . . . . . . . . 11 (𝑦 = 𝑏 → Pred(𝑅, 𝐵, 𝑦) = Pred(𝑅, 𝐵, 𝑏))
65eqeq1d 2739 . . . . . . . . . 10 (𝑦 = 𝑏 → (Pred(𝑅, 𝐵, 𝑦) = ∅ ↔ Pred(𝑅, 𝐵, 𝑏) = ∅))
76rspcev 3537 . . . . . . . . 9 ((𝑏𝐵 ∧ Pred(𝑅, 𝐵, 𝑏) = ∅) → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅)
87ex 416 . . . . . . . 8 (𝑏𝐵 → (Pred(𝑅, 𝐵, 𝑏) = ∅ → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅))
98adantl 485 . . . . . . 7 (((𝑅 Fr 𝐵𝑅 Se 𝐵) ∧ 𝑏𝐵) → (Pred(𝑅, 𝐵, 𝑏) = ∅ → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅))
10 setlikespec 6183 . . . . . . . . . . 11 ((𝑏𝐵𝑅 Se 𝐵) → Pred(𝑅, 𝐵, 𝑏) ∈ V)
11 trpredpred 9333 . . . . . . . . . . . . 13 (Pred(𝑅, 𝐵, 𝑏) ∈ V → Pred(𝑅, 𝐵, 𝑏) ⊆ TrPred(𝑅, 𝐵, 𝑏))
12 ssn0 4315 . . . . . . . . . . . . . 14 ((Pred(𝑅, 𝐵, 𝑏) ⊆ TrPred(𝑅, 𝐵, 𝑏) ∧ Pred(𝑅, 𝐵, 𝑏) ≠ ∅) → TrPred(𝑅, 𝐵, 𝑏) ≠ ∅)
1312ex 416 . . . . . . . . . . . . 13 (Pred(𝑅, 𝐵, 𝑏) ⊆ TrPred(𝑅, 𝐵, 𝑏) → (Pred(𝑅, 𝐵, 𝑏) ≠ ∅ → TrPred(𝑅, 𝐵, 𝑏) ≠ ∅))
1411, 13syl 17 . . . . . . . . . . . 12 (Pred(𝑅, 𝐵, 𝑏) ∈ V → (Pred(𝑅, 𝐵, 𝑏) ≠ ∅ → TrPred(𝑅, 𝐵, 𝑏) ≠ ∅))
15 trpredss 9334 . . . . . . . . . . . 12 (Pred(𝑅, 𝐵, 𝑏) ∈ V → TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵)
1614, 15jctild 529 . . . . . . . . . . 11 (Pred(𝑅, 𝐵, 𝑏) ∈ V → (Pred(𝑅, 𝐵, 𝑏) ≠ ∅ → (TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵 ∧ TrPred(𝑅, 𝐵, 𝑏) ≠ ∅)))
1710, 16syl 17 . . . . . . . . . 10 ((𝑏𝐵𝑅 Se 𝐵) → (Pred(𝑅, 𝐵, 𝑏) ≠ ∅ → (TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵 ∧ TrPred(𝑅, 𝐵, 𝑏) ≠ ∅)))
1817adantr 484 . . . . . . . . 9 (((𝑏𝐵𝑅 Se 𝐵) ∧ 𝑅 Fr 𝐵) → (Pred(𝑅, 𝐵, 𝑏) ≠ ∅ → (TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵 ∧ TrPred(𝑅, 𝐵, 𝑏) ≠ ∅)))
19 trpredex 9343 . . . . . . . . . . 11 TrPred(𝑅, 𝐵, 𝑏) ∈ V
20 sseq1 3926 . . . . . . . . . . . . . 14 (𝑐 = TrPred(𝑅, 𝐵, 𝑏) → (𝑐𝐵 ↔ TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵))
21 neeq1 3003 . . . . . . . . . . . . . 14 (𝑐 = TrPred(𝑅, 𝐵, 𝑏) → (𝑐 ≠ ∅ ↔ TrPred(𝑅, 𝐵, 𝑏) ≠ ∅))
2220, 21anbi12d 634 . . . . . . . . . . . . 13 (𝑐 = TrPred(𝑅, 𝐵, 𝑏) → ((𝑐𝐵𝑐 ≠ ∅) ↔ (TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵 ∧ TrPred(𝑅, 𝐵, 𝑏) ≠ ∅)))
23 predeq2 6163 . . . . . . . . . . . . . . 15 (𝑐 = TrPred(𝑅, 𝐵, 𝑏) → Pred(𝑅, 𝑐, 𝑦) = Pred(𝑅, TrPred(𝑅, 𝐵, 𝑏), 𝑦))
2423eqeq1d 2739 . . . . . . . . . . . . . 14 (𝑐 = TrPred(𝑅, 𝐵, 𝑏) → (Pred(𝑅, 𝑐, 𝑦) = ∅ ↔ Pred(𝑅, TrPred(𝑅, 𝐵, 𝑏), 𝑦) = ∅))
2524rexeqbi1dv 3318 . . . . . . . . . . . . 13 (𝑐 = TrPred(𝑅, 𝐵, 𝑏) → (∃𝑦𝑐 Pred(𝑅, 𝑐, 𝑦) = ∅ ↔ ∃𝑦 ∈ TrPred (𝑅, 𝐵, 𝑏)Pred(𝑅, TrPred(𝑅, 𝐵, 𝑏), 𝑦) = ∅))
2622, 25imbi12d 348 . . . . . . . . . . . 12 (𝑐 = TrPred(𝑅, 𝐵, 𝑏) → (((𝑐𝐵𝑐 ≠ ∅) → ∃𝑦𝑐 Pred(𝑅, 𝑐, 𝑦) = ∅) ↔ ((TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵 ∧ TrPred(𝑅, 𝐵, 𝑏) ≠ ∅) → ∃𝑦 ∈ TrPred (𝑅, 𝐵, 𝑏)Pred(𝑅, TrPred(𝑅, 𝐵, 𝑏), 𝑦) = ∅)))
2726imbi2d 344 . . . . . . . . . . 11 (𝑐 = TrPred(𝑅, 𝐵, 𝑏) → ((𝑅 Fr 𝐵 → ((𝑐𝐵𝑐 ≠ ∅) → ∃𝑦𝑐 Pred(𝑅, 𝑐, 𝑦) = ∅)) ↔ (𝑅 Fr 𝐵 → ((TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵 ∧ TrPred(𝑅, 𝐵, 𝑏) ≠ ∅) → ∃𝑦 ∈ TrPred (𝑅, 𝐵, 𝑏)Pred(𝑅, TrPred(𝑅, 𝐵, 𝑏), 𝑦) = ∅))))
28 dffr4 6178 . . . . . . . . . . . 12 (𝑅 Fr 𝐵 ↔ ∀𝑐((𝑐𝐵𝑐 ≠ ∅) → ∃𝑦𝑐 Pred(𝑅, 𝑐, 𝑦) = ∅))
29 sp 2180 . . . . . . . . . . . 12 (∀𝑐((𝑐𝐵𝑐 ≠ ∅) → ∃𝑦𝑐 Pred(𝑅, 𝑐, 𝑦) = ∅) → ((𝑐𝐵𝑐 ≠ ∅) → ∃𝑦𝑐 Pred(𝑅, 𝑐, 𝑦) = ∅))
3028, 29sylbi 220 . . . . . . . . . . 11 (𝑅 Fr 𝐵 → ((𝑐𝐵𝑐 ≠ ∅) → ∃𝑦𝑐 Pred(𝑅, 𝑐, 𝑦) = ∅))
3119, 27, 30vtocl 3474 . . . . . . . . . 10 (𝑅 Fr 𝐵 → ((TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵 ∧ TrPred(𝑅, 𝐵, 𝑏) ≠ ∅) → ∃𝑦 ∈ TrPred (𝑅, 𝐵, 𝑏)Pred(𝑅, TrPred(𝑅, 𝐵, 𝑏), 𝑦) = ∅))
3210, 15syl 17 . . . . . . . . . . 11 ((𝑏𝐵𝑅 Se 𝐵) → TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵)
3332adantr 484 . . . . . . . . . . . . . . 15 (((𝑏𝐵𝑅 Se 𝐵) ∧ 𝑦 ∈ TrPred(𝑅, 𝐵, 𝑏)) → TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵)
34 trpredtr 9335 . . . . . . . . . . . . . . . 16 ((𝑏𝐵𝑅 Se 𝐵) → (𝑦 ∈ TrPred(𝑅, 𝐵, 𝑏) → Pred(𝑅, 𝐵, 𝑦) ⊆ TrPred(𝑅, 𝐵, 𝑏)))
3534imp 410 . . . . . . . . . . . . . . 15 (((𝑏𝐵𝑅 Se 𝐵) ∧ 𝑦 ∈ TrPred(𝑅, 𝐵, 𝑏)) → Pred(𝑅, 𝐵, 𝑦) ⊆ TrPred(𝑅, 𝐵, 𝑏))
36 sspred 6168 . . . . . . . . . . . . . . 15 ((TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵 ∧ Pred(𝑅, 𝐵, 𝑦) ⊆ TrPred(𝑅, 𝐵, 𝑏)) → Pred(𝑅, 𝐵, 𝑦) = Pred(𝑅, TrPred(𝑅, 𝐵, 𝑏), 𝑦))
3733, 35, 36syl2anc 587 . . . . . . . . . . . . . 14 (((𝑏𝐵𝑅 Se 𝐵) ∧ 𝑦 ∈ TrPred(𝑅, 𝐵, 𝑏)) → Pred(𝑅, 𝐵, 𝑦) = Pred(𝑅, TrPred(𝑅, 𝐵, 𝑏), 𝑦))
3837eqeq1d 2739 . . . . . . . . . . . . 13 (((𝑏𝐵𝑅 Se 𝐵) ∧ 𝑦 ∈ TrPred(𝑅, 𝐵, 𝑏)) → (Pred(𝑅, 𝐵, 𝑦) = ∅ ↔ Pred(𝑅, TrPred(𝑅, 𝐵, 𝑏), 𝑦) = ∅))
3938biimprd 251 . . . . . . . . . . . 12 (((𝑏𝐵𝑅 Se 𝐵) ∧ 𝑦 ∈ TrPred(𝑅, 𝐵, 𝑏)) → (Pred(𝑅, TrPred(𝑅, 𝐵, 𝑏), 𝑦) = ∅ → Pred(𝑅, 𝐵, 𝑦) = ∅))
4039reximdva 3193 . . . . . . . . . . 11 ((𝑏𝐵𝑅 Se 𝐵) → (∃𝑦 ∈ TrPred (𝑅, 𝐵, 𝑏)Pred(𝑅, TrPred(𝑅, 𝐵, 𝑏), 𝑦) = ∅ → ∃𝑦 ∈ TrPred (𝑅, 𝐵, 𝑏)Pred(𝑅, 𝐵, 𝑦) = ∅))
41 ssrexv 3968 . . . . . . . . . . 11 (TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵 → (∃𝑦 ∈ TrPred (𝑅, 𝐵, 𝑏)Pred(𝑅, 𝐵, 𝑦) = ∅ → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅))
4232, 40, 41sylsyld 61 . . . . . . . . . 10 ((𝑏𝐵𝑅 Se 𝐵) → (∃𝑦 ∈ TrPred (𝑅, 𝐵, 𝑏)Pred(𝑅, TrPred(𝑅, 𝐵, 𝑏), 𝑦) = ∅ → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅))
4331, 42sylan9r 512 . . . . . . . . 9 (((𝑏𝐵𝑅 Se 𝐵) ∧ 𝑅 Fr 𝐵) → ((TrPred(𝑅, 𝐵, 𝑏) ⊆ 𝐵 ∧ TrPred(𝑅, 𝐵, 𝑏) ≠ ∅) → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅))
4418, 43syld 47 . . . . . . . 8 (((𝑏𝐵𝑅 Se 𝐵) ∧ 𝑅 Fr 𝐵) → (Pred(𝑅, 𝐵, 𝑏) ≠ ∅ → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅))
4544an31s 654 . . . . . . 7 (((𝑅 Fr 𝐵𝑅 Se 𝐵) ∧ 𝑏𝐵) → (Pred(𝑅, 𝐵, 𝑏) ≠ ∅ → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅))
469, 45pm2.61dne 3028 . . . . . 6 (((𝑅 Fr 𝐵𝑅 Se 𝐵) ∧ 𝑏𝐵) → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅)
4746ex 416 . . . . 5 ((𝑅 Fr 𝐵𝑅 Se 𝐵) → (𝑏𝐵 → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅))
4847exlimdv 1941 . . . 4 ((𝑅 Fr 𝐵𝑅 Se 𝐵) → (∃𝑏 𝑏𝐵 → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅))
494, 48syl5bi 245 . . 3 ((𝑅 Fr 𝐵𝑅 Se 𝐵) → (𝐵 ≠ ∅ → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅))
503, 49syl6com 37 . 2 ((𝑅 Fr 𝐴𝑅 Se 𝐴) → (𝐵𝐴 → (𝐵 ≠ ∅ → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅)))
5150imp32 422 1 (((𝑅 Fr 𝐴𝑅 Se 𝐴) ∧ (𝐵𝐴𝐵 ≠ ∅)) → ∃𝑦𝐵 Pred(𝑅, 𝐵, 𝑦) = ∅)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 399  wal 1541   = wceq 1543  wex 1787  wcel 2110  wne 2940  wrex 3062  Vcvv 3408  wss 3866  c0 4237   Fr wfr 5506   Se wse 5507  Predcpred 6159  TrPredctrpred 9322
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1803  ax-4 1817  ax-5 1918  ax-6 1976  ax-7 2016  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2158  ax-12 2175  ax-ext 2708  ax-rep 5179  ax-sep 5192  ax-nul 5199  ax-pr 5322  ax-un 7523  ax-inf2 9256
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 848  df-3or 1090  df-3an 1091  df-tru 1546  df-fal 1556  df-ex 1788  df-nf 1792  df-sb 2071  df-mo 2539  df-eu 2568  df-clab 2715  df-cleq 2729  df-clel 2816  df-nfc 2886  df-ne 2941  df-ral 3066  df-rex 3067  df-reu 3068  df-rab 3070  df-v 3410  df-sbc 3695  df-csb 3812  df-dif 3869  df-un 3871  df-in 3873  df-ss 3883  df-pss 3885  df-nul 4238  df-if 4440  df-pw 4515  df-sn 4542  df-pr 4544  df-tp 4546  df-op 4548  df-uni 4820  df-iun 4906  df-br 5054  df-opab 5116  df-mpt 5136  df-tr 5162  df-id 5455  df-eprel 5460  df-po 5468  df-so 5469  df-fr 5509  df-se 5510  df-we 5511  df-xp 5557  df-rel 5558  df-cnv 5559  df-co 5560  df-dm 5561  df-rn 5562  df-res 5563  df-ima 5564  df-pred 6160  df-ord 6216  df-on 6217  df-lim 6218  df-suc 6219  df-iota 6338  df-fun 6382  df-fn 6383  df-f 6384  df-f1 6385  df-fo 6386  df-f1o 6387  df-fv 6388  df-om 7645  df-wrecs 8047  df-recs 8108  df-rdg 8146  df-trpred 9323
This theorem is referenced by:  frind  9366  frr1  9375
  Copyright terms: Public domain W3C validator