Skip to content
Snippets Groups Projects
Verified Commit cabdcfc3 authored by Paolo G. Giarrusso's avatar Paolo G. Giarrusso
Browse files

Hide preG instances

parent dbe95c90
No related branches found
No related tags found
No related merge requests found
......@@ -123,9 +123,10 @@ Class gen_heapGpreS (L V : Type) (Σ : gFunctors) `{Countable L} := {
}.
Local Existing Instances gen_heapGpreS_heap.
Class gen_heapGS (L V : Type) (Σ : gFunctors) `{Countable L} := GenHeapGS {
gen_heap_inG :> gen_heapGpreS L V Σ;
gen_heap_inG : gen_heapGpreS L V Σ;
gen_heap_name : gname;
}.
Local Existing Instance gen_heap_inG.
```
The trailing `S` here is for "singleton", because the idea is that only one
instance of `gen_heapGS` ever exists. This is important, since two instances
......
......@@ -73,10 +73,11 @@ Class gen_heapGpreS (L V : Type) (Σ : gFunctors) `{Countable L} := {
Local Existing Instances gen_heapGpreS_meta_data gen_heapGpreS_heap gen_heapGpreS_meta.
Class gen_heapGS (L V : Type) (Σ : gFunctors) `{Countable L} := GenHeapGS {
gen_heap_inG :> gen_heapGpreS L V Σ;
gen_heap_inG : gen_heapGpreS L V Σ;
gen_heap_name : gname;
gen_meta_name : gname
}.
Local Existing Instance gen_heap_inG.
Global Arguments GenHeapGS L V Σ {_ _ _} _ _.
Global Arguments gen_heap_name {L V Σ _ _} _ : assert.
Global Arguments gen_meta_name {L V Σ _ _} _ : assert.
......
......@@ -36,9 +36,10 @@ Class inv_heapGpreS (L V : Type) (Σ : gFunctors) `{Countable L} := {
Local Existing Instance inv_heapGpreS_inG.
Class inv_heapGS (L V : Type) (Σ : gFunctors) `{Countable L} := Inv_HeapG {
inv_heap_inG :> inv_heapGpreS L V Σ;
inv_heap_inG : inv_heapGpreS L V Σ;
inv_heap_name : gname
}.
Local Existing Instance inv_heap_inG.
Global Arguments Inv_HeapG _ _ {_ _ _ _}.
Global Arguments inv_heap_name {_ _ _ _ _} _ : assert.
......
......@@ -14,10 +14,11 @@ Class proph_mapGpreS (P V : Type) (Σ : gFunctors) `{Countable P} := {
Local Existing Instances proph_map_GpreS_inG.
Class proph_mapGS (P V : Type) (Σ : gFunctors) `{Countable P} := ProphMapGS {
proph_map_inG :> proph_mapGpreS P V Σ;
proph_map_inG : proph_mapGpreS P V Σ;
proph_map_name : gname
}.
Global Arguments proph_map_name {_ _ _ _ _} _ : assert.
Local Existing Instances proph_map_inG.
Definition proph_mapΣ (P V : Type) `{Countable P} : gFunctors :=
#[ghost_mapΣ P (list V)].
......
......@@ -15,7 +15,7 @@ Module invGS.
}.
Class invGS (Σ : gFunctors) : Set := InvG {
inv_inG :> invGpreS Σ;
inv_inG : invGpreS Σ;
invariant_name : gname;
enabled_name : gname;
disabled_name : gname;
......@@ -30,6 +30,7 @@ Module invGS.
Proof. solve_inG. Qed.
End invGS.
Import invGS.
Local Existing Instances inv_inG invGpreS_inv invGpreS_enabled invGpreS_disabled.
Definition invariant_unfold {Σ} (P : iProp Σ) : later (iProp Σ) :=
Next P.
......
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