Metamath Proof Explorer


Theorem fphpdo

Description: Pigeonhole principle for sets of real numbers with implicit output reordering. (Contributed by Stefan O'Rear, 12-Sep-2014)

Ref Expression
Hypotheses fphpdo.1 ⊢ φ → A ⊆ ℝ
fphpdo.2 ⊢ φ → B ∈ V
fphpdo.3 ⊢ φ → B ≺ A
fphpdo.4 ⊢ φ ∧ z ∈ A → C ∈ B
fphpdo.5 ⊢ z = x → C = D
fphpdo.6 ⊢ z = y → C = E
Assertion fphpdo ⊢ φ → ∃ x ∈ A ∃ y ∈ A x < y ∧ D = E

Proof

Step Hyp Ref Expression
1 fphpdo.1 ⊢ φ → A ⊆ ℝ
2 fphpdo.2 ⊢ φ → B ∈ V
3 fphpdo.3 ⊢ φ → B ≺ A
4 fphpdo.4 ⊢ φ ∧ z ∈ A → C ∈ B
5 fphpdo.5 ⊢ z = x → C = D
6 fphpdo.6 ⊢ z = y → C = E
7 4 fmpttd ⊢ φ → z ∈ A ⟼ C : A ⟶ B
8 7 ffvelcdmda ⊢ φ ∧ b ∈ A → z ∈ A ⟼ C ⁡ b ∈ B
9 fveq2 ⊢ b = c → z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c
10 3 8 9 fphpd ⊢ φ → ∃ b ∈ A ∃ c ∈ A b ≠ c ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c
11 1 sselda ⊢ φ ∧ b ∈ A → b ∈ ℝ
12 11 adantrr ⊢ φ ∧ b ∈ A ∧ c ∈ A → b ∈ ℝ
13 12 adantr ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c → b ∈ ℝ
14 1 sselda ⊢ φ ∧ c ∈ A → c ∈ ℝ
15 14 adantrl ⊢ φ ∧ b ∈ A ∧ c ∈ A → c ∈ ℝ
16 15 adantr ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c → c ∈ ℝ
17 13 16 lttri2d ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c → b ≠ c ↔ b < c ∨ c < b
18 simprl ⊢ φ ∧ b ∈ A ∧ c ∈ A → b ∈ A
19 18 ad2antrr ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c ∧ b < c → b ∈ A
20 simprr ⊢ φ ∧ b ∈ A ∧ c ∈ A → c ∈ A
21 20 ad2antrr ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c ∧ b < c → c ∈ A
22 simpr ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c ∧ b < c → b < c
23 simplr ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c ∧ b < c → z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c
24 breq1 ⊢ x = b → x < y ↔ b < y
25 fveqeq2 ⊢ x = b → z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y ↔ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ y
26 24 25 anbi12d ⊢ x = b → x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y ↔ b < y ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ y
27 breq2 ⊢ y = c → b < y ↔ b < c
28 fveq2 ⊢ y = c → z ∈ A ⟼ C ⁡ y = z ∈ A ⟼ C ⁡ c
29 28 eqeq2d ⊢ y = c → z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ y ↔ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c
30 27 29 anbi12d ⊢ y = c → b < y ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ y ↔ b < c ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c
31 26 30 rspc2ev ⊢ b ∈ A ∧ c ∈ A ∧ b < c ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c → ∃ x ∈ A ∃ y ∈ A x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y
32 19 21 22 23 31 syl112anc ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c ∧ b < c → ∃ x ∈ A ∃ y ∈ A x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y
33 32 ex ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c → b < c → ∃ x ∈ A ∃ y ∈ A x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y
34 20 ad2antrr ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c ∧ c < b → c ∈ A
35 18 ad2antrr ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c ∧ c < b → b ∈ A
36 simpr ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c ∧ c < b → c < b
37 simplr ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c ∧ c < b → z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c
38 37 eqcomd ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c ∧ c < b → z ∈ A ⟼ C ⁡ c = z ∈ A ⟼ C ⁡ b
39 breq1 ⊢ x = c → x < y ↔ c < y
40 fveqeq2 ⊢ x = c → z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y ↔ z ∈ A ⟼ C ⁡ c = z ∈ A ⟼ C ⁡ y
41 39 40 anbi12d ⊢ x = c → x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y ↔ c < y ∧ z ∈ A ⟼ C ⁡ c = z ∈ A ⟼ C ⁡ y
42 breq2 ⊢ y = b → c < y ↔ c < b
43 fveq2 ⊢ y = b → z ∈ A ⟼ C ⁡ y = z ∈ A ⟼ C ⁡ b
44 43 eqeq2d ⊢ y = b → z ∈ A ⟼ C ⁡ c = z ∈ A ⟼ C ⁡ y ↔ z ∈ A ⟼ C ⁡ c = z ∈ A ⟼ C ⁡ b
45 42 44 anbi12d ⊢ y = b → c < y ∧ z ∈ A ⟼ C ⁡ c = z ∈ A ⟼ C ⁡ y ↔ c < b ∧ z ∈ A ⟼ C ⁡ c = z ∈ A ⟼ C ⁡ b
46 41 45 rspc2ev ⊢ c ∈ A ∧ b ∈ A ∧ c < b ∧ z ∈ A ⟼ C ⁡ c = z ∈ A ⟼ C ⁡ b → ∃ x ∈ A ∃ y ∈ A x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y
47 34 35 36 38 46 syl112anc ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c ∧ c < b → ∃ x ∈ A ∃ y ∈ A x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y
48 47 ex ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c → c < b → ∃ x ∈ A ∃ y ∈ A x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y
49 33 48 jaod ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c → b < c ∨ c < b → ∃ x ∈ A ∃ y ∈ A x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y
50 eqid ⊢ z ∈ A ⟼ C = z ∈ A ⟼ C
51 simplr ⊢ φ ∧ x ∈ A ∧ y ∈ A → x ∈ A
52 eleq1w ⊢ z = x → z ∈ A ↔ x ∈ A
53 52 anbi2d ⊢ z = x → φ ∧ z ∈ A ↔ φ ∧ x ∈ A
54 5 eleq1d ⊢ z = x → C ∈ B ↔ D ∈ B
55 53 54 imbi12d ⊢ z = x → φ ∧ z ∈ A → C ∈ B ↔ φ ∧ x ∈ A → D ∈ B
56 55 4 chvarvv ⊢ φ ∧ x ∈ A → D ∈ B
57 56 adantr ⊢ φ ∧ x ∈ A ∧ y ∈ A → D ∈ B
58 50 5 51 57 fvmptd3 ⊢ φ ∧ x ∈ A ∧ y ∈ A → z ∈ A ⟼ C ⁡ x = D
59 simpr ⊢ φ ∧ x ∈ A ∧ y ∈ A → y ∈ A
60 eleq1w ⊢ z = y → z ∈ A ↔ y ∈ A
61 60 anbi2d ⊢ z = y → φ ∧ z ∈ A ↔ φ ∧ y ∈ A
62 6 eleq1d ⊢ z = y → C ∈ B ↔ E ∈ B
63 61 62 imbi12d ⊢ z = y → φ ∧ z ∈ A → C ∈ B ↔ φ ∧ y ∈ A → E ∈ B
64 63 4 chvarvv ⊢ φ ∧ y ∈ A → E ∈ B
65 64 adantlr ⊢ φ ∧ x ∈ A ∧ y ∈ A → E ∈ B
66 50 6 59 65 fvmptd3 ⊢ φ ∧ x ∈ A ∧ y ∈ A → z ∈ A ⟼ C ⁡ y = E
67 58 66 eqeq12d ⊢ φ ∧ x ∈ A ∧ y ∈ A → z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y ↔ D = E
68 67 biimpd ⊢ φ ∧ x ∈ A ∧ y ∈ A → z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y → D = E
69 68 anim2d ⊢ φ ∧ x ∈ A ∧ y ∈ A → x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y → x < y ∧ D = E
70 69 reximdva ⊢ φ ∧ x ∈ A → ∃ y ∈ A x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y → ∃ y ∈ A x < y ∧ D = E
71 70 reximdva ⊢ φ → ∃ x ∈ A ∃ y ∈ A x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y → ∃ x ∈ A ∃ y ∈ A x < y ∧ D = E
72 71 ad2antrr ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c → ∃ x ∈ A ∃ y ∈ A x < y ∧ z ∈ A ⟼ C ⁡ x = z ∈ A ⟼ C ⁡ y → ∃ x ∈ A ∃ y ∈ A x < y ∧ D = E
73 49 72 syld ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c → b < c ∨ c < b → ∃ x ∈ A ∃ y ∈ A x < y ∧ D = E
74 17 73 sylbid ⊢ φ ∧ b ∈ A ∧ c ∈ A ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c → b ≠ c → ∃ x ∈ A ∃ y ∈ A x < y ∧ D = E
75 74 expimpd ⊢ φ ∧ b ∈ A ∧ c ∈ A → z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c ∧ b ≠ c → ∃ x ∈ A ∃ y ∈ A x < y ∧ D = E
76 75 ancomsd ⊢ φ ∧ b ∈ A ∧ c ∈ A → b ≠ c ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c → ∃ x ∈ A ∃ y ∈ A x < y ∧ D = E
77 76 rexlimdvva ⊢ φ → ∃ b ∈ A ∃ c ∈ A b ≠ c ∧ z ∈ A ⟼ C ⁡ b = z ∈ A ⟼ C ⁡ c → ∃ x ∈ A ∃ y ∈ A x < y ∧ D = E
78 10 77 mpd ⊢ φ → ∃ x ∈ A ∃ y ∈ A x < y ∧ D = E