Metamath Proof Explorer


Theorem uzwo4

Description: Well-ordering principle: any nonempty subset of an upper set of integers has the least element. (Contributed by Glauco Siliprandi, 17-Aug-2020)

Ref Expression
Hypotheses uzwo4.1 ⊢ Ⅎ j ψ
uzwo4.2 ⊢ j = k → φ ↔ ψ
Assertion uzwo4 ⊢ S ⊆ ℤ ≥ M ∧ ∃ j ∈ S φ → ∃ j ∈ S φ ∧ ∀ k ∈ S k < j → ¬ ψ

Proof

Step Hyp Ref Expression
1 uzwo4.1 ⊢ Ⅎ j ψ
2 uzwo4.2 ⊢ j = k → φ ↔ ψ
3 ssrab2 ⊢ j ∈ S | φ ⊆ S
4 3 a1i ⊢ S ⊆ ℤ ≥ M → j ∈ S | φ ⊆ S
5 id ⊢ S ⊆ ℤ ≥ M → S ⊆ ℤ ≥ M
6 4 5 sstrd ⊢ S ⊆ ℤ ≥ M → j ∈ S | φ ⊆ ℤ ≥ M
7 6 adantr ⊢ S ⊆ ℤ ≥ M ∧ ∃ j ∈ S φ → j ∈ S | φ ⊆ ℤ ≥ M
8 rabn0 ⊢ j ∈ S | φ ≠ ∅ ↔ ∃ j ∈ S φ
9 8 bilanri ⊢ S ⊆ ℤ ≥ M ∧ ∃ j ∈ S φ → j ∈ S | φ ≠ ∅
10 uzwo ⊢ j ∈ S | φ ⊆ ℤ ≥ M ∧ j ∈ S | φ ≠ ∅ → ∃ i ∈ j ∈ S | φ ∀ k ∈ j ∈ S | φ i ≤ k
11 7 9 10 syl2anc ⊢ S ⊆ ℤ ≥ M ∧ ∃ j ∈ S φ → ∃ i ∈ j ∈ S | φ ∀ k ∈ j ∈ S | φ i ≤ k
12 3 sseli ⊢ i ∈ j ∈ S | φ → i ∈ S
13 12 adantr ⊢ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k → i ∈ S
14 13 3adant1 ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k → i ∈ S
15 nfcv ⊢ Ⅎ _ j i
16 nfcv ⊢ Ⅎ _ j S
17 15 nfsbc1 ⊢ Ⅎ j [˙i / j]˙ φ
18 sbceq1a ⊢ j = i → φ ↔ [˙i / j]˙ φ
19 15 16 17 18 elrabf ⊢ i ∈ j ∈ S | φ ↔ i ∈ S ∧ [˙i / j]˙ φ
20 19 biimpi ⊢ i ∈ j ∈ S | φ → i ∈ S ∧ [˙i / j]˙ φ
21 20 simprd ⊢ i ∈ j ∈ S | φ → [˙i / j]˙ φ
22 21 adantr ⊢ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k → [˙i / j]˙ φ
23 22 3adant1 ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k → [˙i / j]˙ φ
24 nfv ⊢ Ⅎ k S ⊆ ℤ ≥ M
25 nfv ⊢ Ⅎ k i ∈ j ∈ S | φ
26 nfra1 ⊢ Ⅎ k ∀ k ∈ j ∈ S | φ i ≤ k
27 24 25 26 nf3an ⊢ Ⅎ k S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k
28 simpl13 ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ k < i ∧ ψ → ∀ k ∈ j ∈ S | φ i ≤ k
29 simpl2 ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ k < i ∧ ψ → k ∈ S
30 simpr ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ k < i ∧ ψ → ψ
31 simpll ⊢ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ ψ → ∀ k ∈ j ∈ S | φ i ≤ k
32 id ⊢ k ∈ S ∧ ψ → k ∈ S ∧ ψ
33 nfcv ⊢ Ⅎ _ j k
34 33 16 1 2 elrabf ⊢ k ∈ j ∈ S | φ ↔ k ∈ S ∧ ψ
35 32 34 sylibr ⊢ k ∈ S ∧ ψ → k ∈ j ∈ S | φ
36 35 adantll ⊢ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ ψ → k ∈ j ∈ S | φ
37 rspa ⊢ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ j ∈ S | φ → i ≤ k
38 31 36 37 syl2anc ⊢ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ ψ → i ≤ k
39 28 29 30 38 syl21anc ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ k < i ∧ ψ → i ≤ k
40 6 sselda ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ → i ∈ ℤ ≥ M
41 eluzelz ⊢ i ∈ ℤ ≥ M → i ∈ ℤ
42 40 41 syl ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ → i ∈ ℤ
43 42 zred ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ → i ∈ ℝ
44 43 3adant3 ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k → i ∈ ℝ
45 44 3ad2ant1 ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ k < i → i ∈ ℝ
46 ssel2 ⊢ S ⊆ ℤ ≥ M ∧ k ∈ S → k ∈ ℤ ≥ M
47 eluzelz ⊢ k ∈ ℤ ≥ M → k ∈ ℤ
48 46 47 syl ⊢ S ⊆ ℤ ≥ M ∧ k ∈ S → k ∈ ℤ
49 48 zred ⊢ S ⊆ ℤ ≥ M ∧ k ∈ S → k ∈ ℝ
50 49 3ad2antl1 ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S → k ∈ ℝ
51 50 3adant3 ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ k < i → k ∈ ℝ
52 simp3 ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ k < i → k < i
53 simp3 ⊢ i ∈ ℝ ∧ k ∈ ℝ ∧ k < i → k < i
54 simp2 ⊢ i ∈ ℝ ∧ k ∈ ℝ ∧ k < i → k ∈ ℝ
55 simp1 ⊢ i ∈ ℝ ∧ k ∈ ℝ ∧ k < i → i ∈ ℝ
56 54 55 ltnled ⊢ i ∈ ℝ ∧ k ∈ ℝ ∧ k < i → k < i ↔ ¬ i ≤ k
57 53 56 mpbid ⊢ i ∈ ℝ ∧ k ∈ ℝ ∧ k < i → ¬ i ≤ k
58 45 51 52 57 syl3anc ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ k < i → ¬ i ≤ k
59 58 adantr ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ k < i ∧ ψ → ¬ i ≤ k
60 39 59 pm2.65da ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k ∧ k ∈ S ∧ k < i → ¬ ψ
61 60 3exp ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k → k ∈ S → k < i → ¬ ψ
62 27 61 ralrimi ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k → ∀ k ∈ S k < i → ¬ ψ
63 23 62 jca ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k → [˙i / j]˙ φ ∧ ∀ k ∈ S k < i → ¬ ψ
64 nfv ⊢ Ⅎ j k < i
65 1 nfn ⊢ Ⅎ j ¬ ψ
66 64 65 nfim ⊢ Ⅎ j k < i → ¬ ψ
67 16 66 nfralw ⊢ Ⅎ j ∀ k ∈ S k < i → ¬ ψ
68 17 67 nfan ⊢ Ⅎ j [˙i / j]˙ φ ∧ ∀ k ∈ S k < i → ¬ ψ
69 breq2 ⊢ j = i → k < j ↔ k < i
70 69 imbi1d ⊢ j = i → k < j → ¬ ψ ↔ k < i → ¬ ψ
71 70 ralbidv ⊢ j = i → ∀ k ∈ S k < j → ¬ ψ ↔ ∀ k ∈ S k < i → ¬ ψ
72 18 71 anbi12d ⊢ j = i → φ ∧ ∀ k ∈ S k < j → ¬ ψ ↔ [˙i / j]˙ φ ∧ ∀ k ∈ S k < i → ¬ ψ
73 68 72 rspce ⊢ i ∈ S ∧ [˙i / j]˙ φ ∧ ∀ k ∈ S k < i → ¬ ψ → ∃ j ∈ S φ ∧ ∀ k ∈ S k < j → ¬ ψ
74 14 63 73 syl2anc ⊢ S ⊆ ℤ ≥ M ∧ i ∈ j ∈ S | φ ∧ ∀ k ∈ j ∈ S | φ i ≤ k → ∃ j ∈ S φ ∧ ∀ k ∈ S k < j → ¬ ψ
75 74 3exp ⊢ S ⊆ ℤ ≥ M → i ∈ j ∈ S | φ → ∀ k ∈ j ∈ S | φ i ≤ k → ∃ j ∈ S φ ∧ ∀ k ∈ S k < j → ¬ ψ
76 75 rexlimdv ⊢ S ⊆ ℤ ≥ M → ∃ i ∈ j ∈ S | φ ∀ k ∈ j ∈ S | φ i ≤ k → ∃ j ∈ S φ ∧ ∀ k ∈ S k < j → ¬ ψ
77 76 adantr ⊢ S ⊆ ℤ ≥ M ∧ ∃ j ∈ S φ → ∃ i ∈ j ∈ S | φ ∀ k ∈ j ∈ S | φ i ≤ k → ∃ j ∈ S φ ∧ ∀ k ∈ S k < j → ¬ ψ
78 11 77 mpd ⊢ S ⊆ ℤ ≥ M ∧ ∃ j ∈ S φ → ∃ j ∈ S φ ∧ ∀ k ∈ S k < j → ¬ ψ