Skip to content

Commit 862922b

Browse files
committed
port lockserv to immediate output
1 parent 8174912 commit 862922b

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

LockServ.v

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1172,9 +1172,15 @@ Section LockServ.
11721172
}
11731173
+ unfold InputHandler in *. break_match.
11741174
* unfold ClientIOHandler in *.
1175-
{ monad_unfold. repeat break_match; repeat find_inversion; intuition.
1175+
{ monad_unfold.
1176+
repeat break_match; repeat find_inversion; intuition;
1177+
repeat rewrite snoc_assoc in *;
1178+
try apply trace_mutex'_no_out_extend;
1179+
try find_apply_lem_hyp last_holder'_no_out_inv;
1180+
try (apply last_holder'_no_out_extend; auto).
11761181
- apply trace_mutual_exclusion'_extend_input; auto. congruence.
1177-
- rewrite update_nop_ext. find_apply_lem_hyp last_holder'_input_inv; try congruence.
1182+
- rewrite update_nop_ext.
1183+
find_apply_lem_hyp last_holder'_input_inv; try congruence.
11781184
auto.
11791185
- match goal with
11801186
| [ H : _ |- _ ] => rewrite update_nop in H
@@ -1208,10 +1214,14 @@ Section LockServ.
12081214
}
12091215
* unfold ServerIOHandler in *.
12101216
monad_unfold. find_inversion.
1211-
{ intuition.
1212-
- apply trace_mutual_exclusion'_extend_input_server. auto.
1213-
- rewrite update_nop. find_apply_lem_hyp last_holder'_input_inv_server. auto.
1214-
- rewrite_update. unfold last_holder. rewrite last_holder'_server_extend.
1217+
{ intuition;
1218+
repeat rewrite snoc_assoc in *.
1219+
- apply trace_mutex'_no_out_extend.
1220+
apply trace_mutual_exclusion'_extend_input_server. auto.
1221+
- find_apply_lem_hyp last_holder'_no_out_inv.
1222+
rewrite update_nop. find_apply_lem_hyp last_holder'_input_inv_server. auto.
1223+
- apply last_holder'_no_out_extend; auto.
1224+
rewrite_update. unfold last_holder. rewrite last_holder'_server_extend.
12151225
auto.
12161226
}
12171227
Qed.

0 commit comments

Comments
 (0)