Skip to content
Snippets Groups Projects

Session Type-level Polymorphism

Merged Jonas Kastberg requested to merge jonas/polymorphism into master
3 unresolved threads

Merge request reports

Merged by Jonas KastbergJonas Kastberg 4 years ago (May 1, 2020 9:28am UTC)

Loading

Pipeline #27510 passed

Pipeline passed for f1296bbe on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • 37 Global Instance lty_message_ne a : NonExpansive2 (@lty_message Σ a).
    61 Global Instance lty_msg_exist_ne k :
    62 Proper (pointwise_relation _ (dist n) ==> (dist n)) (@lty_msg_exist Σ k).
    63 Proof. solve_proper. Qed.
    64 Global Instance lty_msg_exist_proper k :
    65 Proper (pointwise_relation _ () ==> ()) (@lty_msg_exist Σ k).
    66 Proof. solve_proper. Qed.
    67 Global Instance lty_msg_base_ne a : NonExpansive2 (@lty_msg_base Σ a).
    68 Proof. rewrite /lty_msg_base. solve_proper. Qed.
    69 Global Instance lty_msg_base_proper a :
    70 Proper (() ==> () ==> ()) (@lty_msg_base Σ a).
    71 Proof. rewrite /lty_msg_base. apply ne_proper_2, _. Qed.
    72 (* FIXME: Not contractive since lty_msg_exist is not contractive *)
    73 (* Global Instance lty_msg_base_contractive n a : *)
    74 (* Proper (dist n ==> dist_later n ==> dist n) (@lty_msg_base Σ a). *)
    75 (* Proof. rewrite /lty_msg_base. solve_contractive. Qed. *)
  • Jonas Kastberg added 1 commit

    added 1 commit

    • 6ba1dae5 - Added subtyping rules with quantifiers

    Compare with previous version

  • 756 763 - iApply iProto_le_recv. iIntros (v p1') "/=". iDestruct 1 as (x) "Hm".
    757 764 by iApply (iProto_le_recv_recv_inv with "H").
    758 765 Qed.
    766
    767 Lemma iProto_le_exist_elim_l_inhabited `{!Inhabited A} (m : A iMsg Σ V) p :
    768 ( x, (<?> m x) p) -∗
    769 (<? x> m x) p.
    770 Proof.
    771 rewrite iMsg_exist_eq. iIntros "H".
    772 destruct (iProto_case p) as [Heq | [a [m' Heq]]].
    773 - unshelve iSpecialize ("H" $!inhabitant); first by apply _.
  • Jonas Kastberg added 1 commit

    added 1 commit

    Compare with previous version

  • Jonas Kastberg added 1 commit

    added 1 commit

    • ac8748f6 - Used iMsg notation for session type definitions.

    Compare with previous version

  • 488 488
    489 489 Definition chanrecv : val := λ: "chan", (recv "chan", "chan").
    490 490 Lemma ltyped_chanrecv A S :
    491 chanrecv : chan (<??> A; S) A * chan S.
  • Jonas Kastberg added 1 commit

    added 1 commit

    • 68823b41 - Made types explicit in subtyping rule

    Compare with previous version

  • Jonas Kastberg added 1 commit

    added 1 commit

    • ddbe5015 - Proved contractiveness of lty_msg_base.

    Compare with previous version

  • Jonas Kastberg added 10 commits

    added 10 commits

    Compare with previous version

  • Jonas Kastberg unmarked as a Work In Progress

    unmarked as a Work In Progress

  • Jonas Kastberg mentioned in commit f1296bbe

    mentioned in commit f1296bbe

  • Please register or sign in to reply
    Loading