One linear pass over regions and fragments, never over logical byte counts.
A group ordinal identifies a field in this schema, not a participant.
238def checkpointPartitionsFrom =
239 (lambda unrestricted regions : (family StdList (family CheckpointLogicalRegion)) .
240 (eliminate
241 StdList
242 (lambda unrestricted current : (family StdList (family CheckpointLogicalRegion)) .
243 (pi unrestricted ordinal : Nat .
244 (pi unrestricted parts : (family StdList (family CheckpointRegionPartition)) . Nat)))
245 regions
246 (branch
247 StdListEmpty
248 .
249 (lambda unrestricted ordinal : Nat .
250 (lambda unrestricted parts : (family StdList (family CheckpointRegionPartition)) .
251 (stdBoolToNatural (stdListIsEmpty (family CheckpointRegionPartition) parts)))))
252 (branch
253 StdListCons
254 region
255 tail
256 induction
257 .
258 (lambda unrestricted ordinal : Nat .
259 (lambda unrestricted parts : (family StdList (family CheckpointRegionPartition)) .
260 (eliminate
261 StdList
262 (lambda unrestricted current : (family StdList (family CheckpointRegionPartition)) .
263 Nat)
264 parts
265 (branch StdListEmpty . 0)
266 (branch
267 StdListCons
268 part
269 after
270 ignored
271 .
272 (naturalAnd
273 (naturalEqual ordinal (checkpointPartitionOrdinal part))
274 (naturalAnd
275 (intervalPartitionValid
276 (logicalCheckpointExtent region)
277 (checkpointPartitionIntervals part))
278 (naturalAnd
279 (checkpointNonemptyIntervals (checkpointPartitionIntervals part))
280 (induction (succ ordinal) after)))))))))))The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.