Skip to content
This repository has been archived by the owner on Feb 5, 2022. It is now read-only.

Commit

Permalink
Merge branch 'master' into enhancement/fill-holes-relaying-broadcasting
Browse files Browse the repository at this point in the history
  • Loading branch information
javierdiaz72 committed Aug 14, 2019
2 parents 6433d63 + e64e7fd commit 526304a
Showing 1 changed file with 27 additions and 6 deletions.
33 changes: 27 additions & 6 deletions Isabelle/Chi_Calculus/Communication.thy
Original file line number Diff line number Diff line change
Expand Up @@ -15,30 +15,51 @@ translations
"a \<triangleright>\<^sup>\<infinity> x. p" \<rightleftharpoons> "CONST multi_receive a (\<lambda>x. p)"

(* FIXME:
We should base the following on \<open>natural_transition_system\<close>, which would have to be extended with
support for simulation up to context to be able to prove the compatibility laws for \<open>\<triangleright>\<^sup>\<infinity>\<close>.
We should base the proofs of the compatibility laws on \<open>natural_transition_system\<close>, which would
have to be extended with support for simulation up to context for that.
*)

lemma basic_multi_receive_preservation:
assumes "\<And>x. P x \<sim>\<^sub>\<flat> Q x"
shows "a \<triangleright>\<^sup>\<infinity> x. P x \<sim>\<^sub>\<flat> a \<triangleright>\<^sup>\<infinity> x. Q x"
sorry

lemma basic_weak_multi_receive_preservation:
assumes "\<And>x. P x \<approx>\<^sub>\<flat> Q x"
shows "a \<triangleright>\<^sup>\<infinity> x. P x \<approx>\<^sub>\<flat> a \<triangleright>\<^sup>\<infinity> x. Q x"
sorry

lemma proper_multi_receive_preservation:
assumes "\<And>x. P x \<sim>\<^sub>\<sharp> Q x"
shows "a \<triangleright>\<^sup>\<infinity> x. P x \<sim>\<^sub>\<sharp> a \<triangleright>\<^sup>\<infinity> x. Q x"
sorry

lemma proper_weak_multi_receive_preservation:
assumes "\<And>x. P x \<approx>\<^sub>\<sharp> Q x"
shows "a \<triangleright>\<^sup>\<infinity> x. P x \<approx>\<^sub>\<sharp> a \<triangleright>\<^sup>\<infinity> x. Q x"
sorry

context begin

private lift_definition
basic_multi_receive :: "[chan, val \<Rightarrow> basic_behavior] \<Rightarrow> basic_behavior"
is multi_receive
sorry
using basic_multi_receive_preservation .

private lift_definition
basic_weak_multi_receive :: "[chan, val \<Rightarrow> basic_weak_behavior] \<Rightarrow> basic_weak_behavior"
is multi_receive
sorry
using basic_weak_multi_receive_preservation .

private lift_definition
proper_multi_receive :: "[chan, val \<Rightarrow> proper_behavior] \<Rightarrow> proper_behavior"
is multi_receive
sorry
using proper_multi_receive_preservation .

private lift_definition
proper_weak_multi_receive :: "[chan, val \<Rightarrow> proper_weak_behavior] \<Rightarrow> proper_weak_behavior"
is multi_receive
sorry
using proper_weak_multi_receive_preservation .

lemmas [equivalence_transfer] =
basic_multi_receive.abs_eq
Expand Down

0 comments on commit 526304a

Please sign in to comment.