Metamath Proof Explorer


Theorem zornn0g

Description: Variant of Zorn's lemma zorng in which (/) , the union of the empty chain, is not required to be an element of A . (Contributed by Jeff Madsen, 5-Jan-2011) (Revised by Mario Carneiro, 9-May-2015)

Ref Expression
Assertion zornn0g ⊢ A ∈ dom ⁡ card ∧ A ≠ ∅ ∧ ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ∃ x ∈ A ∀ y ∈ A ¬ x ⊂ y

Proof

Step Hyp Ref Expression
1 simp2 ⊢ A ∈ dom ⁡ card ∧ A ≠ ∅ ∧ ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → A ≠ ∅
2 simp1 ⊢ A ∈ dom ⁡ card ∧ A ≠ ∅ ∧ ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → A ∈ dom ⁡ card
3 snfi ⊢ ∅ ∈ Fin
4 finnum ⊢ ∅ ∈ Fin → ∅ ∈ dom ⁡ card
5 3 4 ax-mp ⊢ ∅ ∈ dom ⁡ card
6 unnum ⊢ A ∈ dom ⁡ card ∧ ∅ ∈ dom ⁡ card → A ∪ ∅ ∈ dom ⁡ card
7 2 5 6 sylancl ⊢ A ∈ dom ⁡ card ∧ A ≠ ∅ ∧ ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → A ∪ ∅ ∈ dom ⁡ card
8 uncom ⊢ A ∪ ∅ = ∅ ∪ A
9 8 sseq2i ⊢ w ⊆ A ∪ ∅ ↔ w ⊆ ∅ ∪ A
10 ssundif ⊢ w ⊆ ∅ ∪ A ↔ w ∖ ∅ ⊆ A
11 9 10 bitri ⊢ w ⊆ A ∪ ∅ ↔ w ∖ ∅ ⊆ A
12 difss ⊢ w ∖ ∅ ⊆ w
13 soss ⊢ w ∖ ∅ ⊆ w → [⊂] Or w → [⊂] Or w ∖ ∅
14 12 13 ax-mp ⊢ [⊂] Or w → [⊂] Or w ∖ ∅
15 ssdif0 ⊢ w ⊆ ∅ ↔ w ∖ ∅ = ∅
16 uni0b ⊢ ⋃ w = ∅ ↔ w ⊆ ∅
17 16 biimpri ⊢ w ⊆ ∅ → ⋃ w = ∅
18 17 eleq1d ⊢ w ⊆ ∅ → ⋃ w ∈ A ∪ ∅ ↔ ∅ ∈ A ∪ ∅
19 15 18 sylbir ⊢ w ∖ ∅ = ∅ → ⋃ w ∈ A ∪ ∅ ↔ ∅ ∈ A ∪ ∅
20 19 imbi2d ⊢ w ∖ ∅ = ∅ → ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ⋃ w ∈ A ∪ ∅ ↔ ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ∅ ∈ A ∪ ∅
21 vex ⊢ w ∈ V
22 21 difexi ⊢ w ∖ ∅ ∈ V
23 sseq1 ⊢ z = w ∖ ∅ → z ⊆ A ↔ w ∖ ∅ ⊆ A
24 neeq1 ⊢ z = w ∖ ∅ → z ≠ ∅ ↔ w ∖ ∅ ≠ ∅
25 soeq2 ⊢ z = w ∖ ∅ → [⊂] Or z ↔ [⊂] Or w ∖ ∅
26 23 24 25 3anbi123d ⊢ z = w ∖ ∅ → z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z ↔ w ∖ ∅ ⊆ A ∧ w ∖ ∅ ≠ ∅ ∧ [⊂] Or w ∖ ∅
27 unieq ⊢ z = w ∖ ∅ → ⋃ z = ⋃ w ∖ ∅
28 27 eleq1d ⊢ z = w ∖ ∅ → ⋃ z ∈ A ↔ ⋃ w ∖ ∅ ∈ A
29 26 28 imbi12d ⊢ z = w ∖ ∅ → z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A ↔ w ∖ ∅ ⊆ A ∧ w ∖ ∅ ≠ ∅ ∧ [⊂] Or w ∖ ∅ → ⋃ w ∖ ∅ ∈ A
30 22 29 spcv ⊢ ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → w ∖ ∅ ⊆ A ∧ w ∖ ∅ ≠ ∅ ∧ [⊂] Or w ∖ ∅ → ⋃ w ∖ ∅ ∈ A
31 30 com12 ⊢ w ∖ ∅ ⊆ A ∧ w ∖ ∅ ≠ ∅ ∧ [⊂] Or w ∖ ∅ → ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ⋃ w ∖ ∅ ∈ A
32 31 3expa ⊢ w ∖ ∅ ⊆ A ∧ w ∖ ∅ ≠ ∅ ∧ [⊂] Or w ∖ ∅ → ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ⋃ w ∖ ∅ ∈ A
33 32 an32s ⊢ w ∖ ∅ ⊆ A ∧ [⊂] Or w ∖ ∅ ∧ w ∖ ∅ ≠ ∅ → ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ⋃ w ∖ ∅ ∈ A
34 unidif0 ⊢ ⋃ w ∖ ∅ = ⋃ w
35 34 eleq1i ⊢ ⋃ w ∖ ∅ ∈ A ↔ ⋃ w ∈ A
36 elun1 ⊢ ⋃ w ∈ A → ⋃ w ∈ A ∪ ∅
37 35 36 sylbi ⊢ ⋃ w ∖ ∅ ∈ A → ⋃ w ∈ A ∪ ∅
38 33 37 syl6 ⊢ w ∖ ∅ ⊆ A ∧ [⊂] Or w ∖ ∅ ∧ w ∖ ∅ ≠ ∅ → ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ⋃ w ∈ A ∪ ∅
39 0ex ⊢ ∅ ∈ V
40 39 snid ⊢ ∅ ∈ ∅
41 elun2 ⊢ ∅ ∈ ∅ → ∅ ∈ A ∪ ∅
42 40 41 ax-mp ⊢ ∅ ∈ A ∪ ∅
43 42 2a1i ⊢ w ∖ ∅ ⊆ A ∧ [⊂] Or w ∖ ∅ → ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ∅ ∈ A ∪ ∅
44 20 38 43 pm2.61ne ⊢ w ∖ ∅ ⊆ A ∧ [⊂] Or w ∖ ∅ → ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ⋃ w ∈ A ∪ ∅
45 14 44 sylan2 ⊢ w ∖ ∅ ⊆ A ∧ [⊂] Or w → ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ⋃ w ∈ A ∪ ∅
46 11 45 sylanb ⊢ w ⊆ A ∪ ∅ ∧ [⊂] Or w → ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ⋃ w ∈ A ∪ ∅
47 46 com12 ⊢ ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → w ⊆ A ∪ ∅ ∧ [⊂] Or w → ⋃ w ∈ A ∪ ∅
48 47 alrimiv ⊢ ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ∀ w w ⊆ A ∪ ∅ ∧ [⊂] Or w → ⋃ w ∈ A ∪ ∅
49 48 3ad2ant3 ⊢ A ∈ dom ⁡ card ∧ A ≠ ∅ ∧ ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ∀ w w ⊆ A ∪ ∅ ∧ [⊂] Or w → ⋃ w ∈ A ∪ ∅
50 zorng ⊢ A ∪ ∅ ∈ dom ⁡ card ∧ ∀ w w ⊆ A ∪ ∅ ∧ [⊂] Or w → ⋃ w ∈ A ∪ ∅ → ∃ x ∈ A ∪ ∅ ∀ y ∈ A ∪ ∅ ¬ x ⊂ y
51 7 49 50 syl2anc ⊢ A ∈ dom ⁡ card ∧ A ≠ ∅ ∧ ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ∃ x ∈ A ∪ ∅ ∀ y ∈ A ∪ ∅ ¬ x ⊂ y
52 ssun1 ⊢ A ⊆ A ∪ ∅
53 ssralv ⊢ A ⊆ A ∪ ∅ → ∀ y ∈ A ∪ ∅ ¬ x ⊂ y → ∀ y ∈ A ¬ x ⊂ y
54 52 53 ax-mp ⊢ ∀ y ∈ A ∪ ∅ ¬ x ⊂ y → ∀ y ∈ A ¬ x ⊂ y
55 54 reximi ⊢ ∃ x ∈ A ∪ ∅ ∀ y ∈ A ∪ ∅ ¬ x ⊂ y → ∃ x ∈ A ∪ ∅ ∀ y ∈ A ¬ x ⊂ y
56 rexun ⊢ ∃ x ∈ A ∪ ∅ ∀ y ∈ A ¬ x ⊂ y ↔ ∃ x ∈ A ∀ y ∈ A ¬ x ⊂ y ∨ ∃ x ∈ ∅ ∀ y ∈ A ¬ x ⊂ y
57 simpr ⊢ A ≠ ∅ ∧ ∃ x ∈ A ∀ y ∈ A ¬ x ⊂ y → ∃ x ∈ A ∀ y ∈ A ¬ x ⊂ y
58 simpr ⊢ A ≠ ∅ ∧ ∃ x ∈ ∅ ∀ y ∈ A ¬ x ⊂ y → ∃ x ∈ ∅ ∀ y ∈ A ¬ x ⊂ y
59 psseq1 ⊢ x = ∅ → x ⊂ y ↔ ∅ ⊂ y
60 0pss ⊢ ∅ ⊂ y ↔ y ≠ ∅
61 59 60 bitrdi ⊢ x = ∅ → x ⊂ y ↔ y ≠ ∅
62 61 notbid ⊢ x = ∅ → ¬ x ⊂ y ↔ ¬ y ≠ ∅
63 nne ⊢ ¬ y ≠ ∅ ↔ y = ∅
64 62 63 bitrdi ⊢ x = ∅ → ¬ x ⊂ y ↔ y = ∅
65 64 ralbidv ⊢ x = ∅ → ∀ y ∈ A ¬ x ⊂ y ↔ ∀ y ∈ A y = ∅
66 39 65 rexsn ⊢ ∃ x ∈ ∅ ∀ y ∈ A ¬ x ⊂ y ↔ ∀ y ∈ A y = ∅
67 eqsn ⊢ A ≠ ∅ → A = ∅ ↔ ∀ y ∈ A y = ∅
68 67 biimpar ⊢ A ≠ ∅ ∧ ∀ y ∈ A y = ∅ → A = ∅
69 66 68 sylan2b ⊢ A ≠ ∅ ∧ ∃ x ∈ ∅ ∀ y ∈ A ¬ x ⊂ y → A = ∅
70 58 69 rexeqtrrdv ⊢ A ≠ ∅ ∧ ∃ x ∈ ∅ ∀ y ∈ A ¬ x ⊂ y → ∃ x ∈ A ∀ y ∈ A ¬ x ⊂ y
71 57 70 jaodan ⊢ A ≠ ∅ ∧ ∃ x ∈ A ∀ y ∈ A ¬ x ⊂ y ∨ ∃ x ∈ ∅ ∀ y ∈ A ¬ x ⊂ y → ∃ x ∈ A ∀ y ∈ A ¬ x ⊂ y
72 56 71 sylan2b ⊢ A ≠ ∅ ∧ ∃ x ∈ A ∪ ∅ ∀ y ∈ A ¬ x ⊂ y → ∃ x ∈ A ∀ y ∈ A ¬ x ⊂ y
73 55 72 sylan2 ⊢ A ≠ ∅ ∧ ∃ x ∈ A ∪ ∅ ∀ y ∈ A ∪ ∅ ¬ x ⊂ y → ∃ x ∈ A ∀ y ∈ A ¬ x ⊂ y
74 1 51 73 syl2anc ⊢ A ∈ dom ⁡ card ∧ A ≠ ∅ ∧ ∀ z z ⊆ A ∧ z ≠ ∅ ∧ [⊂] Or z → ⋃ z ∈ A → ∃ x ∈ A ∀ y ∈ A ¬ x ⊂ y