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