Skip to content
Snippets Groups Projects
Commit 5b83879e authored by Jonas Kastberg's avatar Jonas Kastberg
Browse files

Reintroduced contractiveness of lty_choice

parent 0d29e9f8
No related branches found
No related tags found
No related merge requests found
......@@ -107,6 +107,19 @@ Section session_types.
Proof. solve_proper. Qed.
Global Instance lty_choice_proper a : Proper (() ==> ()) (@lty_choice Σ a).
Proof. apply ne_proper, _. Qed.
Global Instance lty_choice_contractive a :
Proper (map_relation (dist_later n) (λ _, False) (λ _, False) ==> dist n)
(@lty_choice Σ a).
Proof.
intros n Ss Ts Heq. rewrite /lty_choice.
do 4 f_equiv.
rewrite !lookup_total_alt.
specialize (Heq a0).
destruct (Ss !! a0), (Ts !! a0);
[ f_contractive | contradiction | contradiction | done ].
- f_equiv. split; intros H; eauto.
- by rewrite Heq.
Qed.
Global Instance lty_dual_ne : NonExpansive (@lty_dual Σ).
Proof. solve_proper. Qed.
Global Instance lty_dual_proper : Proper (() ==> ()) (@lty_dual Σ).
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment