Metamath Proof Explorer


Theorem poimirlem18

Description: Lemma for poimir stating that, given a face not on a front face of the main cube and a simplex in which it's opposite the first vertex on the walk, there exists exactly one other simplex containing it. (Contributed by Brendan Leahy, 21-Aug-2020)

Ref Expression
Hypotheses poimir.0 ⊢ φ → N ∈ ℕ
poimirlem22.s ⊢ S = t ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N | F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ t y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0
poimirlem22.1 ⊢ φ → F : 0 … N − 1 ⟶ 0 … K 1 … N
poimirlem22.2 ⊢ φ → T ∈ S
poimirlem18.3 ⊢ φ ∧ n ∈ 1 … N → ∃ p ∈ ran ⁡ F p ⁡ n ≠ K
poimirlem18.4 ⊢ φ → 2 nd ⁡ T = 0
Assertion poimirlem18 ⊢ φ → ∃! z ∈ S z ≠ T

Proof

Step Hyp Ref Expression
1 poimir.0 ⊢ φ → N ∈ ℕ
2 poimirlem22.s ⊢ S = t ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N | F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ t y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0
3 poimirlem22.1 ⊢ φ → F : 0 … N − 1 ⟶ 0 … K 1 … N
4 poimirlem22.2 ⊢ φ → T ∈ S
5 poimirlem18.3 ⊢ φ ∧ n ∈ 1 … N → ∃ p ∈ ran ⁡ F p ⁡ n ≠ K
6 poimirlem18.4 ⊢ φ → 2 nd ⁡ T = 0
7 1 2 3 4 5 6 poimirlem17 ⊢ φ → ∃ z ∈ S z ≠ T
8 6 adantr ⊢ φ ∧ z ∈ S → 2 nd ⁡ T = 0
9 0nnn ⊢ ¬ 0 ∈ ℕ
10 elfznn ⊢ 0 ∈ 1 … N − 1 → 0 ∈ ℕ
11 9 10 mto ⊢ ¬ 0 ∈ 1 … N − 1
12 eleq1 ⊢ 2 nd ⁡ z = 0 → 2 nd ⁡ z ∈ 1 … N − 1 ↔ 0 ∈ 1 … N − 1
13 11 12 mtbiri ⊢ 2 nd ⁡ z = 0 → ¬ 2 nd ⁡ z ∈ 1 … N − 1
14 13 necon2ai ⊢ 2 nd ⁡ z ∈ 1 … N − 1 → 2 nd ⁡ z ≠ 0
15 1 ad2antrr ⊢ φ ∧ z ∈ S ∧ 2 nd ⁡ z ∈ 1 … N − 1 → N ∈ ℕ
16 fveq2 ⊢ t = z → 2 nd ⁡ t = 2 nd ⁡ z
17 16 breq2d ⊢ t = z → y < 2 nd ⁡ t ↔ y < 2 nd ⁡ z
18 17 ifbid ⊢ t = z → if y < 2 nd ⁡ t y y + 1 = if y < 2 nd ⁡ z y y + 1
19 18 csbeq1d ⊢ t = z → ⦋ if y < 2 nd ⁡ t y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = ⦋ if y < 2 nd ⁡ z y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0
20 2fveq3 ⊢ t = z → 1 st ⁡ 1 st ⁡ t = 1 st ⁡ 1 st ⁡ z
21 2fveq3 ⊢ t = z → 2 nd ⁡ 1 st ⁡ t = 2 nd ⁡ 1 st ⁡ z
22 21 imaeq1d ⊢ t = z → 2 nd ⁡ 1 st ⁡ t 1 … j = 2 nd ⁡ 1 st ⁡ z 1 … j
23 22 xpeq1d ⊢ t = z → 2 nd ⁡ 1 st ⁡ t 1 … j × 1 = 2 nd ⁡ 1 st ⁡ z 1 … j × 1
24 21 imaeq1d ⊢ t = z → 2 nd ⁡ 1 st ⁡ t j + 1 … N = 2 nd ⁡ 1 st ⁡ z j + 1 … N
25 24 xpeq1d ⊢ t = z → 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = 2 nd ⁡ 1 st ⁡ z j + 1 … N × 0
26 23 25 uneq12d ⊢ t = z → 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = 2 nd ⁡ 1 st ⁡ z 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ z j + 1 … N × 0
27 20 26 oveq12d ⊢ t = z → 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = 1 st ⁡ 1 st ⁡ z + f 2 nd ⁡ 1 st ⁡ z 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ z j + 1 … N × 0
28 27 csbeq2dv ⊢ t = z → ⦋ if y < 2 nd ⁡ z y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = ⦋ if y < 2 nd ⁡ z y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ z + f 2 nd ⁡ 1 st ⁡ z 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ z j + 1 … N × 0
29 19 28 eqtrd ⊢ t = z → ⦋ if y < 2 nd ⁡ t y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = ⦋ if y < 2 nd ⁡ z y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ z + f 2 nd ⁡ 1 st ⁡ z 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ z j + 1 … N × 0
30 29 mpteq2dv ⊢ t = z → y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ t y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ z y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ z + f 2 nd ⁡ 1 st ⁡ z 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ z j + 1 … N × 0
31 30 eqeq2d ⊢ t = z → F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ t y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 ↔ F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ z y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ z + f 2 nd ⁡ 1 st ⁡ z 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ z j + 1 … N × 0
32 31 2 elrab2 ⊢ z ∈ S ↔ z ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N ∧ F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ z y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ z + f 2 nd ⁡ 1 st ⁡ z 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ z j + 1 … N × 0
33 32 simprbi ⊢ z ∈ S → F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ z y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ z + f 2 nd ⁡ 1 st ⁡ z 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ z j + 1 … N × 0
34 33 ad2antlr ⊢ φ ∧ z ∈ S ∧ 2 nd ⁡ z ∈ 1 … N − 1 → F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ z y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ z + f 2 nd ⁡ 1 st ⁡ z 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ z j + 1 … N × 0
35 elrabi ⊢ z ∈ t ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N | F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ t y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 → z ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N
36 35 2 eleq2s ⊢ z ∈ S → z ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N
37 xp1st ⊢ z ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N → 1 st ⁡ z ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N
38 xp1st ⊢ 1 st ⁡ z ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N → 1 st ⁡ 1 st ⁡ z ∈ 0 ..^ K 1 … N
39 elmapi ⊢ 1 st ⁡ 1 st ⁡ z ∈ 0 ..^ K 1 … N → 1 st ⁡ 1 st ⁡ z : 1 … N ⟶ 0 ..^ K
40 36 37 38 39 4syl ⊢ z ∈ S → 1 st ⁡ 1 st ⁡ z : 1 … N ⟶ 0 ..^ K
41 elfzoelz ⊢ n ∈ 0 ..^ K → n ∈ ℤ
42 41 ssriv ⊢ 0 ..^ K ⊆ ℤ
43 fss ⊢ 1 st ⁡ 1 st ⁡ z : 1 … N ⟶ 0 ..^ K ∧ 0 ..^ K ⊆ ℤ → 1 st ⁡ 1 st ⁡ z : 1 … N ⟶ ℤ
44 40 42 43 sylancl ⊢ z ∈ S → 1 st ⁡ 1 st ⁡ z : 1 … N ⟶ ℤ
45 44 ad2antlr ⊢ φ ∧ z ∈ S ∧ 2 nd ⁡ z ∈ 1 … N − 1 → 1 st ⁡ 1 st ⁡ z : 1 … N ⟶ ℤ
46 36 37 syl ⊢ z ∈ S → 1 st ⁡ z ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N
47 xp2nd ⊢ 1 st ⁡ z ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N → 2 nd ⁡ 1 st ⁡ z ∈ f | f : 1 … N ⟶ 1-1 onto 1 … N
48 46 47 syl ⊢ z ∈ S → 2 nd ⁡ 1 st ⁡ z ∈ f | f : 1 … N ⟶ 1-1 onto 1 … N
49 fvex ⊢ 2 nd ⁡ 1 st ⁡ z ∈ V
50 f1oeq1 ⊢ f = 2 nd ⁡ 1 st ⁡ z → f : 1 … N ⟶ 1-1 onto 1 … N ↔ 2 nd ⁡ 1 st ⁡ z : 1 … N ⟶ 1-1 onto 1 … N
51 49 50 elab ⊢ 2 nd ⁡ 1 st ⁡ z ∈ f | f : 1 … N ⟶ 1-1 onto 1 … N ↔ 2 nd ⁡ 1 st ⁡ z : 1 … N ⟶ 1-1 onto 1 … N
52 48 51 sylib ⊢ z ∈ S → 2 nd ⁡ 1 st ⁡ z : 1 … N ⟶ 1-1 onto 1 … N
53 52 ad2antlr ⊢ φ ∧ z ∈ S ∧ 2 nd ⁡ z ∈ 1 … N − 1 → 2 nd ⁡ 1 st ⁡ z : 1 … N ⟶ 1-1 onto 1 … N
54 simpr ⊢ φ ∧ z ∈ S ∧ 2 nd ⁡ z ∈ 1 … N − 1 → 2 nd ⁡ z ∈ 1 … N − 1
55 15 34 45 53 54 poimirlem1 ⊢ φ ∧ z ∈ S ∧ 2 nd ⁡ z ∈ 1 … N − 1 → ¬ ∃* n ∈ 1 … N F ⁡ 2 nd ⁡ z − 1 ⁡ n ≠ F ⁡ 2 nd ⁡ z ⁡ n
56 1 ad2antrr ⊢ φ ∧ 2 nd ⁡ z ∈ 1 … N − 1 ∧ 2 nd ⁡ T ≠ 2 nd ⁡ z → N ∈ ℕ
57 fveq2 ⊢ t = T → 2 nd ⁡ t = 2 nd ⁡ T
58 57 breq2d ⊢ t = T → y < 2 nd ⁡ t ↔ y < 2 nd ⁡ T
59 58 ifbid ⊢ t = T → if y < 2 nd ⁡ t y y + 1 = if y < 2 nd ⁡ T y y + 1
60 59 csbeq1d ⊢ t = T → ⦋ if y < 2 nd ⁡ t y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = ⦋ if y < 2 nd ⁡ T y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0
61 2fveq3 ⊢ t = T → 1 st ⁡ 1 st ⁡ t = 1 st ⁡ 1 st ⁡ T
62 2fveq3 ⊢ t = T → 2 nd ⁡ 1 st ⁡ t = 2 nd ⁡ 1 st ⁡ T
63 62 imaeq1d ⊢ t = T → 2 nd ⁡ 1 st ⁡ t 1 … j = 2 nd ⁡ 1 st ⁡ T 1 … j
64 63 xpeq1d ⊢ t = T → 2 nd ⁡ 1 st ⁡ t 1 … j × 1 = 2 nd ⁡ 1 st ⁡ T 1 … j × 1
65 62 imaeq1d ⊢ t = T → 2 nd ⁡ 1 st ⁡ t j + 1 … N = 2 nd ⁡ 1 st ⁡ T j + 1 … N
66 65 xpeq1d ⊢ t = T → 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
67 64 66 uneq12d ⊢ t = T → 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = 2 nd ⁡ 1 st ⁡ T 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
68 61 67 oveq12d ⊢ t = T → 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
69 68 csbeq2dv ⊢ t = T → ⦋ if y < 2 nd ⁡ T y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = ⦋ if y < 2 nd ⁡ T y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
70 60 69 eqtrd ⊢ t = T → ⦋ if y < 2 nd ⁡ t y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = ⦋ if y < 2 nd ⁡ T y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
71 70 mpteq2dv ⊢ t = T → y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ t y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ T y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
72 71 eqeq2d ⊢ t = T → F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ t y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 ↔ F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ T y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
73 72 2 elrab2 ⊢ T ∈ S ↔ T ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N ∧ F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ T y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
74 73 simprbi ⊢ T ∈ S → F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ T y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
75 4 74 syl ⊢ φ → F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ T y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
76 75 ad2antrr ⊢ φ ∧ 2 nd ⁡ z ∈ 1 … N − 1 ∧ 2 nd ⁡ T ≠ 2 nd ⁡ z → F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ T y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
77 elrabi ⊢ T ∈ t ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N | F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ t y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ t + f 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 → T ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N
78 77 2 eleq2s ⊢ T ∈ S → T ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N
79 4 78 syl ⊢ φ → T ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N
80 xp1st ⊢ T ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N → 1 st ⁡ T ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N
81 xp1st ⊢ 1 st ⁡ T ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N → 1 st ⁡ 1 st ⁡ T ∈ 0 ..^ K 1 … N
82 elmapi ⊢ 1 st ⁡ 1 st ⁡ T ∈ 0 ..^ K 1 … N → 1 st ⁡ 1 st ⁡ T : 1 … N ⟶ 0 ..^ K
83 79 80 81 82 4syl ⊢ φ → 1 st ⁡ 1 st ⁡ T : 1 … N ⟶ 0 ..^ K
84 fss ⊢ 1 st ⁡ 1 st ⁡ T : 1 … N ⟶ 0 ..^ K ∧ 0 ..^ K ⊆ ℤ → 1 st ⁡ 1 st ⁡ T : 1 … N ⟶ ℤ
85 83 42 84 sylancl ⊢ φ → 1 st ⁡ 1 st ⁡ T : 1 … N ⟶ ℤ
86 85 ad2antrr ⊢ φ ∧ 2 nd ⁡ z ∈ 1 … N − 1 ∧ 2 nd ⁡ T ≠ 2 nd ⁡ z → 1 st ⁡ 1 st ⁡ T : 1 … N ⟶ ℤ
87 xp2nd ⊢ 1 st ⁡ T ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N → 2 nd ⁡ 1 st ⁡ T ∈ f | f : 1 … N ⟶ 1-1 onto 1 … N
88 4 78 80 87 4syl ⊢ φ → 2 nd ⁡ 1 st ⁡ T ∈ f | f : 1 … N ⟶ 1-1 onto 1 … N
89 fvex ⊢ 2 nd ⁡ 1 st ⁡ T ∈ V
90 f1oeq1 ⊢ f = 2 nd ⁡ 1 st ⁡ T → f : 1 … N ⟶ 1-1 onto 1 … N ↔ 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ 1-1 onto 1 … N
91 89 90 elab ⊢ 2 nd ⁡ 1 st ⁡ T ∈ f | f : 1 … N ⟶ 1-1 onto 1 … N ↔ 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ 1-1 onto 1 … N
92 88 91 sylib ⊢ φ → 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ 1-1 onto 1 … N
93 92 ad2antrr ⊢ φ ∧ 2 nd ⁡ z ∈ 1 … N − 1 ∧ 2 nd ⁡ T ≠ 2 nd ⁡ z → 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ 1-1 onto 1 … N
94 simplr ⊢ φ ∧ 2 nd ⁡ z ∈ 1 … N − 1 ∧ 2 nd ⁡ T ≠ 2 nd ⁡ z → 2 nd ⁡ z ∈ 1 … N − 1
95 xp2nd ⊢ T ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N → 2 nd ⁡ T ∈ 0 … N
96 79 95 syl ⊢ φ → 2 nd ⁡ T ∈ 0 … N
97 96 adantr ⊢ φ ∧ 2 nd ⁡ z ∈ 1 … N − 1 → 2 nd ⁡ T ∈ 0 … N
98 eldifsn ⊢ 2 nd ⁡ T ∈ 0 … N ∖ 2 nd ⁡ z ↔ 2 nd ⁡ T ∈ 0 … N ∧ 2 nd ⁡ T ≠ 2 nd ⁡ z
99 98 biimpri ⊢ 2 nd ⁡ T ∈ 0 … N ∧ 2 nd ⁡ T ≠ 2 nd ⁡ z → 2 nd ⁡ T ∈ 0 … N ∖ 2 nd ⁡ z
100 97 99 sylan ⊢ φ ∧ 2 nd ⁡ z ∈ 1 … N − 1 ∧ 2 nd ⁡ T ≠ 2 nd ⁡ z → 2 nd ⁡ T ∈ 0 … N ∖ 2 nd ⁡ z
101 56 76 86 93 94 100 poimirlem2 ⊢ φ ∧ 2 nd ⁡ z ∈ 1 … N − 1 ∧ 2 nd ⁡ T ≠ 2 nd ⁡ z → ∃* n ∈ 1 … N F ⁡ 2 nd ⁡ z − 1 ⁡ n ≠ F ⁡ 2 nd ⁡ z ⁡ n
102 101 ex ⊢ φ ∧ 2 nd ⁡ z ∈ 1 … N − 1 → 2 nd ⁡ T ≠ 2 nd ⁡ z → ∃* n ∈ 1 … N F ⁡ 2 nd ⁡ z − 1 ⁡ n ≠ F ⁡ 2 nd ⁡ z ⁡ n
103 102 necon1bd ⊢ φ ∧ 2 nd ⁡ z ∈ 1 … N − 1 → ¬ ∃* n ∈ 1 … N F ⁡ 2 nd ⁡ z − 1 ⁡ n ≠ F ⁡ 2 nd ⁡ z ⁡ n → 2 nd ⁡ T = 2 nd ⁡ z
104 103 adantlr ⊢ φ ∧ z ∈ S ∧ 2 nd ⁡ z ∈ 1 … N − 1 → ¬ ∃* n ∈ 1 … N F ⁡ 2 nd ⁡ z − 1 ⁡ n ≠ F ⁡ 2 nd ⁡ z ⁡ n → 2 nd ⁡ T = 2 nd ⁡ z
105 55 104 mpd ⊢ φ ∧ z ∈ S ∧ 2 nd ⁡ z ∈ 1 … N − 1 → 2 nd ⁡ T = 2 nd ⁡ z
106 105 neeq1d ⊢ φ ∧ z ∈ S ∧ 2 nd ⁡ z ∈ 1 … N − 1 → 2 nd ⁡ T ≠ 0 ↔ 2 nd ⁡ z ≠ 0
107 106 exbiri ⊢ φ ∧ z ∈ S → 2 nd ⁡ z ∈ 1 … N − 1 → 2 nd ⁡ z ≠ 0 → 2 nd ⁡ T ≠ 0
108 14 107 mpdi ⊢ φ ∧ z ∈ S → 2 nd ⁡ z ∈ 1 … N − 1 → 2 nd ⁡ T ≠ 0
109 108 necon2bd ⊢ φ ∧ z ∈ S → 2 nd ⁡ T = 0 → ¬ 2 nd ⁡ z ∈ 1 … N − 1
110 8 109 mpd ⊢ φ ∧ z ∈ S → ¬ 2 nd ⁡ z ∈ 1 … N − 1
111 xp2nd ⊢ z ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N → 2 nd ⁡ z ∈ 0 … N
112 36 111 syl ⊢ z ∈ S → 2 nd ⁡ z ∈ 0 … N
113 1 nncnd ⊢ φ → N ∈ ℂ
114 npcan1 ⊢ N ∈ ℂ → N - 1 + 1 = N
115 113 114 syl ⊢ φ → N - 1 + 1 = N
116 nnuz ⊢ ℕ = ℤ ≥ 1
117 1 116 eleqtrdi ⊢ φ → N ∈ ℤ ≥ 1
118 115 117 eqeltrd ⊢ φ → N - 1 + 1 ∈ ℤ ≥ 1
119 1 nnzd ⊢ φ → N ∈ ℤ
120 peano2zm ⊢ N ∈ ℤ → N − 1 ∈ ℤ
121 uzid ⊢ N − 1 ∈ ℤ → N − 1 ∈ ℤ ≥ N − 1
122 peano2uz ⊢ N − 1 ∈ ℤ ≥ N − 1 → N - 1 + 1 ∈ ℤ ≥ N − 1
123 119 120 121 122 4syl ⊢ φ → N - 1 + 1 ∈ ℤ ≥ N − 1
124 115 123 eqeltrrd ⊢ φ → N ∈ ℤ ≥ N − 1
125 fzsplit2 ⊢ N - 1 + 1 ∈ ℤ ≥ 1 ∧ N ∈ ℤ ≥ N − 1 → 1 … N = 1 … N − 1 ∪ N - 1 + 1 … N
126 118 124 125 syl2anc ⊢ φ → 1 … N = 1 … N − 1 ∪ N - 1 + 1 … N
127 115 oveq1d ⊢ φ → N - 1 + 1 … N = N … N
128 fzsn ⊢ N ∈ ℤ → N … N = N
129 119 128 syl ⊢ φ → N … N = N
130 127 129 eqtrd ⊢ φ → N - 1 + 1 … N = N
131 130 uneq2d ⊢ φ → 1 … N − 1 ∪ N - 1 + 1 … N = 1 … N − 1 ∪ N
132 126 131 eqtrd ⊢ φ → 1 … N = 1 … N − 1 ∪ N
133 132 eleq2d ⊢ φ → 2 nd ⁡ z ∈ 1 … N ↔ 2 nd ⁡ z ∈ 1 … N − 1 ∪ N
134 133 notbid ⊢ φ → ¬ 2 nd ⁡ z ∈ 1 … N ↔ ¬ 2 nd ⁡ z ∈ 1 … N − 1 ∪ N
135 ioran ⊢ ¬ 2 nd ⁡ z ∈ 1 … N − 1 ∨ 2 nd ⁡ z = N ↔ ¬ 2 nd ⁡ z ∈ 1 … N − 1 ∧ ¬ 2 nd ⁡ z = N
136 elun ⊢ 2 nd ⁡ z ∈ 1 … N − 1 ∪ N ↔ 2 nd ⁡ z ∈ 1 … N − 1 ∨ 2 nd ⁡ z ∈ N
137 fvex ⊢ 2 nd ⁡ z ∈ V
138 137 elsn ⊢ 2 nd ⁡ z ∈ N ↔ 2 nd ⁡ z = N
139 138 orbi2i ⊢ 2 nd ⁡ z ∈ 1 … N − 1 ∨ 2 nd ⁡ z ∈ N ↔ 2 nd ⁡ z ∈ 1 … N − 1 ∨ 2 nd ⁡ z = N
140 136 139 bitri ⊢ 2 nd ⁡ z ∈ 1 … N − 1 ∪ N ↔ 2 nd ⁡ z ∈ 1 … N − 1 ∨ 2 nd ⁡ z = N
141 135 140 xchnxbir ⊢ ¬ 2 nd ⁡ z ∈ 1 … N − 1 ∪ N ↔ ¬ 2 nd ⁡ z ∈ 1 … N − 1 ∧ ¬ 2 nd ⁡ z = N
142 134 141 bitrdi ⊢ φ → ¬ 2 nd ⁡ z ∈ 1 … N ↔ ¬ 2 nd ⁡ z ∈ 1 … N − 1 ∧ ¬ 2 nd ⁡ z = N
143 142 anbi2d ⊢ φ → 2 nd ⁡ z ∈ 0 … N ∧ ¬ 2 nd ⁡ z ∈ 1 … N ↔ 2 nd ⁡ z ∈ 0 … N ∧ ¬ 2 nd ⁡ z ∈ 1 … N − 1 ∧ ¬ 2 nd ⁡ z = N
144 1 nnnn0d ⊢ φ → N ∈ ℕ 0
145 nn0uz ⊢ ℕ 0 = ℤ ≥ 0
146 144 145 eleqtrdi ⊢ φ → N ∈ ℤ ≥ 0
147 fzpred ⊢ N ∈ ℤ ≥ 0 → 0 … N = 0 ∪ 0 + 1 … N
148 146 147 syl ⊢ φ → 0 … N = 0 ∪ 0 + 1 … N
149 148 difeq1d ⊢ φ → 0 … N ∖ 1 … N = 0 ∪ 0 + 1 … N ∖ 1 … N
150 difun2 ⊢ 0 ∪ 1 … N ∖ 1 … N = 0 ∖ 1 … N
151 0p1e1 ⊢ 0 + 1 = 1
152 151 oveq1i ⊢ 0 + 1 … N = 1 … N
153 152 uneq2i ⊢ 0 ∪ 0 + 1 … N = 0 ∪ 1 … N
154 153 difeq1i ⊢ 0 ∪ 0 + 1 … N ∖ 1 … N = 0 ∪ 1 … N ∖ 1 … N
155 incom ⊢ 0 ∩ 1 … N = 1 … N ∩ 0
156 elfznn ⊢ 0 ∈ 1 … N → 0 ∈ ℕ
157 9 156 mto ⊢ ¬ 0 ∈ 1 … N
158 disjsn ⊢ 1 … N ∩ 0 = ∅ ↔ ¬ 0 ∈ 1 … N
159 157 158 mpbir ⊢ 1 … N ∩ 0 = ∅
160 155 159 eqtri ⊢ 0 ∩ 1 … N = ∅
161 disj3 ⊢ 0 ∩ 1 … N = ∅ ↔ 0 = 0 ∖ 1 … N
162 160 161 mpbi ⊢ 0 = 0 ∖ 1 … N
163 150 154 162 3eqtr4i ⊢ 0 ∪ 0 + 1 … N ∖ 1 … N = 0
164 149 163 eqtrdi ⊢ φ → 0 … N ∖ 1 … N = 0
165 164 eleq2d ⊢ φ → 2 nd ⁡ z ∈ 0 … N ∖ 1 … N ↔ 2 nd ⁡ z ∈ 0
166 eldif ⊢ 2 nd ⁡ z ∈ 0 … N ∖ 1 … N ↔ 2 nd ⁡ z ∈ 0 … N ∧ ¬ 2 nd ⁡ z ∈ 1 … N
167 137 elsn ⊢ 2 nd ⁡ z ∈ 0 ↔ 2 nd ⁡ z = 0
168 165 166 167 3bitr3g ⊢ φ → 2 nd ⁡ z ∈ 0 … N ∧ ¬ 2 nd ⁡ z ∈ 1 … N ↔ 2 nd ⁡ z = 0
169 143 168 bitr3d ⊢ φ → 2 nd ⁡ z ∈ 0 … N ∧ ¬ 2 nd ⁡ z ∈ 1 … N − 1 ∧ ¬ 2 nd ⁡ z = N ↔ 2 nd ⁡ z = 0
170 169 biimpd ⊢ φ → 2 nd ⁡ z ∈ 0 … N ∧ ¬ 2 nd ⁡ z ∈ 1 … N − 1 ∧ ¬ 2 nd ⁡ z = N → 2 nd ⁡ z = 0
171 170 expdimp ⊢ φ ∧ 2 nd ⁡ z ∈ 0 … N → ¬ 2 nd ⁡ z ∈ 1 … N − 1 ∧ ¬ 2 nd ⁡ z = N → 2 nd ⁡ z = 0
172 112 171 sylan2 ⊢ φ ∧ z ∈ S → ¬ 2 nd ⁡ z ∈ 1 … N − 1 ∧ ¬ 2 nd ⁡ z = N → 2 nd ⁡ z = 0
173 110 172 mpand ⊢ φ ∧ z ∈ S → ¬ 2 nd ⁡ z = N → 2 nd ⁡ z = 0
174 1 2 3 poimirlem13 ⊢ φ → ∃* z ∈ S 2 nd ⁡ z = 0
175 fveqeq2 ⊢ z = s → 2 nd ⁡ z = 0 ↔ 2 nd ⁡ s = 0
176 175 rmo4 ⊢ ∃* z ∈ S 2 nd ⁡ z = 0 ↔ ∀ z ∈ S ∀ s ∈ S 2 nd ⁡ z = 0 ∧ 2 nd ⁡ s = 0 → z = s
177 174 176 sylib ⊢ φ → ∀ z ∈ S ∀ s ∈ S 2 nd ⁡ z = 0 ∧ 2 nd ⁡ s = 0 → z = s
178 177 r19.21bi ⊢ φ ∧ z ∈ S → ∀ s ∈ S 2 nd ⁡ z = 0 ∧ 2 nd ⁡ s = 0 → z = s
179 4 adantr ⊢ φ ∧ z ∈ S → T ∈ S
180 fveqeq2 ⊢ s = T → 2 nd ⁡ s = 0 ↔ 2 nd ⁡ T = 0
181 180 anbi2d ⊢ s = T → 2 nd ⁡ z = 0 ∧ 2 nd ⁡ s = 0 ↔ 2 nd ⁡ z = 0 ∧ 2 nd ⁡ T = 0
182 eqeq2 ⊢ s = T → z = s ↔ z = T
183 181 182 imbi12d ⊢ s = T → 2 nd ⁡ z = 0 ∧ 2 nd ⁡ s = 0 → z = s ↔ 2 nd ⁡ z = 0 ∧ 2 nd ⁡ T = 0 → z = T
184 183 rspccv ⊢ ∀ s ∈ S 2 nd ⁡ z = 0 ∧ 2 nd ⁡ s = 0 → z = s → T ∈ S → 2 nd ⁡ z = 0 ∧ 2 nd ⁡ T = 0 → z = T
185 178 179 184 sylc ⊢ φ ∧ z ∈ S → 2 nd ⁡ z = 0 ∧ 2 nd ⁡ T = 0 → z = T
186 8 185 mpan2d ⊢ φ ∧ z ∈ S → 2 nd ⁡ z = 0 → z = T
187 173 186 syld ⊢ φ ∧ z ∈ S → ¬ 2 nd ⁡ z = N → z = T
188 187 necon1ad ⊢ φ ∧ z ∈ S → z ≠ T → 2 nd ⁡ z = N
189 188 ralrimiva ⊢ φ → ∀ z ∈ S z ≠ T → 2 nd ⁡ z = N
190 1 2 3 poimirlem14 ⊢ φ → ∃* z ∈ S 2 nd ⁡ z = N
191 rmoim ⊢ ∀ z ∈ S z ≠ T → 2 nd ⁡ z = N → ∃* z ∈ S 2 nd ⁡ z = N → ∃* z ∈ S z ≠ T
192 189 190 191 sylc ⊢ φ → ∃* z ∈ S z ≠ T
193 reu5 ⊢ ∃! z ∈ S z ≠ T ↔ ∃ z ∈ S z ≠ T ∧ ∃* z ∈ S z ≠ T
194 7 192 193 sylanbrc ⊢ φ → ∃! z ∈ S z ≠ T