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