Metamath Proof Explorer


Theorem ccatws1f1o

Description: Conditions for the concatenation of a word and a singleton word to be bijective. (Contributed by Thierry Arnoux, 27-May-2025)

Ref Expression
Hypotheses ccatws1f1o.1 ⊢ N = T
ccatws1f1o.2 ⊢ J = 0 ..^ N + 1
ccatws1f1o.3 ⊢ φ → T : 0 ..^ N ⟶ 1-1 onto 0 ..^ N
Assertion ccatws1f1o ⊢ φ → T ++ ⟨“ N ”⟩ : J ⟶ 1-1 onto J

Proof

Step Hyp Ref Expression
1 ccatws1f1o.1 ⊢ N = T
2 ccatws1f1o.2 ⊢ J = 0 ..^ N + 1
3 ccatws1f1o.3 ⊢ φ → T : 0 ..^ N ⟶ 1-1 onto 0 ..^ N
4 f1of ⊢ T : 0 ..^ N ⟶ 1-1 onto 0 ..^ N → T : 0 ..^ N ⟶ 0 ..^ N
5 3 4 syl ⊢ φ → T : 0 ..^ N ⟶ 0 ..^ N
6 iswrdi ⊢ T : 0 ..^ N ⟶ 0 ..^ N → T ∈ Word 0 ..^ N
7 lencl ⊢ T ∈ Word 0 ..^ N → T ∈ ℕ 0
8 5 6 7 3syl ⊢ φ → T ∈ ℕ 0
9 1 8 eqeltrid ⊢ φ → N ∈ ℕ 0
10 fzossfzop1 ⊢ N ∈ ℕ 0 → 0 ..^ N ⊆ 0 ..^ N + 1
11 9 10 syl ⊢ φ → 0 ..^ N ⊆ 0 ..^ N + 1
12 11 2 sseqtrrdi ⊢ φ → 0 ..^ N ⊆ J
13 12 adantr ⊢ φ ∧ x ∈ 0 ..^ T → 0 ..^ N ⊆ J
14 5 adantr ⊢ φ ∧ x ∈ 0 ..^ T → T : 0 ..^ N ⟶ 0 ..^ N
15 1 eqcomi ⊢ T = N
16 15 a1i ⊢ φ → T = N
17 16 oveq2d ⊢ φ → 0 ..^ T = 0 ..^ N
18 17 eleq2d ⊢ φ → x ∈ 0 ..^ T ↔ x ∈ 0 ..^ N
19 18 biimpa ⊢ φ ∧ x ∈ 0 ..^ T → x ∈ 0 ..^ N
20 14 19 ffvelcdmd ⊢ φ ∧ x ∈ 0 ..^ T → T ⁡ x ∈ 0 ..^ N
21 13 20 sseldd ⊢ φ ∧ x ∈ 0 ..^ T → T ⁡ x ∈ J
22 21 adantlr ⊢ φ ∧ x ∈ J ∧ x ∈ 0 ..^ T → T ⁡ x ∈ J
23 2 a1i ⊢ φ → J = 0 ..^ N + 1
24 fzo0ssnn0 ⊢ 0 ..^ N + 1 ⊆ ℕ 0
25 23 24 eqsstrdi ⊢ φ → J ⊆ ℕ 0
26 25 sselda ⊢ φ ∧ x ∈ J → x ∈ ℕ 0
27 26 nn0cnd ⊢ φ ∧ x ∈ J → x ∈ ℂ
28 27 adantr ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → x ∈ ℂ
29 nn0uz ⊢ ℕ 0 = ℤ ≥ 0
30 9 29 eleqtrdi ⊢ φ → N ∈ ℤ ≥ 0
31 30 ad2antrr ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → N ∈ ℤ ≥ 0
32 23 eleq2d ⊢ φ → x ∈ J ↔ x ∈ 0 ..^ N + 1
33 32 biimpa ⊢ φ ∧ x ∈ J → x ∈ 0 ..^ N + 1
34 33 adantr ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → x ∈ 0 ..^ N + 1
35 fzosplitsni ⊢ N ∈ ℤ ≥ 0 → x ∈ 0 ..^ N + 1 ↔ x ∈ 0 ..^ N ∨ x = N
36 35 biimpa ⊢ N ∈ ℤ ≥ 0 ∧ x ∈ 0 ..^ N + 1 → x ∈ 0 ..^ N ∨ x = N
37 31 34 36 syl2anc ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → x ∈ 0 ..^ N ∨ x = N
38 18 notbid ⊢ φ → ¬ x ∈ 0 ..^ T ↔ ¬ x ∈ 0 ..^ N
39 38 biimpa ⊢ φ ∧ ¬ x ∈ 0 ..^ T → ¬ x ∈ 0 ..^ N
40 39 adantlr ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → ¬ x ∈ 0 ..^ N
41 37 40 orcnd ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → x = N
42 41 1 eqtrdi ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → x = T
43 28 42 subeq0bd ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → x − T = 0
44 43 fveq2d ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → ⟨“ N ”⟩ ⁡ x − T = ⟨“ N ”⟩ ⁡ 0
45 s1fv ⊢ N ∈ ℕ 0 → ⟨“ N ”⟩ ⁡ 0 = N
46 9 45 syl ⊢ φ → ⟨“ N ”⟩ ⁡ 0 = N
47 46 ad2antrr ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → ⟨“ N ”⟩ ⁡ 0 = N
48 44 47 eqtrd ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → ⟨“ N ”⟩ ⁡ x − T = N
49 fzonn0p1 ⊢ N ∈ ℕ 0 → N ∈ 0 ..^ N + 1
50 9 49 syl ⊢ φ → N ∈ 0 ..^ N + 1
51 50 2 eleqtrrdi ⊢ φ → N ∈ J
52 51 ad2antrr ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → N ∈ J
53 48 52 eqeltrd ⊢ φ ∧ x ∈ J ∧ ¬ x ∈ 0 ..^ T → ⟨“ N ”⟩ ⁡ x − T ∈ J
54 22 53 ifclda ⊢ φ ∧ x ∈ J → if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∈ J
55 54 ralrimiva ⊢ φ → ∀ x ∈ J if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∈ J
56 12 ad2antrr ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N → 0 ..^ N ⊆ J
57 f1ocnv ⊢ T : 0 ..^ N ⟶ 1-1 onto 0 ..^ N → T -1 : 0 ..^ N ⟶ 1-1 onto 0 ..^ N
58 f1of ⊢ T -1 : 0 ..^ N ⟶ 1-1 onto 0 ..^ N → T -1 : 0 ..^ N ⟶ 0 ..^ N
59 3 57 58 3syl ⊢ φ → T -1 : 0 ..^ N ⟶ 0 ..^ N
60 59 adantr ⊢ φ ∧ y ∈ J → T -1 : 0 ..^ N ⟶ 0 ..^ N
61 60 ffvelcdmda ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N → T -1 ⁡ y ∈ 0 ..^ N
62 56 61 sseldd ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N → T -1 ⁡ y ∈ J
63 1 oveq2i ⊢ 0 ..^ N = 0 ..^ T
64 61 63 eleqtrdi ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N → T -1 ⁡ y ∈ 0 ..^ T
65 64 iftrued ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N → if T -1 ⁡ y ∈ 0 ..^ T T ⁡ T -1 ⁡ y ⟨“ N ”⟩ ⁡ T -1 ⁡ y − T = T ⁡ T -1 ⁡ y
66 3 ad2antrr ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N → T : 0 ..^ N ⟶ 1-1 onto 0 ..^ N
67 simpr ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N → y ∈ 0 ..^ N
68 f1ocnvfv2 ⊢ T : 0 ..^ N ⟶ 1-1 onto 0 ..^ N ∧ y ∈ 0 ..^ N → T ⁡ T -1 ⁡ y = y
69 66 67 68 syl2anc ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N → T ⁡ T -1 ⁡ y = y
70 65 69 eqtr2d ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N → y = if T -1 ⁡ y ∈ 0 ..^ T T ⁡ T -1 ⁡ y ⟨“ N ”⟩ ⁡ T -1 ⁡ y − T
71 simpr ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
72 30 adantr ⊢ φ ∧ x ∈ J → N ∈ ℤ ≥ 0
73 72 33 36 syl2anc ⊢ φ ∧ x ∈ J → x ∈ 0 ..^ N ∨ x = N
74 73 ad5ant14 ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x ∈ 0 ..^ N ∨ x = N
75 67 ad3antrrr ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → y ∈ 0 ..^ N
76 71 adantr ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
77 simpr ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → x = N
78 fzonel ⊢ ¬ N ∈ 0 ..^ N
79 78 a1i ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → ¬ N ∈ 0 ..^ N
80 63 eleq2i ⊢ N ∈ 0 ..^ N ↔ N ∈ 0 ..^ T
81 79 80 sylnib ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → ¬ N ∈ 0 ..^ T
82 77 81 eqneltrd ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → ¬ x ∈ 0 ..^ T
83 82 iffalsed ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T = ⟨“ N ”⟩ ⁡ x − T
84 2 24 eqsstri ⊢ J ⊆ ℕ 0
85 simpllr ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → x ∈ J
86 84 85 sselid ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → x ∈ ℕ 0
87 86 nn0cnd ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → x ∈ ℂ
88 77 1 eqtrdi ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → x = T
89 87 88 subeq0bd ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → x − T = 0
90 89 fveq2d ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → ⟨“ N ”⟩ ⁡ x − T = ⟨“ N ”⟩ ⁡ 0
91 46 ad5antr ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → ⟨“ N ”⟩ ⁡ 0 = N
92 90 91 eqtrd ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → ⟨“ N ”⟩ ⁡ x − T = N
93 76 83 92 3eqtrd ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → y = N
94 93 79 eqneltrd ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x = N → ¬ y ∈ 0 ..^ N
95 75 94 pm2.65da ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → ¬ x = N
96 74 95 olcnd ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x ∈ 0 ..^ N
97 96 63 eleqtrdi ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x ∈ 0 ..^ T
98 97 iftrued ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T = T ⁡ x
99 71 98 eqtrd ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → y = T ⁡ x
100 99 fveq2d ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → T -1 ⁡ y = T -1 ⁡ T ⁡ x
101 66 ad2antrr ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → T : 0 ..^ N ⟶ 1-1 onto 0 ..^ N
102 f1ocnvfv1 ⊢ T : 0 ..^ N ⟶ 1-1 onto 0 ..^ N ∧ x ∈ 0 ..^ N → T -1 ⁡ T ⁡ x = x
103 101 96 102 syl2anc ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → T -1 ⁡ T ⁡ x = x
104 100 103 eqtr2d ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x = T -1 ⁡ y
105 104 ex ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N ∧ x ∈ J → y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x = T -1 ⁡ y
106 105 ralrimiva ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N → ∀ x ∈ J y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x = T -1 ⁡ y
107 eleq1 ⊢ x = T -1 ⁡ y → x ∈ 0 ..^ T ↔ T -1 ⁡ y ∈ 0 ..^ T
108 fveq2 ⊢ x = T -1 ⁡ y → T ⁡ x = T ⁡ T -1 ⁡ y
109 fvoveq1 ⊢ x = T -1 ⁡ y → ⟨“ N ”⟩ ⁡ x − T = ⟨“ N ”⟩ ⁡ T -1 ⁡ y − T
110 107 108 109 ifbieq12d ⊢ x = T -1 ⁡ y → if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T = if T -1 ⁡ y ∈ 0 ..^ T T ⁡ T -1 ⁡ y ⟨“ N ”⟩ ⁡ T -1 ⁡ y − T
111 110 eqeq2d ⊢ x = T -1 ⁡ y → y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ↔ y = if T -1 ⁡ y ∈ 0 ..^ T T ⁡ T -1 ⁡ y ⟨“ N ”⟩ ⁡ T -1 ⁡ y − T
112 111 eqreu ⊢ T -1 ⁡ y ∈ J ∧ y = if T -1 ⁡ y ∈ 0 ..^ T T ⁡ T -1 ⁡ y ⟨“ N ”⟩ ⁡ T -1 ⁡ y − T ∧ ∀ x ∈ J y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x = T -1 ⁡ y → ∃! x ∈ J y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
113 62 70 106 112 syl3anc ⊢ φ ∧ y ∈ J ∧ y ∈ 0 ..^ N → ∃! x ∈ J y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
114 51 ad2antrr ⊢ φ ∧ y ∈ J ∧ y = N → N ∈ J
115 9 nn0cnd ⊢ φ → N ∈ ℂ
116 115 ad2antrr ⊢ φ ∧ y ∈ J ∧ y = N → N ∈ ℂ
117 1 a1i ⊢ φ ∧ y ∈ J ∧ y = N → N = T
118 116 117 subeq0bd ⊢ φ ∧ y ∈ J ∧ y = N → N − T = 0
119 118 fveq2d ⊢ φ ∧ y ∈ J ∧ y = N → ⟨“ N ”⟩ ⁡ N − T = ⟨“ N ”⟩ ⁡ 0
120 46 ad2antrr ⊢ φ ∧ y ∈ J ∧ y = N → ⟨“ N ”⟩ ⁡ 0 = N
121 119 120 eqtrd ⊢ φ ∧ y ∈ J ∧ y = N → ⟨“ N ”⟩ ⁡ N − T = N
122 78 a1i ⊢ φ ∧ y ∈ J ∧ y = N → ¬ N ∈ 0 ..^ N
123 122 80 sylnib ⊢ φ ∧ y ∈ J ∧ y = N → ¬ N ∈ 0 ..^ T
124 123 iffalsed ⊢ φ ∧ y ∈ J ∧ y = N → if N ∈ 0 ..^ T T ⁡ N ⟨“ N ”⟩ ⁡ N − T = ⟨“ N ”⟩ ⁡ N − T
125 simpr ⊢ φ ∧ y ∈ J ∧ y = N → y = N
126 121 124 125 3eqtr4rd ⊢ φ ∧ y ∈ J ∧ y = N → y = if N ∈ 0 ..^ T T ⁡ N ⟨“ N ”⟩ ⁡ N − T
127 30 adantr ⊢ φ ∧ y ∈ J → N ∈ ℤ ≥ 0
128 127 ad3antrrr ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → N ∈ ℤ ≥ 0
129 33 ad5ant14 ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x ∈ 0 ..^ N + 1
130 128 129 36 syl2anc ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x ∈ 0 ..^ N ∨ x = N
131 simpr ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
132 simpllr ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → y = N
133 131 132 eqtr3d ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T = N
134 133 adantr ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x ∈ 0 ..^ N → if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T = N
135 63 a1i ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → 0 ..^ N = 0 ..^ T
136 135 eleq2d ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x ∈ 0 ..^ N ↔ x ∈ 0 ..^ T
137 136 biimpa ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x ∈ 0 ..^ N → x ∈ 0 ..^ T
138 137 iftrued ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x ∈ 0 ..^ N → if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T = T ⁡ x
139 5 ad4antr ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → T : 0 ..^ N ⟶ 0 ..^ N
140 139 ffvelcdmda ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x ∈ 0 ..^ N → T ⁡ x ∈ 0 ..^ N
141 138 140 eqeltrd ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x ∈ 0 ..^ N → if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∈ 0 ..^ N
142 134 141 eqeltrrd ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x ∈ 0 ..^ N → N ∈ 0 ..^ N
143 78 a1i ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∧ x ∈ 0 ..^ N → ¬ N ∈ 0 ..^ N
144 142 143 pm2.65da ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → ¬ x ∈ 0 ..^ N
145 130 144 orcnd ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J ∧ y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x = N
146 145 ex ⊢ φ ∧ y ∈ J ∧ y = N ∧ x ∈ J → y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x = N
147 146 ralrimiva ⊢ φ ∧ y ∈ J ∧ y = N → ∀ x ∈ J y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x = N
148 eleq1 ⊢ x = N → x ∈ 0 ..^ T ↔ N ∈ 0 ..^ T
149 fveq2 ⊢ x = N → T ⁡ x = T ⁡ N
150 fvoveq1 ⊢ x = N → ⟨“ N ”⟩ ⁡ x − T = ⟨“ N ”⟩ ⁡ N − T
151 148 149 150 ifbieq12d ⊢ x = N → if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T = if N ∈ 0 ..^ T T ⁡ N ⟨“ N ”⟩ ⁡ N − T
152 151 eqeq2d ⊢ x = N → y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ↔ y = if N ∈ 0 ..^ T T ⁡ N ⟨“ N ”⟩ ⁡ N − T
153 152 eqreu ⊢ N ∈ J ∧ y = if N ∈ 0 ..^ T T ⁡ N ⟨“ N ”⟩ ⁡ N − T ∧ ∀ x ∈ J y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T → x = N → ∃! x ∈ J y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
154 114 126 147 153 syl3anc ⊢ φ ∧ y ∈ J ∧ y = N → ∃! x ∈ J y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
155 23 eleq2d ⊢ φ → y ∈ J ↔ y ∈ 0 ..^ N + 1
156 155 biimpa ⊢ φ ∧ y ∈ J → y ∈ 0 ..^ N + 1
157 fzosplitsni ⊢ N ∈ ℤ ≥ 0 → y ∈ 0 ..^ N + 1 ↔ y ∈ 0 ..^ N ∨ y = N
158 157 biimpa ⊢ N ∈ ℤ ≥ 0 ∧ y ∈ 0 ..^ N + 1 → y ∈ 0 ..^ N ∨ y = N
159 127 156 158 syl2anc ⊢ φ ∧ y ∈ J → y ∈ 0 ..^ N ∨ y = N
160 113 154 159 mpjaodan ⊢ φ ∧ y ∈ J → ∃! x ∈ J y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
161 160 ralrimiva ⊢ φ → ∀ y ∈ J ∃! x ∈ J y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
162 s1len ⊢ ⟨“ N ”⟩ = 1
163 15 162 oveq12i ⊢ T + ⟨“ N ”⟩ = N + 1
164 163 oveq2i ⊢ 0 ..^ T + ⟨“ N ”⟩ = 0 ..^ N + 1
165 164 2 eqtr4i ⊢ 0 ..^ T + ⟨“ N ”⟩ = J
166 165 mpteq1i ⊢ x ∈ 0 ..^ T + ⟨“ N ”⟩ ⟼ if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T = x ∈ J ⟼ if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
167 166 f1ompt ⊢ x ∈ 0 ..^ T + ⟨“ N ”⟩ ⟼ if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T : J ⟶ 1-1 onto J ↔ ∀ x ∈ J if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T ∈ J ∧ ∀ y ∈ J ∃! x ∈ J y = if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
168 55 161 167 sylanbrc ⊢ φ → x ∈ 0 ..^ T + ⟨“ N ”⟩ ⟼ if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T : J ⟶ 1-1 onto J
169 ovex ⊢ 0 ..^ N ∈ V
170 fex ⊢ T : 0 ..^ N ⟶ 0 ..^ N ∧ 0 ..^ N ∈ V → T ∈ V
171 5 169 170 sylancl ⊢ φ → T ∈ V
172 s1cli ⊢ ⟨“ N ”⟩ ∈ Word V
173 ccatfval ⊢ T ∈ V ∧ ⟨“ N ”⟩ ∈ Word V → T ++ ⟨“ N ”⟩ = x ∈ 0 ..^ T + ⟨“ N ”⟩ ⟼ if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
174 171 172 173 sylancl ⊢ φ → T ++ ⟨“ N ”⟩ = x ∈ 0 ..^ T + ⟨“ N ”⟩ ⟼ if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T
175 174 f1oeq1d ⊢ φ → T ++ ⟨“ N ”⟩ : J ⟶ 1-1 onto J ↔ x ∈ 0 ..^ T + ⟨“ N ”⟩ ⟼ if x ∈ 0 ..^ T T ⁡ x ⟨“ N ”⟩ ⁡ x − T : J ⟶ 1-1 onto J
176 168 175 mpbird ⊢ φ → T ++ ⟨“ N ”⟩ : J ⟶ 1-1 onto J