Metamath Proof Explorer


Theorem scott0

Description: Scott's trick collects all sets that have a certain property and are of the smallest possible rank. This theorem shows that the resulting collection, expressed as in Equation 9.3 of Jech p. 72, contains at least one representative with the property, if there is one. In other words, the collection is empty iff no set has the property (i.e. A is empty). (Contributed by NM, 15-Oct-2003)

Ref Expression
Assertion scott0 A=xA|yArankxranky=

Proof

Step Hyp Ref Expression
1 rabeq A=xA|yArankxranky=x|yArankxranky
2 rab0 x|yArankxranky=
3 1 2 eqtrdi A=xA|yArankxranky=
4 n0 AxxA
5 nfre1 xxArankx=rankx
6 eqid rankx=rankx
7 rspe xArankx=rankxxArankx=rankx
8 6 7 mpan2 xAxArankx=rankx
9 5 8 exlimi xxAxArankx=rankx
10 4 9 sylbi AxArankx=rankx
11 fvex rankxV
12 eqeq1 y=rankxy=rankxrankx=rankx
13 12 anbi2d y=rankxxAy=rankxxArankx=rankx
14 11 13 spcev xArankx=rankxyxAy=rankx
15 14 eximi xxArankx=rankxxyxAy=rankx
16 excom yxxAy=rankxxyxAy=rankx
17 15 16 sylibr xxArankx=rankxyxxAy=rankx
18 df-rex xArankx=rankxxxArankx=rankx
19 df-rex xAy=rankxxxAy=rankx
20 19 exbii yxAy=rankxyxxAy=rankx
21 17 18 20 3imtr4i xArankx=rankxyxAy=rankx
22 10 21 syl AyxAy=rankx
23 abn0 y|xAy=rankxyxAy=rankx
24 22 23 sylibr Ay|xAy=rankx
25 11 dfiin2 xArankx=y|xAy=rankx
26 rankon rankxOn
27 eleq1 y=rankxyOnrankxOn
28 26 27 mpbiri y=rankxyOn
29 28 rexlimivw xAy=rankxyOn
30 29 abssi y|xAy=rankxOn
31 onint y|xAy=rankxOny|xAy=rankxy|xAy=rankxy|xAy=rankx
32 30 31 mpan y|xAy=rankxy|xAy=rankxy|xAy=rankx
33 25 32 eqeltrid y|xAy=rankxxArankxy|xAy=rankx
34 nfii1 _xxArankx
35 34 nfeq2 xy=xArankx
36 eqeq1 y=xArankxy=rankxxArankx=rankx
37 35 36 rexbid y=xArankxxAy=rankxxAxArankx=rankx
38 37 elabg xArankxy|xAy=rankxxArankxy|xAy=rankxxAxArankx=rankx
39 38 ibi xArankxy|xAy=rankxxAxArankx=rankx
40 ssid rankyranky
41 fveq2 x=yrankx=ranky
42 41 sseq1d x=yrankxrankyrankyranky
43 42 rspcev yArankyrankyxArankxranky
44 40 43 mpan2 yAxArankxranky
45 iinss xArankxrankyxArankxranky
46 44 45 syl yAxArankxranky
47 sseq1 xArankx=rankxxArankxrankyrankxranky
48 46 47 imbitrid xArankx=rankxyArankxranky
49 48 ralrimiv xArankx=rankxyArankxranky
50 49 reximi xAxArankx=rankxxAyArankxranky
51 24 33 39 50 4syl AxAyArankxranky
52 rabn0 xA|yArankxrankyxAyArankxranky
53 51 52 sylibr AxA|yArankxranky
54 53 necon4i xA|yArankxranky=A=
55 3 54 impbii A=xA|yArankxranky=