Metamath Proof Explorer


Theorem chnerlem1

Description: In a chain constructed on an equivalence relation, the last element is equivalent to any. This theorem is a translation of chnub to equivalence relations. (Contributed by Ender Ting, 29-Jan-2026)

Ref Expression
Hypotheses chner.1 φ ˙ Er A
chner.2 φ C Chain A ˙
chner.3 φ J 0 ..^ C
Assertion chnerlem1 φ C J ˙ lastS C

Proof

Step Hyp Ref Expression
1 chner.1 φ ˙ Er A
2 chner.2 φ C Chain A ˙
3 chner.3 φ J 0 ..^ C
4 fveq2 i = J C i = C J
5 4 breq1d i = J C i ˙ lastS C C J ˙ lastS C
6 fveq2 c = c =
7 6 oveq2d c = 0 ..^ c = 0 ..^
8 fveq1 c = c i = i
9 fveq2 c = lastS c = lastS
10 8 9 breq12d c = c i ˙ lastS c i ˙ lastS
11 7 10 raleqbidv c = i 0 ..^ c c i ˙ lastS c i 0 ..^ i ˙ lastS
12 fveq2 c = d c = d
13 12 oveq2d c = d 0 ..^ c = 0 ..^ d
14 fveq1 c = d c i = d i
15 fveq2 c = d lastS c = lastS d
16 14 15 breq12d c = d c i ˙ lastS c d i ˙ lastS d
17 13 16 raleqbidv c = d i 0 ..^ c c i ˙ lastS c i 0 ..^ d d i ˙ lastS d
18 fveq2 i = j c i = c j
19 18 breq1d i = j c i ˙ lastS c c j ˙ lastS c
20 19 cbvralvw i 0 ..^ c c i ˙ lastS c j 0 ..^ c c j ˙ lastS c
21 fveq2 c = d ++ ⟨“ x ”⟩ c = d ++ ⟨“ x ”⟩
22 21 oveq2d c = d ++ ⟨“ x ”⟩ 0 ..^ c = 0 ..^ d ++ ⟨“ x ”⟩
23 fveq1 c = d ++ ⟨“ x ”⟩ c j = d ++ ⟨“ x ”⟩ j
24 fveq2 c = d ++ ⟨“ x ”⟩ lastS c = lastS d ++ ⟨“ x ”⟩
25 23 24 breq12d c = d ++ ⟨“ x ”⟩ c j ˙ lastS c d ++ ⟨“ x ”⟩ j ˙ lastS d ++ ⟨“ x ”⟩
26 22 25 raleqbidv c = d ++ ⟨“ x ”⟩ j 0 ..^ c c j ˙ lastS c j 0 ..^ d ++ ⟨“ x ”⟩ d ++ ⟨“ x ”⟩ j ˙ lastS d ++ ⟨“ x ”⟩
27 20 26 bitrid c = d ++ ⟨“ x ”⟩ i 0 ..^ c c i ˙ lastS c j 0 ..^ d ++ ⟨“ x ”⟩ d ++ ⟨“ x ”⟩ j ˙ lastS d ++ ⟨“ x ”⟩
28 fveq2 c = C c = C
29 28 oveq2d c = C 0 ..^ c = 0 ..^ C
30 fveq1 c = C c i = C i
31 fveq2 c = C lastS c = lastS C
32 30 31 breq12d c = C c i ˙ lastS c C i ˙ lastS C
33 29 32 raleqbidv c = C i 0 ..^ c c i ˙ lastS c i 0 ..^ C C i ˙ lastS C
34 0nnn ¬ 0
35 hash0 = 0
36 35 eleq1i 0
37 34 36 mtbir ¬
38 fzo0n0 0 ..^
39 37 38 mtbir ¬ 0 ..^
40 nne ¬ 0 ..^ 0 ..^ =
41 39 40 mpbi 0 ..^ =
42 rzal 0 ..^ = i 0 ..^ i ˙ lastS
43 41 42 mp1i φ i 0 ..^ i ˙ lastS
44 1 ad6antr φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = ˙ Er A
45 simp-5r φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = x A
46 44 45 erref φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = x ˙ x
47 simp-6r φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = d Chain A ˙
48 47 chnwrd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = d Word A
49 simplr φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = j 0 ..^ d ++ ⟨“ x ”⟩
50 ccatws1len d Word A d ++ ⟨“ x ”⟩ = d + 1
51 48 50 syl φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = d ++ ⟨“ x ”⟩ = d + 1
52 fveq2 d = d =
53 52 35 eqtr2di d = 0 = d
54 53 eqcomd d = d = 0
55 54 adantl φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = d = 0
56 55 oveq1d φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = d + 1 = 0 + 1
57 0p1e1 0 + 1 = 1
58 56 57 eqtrdi φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = d + 1 = 1
59 51 58 eqtrd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = d ++ ⟨“ x ”⟩ = 1
60 59 oveq2d φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = 0 ..^ d ++ ⟨“ x ”⟩ = 0 ..^ 1
61 49 60 eleqtrd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = j 0 ..^ 1
62 fzo01 0 ..^ 1 = 0
63 62 a1i φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = 0 ..^ 1 = 0
64 61 63 eleqtrd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = j 0
65 elsni j 0 j = 0
66 64 65 syl φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = j = 0
67 53 adantl φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = 0 = d
68 66 67 eqtrd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = j = d
69 ccats1val2 d Word A x A j = d d ++ ⟨“ x ”⟩ j = x
70 48 45 68 69 syl3anc φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = d ++ ⟨“ x ”⟩ j = x
71 lswccats1 d Word A x A lastS d ++ ⟨“ x ”⟩ = x
72 48 45 71 syl2anc φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = lastS d ++ ⟨“ x ”⟩ = x
73 46 70 72 3brtr4d φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d = d ++ ⟨“ x ”⟩ j ˙ lastS d ++ ⟨“ x ”⟩
74 1 ad6antr φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d ˙ Er A
75 simp-6r φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d d Chain A ˙
76 75 chnwrd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d d Word A
77 76 adantr φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j = d d Word A
78 simp-6r φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j = d x A
79 simpr φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j = d j = d
80 77 78 79 69 syl3anc φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j = d d ++ ⟨“ x ”⟩ j = x
81 simp-4r φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d d = lastS d ˙ x
82 neneq d ¬ d =
83 82 adantl φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d ¬ d =
84 81 83 orcnd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d lastS d ˙ x
85 74 84 ersym φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d x ˙ lastS d
86 85 adantr φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j = d x ˙ lastS d
87 80 86 eqbrtrd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j = d d ++ ⟨“ x ”⟩ j ˙ lastS d
88 fveq2 i = j d ++ ⟨“ x ”⟩ i = d ++ ⟨“ x ”⟩ j
89 88 breq1d i = j d ++ ⟨“ x ”⟩ i ˙ lastS d d ++ ⟨“ x ”⟩ j ˙ lastS d
90 simpr φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d i 0 ..^ d d i ˙ lastS d
91 90 ad3antrrr φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d i 0 ..^ d d i ˙ lastS d
92 simplr φ d Chain A ˙ i 0 ..^ d d Chain A ˙
93 92 chnwrd φ d Chain A ˙ i 0 ..^ d d Word A
94 simpr φ d Chain A ˙ i 0 ..^ d i 0 ..^ d
95 ccats1val1 d Word A i 0 ..^ d d ++ ⟨“ x ”⟩ i = d i
96 93 94 95 syl2anc φ d Chain A ˙ i 0 ..^ d d ++ ⟨“ x ”⟩ i = d i
97 96 eqcomd φ d Chain A ˙ i 0 ..^ d d i = d ++ ⟨“ x ”⟩ i
98 97 breq1d φ d Chain A ˙ i 0 ..^ d d i ˙ lastS d d ++ ⟨“ x ”⟩ i ˙ lastS d
99 98 ralbidva φ d Chain A ˙ i 0 ..^ d d i ˙ lastS d i 0 ..^ d d ++ ⟨“ x ”⟩ i ˙ lastS d
100 99 ad6antr φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d i 0 ..^ d d i ˙ lastS d i 0 ..^ d d ++ ⟨“ x ”⟩ i ˙ lastS d
101 91 100 mpbid φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d i 0 ..^ d d ++ ⟨“ x ”⟩ i ˙ lastS d
102 simpr φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ j 0 ..^ d ++ ⟨“ x ”⟩
103 simp-5r φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d Chain A ˙
104 103 chnwrd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d Word A
105 104 50 syl φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d ++ ⟨“ x ”⟩ = d + 1
106 105 oveq2d φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ 0 ..^ d ++ ⟨“ x ”⟩ = 0 ..^ d + 1
107 102 106 eleqtrd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ j 0 ..^ d + 1
108 107 ad2antrr φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d j 0 ..^ d + 1
109 simp-7r φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d d Chain A ˙
110 109 chnwrd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d d Word A
111 lencl d Word A d 0
112 nn0uz 0 = 0
113 112 eleq2i d 0 d 0
114 113 biimpi d 0 d 0
115 110 111 114 3syl φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d d 0
116 fzosplitsni d 0 j 0 ..^ d + 1 j 0 ..^ d j = d
117 115 116 syl φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d j 0 ..^ d + 1 j 0 ..^ d j = d
118 108 117 mpbid φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d j 0 ..^ d j = d
119 simpr φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d j d
120 df-ne j d ¬ j = d
121 119 120 sylib φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d ¬ j = d
122 118 121 olcnd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d j 0 ..^ d
123 89 101 122 rspcdva φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d j d d ++ ⟨“ x ”⟩ j ˙ lastS d
124 87 123 pm2.61dane φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d d ++ ⟨“ x ”⟩ j ˙ lastS d
125 74 124 84 ertrd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d d ++ ⟨“ x ”⟩ j ˙ x
126 simp-5r φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d x A
127 76 126 71 syl2anc φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d lastS d ++ ⟨“ x ”⟩ = x
128 125 127 breqtrrd φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d d ++ ⟨“ x ”⟩ j ˙ lastS d ++ ⟨“ x ”⟩
129 73 128 pm2.61dane φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d ++ ⟨“ x ”⟩ j ˙ lastS d ++ ⟨“ x ”⟩
130 129 ralrimiva φ d Chain A ˙ x A d = lastS d ˙ x i 0 ..^ d d i ˙ lastS d j 0 ..^ d ++ ⟨“ x ”⟩ d ++ ⟨“ x ”⟩ j ˙ lastS d ++ ⟨“ x ”⟩
131 11 17 27 33 2 43 130 chnind φ i 0 ..^ C C i ˙ lastS C
132 5 131 3 rspcdva φ C J ˙ lastS C