@@ -19,10 +19,14 @@ module type LatticeLifter =
1919 val unlift : t -> L .t
2020 end
2121
22- module DomainLifter (N : NameLifter ) (F : LatticeLifter ) (S :Spec )
23- : Spec with module G = S. G
24- and module C = S. C
25- and module D = F (S. D )
22+ module DomainLifter (N : NameLifter ) (F : LatticeLifter ) (S :Spec ):
23+ sig
24+ include Spec with module G = S. G
25+ and module C = S. C
26+ and module D = F (S. D )
27+ and module V = S. V
28+ val conv : (D .t , G .t , C .t , V .t ) man -> (S .D .t, G .t , C .t , V .t ) man
29+ end
2630=
2731struct
2832 module D = F (S. D )
@@ -105,10 +109,14 @@ struct
105109 D. lift @@ S. event (conv man) e (conv oman)
106110end
107111
108- module GlobalDomainLifter (N : NameLifter ) (F : LatticeLifter ) (S :Spec )
109- : Spec with module D = S. D
110- and module G = F (S. G )
111- and module C = S. C
112+ module GlobalDomainLifter (N : NameLifter ) (F : LatticeLifter ) (S :Spec ):
113+ sig
114+ include Spec with module D = S. D
115+ and module G = F (S. G )
116+ and module C = S. C
117+ and module V = S. V
118+ val conv : (D .t , G .t , C .t , V .t ) man -> (D .t , S .G .t, C .t , V .t ) man
119+ end
112120=
113121struct
114122 module D = S. D
@@ -213,10 +221,14 @@ module type PrintableLifter =
213221 val unlift : t -> P .t
214222 end
215223
216- module ContextLifter (N : NameLifter ) (F : PrintableLifter ) (S :Spec )
217- : Spec with module D = S. D
218- and module G = S. G
219- and module C = F (S. C )
224+ module ContextLifter (N : NameLifter ) (F : PrintableLifter ) (S :Spec ):
225+ sig
226+ include Spec with module D = S. D
227+ and module G = S. G
228+ and module C = F (S. C )
229+ and module V = S. V
230+ val conv : (D .t , G .t , C .t , V .t ) man -> (D .t , G .t , S .C .t, V .t ) man
231+ end
220232=
221233struct
222234 module D = S. D
0 commit comments