@@ -247,18 +247,6 @@ record 'MessageType MessagePacket =
247247 mailbox :: "nat option"
248248 message :: 'MessageType
249249
250- record 'MessageType EnvelopedMessage =
251- sender :: "nat option"
252- packet :: "'MessageType MessagePacket"
253-
254- record 'HandleType Timer =
255- time :: nat
256- handle :: 'HandleType
257-
258- datatype ( 'MessageType , 'HandleType ) Trigger
259- = MessageArrived "'MessageType EnvelopedMessage" |
260- Elapsed "('HandleType Timer) list"
261-
262250fun target :: "'MessageType MessagePacket \<Rightarrow> nat" where
263251 "target (| MessagePacket.target = target', MessagePacket.mailbox = mailbox', MessagePacket.message = message' |) =
264252 target'"
@@ -271,6 +259,10 @@ fun message :: "'MessageType MessagePacket \<Rightarrow> 'MessageType" where
271259 "message (| MessagePacket.target = target', MessagePacket.mailbox = mailbox', MessagePacket.message = message' |) =
272260 message'"
273261
262+ record 'MessageType EnvelopedMessage =
263+ sender :: "nat option"
264+ packet :: "'MessageType MessagePacket"
265+
274266fun sender :: "'MessageType EnvelopedMessage \<Rightarrow> nat option" where
275267 "sender (| EnvelopedMessage.sender = sender', EnvelopedMessage.packet = packet' |) =
276268 sender'"
@@ -279,12 +271,20 @@ fun packet :: "'MessageType EnvelopedMessage \<Rightarrow> 'MessageType MessageP
279271 "packet (| EnvelopedMessage.sender = sender', EnvelopedMessage.packet = packet' |) =
280272 packet'"
281273
274+ record 'HandleType Timer =
275+ time :: nat
276+ handle :: 'HandleType
277+
282278fun time :: "'HandleType Timer \<Rightarrow> nat" where
283279 "time (| Timer.time = time', Timer.handle = handle' |) = time'"
284280
285281fun handle :: "'HandleType Timer \<Rightarrow> 'HandleType" where
286282 "handle (| Timer.time = time', Timer.handle = handle' |) = handle'"
287283
284+ datatype ( 'MessageType , 'HandleType ) Trigger
285+ = MessageArrived "'MessageType EnvelopedMessage" |
286+ Elapsed "('HandleType Timer) list"
287+
288288fun getMessageFromTrigger :: "('M, 'H) Trigger \<Rightarrow> 'M option" where
289289 "getMessageFromTrigger v_0 =
290290 (case (v_0) of
0 commit comments