|
1 | | -From mathcomp.ssreflect |
2 | | -Require Import ssreflect ssrbool ssrnat eqtype ssrfun seq. |
3 | | -From mathcomp |
4 | | -Require Import path. |
5 | | -Require Import Eqdep. |
6 | | -Require Import Relation_Operators. |
7 | | -From fcsl |
8 | | -Require Import axioms pred prelude ordtype finmap pcm unionmap heap. |
9 | | -From DiSeL |
10 | | -Require Import Freshness State EqTypeX DepMaps Protocols Worlds NetworkSem Rely. |
11 | | -From DiSeL |
12 | | -Require Import Actions Injection Process InductiveInv. |
| 1 | +From mathcomp Require Import ssreflect ssrbool ssrnat eqtype ssrfun seq path. |
| 2 | +From Coq Require Import Eqdep Relation_Operators. |
| 3 | +From pcm Require Import axioms pred prelude ordtype finmap pcm unionmap heap. |
| 4 | +From DiSeL Require Import Freshness State EqTypeX DepMaps Protocols Worlds. |
| 5 | +From DiSeL Require Import NetworkSem Rely Actions Injection. |
| 6 | +From DiSeL Require Import Process InductiveInv. |
13 | 7 |
|
14 | 8 | Set Implicit Arguments. |
15 | 9 | Unset Strict Implicit. |
@@ -425,15 +419,16 @@ have [E1 E2] : x1 = i1 /\ y1 = j1. |
425 | 419 | by move/(joinxK (cohS C)). |
426 | 420 | rewrite {E x1}E1 {y1}E2 in T *. |
427 | 421 | have C' : i2 \+ j1 \In Coh W. |
428 | | -- move: (C)=>C'; rewrite (cohE w) in C *=>[[s1]][s2][E]D1 D2. |
| 422 | +- move: (C)=>C'; rewrite (cohE w) in C. |
| 423 | + move: C => [s1 [s2][E]D1 D2]. |
429 | 424 | move: (coh_prec (cohS C') Ci1 D1 E)=>Z; subst i1. |
430 | 425 | move: (joinxK (cohS C') E)=>Z; subst s2; clear E. |
431 | 426 | apply/(cohE w); exists i2, j1; split=>//. |
432 | | - by case/step_coh: (pstep_network_sem T). |
| 427 | + by case/step_coh: (pstep_network_sem T). |
433 | 428 | move/(alw_step Ls): T=>{Ls} Ls. |
434 | 429 | apply: alw_imp' (IH _ _ _ C' Ls)=>{IH Ls C' C Ci Ci1 i i1 i2 p q' sc' scs}. |
435 | 430 | move=>s p _ [i2][j2][->{s}] Ci2 S2 H; exists i2, j2; split=>//. |
436 | | -by apply: rely_trans S1 S2. |
| 431 | +by apply: rely_trans S1 S2. |
437 | 432 | Qed. |
438 | 433 |
|
439 | 434 | Lemma aft_inject (p : proc this V A) (P : A -> state -> Prop) i j : |
|
0 commit comments