Metamath Proof Explorer


Theorem ccatf1

Description: Conditions for a concatenation to be injective. (Contributed by Thierry Arnoux, 11-Dec-2023)

Ref Expression
Hypotheses ccatf1.s φ S V
ccatf1.a φ A Word S
ccatf1.b φ B Word S
ccatf1.1 φ A : dom A 1-1 S
ccatf1.2 φ B : dom B 1-1 S
ccatf1.3 φ ran A ran B =
Assertion ccatf1 φ A ++ B : dom A ++ B 1-1 S

Proof

Step Hyp Ref Expression
1 ccatf1.s φ S V
2 ccatf1.a φ A Word S
3 ccatf1.b φ B Word S
4 ccatf1.1 φ A : dom A 1-1 S
5 ccatf1.2 φ B : dom B 1-1 S
6 ccatf1.3 φ ran A ran B =
7 ccatcl A Word S B Word S A ++ B Word S
8 2 3 7 syl2anc φ A ++ B Word S
9 wrdf A ++ B Word S A ++ B : 0 ..^ A ++ B S
10 8 9 syl φ A ++ B : 0 ..^ A ++ B S
11 10 ffdmd φ A ++ B : dom A ++ B S
12 simpllr φ A ++ B i = A ++ B j i 0 ..^ A j 0 ..^ A A ++ B i = A ++ B j
13 id i 0 ..^ A i 0 ..^ A
14 ccatval1 A Word S B Word S i 0 ..^ A A ++ B i = A i
15 2 3 13 14 syl2an3an φ i 0 ..^ A A ++ B i = A i
16 15 ad4ant13 φ A ++ B i = A ++ B j i 0 ..^ A j 0 ..^ A A ++ B i = A i
17 id j 0 ..^ A j 0 ..^ A
18 ccatval1 A Word S B Word S j 0 ..^ A A ++ B j = A j
19 2 3 17 18 syl2an3an φ j 0 ..^ A A ++ B j = A j
20 19 ad4ant14 φ A ++ B i = A ++ B j i 0 ..^ A j 0 ..^ A A ++ B j = A j
21 12 16 20 3eqtr3d φ A ++ B i = A ++ B j i 0 ..^ A j 0 ..^ A A i = A j
22 wrddm A Word S dom A = 0 ..^ A
23 2 22 syl φ dom A = 0 ..^ A
24 f1eq2 dom A = 0 ..^ A A : dom A 1-1 S A : 0 ..^ A 1-1 S
25 24 biimpa dom A = 0 ..^ A A : dom A 1-1 S A : 0 ..^ A 1-1 S
26 23 4 25 syl2anc φ A : 0 ..^ A 1-1 S
27 dff13 A : 0 ..^ A 1-1 S A : 0 ..^ A S i 0 ..^ A j 0 ..^ A A i = A j i = j
28 27 simprbi A : 0 ..^ A 1-1 S i 0 ..^ A j 0 ..^ A A i = A j i = j
29 26 28 syl φ i 0 ..^ A j 0 ..^ A A i = A j i = j
30 29 r19.21bi φ i 0 ..^ A j 0 ..^ A A i = A j i = j
31 30 r19.21bi φ i 0 ..^ A j 0 ..^ A A i = A j i = j
32 31 adantllr φ A ++ B i = A ++ B j i 0 ..^ A j 0 ..^ A A i = A j i = j
33 21 32 mpd φ A ++ B i = A ++ B j i 0 ..^ A j 0 ..^ A i = j
34 33 ex φ A ++ B i = A ++ B j i 0 ..^ A j 0 ..^ A i = j
35 34 adantllr φ j dom A ++ B A ++ B i = A ++ B j i 0 ..^ A j 0 ..^ A i = j
36 f1fun A : dom A 1-1 S Fun A
37 4 36 syl φ Fun A
38 simpr φ i 0 ..^ A i 0 ..^ A
39 23 adantr φ i 0 ..^ A dom A = 0 ..^ A
40 38 39 eleqtrrd φ i 0 ..^ A i dom A
41 fvelrn Fun A i dom A A i ran A
42 37 40 41 syl2an2r φ i 0 ..^ A A i ran A
43 42 ad4ant13 φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B A i ran A
44 simpllr φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B A ++ B i = A ++ B j
45 15 ad4ant13 φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B A ++ B i = A i
46 2 adantr φ j A ..^ A ++ B A Word S
47 3 adantr φ j A ..^ A ++ B B Word S
48 simpr φ j A ..^ A ++ B j A ..^ A ++ B
49 ccatlen A Word S B Word S A ++ B = A + B
50 2 3 49 syl2anc φ A ++ B = A + B
51 50 oveq2d φ A ..^ A ++ B = A ..^ A + B
52 51 adantr φ j A ..^ A ++ B A ..^ A ++ B = A ..^ A + B
53 48 52 eleqtrd φ j A ..^ A ++ B j A ..^ A + B
54 ccatval2 A Word S B Word S j A ..^ A + B A ++ B j = B j A
55 46 47 53 54 syl3anc φ j A ..^ A ++ B A ++ B j = B j A
56 55 ad4ant14 φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B A ++ B j = B j A
57 44 45 56 3eqtr3d φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B A i = B j A
58 f1fun B : dom B 1-1 S Fun B
59 5 58 syl φ Fun B
60 lencl B Word S B 0
61 3 60 syl φ B 0
62 61 nn0zd φ B
63 62 adantr φ j A ..^ A ++ B B
64 fzosubel3 j A ..^ A + B B j A 0 ..^ B
65 53 63 64 syl2anc φ j A ..^ A ++ B j A 0 ..^ B
66 wrddm B Word S dom B = 0 ..^ B
67 3 66 syl φ dom B = 0 ..^ B
68 67 adantr φ j A ..^ A ++ B dom B = 0 ..^ B
69 65 68 eleqtrrd φ j A ..^ A ++ B j A dom B
70 fvelrn Fun B j A dom B B j A ran B
71 59 69 70 syl2an2r φ j A ..^ A ++ B B j A ran B
72 71 ad4ant14 φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B B j A ran B
73 57 72 eqeltrd φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B A i ran B
74 43 73 elind φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B A i ran A ran B
75 6 ad3antrrr φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B ran A ran B =
76 74 75 eleqtrd φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B A i
77 noel ¬ A i
78 77 a1i φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B ¬ A i
79 76 78 pm2.21dd φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B i = j
80 79 ex φ A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B i = j
81 80 adantllr φ j dom A ++ B A ++ B i = A ++ B j i 0 ..^ A j A ..^ A ++ B i = j
82 wrddm A ++ B Word S dom A ++ B = 0 ..^ A ++ B
83 8 82 syl φ dom A ++ B = 0 ..^ A ++ B
84 83 eleq2d φ j dom A ++ B j 0 ..^ A ++ B
85 84 biimpa φ j dom A ++ B j 0 ..^ A ++ B
86 lencl A Word S A 0
87 2 86 syl φ A 0
88 87 nn0zd φ A
89 88 adantr φ j dom A ++ B A
90 fzospliti j 0 ..^ A ++ B A j 0 ..^ A j A ..^ A ++ B
91 85 89 90 syl2anc φ j dom A ++ B j 0 ..^ A j A ..^ A ++ B
92 91 ad2antrr φ j dom A ++ B A ++ B i = A ++ B j i 0 ..^ A j 0 ..^ A j A ..^ A ++ B
93 35 81 92 mpjaod φ j dom A ++ B A ++ B i = A ++ B j i 0 ..^ A i = j
94 93 ex φ j dom A ++ B A ++ B i = A ++ B j i 0 ..^ A i = j
95 94 adantlrl φ i dom A ++ B j dom A ++ B A ++ B i = A ++ B j i 0 ..^ A i = j
96 simpr φ j 0 ..^ A j 0 ..^ A
97 23 adantr φ j 0 ..^ A dom A = 0 ..^ A
98 96 97 eleqtrrd φ j 0 ..^ A j dom A
99 fvelrn Fun A j dom A A j ran A
100 37 98 99 syl2an2r φ j 0 ..^ A A j ran A
101 100 ad4ant14 φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A A j ran A
102 simpllr φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A A ++ B i = A ++ B j
103 2 adantr φ i A ..^ A ++ B A Word S
104 3 adantr φ i A ..^ A ++ B B Word S
105 simpr φ i A ..^ A ++ B i A ..^ A ++ B
106 51 adantr φ i A ..^ A ++ B A ..^ A ++ B = A ..^ A + B
107 105 106 eleqtrd φ i A ..^ A ++ B i A ..^ A + B
108 ccatval2 A Word S B Word S i A ..^ A + B A ++ B i = B i A
109 103 104 107 108 syl3anc φ i A ..^ A ++ B A ++ B i = B i A
110 109 ad4ant13 φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A A ++ B i = B i A
111 19 ad4ant14 φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A A ++ B j = A j
112 102 110 111 3eqtr3rd φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A A j = B i A
113 62 adantr φ i A ..^ A ++ B B
114 fzosubel3 i A ..^ A + B B i A 0 ..^ B
115 107 113 114 syl2anc φ i A ..^ A ++ B i A 0 ..^ B
116 67 adantr φ i A ..^ A ++ B dom B = 0 ..^ B
117 115 116 eleqtrrd φ i A ..^ A ++ B i A dom B
118 fvelrn Fun B i A dom B B i A ran B
119 59 117 118 syl2an2r φ i A ..^ A ++ B B i A ran B
120 119 ad4ant13 φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A B i A ran B
121 112 120 eqeltrd φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A A j ran B
122 101 121 elind φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A A j ran A ran B
123 6 ad3antrrr φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A ran A ran B =
124 122 123 eleqtrd φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A A j
125 noel ¬ A j
126 125 a1i φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A ¬ A j
127 124 126 pm2.21dd φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A i = j
128 127 ex φ A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A i = j
129 128 adantllr φ j dom A ++ B A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A i = j
130 elfzoelz i A ..^ A ++ B i
131 130 zcnd i A ..^ A ++ B i
132 131 ad2antlr φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B i
133 elfzoelz j A ..^ A ++ B j
134 133 zcnd j A ..^ A ++ B j
135 134 adantl φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B j
136 87 nn0cnd φ A
137 136 ad3antrrr φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B A
138 5 ad3antrrr φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B B : dom B 1-1 S
139 117 ad4ant13 φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B i A dom B
140 69 ad4ant14 φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B j A dom B
141 139 140 jca φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B i A dom B j A dom B
142 simpllr φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B A ++ B i = A ++ B j
143 109 ad4ant13 φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B A ++ B i = B i A
144 55 ad4ant14 φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B A ++ B j = B j A
145 142 143 144 3eqtr3d φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B B i A = B j A
146 f1veqaeq B : dom B 1-1 S i A dom B j A dom B B i A = B j A i A = j A
147 146 imp B : dom B 1-1 S i A dom B j A dom B B i A = B j A i A = j A
148 138 141 145 147 syl21anc φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B i A = j A
149 132 135 137 148 subcan2d φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B i = j
150 149 ex φ A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B i = j
151 150 adantllr φ j dom A ++ B A ++ B i = A ++ B j i A ..^ A ++ B j A ..^ A ++ B i = j
152 91 ad2antrr φ j dom A ++ B A ++ B i = A ++ B j i A ..^ A ++ B j 0 ..^ A j A ..^ A ++ B
153 129 151 152 mpjaod φ j dom A ++ B A ++ B i = A ++ B j i A ..^ A ++ B i = j
154 153 ex φ j dom A ++ B A ++ B i = A ++ B j i A ..^ A ++ B i = j
155 154 adantlrl φ i dom A ++ B j dom A ++ B A ++ B i = A ++ B j i A ..^ A ++ B i = j
156 83 eleq2d φ i dom A ++ B i 0 ..^ A ++ B
157 156 biimpa φ i dom A ++ B i 0 ..^ A ++ B
158 88 adantr φ i dom A ++ B A
159 fzospliti i 0 ..^ A ++ B A i 0 ..^ A i A ..^ A ++ B
160 157 158 159 syl2anc φ i dom A ++ B i 0 ..^ A i A ..^ A ++ B
161 160 adantrr φ i dom A ++ B j dom A ++ B i 0 ..^ A i A ..^ A ++ B
162 161 adantr φ i dom A ++ B j dom A ++ B A ++ B i = A ++ B j i 0 ..^ A i A ..^ A ++ B
163 95 155 162 mpjaod φ i dom A ++ B j dom A ++ B A ++ B i = A ++ B j i = j
164 163 ex φ i dom A ++ B j dom A ++ B A ++ B i = A ++ B j i = j
165 164 ralrimivva φ i dom A ++ B j dom A ++ B A ++ B i = A ++ B j i = j
166 dff13 A ++ B : dom A ++ B 1-1 S A ++ B : dom A ++ B S i dom A ++ B j dom A ++ B A ++ B i = A ++ B j i = j
167 11 165 166 sylanbrc φ A ++ B : dom A ++ B 1-1 S