@@ -1092,25 +1092,22 @@ Proof.
1092
1092
auto with datatypes.
1093
1093
}
1094
1094
eapply IHrefl_trans_1n_trace1 with (d:=d) in H_in; eauto.
1095
- break_or_hyp.
1096
- -- exfalso.
1097
- match goal with
1098
- | [ H : refl_trans_1n_trace _ _ (?failed, net0) ?tr |- _ ] =>
1099
- assert (H_step: step_ordered_dynamic_failure_star
1100
- step_ordered_dynamic_failure_init
1101
- (failed, net0) tr)
1102
- by auto;
1103
- pose proof (Tree_in_after_all_fail_level H_step n) as H_after; simpl in H_after
1104
- end.
1105
- assert (before_all (Level lvo') Fail (odnwPackets net0 n' n)) by eauto.
1106
- find_rewrite.
1107
- simpl in *;
1108
- break_or_hyp;
1109
- break_and;
1110
- by auto.
1111
- -- find_rewrite.
1112
- right.
1113
- eapply In_cons_neq; congruence||eauto.
1095
+ break_or_hyp; last by find_rewrite; simpl in *; break_or_hyp; last by right.
1096
+ exfalso.
1097
+ match goal with
1098
+ | [ H : refl_trans_1n_trace _ _ (?failed, net0) ?tr |- _ ] =>
1099
+ assert (H_step: step_ordered_dynamic_failure_star
1100
+ step_ordered_dynamic_failure_init
1101
+ (failed, net0) tr)
1102
+ by auto;
1103
+ pose proof (Tree_in_after_all_fail_level H_step n) as H_after; simpl in H_after
1104
+ end.
1105
+ assert (before_all (Level lvo') Fail (odnwPackets net0 n' n)) by eauto.
1106
+ find_rewrite.
1107
+ simpl in *;
1108
+ break_or_hyp;
1109
+ break_and;
1110
+ by auto.
1114
1111
* match goal with
1115
1112
| [H : In (Level lvo') (odnwPackets _ n' n) |- _ ] =>
1116
1113
eapply IHrefl_trans_1n_trace1 with (d:=d) in H; auto
@@ -1159,33 +1156,28 @@ Proof.
1159
1156
by auto.
1160
1157
+ destruct (name_eq_dec from n'), (name_eq_dec to n);
1161
1158
subst; rewrite_update2; rewrite_update; eauto.
1162
- * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n))
1159
+ * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)).
1163
1160
by (eapply IHrefl_trans_1n_trace1; eauto; repeat find_rewrite; eauto with datatypes).
1164
- break_or_hyp.
1165
- -- left. by find_inversion.
1166
- -- find_rewrite.
1167
- right.
1168
- eapply In_cons_neq; eauto || congruence.
1169
- * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n))
1161
+ break_or_hyp; [left|]; first by find_inversion.
1162
+ find_rewrite.
1163
+ simpl in *.
1164
+ by break_or_hyp; last by right.
1165
+ * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)).
1170
1166
by (eapply IHrefl_trans_1n_trace1; eauto; repeat find_rewrite; eauto with datatypes).
1171
1167
break_or_hyp.
1172
1168
-- left. by find_inversion.
1173
1169
-- find_rewrite.
1174
1170
right.
1175
- eauto using In_cons_neq.
1171
+ by eauto using In_cons_neq.
1176
1172
+ destruct (name_eq_dec from n'), (name_eq_dec to n);
1177
1173
subst; rewrite_update2; rewrite_update; try find_injection; eauto.
1178
- * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n))
1174
+ * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)).
1179
1175
by (eapply IHrefl_trans_1n_trace1; eauto; repeat find_rewrite; eauto with datatypes).
1180
- break_or_hyp.
1181
- -- repeat find_rewrite.
1182
- auto.
1183
- -- find_rewrite.
1184
- right.
1185
- eauto ||
1186
- eapply In_cons_neq;
1187
- eauto || congruence.
1188
- * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n))
1176
+ break_or_hyp; [left|]; first by repeat find_rewrite.
1177
+ find_rewrite.
1178
+ simpl in *.
1179
+ by break_or_hyp; last by right.
1180
+ * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)).
1189
1181
by (eapply IHrefl_trans_1n_trace1; eauto; repeat find_rewrite; eauto with datatypes).
1190
1182
break_or_hyp.
1191
1183
-- repeat find_rewrite.
@@ -1197,17 +1189,13 @@ Proof.
1197
1189
eauto || congruence.
1198
1190
+ destruct (name_eq_dec from n'), (name_eq_dec to n);
1199
1191
subst; rewrite_update2; rewrite_update; try find_injection; eauto.
1200
- * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n))
1192
+ * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)).
1201
1193
by (eapply IHrefl_trans_1n_trace1; eauto; repeat find_rewrite; eauto with datatypes).
1202
- break_or_hyp.
1203
- -- repeat find_rewrite.
1204
- auto.
1205
- -- find_rewrite.
1206
- right.
1207
- eauto ||
1208
- eapply In_cons_neq;
1209
- eauto || congruence.
1210
- * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n))
1194
+ break_or_hyp; [left|]; first by repeat find_rewrite.
1195
+ find_rewrite.
1196
+ simpl in *.
1197
+ by break_or_hyp; last by right.
1198
+ * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)).
1211
1199
by (eapply IHrefl_trans_1n_trace1; eauto; repeat find_rewrite; eauto with datatypes).
1212
1200
break_or_hyp.
1213
1201
-- repeat find_rewrite.
@@ -1219,17 +1207,13 @@ Proof.
1219
1207
eauto || congruence.
1220
1208
+ destruct (name_eq_dec from n'), (name_eq_dec to n);
1221
1209
subst; rewrite_update2; rewrite_update; try find_injection; eauto.
1222
- * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n))
1210
+ * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)).
1223
1211
by (eapply IHrefl_trans_1n_trace1; eauto; repeat find_rewrite; eauto with datatypes).
1224
- break_or_hyp.
1225
- -- repeat find_rewrite.
1226
- auto.
1227
- -- find_rewrite.
1228
- right.
1229
- eauto ||
1230
- eapply In_cons_neq;
1231
- eauto || congruence.
1232
- * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n))
1212
+ break_or_hyp; [left|]; first by repeat find_rewrite.
1213
+ find_rewrite.
1214
+ simpl in *.
1215
+ by break_or_hyp; last by right.
1216
+ * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)).
1233
1217
by (eapply IHrefl_trans_1n_trace1; eauto; repeat find_rewrite; eauto with datatypes).
1234
1218
break_or_hyp.
1235
1219
-- repeat find_rewrite.
@@ -1241,17 +1225,13 @@ Proof.
1241
1225
eauto || congruence.
1242
1226
+ destruct (name_eq_dec from n'), (name_eq_dec to n);
1243
1227
subst; rewrite_update2; rewrite_update; try find_injection; eauto.
1244
- * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n))
1228
+ * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)).
1245
1229
by (eapply IHrefl_trans_1n_trace1; eauto; repeat find_rewrite; eauto with datatypes).
1246
- break_or_hyp.
1247
- -- repeat find_rewrite.
1248
- auto.
1249
- -- find_rewrite.
1250
- right.
1251
- eauto ||
1252
- eapply In_cons_neq;
1253
- eauto || congruence.
1254
- * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n))
1230
+ break_or_hyp; [left|]; first by repeat find_rewrite.
1231
+ find_rewrite.
1232
+ simpl in *.
1233
+ by break_or_hyp; last by right.
1234
+ * assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)).
1255
1235
by (eapply IHrefl_trans_1n_trace1; eauto; repeat find_rewrite; eauto with datatypes).
1256
1236
break_or_hyp.
1257
1237
-- repeat find_rewrite.
@@ -1284,11 +1264,11 @@ Proof.
1284
1264
auto with datatypes.
1285
1265
}
1286
1266
repeat find_rewrite.
1287
- auto with set.
1267
+ by auto with set.
1288
1268
* assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)) by eauto.
1289
1269
break_or_hyp; [left|by auto].
1290
1270
find_rewrite.
1291
- auto with set.
1271
+ by auto with set.
1292
1272
* move {H1}.
1293
1273
case (name_eq_dec from n) => H_dec.
1294
1274
subst_max.
@@ -1316,11 +1296,11 @@ Proof.
1316
1296
}
1317
1297
break_or_hyp;
1318
1298
repeat find_rewrite;
1319
- auto with set.
1299
+ by auto with set.
1320
1300
* assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)) by eauto.
1321
1301
break_or_hyp;
1322
1302
repeat find_rewrite;
1323
- auto with set.
1303
+ by auto with set.
1324
1304
+ destruct (name_eq_dec from n'), (name_eq_dec to n);
1325
1305
subst; rewrite_update2; rewrite_update; try find_injection; eauto.
1326
1306
* assert (n' <> n).
@@ -1344,17 +1324,17 @@ Proof.
1344
1324
find_rewrite.
1345
1325
auto with datatypes.
1346
1326
}
1347
- break_or_hyp;
1348
- repeat find_rewrite;
1349
- auto with set.
1327
+ break_or_hyp; [left|]; first by repeat find_rewrite; auto with set.
1328
+ repeat find_rewrite.
1329
+ by left; auto with set.
1350
1330
* assert (NSet.In n' (adjacent d) \/ In New (odnwPackets net0 n' n)) by eauto.
1351
- break_or_hyp;
1352
- find_rewrite;
1353
- auto with set.
1331
+ break_or_hyp; [left|by auto].
1332
+ find_rewrite.
1333
+ by auto with set.
1354
1334
* move {H1}.
1355
1335
case (name_eq_dec from n) => H_dec.
1356
1336
subst_max.
1357
- case (name_eq_dec to n') => H_dec.
1337
+ case (name_eq_dec to n') => H_dec' .
1358
1338
subst_max.
1359
1339
rewrite_update2.
1360
1340
have H_in: In New (odnwPackets net0 n n') by find_rewrite; left.
0 commit comments