Metamath Proof Explorer


Theorem poimirlem12

Description: Lemma for poimir connecting walks that could yield from a given cube a given face opposite the final vertex of the walk. (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
poimirlem12.2 ⊢ φ → T ∈ S
poimirlem12.3 ⊢ φ → 2 nd ⁡ T = N
poimirlem12.4 ⊢ φ → U ∈ S
poimirlem12.5 ⊢ φ → 2 nd ⁡ U = N
poimirlem12.6 ⊢ φ → M ∈ 0 … N − 1
Assertion poimirlem12 ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M ⊆ 2 nd ⁡ 1 st ⁡ U 1 … M

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 poimirlem12.2 ⊢ φ → T ∈ S
5 poimirlem12.3 ⊢ φ → 2 nd ⁡ T = N
6 poimirlem12.4 ⊢ φ → U ∈ S
7 poimirlem12.5 ⊢ φ → 2 nd ⁡ U = N
8 poimirlem12.6 ⊢ φ → M ∈ 0 … N − 1
9 eldif ⊢ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∖ 2 nd ⁡ 1 st ⁡ U 1 … M ↔ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∧ ¬ y ∈ 2 nd ⁡ 1 st ⁡ U 1 … M
10 imassrn ⊢ 2 nd ⁡ 1 st ⁡ T 1 … M ⊆ ran ⁡ 2 nd ⁡ 1 st ⁡ T
11 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
12 11 2 eleq2s ⊢ T ∈ S → T ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N
13 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
14 4 12 13 3syl ⊢ φ → 1 st ⁡ T ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N
15 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
16 14 15 syl ⊢ φ → 2 nd ⁡ 1 st ⁡ T ∈ f | f : 1 … N ⟶ 1-1 onto 1 … N
17 fvex ⊢ 2 nd ⁡ 1 st ⁡ T ∈ V
18 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
19 17 18 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
20 16 19 sylib ⊢ φ → 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ 1-1 onto 1 … N
21 f1of ⊢ 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ 1-1 onto 1 … N → 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ 1 … N
22 frn ⊢ 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ 1 … N → ran ⁡ 2 nd ⁡ 1 st ⁡ T ⊆ 1 … N
23 20 21 22 3syl ⊢ φ → ran ⁡ 2 nd ⁡ 1 st ⁡ T ⊆ 1 … N
24 10 23 sstrid ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M ⊆ 1 … N
25 elrabi ⊢ U ∈ 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 → U ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N
26 25 2 eleq2s ⊢ U ∈ S → U ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N
27 xp1st ⊢ U ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N → 1 st ⁡ U ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N
28 6 26 27 3syl ⊢ φ → 1 st ⁡ U ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N
29 xp2nd ⊢ 1 st ⁡ U ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N → 2 nd ⁡ 1 st ⁡ U ∈ f | f : 1 … N ⟶ 1-1 onto 1 … N
30 28 29 syl ⊢ φ → 2 nd ⁡ 1 st ⁡ U ∈ f | f : 1 … N ⟶ 1-1 onto 1 … N
31 fvex ⊢ 2 nd ⁡ 1 st ⁡ U ∈ V
32 f1oeq1 ⊢ f = 2 nd ⁡ 1 st ⁡ U → f : 1 … N ⟶ 1-1 onto 1 … N ↔ 2 nd ⁡ 1 st ⁡ U : 1 … N ⟶ 1-1 onto 1 … N
33 31 32 elab ⊢ 2 nd ⁡ 1 st ⁡ U ∈ f | f : 1 … N ⟶ 1-1 onto 1 … N ↔ 2 nd ⁡ 1 st ⁡ U : 1 … N ⟶ 1-1 onto 1 … N
34 30 33 sylib ⊢ φ → 2 nd ⁡ 1 st ⁡ U : 1 … N ⟶ 1-1 onto 1 … N
35 f1ofo ⊢ 2 nd ⁡ 1 st ⁡ U : 1 … N ⟶ 1-1 onto 1 … N → 2 nd ⁡ 1 st ⁡ U : 1 … N ⟶ onto 1 … N
36 foima ⊢ 2 nd ⁡ 1 st ⁡ U : 1 … N ⟶ onto 1 … N → 2 nd ⁡ 1 st ⁡ U 1 … N = 1 … N
37 34 35 36 3syl ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … N = 1 … N
38 24 37 sseqtrrd ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M ⊆ 2 nd ⁡ 1 st ⁡ U 1 … N
39 38 ssdifd ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M ∖ 2 nd ⁡ 1 st ⁡ U 1 … M ⊆ 2 nd ⁡ 1 st ⁡ U 1 … N ∖ 2 nd ⁡ 1 st ⁡ U 1 … M
40 dff1o3 ⊢ 2 nd ⁡ 1 st ⁡ U : 1 … N ⟶ 1-1 onto 1 … N ↔ 2 nd ⁡ 1 st ⁡ U : 1 … N ⟶ onto 1 … N ∧ Fun ⁡ 2 nd ⁡ 1 st ⁡ U -1
41 40 simprbi ⊢ 2 nd ⁡ 1 st ⁡ U : 1 … N ⟶ 1-1 onto 1 … N → Fun ⁡ 2 nd ⁡ 1 st ⁡ U -1
42 imadif ⊢ Fun ⁡ 2 nd ⁡ 1 st ⁡ U -1 → 2 nd ⁡ 1 st ⁡ U 1 … N ∖ 1 … M = 2 nd ⁡ 1 st ⁡ U 1 … N ∖ 2 nd ⁡ 1 st ⁡ U 1 … M
43 34 41 42 3syl ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … N ∖ 1 … M = 2 nd ⁡ 1 st ⁡ U 1 … N ∖ 2 nd ⁡ 1 st ⁡ U 1 … M
44 difun2 ⊢ M + 1 … N ∪ 1 … M ∖ 1 … M = M + 1 … N ∖ 1 … M
45 elfznn0 ⊢ M ∈ 0 … N − 1 → M ∈ ℕ 0
46 nn0p1nn ⊢ M ∈ ℕ 0 → M + 1 ∈ ℕ
47 8 45 46 3syl ⊢ φ → M + 1 ∈ ℕ
48 nnuz ⊢ ℕ = ℤ ≥ 1
49 47 48 eleqtrdi ⊢ φ → M + 1 ∈ ℤ ≥ 1
50 1 nncnd ⊢ φ → N ∈ ℂ
51 npcan1 ⊢ N ∈ ℂ → N - 1 + 1 = N
52 50 51 syl ⊢ φ → N - 1 + 1 = N
53 elfzuz3 ⊢ M ∈ 0 … N − 1 → N − 1 ∈ ℤ ≥ M
54 peano2uz ⊢ N − 1 ∈ ℤ ≥ M → N - 1 + 1 ∈ ℤ ≥ M
55 8 53 54 3syl ⊢ φ → N - 1 + 1 ∈ ℤ ≥ M
56 52 55 eqeltrrd ⊢ φ → N ∈ ℤ ≥ M
57 fzsplit2 ⊢ M + 1 ∈ ℤ ≥ 1 ∧ N ∈ ℤ ≥ M → 1 … N = 1 … M ∪ M + 1 … N
58 49 56 57 syl2anc ⊢ φ → 1 … N = 1 … M ∪ M + 1 … N
59 uncom ⊢ 1 … M ∪ M + 1 … N = M + 1 … N ∪ 1 … M
60 58 59 eqtrdi ⊢ φ → 1 … N = M + 1 … N ∪ 1 … M
61 60 difeq1d ⊢ φ → 1 … N ∖ 1 … M = M + 1 … N ∪ 1 … M ∖ 1 … M
62 incom ⊢ M + 1 … N ∩ 1 … M = 1 … M ∩ M + 1 … N
63 8 45 syl ⊢ φ → M ∈ ℕ 0
64 63 nn0red ⊢ φ → M ∈ ℝ
65 64 ltp1d ⊢ φ → M < M + 1
66 fzdisj ⊢ M < M + 1 → 1 … M ∩ M + 1 … N = ∅
67 65 66 syl ⊢ φ → 1 … M ∩ M + 1 … N = ∅
68 62 67 eqtrid ⊢ φ → M + 1 … N ∩ 1 … M = ∅
69 disj3 ⊢ M + 1 … N ∩ 1 … M = ∅ ↔ M + 1 … N = M + 1 … N ∖ 1 … M
70 68 69 sylib ⊢ φ → M + 1 … N = M + 1 … N ∖ 1 … M
71 44 61 70 3eqtr4a ⊢ φ → 1 … N ∖ 1 … M = M + 1 … N
72 71 imaeq2d ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … N ∖ 1 … M = 2 nd ⁡ 1 st ⁡ U M + 1 … N
73 43 72 eqtr3d ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … N ∖ 2 nd ⁡ 1 st ⁡ U 1 … M = 2 nd ⁡ 1 st ⁡ U M + 1 … N
74 39 73 sseqtrd ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M ∖ 2 nd ⁡ 1 st ⁡ U 1 … M ⊆ 2 nd ⁡ 1 st ⁡ U M + 1 … N
75 74 sselda ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∖ 2 nd ⁡ 1 st ⁡ U 1 … M → y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N
76 9 75 sylan2br ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∧ ¬ y ∈ 2 nd ⁡ 1 st ⁡ U 1 … M → y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N
77 fveq2 ⊢ t = U → 2 nd ⁡ t = 2 nd ⁡ U
78 77 breq2d ⊢ t = U → y < 2 nd ⁡ t ↔ y < 2 nd ⁡ U
79 78 ifbid ⊢ t = U → if y < 2 nd ⁡ t y y + 1 = if y < 2 nd ⁡ U y y + 1
80 79 csbeq1d ⊢ t = U → ⦋ 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 ⁡ U 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
81 2fveq3 ⊢ t = U → 1 st ⁡ 1 st ⁡ t = 1 st ⁡ 1 st ⁡ U
82 2fveq3 ⊢ t = U → 2 nd ⁡ 1 st ⁡ t = 2 nd ⁡ 1 st ⁡ U
83 82 imaeq1d ⊢ t = U → 2 nd ⁡ 1 st ⁡ t 1 … j = 2 nd ⁡ 1 st ⁡ U 1 … j
84 83 xpeq1d ⊢ t = U → 2 nd ⁡ 1 st ⁡ t 1 … j × 1 = 2 nd ⁡ 1 st ⁡ U 1 … j × 1
85 82 imaeq1d ⊢ t = U → 2 nd ⁡ 1 st ⁡ t j + 1 … N = 2 nd ⁡ 1 st ⁡ U j + 1 … N
86 85 xpeq1d ⊢ t = U → 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0
87 84 86 uneq12d ⊢ t = U → 2 nd ⁡ 1 st ⁡ t 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0
88 81 87 oveq12d ⊢ t = U → 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 ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0
89 88 csbeq2dv ⊢ t = U → ⦋ if y < 2 nd ⁡ U 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 ⁡ U y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0
90 80 89 eqtrd ⊢ t = U → ⦋ 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 ⁡ U y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0
91 90 mpteq2dv ⊢ t = U → 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 ⁡ U y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0
92 91 eqeq2d ⊢ t = U → 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 ⁡ U y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0
93 92 2 elrab2 ⊢ U ∈ S ↔ U ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N × 0 … N ∧ F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ U y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0
94 93 simprbi ⊢ U ∈ S → F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ U y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0
95 6 94 syl ⊢ φ → F = y ∈ 0 … N − 1 ⟼ ⦋ if y < 2 nd ⁡ U y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0
96 breq1 ⊢ y = M → y < 2 nd ⁡ U ↔ M < 2 nd ⁡ U
97 id ⊢ y = M → y = M
98 96 97 ifbieq1d ⊢ y = M → if y < 2 nd ⁡ U y y + 1 = if M < 2 nd ⁡ U M y + 1
99 1 nnred ⊢ φ → N ∈ ℝ
100 peano2rem ⊢ N ∈ ℝ → N − 1 ∈ ℝ
101 99 100 syl ⊢ φ → N − 1 ∈ ℝ
102 elfzle2 ⊢ M ∈ 0 … N − 1 → M ≤ N − 1
103 8 102 syl ⊢ φ → M ≤ N − 1
104 99 ltm1d ⊢ φ → N − 1 < N
105 64 101 99 103 104 lelttrd ⊢ φ → M < N
106 105 7 breqtrrd ⊢ φ → M < 2 nd ⁡ U
107 106 iftrued ⊢ φ → if M < 2 nd ⁡ U M y + 1 = M
108 98 107 sylan9eqr ⊢ φ ∧ y = M → if y < 2 nd ⁡ U y y + 1 = M
109 108 csbeq1d ⊢ φ ∧ y = M → ⦋ if y < 2 nd ⁡ U y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0 = ⦋ M / j⦌ 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0
110 oveq2 ⊢ j = M → 1 … j = 1 … M
111 110 imaeq2d ⊢ j = M → 2 nd ⁡ 1 st ⁡ U 1 … j = 2 nd ⁡ 1 st ⁡ U 1 … M
112 111 xpeq1d ⊢ j = M → 2 nd ⁡ 1 st ⁡ U 1 … j × 1 = 2 nd ⁡ 1 st ⁡ U 1 … M × 1
113 oveq1 ⊢ j = M → j + 1 = M + 1
114 113 oveq1d ⊢ j = M → j + 1 … N = M + 1 … N
115 114 imaeq2d ⊢ j = M → 2 nd ⁡ 1 st ⁡ U j + 1 … N = 2 nd ⁡ 1 st ⁡ U M + 1 … N
116 115 xpeq1d ⊢ j = M → 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0 = 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0
117 112 116 uneq12d ⊢ j = M → 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0 = 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0
118 117 oveq2d ⊢ j = M → 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0 = 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0
119 118 adantl ⊢ φ ∧ j = M → 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0 = 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0
120 8 119 csbied ⊢ φ → ⦋ M / j⦌ 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0 = 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0
121 120 adantr ⊢ φ ∧ y = M → ⦋ M / j⦌ 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0 = 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0
122 109 121 eqtrd ⊢ φ ∧ y = M → ⦋ if y < 2 nd ⁡ U y y + 1 / j⦌ 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ U j + 1 … N × 0 = 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0
123 ovexd ⊢ φ → 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ∈ V
124 95 122 8 123 fvmptd ⊢ φ → F ⁡ M = 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0
125 124 fveq1d ⊢ φ → F ⁡ M ⁡ y = 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y
126 125 adantr ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → F ⁡ M ⁡ y = 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y
127 imassrn ⊢ 2 nd ⁡ 1 st ⁡ U M + 1 … N ⊆ ran ⁡ 2 nd ⁡ 1 st ⁡ U
128 f1of ⊢ 2 nd ⁡ 1 st ⁡ U : 1 … N ⟶ 1-1 onto 1 … N → 2 nd ⁡ 1 st ⁡ U : 1 … N ⟶ 1 … N
129 frn ⊢ 2 nd ⁡ 1 st ⁡ U : 1 … N ⟶ 1 … N → ran ⁡ 2 nd ⁡ 1 st ⁡ U ⊆ 1 … N
130 34 128 129 3syl ⊢ φ → ran ⁡ 2 nd ⁡ 1 st ⁡ U ⊆ 1 … N
131 127 130 sstrid ⊢ φ → 2 nd ⁡ 1 st ⁡ U M + 1 … N ⊆ 1 … N
132 131 sselda ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → y ∈ 1 … N
133 xp1st ⊢ 1 st ⁡ U ∈ 0 ..^ K 1 … N × f | f : 1 … N ⟶ 1-1 onto 1 … N → 1 st ⁡ 1 st ⁡ U ∈ 0 ..^ K 1 … N
134 elmapfn ⊢ 1 st ⁡ 1 st ⁡ U ∈ 0 ..^ K 1 … N → 1 st ⁡ 1 st ⁡ U Fn 1 … N
135 28 133 134 3syl ⊢ φ → 1 st ⁡ 1 st ⁡ U Fn 1 … N
136 135 adantr ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → 1 st ⁡ 1 st ⁡ U Fn 1 … N
137 1ex ⊢ 1 ∈ V
138 fnconstg ⊢ 1 ∈ V → 2 nd ⁡ 1 st ⁡ U 1 … M × 1 Fn 2 nd ⁡ 1 st ⁡ U 1 … M
139 137 138 ax-mp ⊢ 2 nd ⁡ 1 st ⁡ U 1 … M × 1 Fn 2 nd ⁡ 1 st ⁡ U 1 … M
140 c0ex ⊢ 0 ∈ V
141 fnconstg ⊢ 0 ∈ V → 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ U M + 1 … N
142 140 141 ax-mp ⊢ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ U M + 1 … N
143 139 142 pm3.2i ⊢ 2 nd ⁡ 1 st ⁡ U 1 … M × 1 Fn 2 nd ⁡ 1 st ⁡ U 1 … M ∧ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ U M + 1 … N
144 imain ⊢ Fun ⁡ 2 nd ⁡ 1 st ⁡ U -1 → 2 nd ⁡ 1 st ⁡ U 1 … M ∩ M + 1 … N = 2 nd ⁡ 1 st ⁡ U 1 … M ∩ 2 nd ⁡ 1 st ⁡ U M + 1 … N
145 34 41 144 3syl ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … M ∩ M + 1 … N = 2 nd ⁡ 1 st ⁡ U 1 … M ∩ 2 nd ⁡ 1 st ⁡ U M + 1 … N
146 67 imaeq2d ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … M ∩ M + 1 … N = 2 nd ⁡ 1 st ⁡ U ∅
147 ima0 ⊢ 2 nd ⁡ 1 st ⁡ U ∅ = ∅
148 146 147 eqtrdi ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … M ∩ M + 1 … N = ∅
149 145 148 eqtr3d ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … M ∩ 2 nd ⁡ 1 st ⁡ U M + 1 … N = ∅
150 fnun ⊢ 2 nd ⁡ 1 st ⁡ U 1 … M × 1 Fn 2 nd ⁡ 1 st ⁡ U 1 … M ∧ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ U M + 1 … N ∧ 2 nd ⁡ 1 st ⁡ U 1 … M ∩ 2 nd ⁡ 1 st ⁡ U M + 1 … N = ∅ → 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ U 1 … M ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N
151 143 149 150 sylancr ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ U 1 … M ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N
152 imaundi ⊢ 2 nd ⁡ 1 st ⁡ U 1 … M ∪ M + 1 … N = 2 nd ⁡ 1 st ⁡ U 1 … M ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N
153 58 imaeq2d ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … N = 2 nd ⁡ 1 st ⁡ U 1 … M ∪ M + 1 … N
154 153 37 eqtr3d ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … M ∪ M + 1 … N = 1 … N
155 152 154 eqtr3id ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … M ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N = 1 … N
156 155 fneq2d ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ U 1 … M ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N ↔ 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 Fn 1 … N
157 151 156 mpbid ⊢ φ → 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 Fn 1 … N
158 157 adantr ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 Fn 1 … N
159 ovexd ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → 1 … N ∈ V
160 inidm ⊢ 1 … N ∩ 1 … N = 1 … N
161 eqidd ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ U ⁡ y = 1 st ⁡ 1 st ⁡ U ⁡ y
162 fvun2 ⊢ 2 nd ⁡ 1 st ⁡ U 1 … M × 1 Fn 2 nd ⁡ 1 st ⁡ U 1 … M ∧ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ U M + 1 … N ∧ 2 nd ⁡ 1 st ⁡ U 1 … M ∩ 2 nd ⁡ 1 st ⁡ U M + 1 … N = ∅ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y = 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y
163 139 142 162 mp3an12 ⊢ 2 nd ⁡ 1 st ⁡ U 1 … M ∩ 2 nd ⁡ 1 st ⁡ U M + 1 … N = ∅ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y = 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y
164 149 163 sylan ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y = 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y
165 140 fvconst2 ⊢ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y = 0
166 165 adantl ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y = 0
167 164 166 eqtrd ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y = 0
168 167 adantr ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N ∧ y ∈ 1 … N → 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y = 0
169 136 158 159 159 160 161 168 ofval ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y = 1 st ⁡ 1 st ⁡ U ⁡ y + 0
170 132 169 mpdan ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → 1 st ⁡ 1 st ⁡ U + f 2 nd ⁡ 1 st ⁡ U 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ U M + 1 … N × 0 ⁡ y = 1 st ⁡ 1 st ⁡ U ⁡ y + 0
171 elmapi ⊢ 1 st ⁡ 1 st ⁡ U ∈ 0 ..^ K 1 … N → 1 st ⁡ 1 st ⁡ U : 1 … N ⟶ 0 ..^ K
172 28 133 171 3syl ⊢ φ → 1 st ⁡ 1 st ⁡ U : 1 … N ⟶ 0 ..^ K
173 172 ffvelcdmda ⊢ φ ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ U ⁡ y ∈ 0 ..^ K
174 elfzonn0 ⊢ 1 st ⁡ 1 st ⁡ U ⁡ y ∈ 0 ..^ K → 1 st ⁡ 1 st ⁡ U ⁡ y ∈ ℕ 0
175 173 174 syl ⊢ φ ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ U ⁡ y ∈ ℕ 0
176 175 nn0cnd ⊢ φ ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ U ⁡ y ∈ ℂ
177 176 addridd ⊢ φ ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ U ⁡ y + 0 = 1 st ⁡ 1 st ⁡ U ⁡ y
178 132 177 syldan ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → 1 st ⁡ 1 st ⁡ U ⁡ y + 0 = 1 st ⁡ 1 st ⁡ U ⁡ y
179 126 170 178 3eqtrd ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ U M + 1 … N → F ⁡ M ⁡ y = 1 st ⁡ 1 st ⁡ U ⁡ y
180 76 179 syldan ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∧ ¬ y ∈ 2 nd ⁡ 1 st ⁡ U 1 … M → F ⁡ M ⁡ y = 1 st ⁡ 1 st ⁡ U ⁡ y
181 fveq2 ⊢ t = T → 2 nd ⁡ t = 2 nd ⁡ T
182 181 breq2d ⊢ t = T → y < 2 nd ⁡ t ↔ y < 2 nd ⁡ T
183 182 ifbid ⊢ t = T → if y < 2 nd ⁡ t y y + 1 = if y < 2 nd ⁡ T y y + 1
184 183 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
185 2fveq3 ⊢ t = T → 1 st ⁡ 1 st ⁡ t = 1 st ⁡ 1 st ⁡ T
186 2fveq3 ⊢ t = T → 2 nd ⁡ 1 st ⁡ t = 2 nd ⁡ 1 st ⁡ T
187 186 imaeq1d ⊢ t = T → 2 nd ⁡ 1 st ⁡ t 1 … j = 2 nd ⁡ 1 st ⁡ T 1 … j
188 187 xpeq1d ⊢ t = T → 2 nd ⁡ 1 st ⁡ t 1 … j × 1 = 2 nd ⁡ 1 st ⁡ T 1 … j × 1
189 186 imaeq1d ⊢ t = T → 2 nd ⁡ 1 st ⁡ t j + 1 … N = 2 nd ⁡ 1 st ⁡ T j + 1 … N
190 189 xpeq1d ⊢ t = T → 2 nd ⁡ 1 st ⁡ t j + 1 … N × 0 = 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
191 188 190 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
192 185 191 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
193 192 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
194 184 193 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
195 194 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
196 195 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
197 196 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
198 197 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
199 4 198 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
200 breq1 ⊢ y = M → y < 2 nd ⁡ T ↔ M < 2 nd ⁡ T
201 200 97 ifbieq1d ⊢ y = M → if y < 2 nd ⁡ T y y + 1 = if M < 2 nd ⁡ T M y + 1
202 105 5 breqtrrd ⊢ φ → M < 2 nd ⁡ T
203 202 iftrued ⊢ φ → if M < 2 nd ⁡ T M y + 1 = M
204 201 203 sylan9eqr ⊢ φ ∧ y = M → if y < 2 nd ⁡ T y y + 1 = M
205 204 csbeq1d ⊢ φ ∧ y = M → ⦋ 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 = ⦋ M / j⦌ 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0
206 110 imaeq2d ⊢ j = M → 2 nd ⁡ 1 st ⁡ T 1 … j = 2 nd ⁡ 1 st ⁡ T 1 … M
207 206 xpeq1d ⊢ j = M → 2 nd ⁡ 1 st ⁡ T 1 … j × 1 = 2 nd ⁡ 1 st ⁡ T 1 … M × 1
208 114 imaeq2d ⊢ j = M → 2 nd ⁡ 1 st ⁡ T j + 1 … N = 2 nd ⁡ 1 st ⁡ T M + 1 … N
209 208 xpeq1d ⊢ j = M → 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0 = 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0
210 207 209 uneq12d ⊢ j = M → 2 nd ⁡ 1 st ⁡ T 1 … j × 1 ∪ 2 nd ⁡ 1 st ⁡ T j + 1 … N × 0 = 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0
211 210 oveq2d ⊢ j = M → 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 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0
212 211 adantl ⊢ φ ∧ j = M → 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 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0
213 8 212 csbied ⊢ φ → ⦋ M / j⦌ 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 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0
214 213 adantr ⊢ φ ∧ y = M → ⦋ M / j⦌ 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 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0
215 205 214 eqtrd ⊢ φ ∧ y = M → ⦋ 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 = 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0
216 ovexd ⊢ φ → 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 ∈ V
217 199 215 8 216 fvmptd ⊢ φ → F ⁡ M = 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0
218 217 fveq1d ⊢ φ → F ⁡ M ⁡ y = 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 ⁡ y
219 218 adantr ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → F ⁡ M ⁡ y = 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 ⁡ y
220 24 sselda ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → y ∈ 1 … N
221 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
222 elmapfn ⊢ 1 st ⁡ 1 st ⁡ T ∈ 0 ..^ K 1 … N → 1 st ⁡ 1 st ⁡ T Fn 1 … N
223 14 221 222 3syl ⊢ φ → 1 st ⁡ 1 st ⁡ T Fn 1 … N
224 223 adantr ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → 1 st ⁡ 1 st ⁡ T Fn 1 … N
225 fnconstg ⊢ 1 ∈ V → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 Fn 2 nd ⁡ 1 st ⁡ T 1 … M
226 137 225 ax-mp ⊢ 2 nd ⁡ 1 st ⁡ T 1 … M × 1 Fn 2 nd ⁡ 1 st ⁡ T 1 … M
227 fnconstg ⊢ 0 ∈ V → 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ T M + 1 … N
228 140 227 ax-mp ⊢ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ T M + 1 … N
229 226 228 pm3.2i ⊢ 2 nd ⁡ 1 st ⁡ T 1 … M × 1 Fn 2 nd ⁡ 1 st ⁡ T 1 … M ∧ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ T M + 1 … N
230 dff1o3 ⊢ 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ 1-1 onto 1 … N ↔ 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ onto 1 … N ∧ Fun ⁡ 2 nd ⁡ 1 st ⁡ T -1
231 230 simprbi ⊢ 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ 1-1 onto 1 … N → Fun ⁡ 2 nd ⁡ 1 st ⁡ T -1
232 imain ⊢ Fun ⁡ 2 nd ⁡ 1 st ⁡ T -1 → 2 nd ⁡ 1 st ⁡ T 1 … M ∩ M + 1 … N = 2 nd ⁡ 1 st ⁡ T 1 … M ∩ 2 nd ⁡ 1 st ⁡ T M + 1 … N
233 20 231 232 3syl ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M ∩ M + 1 … N = 2 nd ⁡ 1 st ⁡ T 1 … M ∩ 2 nd ⁡ 1 st ⁡ T M + 1 … N
234 67 imaeq2d ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M ∩ M + 1 … N = 2 nd ⁡ 1 st ⁡ T ∅
235 ima0 ⊢ 2 nd ⁡ 1 st ⁡ T ∅ = ∅
236 234 235 eqtrdi ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M ∩ M + 1 … N = ∅
237 233 236 eqtr3d ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M ∩ 2 nd ⁡ 1 st ⁡ T M + 1 … N = ∅
238 fnun ⊢ 2 nd ⁡ 1 st ⁡ T 1 … M × 1 Fn 2 nd ⁡ 1 st ⁡ T 1 … M ∧ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ T M + 1 … N ∧ 2 nd ⁡ 1 st ⁡ T 1 … M ∩ 2 nd ⁡ 1 st ⁡ T M + 1 … N = ∅ → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ T 1 … M ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N
239 229 237 238 sylancr ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ T 1 … M ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N
240 imaundi ⊢ 2 nd ⁡ 1 st ⁡ T 1 … M ∪ M + 1 … N = 2 nd ⁡ 1 st ⁡ T 1 … M ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N
241 58 imaeq2d ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … N = 2 nd ⁡ 1 st ⁡ T 1 … M ∪ M + 1 … N
242 f1ofo ⊢ 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ 1-1 onto 1 … N → 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ onto 1 … N
243 foima ⊢ 2 nd ⁡ 1 st ⁡ T : 1 … N ⟶ onto 1 … N → 2 nd ⁡ 1 st ⁡ T 1 … N = 1 … N
244 20 242 243 3syl ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … N = 1 … N
245 241 244 eqtr3d ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M ∪ M + 1 … N = 1 … N
246 240 245 eqtr3id ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N = 1 … N
247 246 fneq2d ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ T 1 … M ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N ↔ 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 Fn 1 … N
248 239 247 mpbid ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 Fn 1 … N
249 248 adantr ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 Fn 1 … N
250 ovexd ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → 1 … N ∈ V
251 eqidd ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ T ⁡ y = 1 st ⁡ 1 st ⁡ T ⁡ y
252 fvun1 ⊢ 2 nd ⁡ 1 st ⁡ T 1 … M × 1 Fn 2 nd ⁡ 1 st ⁡ T 1 … M ∧ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 Fn 2 nd ⁡ 1 st ⁡ T M + 1 … N ∧ 2 nd ⁡ 1 st ⁡ T 1 … M ∩ 2 nd ⁡ 1 st ⁡ T M + 1 … N = ∅ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 ⁡ y = 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ⁡ y
253 226 228 252 mp3an12 ⊢ 2 nd ⁡ 1 st ⁡ T 1 … M ∩ 2 nd ⁡ 1 st ⁡ T M + 1 … N = ∅ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 ⁡ y = 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ⁡ y
254 237 253 sylan ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 ⁡ y = 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ⁡ y
255 137 fvconst2 ⊢ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ⁡ y = 1
256 255 adantl ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ⁡ y = 1
257 254 256 eqtrd ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 ⁡ y = 1
258 257 adantr ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∧ y ∈ 1 … N → 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 ⁡ y = 1
259 224 249 250 250 160 251 258 ofval ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 ⁡ y = 1 st ⁡ 1 st ⁡ T ⁡ y + 1
260 220 259 mpdan ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → 1 st ⁡ 1 st ⁡ T + f 2 nd ⁡ 1 st ⁡ T 1 … M × 1 ∪ 2 nd ⁡ 1 st ⁡ T M + 1 … N × 0 ⁡ y = 1 st ⁡ 1 st ⁡ T ⁡ y + 1
261 219 260 eqtrd ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → F ⁡ M ⁡ y = 1 st ⁡ 1 st ⁡ T ⁡ y + 1
262 261 adantrr ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∧ ¬ y ∈ 2 nd ⁡ 1 st ⁡ U 1 … M → F ⁡ M ⁡ y = 1 st ⁡ 1 st ⁡ T ⁡ y + 1
263 1 nngt0d ⊢ φ → 0 < N
264 263 7 breqtrrd ⊢ φ → 0 < 2 nd ⁡ U
265 1 2 6 264 poimirlem5 ⊢ φ → F ⁡ 0 = 1 st ⁡ 1 st ⁡ U
266 263 5 breqtrrd ⊢ φ → 0 < 2 nd ⁡ T
267 1 2 4 266 poimirlem5 ⊢ φ → F ⁡ 0 = 1 st ⁡ 1 st ⁡ T
268 265 267 eqtr3d ⊢ φ → 1 st ⁡ 1 st ⁡ U = 1 st ⁡ 1 st ⁡ T
269 268 fveq1d ⊢ φ → 1 st ⁡ 1 st ⁡ U ⁡ y = 1 st ⁡ 1 st ⁡ T ⁡ y
270 269 adantr ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∧ ¬ y ∈ 2 nd ⁡ 1 st ⁡ U 1 … M → 1 st ⁡ 1 st ⁡ U ⁡ y = 1 st ⁡ 1 st ⁡ T ⁡ y
271 180 262 270 3eqtr3d ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∧ ¬ y ∈ 2 nd ⁡ 1 st ⁡ U 1 … M → 1 st ⁡ 1 st ⁡ T ⁡ y + 1 = 1 st ⁡ 1 st ⁡ T ⁡ y
272 elmapi ⊢ 1 st ⁡ 1 st ⁡ T ∈ 0 ..^ K 1 … N → 1 st ⁡ 1 st ⁡ T : 1 … N ⟶ 0 ..^ K
273 14 221 272 3syl ⊢ φ → 1 st ⁡ 1 st ⁡ T : 1 … N ⟶ 0 ..^ K
274 273 ffvelcdmda ⊢ φ ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ T ⁡ y ∈ 0 ..^ K
275 elfzonn0 ⊢ 1 st ⁡ 1 st ⁡ T ⁡ y ∈ 0 ..^ K → 1 st ⁡ 1 st ⁡ T ⁡ y ∈ ℕ 0
276 274 275 syl ⊢ φ ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ T ⁡ y ∈ ℕ 0
277 276 nn0red ⊢ φ ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ T ⁡ y ∈ ℝ
278 277 ltp1d ⊢ φ ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ T ⁡ y < 1 st ⁡ 1 st ⁡ T ⁡ y + 1
279 277 278 gtned ⊢ φ ∧ y ∈ 1 … N → 1 st ⁡ 1 st ⁡ T ⁡ y + 1 ≠ 1 st ⁡ 1 st ⁡ T ⁡ y
280 220 279 syldan ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → 1 st ⁡ 1 st ⁡ T ⁡ y + 1 ≠ 1 st ⁡ 1 st ⁡ T ⁡ y
281 280 neneqd ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → ¬ 1 st ⁡ 1 st ⁡ T ⁡ y + 1 = 1 st ⁡ 1 st ⁡ T ⁡ y
282 281 adantrr ⊢ φ ∧ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∧ ¬ y ∈ 2 nd ⁡ 1 st ⁡ U 1 … M → ¬ 1 st ⁡ 1 st ⁡ T ⁡ y + 1 = 1 st ⁡ 1 st ⁡ T ⁡ y
283 271 282 pm2.65da ⊢ φ → ¬ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∧ ¬ y ∈ 2 nd ⁡ 1 st ⁡ U 1 … M
284 iman ⊢ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → y ∈ 2 nd ⁡ 1 st ⁡ U 1 … M ↔ ¬ y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M ∧ ¬ y ∈ 2 nd ⁡ 1 st ⁡ U 1 … M
285 283 284 sylibr ⊢ φ → y ∈ 2 nd ⁡ 1 st ⁡ T 1 … M → y ∈ 2 nd ⁡ 1 st ⁡ U 1 … M
286 285 ssrdv ⊢ φ → 2 nd ⁡ 1 st ⁡ T 1 … M ⊆ 2 nd ⁡ 1 st ⁡ U 1 … M