@@ -151,7 +151,7 @@ refine
151151 end
152152 | Gt => fun H_eq_cmp => GT _
153153 end (refl_equal _)
154- end (refl_equal _) (refl_equal _)); rewrite H_eq; rewrite H_eq'; auto.
154+ end (refl_equal _) (refl_equal _)); try ( rewrite H_eq; rewrite H_eq') ; auto.
155155- apply lex_lt_empty.
156156- apply lex_lt_empty.
157157- apply nat_compare_eq in H_eq_cmp.
@@ -216,52 +216,52 @@ refine
216216 | EmptyString, String c' s'1 => fun H_eq H_eq' => exist _ Lt _
217217 | String c s'0, EmptyString => fun H_eq H_eq' => exist _ Gt _
218218 | String c s'0, String c' s'1 => fun H_eq H_eq' =>
219- match Nat.compare (nat_of_ascii c) (nat_of_ascii c') as cmp return (_ = cmp -> _) with
220- | Lt => fun H_eq_cmp => exist _ Lt _
221- | Eq => fun H_eq_cmp =>
219+ match Nat.compare (nat_of_ascii c) (nat_of_ascii c') as cmp0 return (_ = cmp0 -> _) with
220+ | Lt => fun H_eq_cmp0 => exist _ Lt _
221+ | Eq => fun H_eq_cmp0 =>
222222 match string_compare_lex s'0 s'1 with
223223 | exist _ cmp H_cmp' =>
224- match cmp as cmp0 return (_ = cmp0 -> _) with
225- | Lt => fun H_eq_cmp0 => exist _ Lt _
226- | Eq => fun H_eq_cmp0 => exist _ Eq _
227- | Gt => fun H_eq_cmp0 => exist _ Gt _
224+ match cmp as cmp1 return (cmp = cmp1 -> _) with
225+ | Lt => fun H_eq_cmp1 => exist _ Lt _
226+ | Eq => fun H_eq_cmp1 => exist _ Eq _
227+ | Gt => fun H_eq_cmp1 => exist _ Gt _
228228 end (refl_equal _)
229229 end
230- | Gt => fun H_eq_cmp => exist _ Gt _
230+ | Gt => fun H_eq_cmp0 => exist _ Gt _
231231 end (refl_equal _)
232- end (refl_equal _) (refl_equal _)); rewrite H_eq; rewrite H_eq'.
232+ end (refl_equal _) (refl_equal _)); try ( rewrite H_eq; rewrite H_eq') .
233233- apply CompEq; auto.
234234- apply CompLt.
235235 apply lex_lt_empty.
236236- apply CompGt.
237237 apply lex_lt_empty.
238- - apply nat_compare_eq in H_eq_cmp .
239- apply nat_of_ascii_injective in H_eq_cmp .
240- rewrite H_eq_cmp0 in H_cmp'.
238+ - apply nat_compare_eq in H_eq_cmp0 .
239+ apply nat_of_ascii_injective in H_eq_cmp0 .
240+ rewrite H_eq_cmp1 in H_cmp'.
241241 inversion H_cmp'; subst.
242242 apply CompEq.
243243 reflexivity.
244- - apply nat_compare_eq in H_eq_cmp .
245- apply nat_of_ascii_injective in H_eq_cmp .
246- rewrite H_eq_cmp0 in H_cmp'.
244+ - apply nat_compare_eq in H_eq_cmp0 .
245+ apply nat_of_ascii_injective in H_eq_cmp0 .
246+ rewrite H_eq_cmp1 in H_cmp'.
247247 inversion H_cmp'.
248248 subst.
249249 apply CompLt.
250250 apply lex_lt_eq.
251251 assumption.
252- - apply nat_compare_eq in H_eq_cmp .
253- apply nat_of_ascii_injective in H_eq_cmp .
254- rewrite H_eq_cmp0 in H_cmp'.
252+ - apply nat_compare_eq in H_eq_cmp0 .
253+ apply nat_of_ascii_injective in H_eq_cmp0 .
254+ rewrite H_eq_cmp1 in H_cmp'.
255255 subst.
256256 inversion H_cmp'.
257257 apply CompGt.
258258 apply lex_lt_eq.
259259 assumption.
260- - apply nat_compare_lt in H_eq_cmp .
260+ - apply nat_compare_lt in H_eq_cmp0 .
261261 apply CompLt.
262262 apply lex_lt_lt.
263263 assumption.
264- - apply nat_compare_gt in H_eq_cmp .
264+ - apply nat_compare_gt in H_eq_cmp0 .
265265 apply CompGt.
266266 apply lex_lt_lt.
267267 auto with arith.
0 commit comments