Skip to content

Commit f5fcc84

Browse files
committedOct 24, 2019
Clean the Coq development
1 parent dead626 commit f5fcc84

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+2996
-4164
lines changed
 

‎Diff/ANI.v ‎ANI.v

+18-10
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ Require Import LanguageModel.
1414
Require Import TraceModel.
1515
Require Import Properties.
1616
Require Import ChainModel.
17-
Require Import NonRobustDef.
18-
Require Import NonRobustTraceCriterion.
17+
Require Import Def.
18+
Require Import TraceCriterion.
1919

20-
Hypothesis prop_extensionality : forall A B : Prop, (A <-> B) -> A = B.
20+
Require Import PropExtensionality.
21+
Definition prop_extensionality := propositional_extensionality.
2122

2223
Section ANI.
2324

@@ -48,7 +49,7 @@ Section ANI.
4849
Local Notation "W ↓" := (cmp W) (at level 50).
4950

5051
Variable rel : trace__S -> trace__T -> Prop.
51-
Variable H_rel : more_obs_rel rel.
52+
Variable H_rel : more_obs_rel rel.
5253

5354
Local Definition ins : Galois_Insertion trace__S trace__T :=
5455
induced_insertion_swap H_rel.
@@ -99,18 +100,25 @@ Section ANI.
99100

100101
Definition ANI {X : Set} (ϕ ρ : @Uco X) : (X -> Prop) -> Prop :=
101102
fun π : X -> Prop =>
102-
forall x1 x2, (uco ϕ) (single x1) = (uco ϕ) (single x2) ->
103+
forall x1 x2, π x1 -> π x2 ->
104+
(uco ϕ) (single x1) = (uco ϕ) (single x2) ->
103105
(uco ρ) (single x1) = (uco ρ) (single x2).
104106

105107
Theorem compiling_ANI (W : prg__S) (ϕ ρ : @Uco trace__S):
106-
hsat__S W (ANI ϕ ρ) -> hsat__T (W ↓) (ANI (ϕ ♯) (ρ ♯)).
108+
rel_TC ->
109+
hsat__S W (ANI ϕ ρ) ->
110+
hsat__T (W ↓) (ANI (ϕ ♯) (ρ ♯)).
107111
Proof.
108-
move => Hsrc t1 t2 H_ϕ_sharp.
112+
move => CCtilde Hsrc t1 t2 semWcmp1 semWcmp2 H_ϕ_sharp.
109113
destruct H_rel as [Hfun Htot].
110-
destruct (Hfun t1) as [s1 [Hrel1 Hunique1]].
111-
destruct (Hfun t2) as [s2 [Hrel2 Hunique2]]. clear Hunique1 Hunique2.
114+
destruct (Hfun t1) as [s1 [Hrel1 Hunique1]]. (* *)
115+
destruct (Hfun t2) as [s2 [Hrel2 Hunique2]].
116+
destruct (CCtilde W t1 semWcmp1) as [ss1 [relss1t1 Wsem1]].
117+
destruct (CCtilde W t2 semWcmp2) as [ss2 [relss2t2 Wsem2]].
118+
move: (Hunique1 ss1 relss1t1) => Heq1.
119+
move: (Hunique2 ss2 relss2t2) => Heq2. subst.
112120
move: (ϕ_sharp_ϕ Hrel1 Hrel2 H_ϕ_sharp) => Hϕ.
113-
move: (Hsrc s1 s2 Hϕ). exact (ρ_ρ_sharp Hrel1 Hrel2).
121+
move: (Hsrc ss1 ss2 Wsem1 Wsem2 Hϕ). exact (ρ_ρ_sharp Hrel1 Hrel2).
114122
Qed.
115123

116124
(* CA: notice that ϕ_sharp_ϕ and ρ_ρ_sharp together provide an equivalence

‎Diff/ChainModel.v ‎ChainModel.v

File renamed without changes.

0 commit comments

Comments
 (0)
Please sign in to comment.