mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-15 16:15:08 -05:00
Refined precondition of reordering lemma.
This commit is contained in:
parent
7fe2ec22f2
commit
e68b45969b
1 changed files with 7 additions and 1 deletions
|
|
@ -279,7 +279,7 @@ void VF_reordeReadyList(List_t* pxReadyList, ListItem_t * pxTaskItem)
|
|||
gPrefOwnerLists == take(gOffset, gOwnerLists) &*&
|
||||
gSufOwnerLists == drop(gOffset+1, gOwnerLists) &*&
|
||||
forall(gOwnerLists, (superset)(gTasks)) == true &*&
|
||||
forall(gOwners, (mem_list_elem)(gTasks)) == true;
|
||||
subset(gOwners, gTasks) == true;
|
||||
@*/
|
||||
/*@ ensures
|
||||
readyLists_p(?gReorderedCellLists, ?gReorderedOwnerLists) &*&
|
||||
|
|
@ -291,6 +291,12 @@ void VF_reordeReadyList(List_t* pxReadyList, ListItem_t * pxTaskItem)
|
|||
{
|
||||
//@ open VF_reordeReadyList__ghost_args(_, _, _, _);
|
||||
|
||||
// Proving `∀o ∈ gOwners. o ∈ gTasks`
|
||||
//@ forall_mem(gOwners, gOwnerLists, (superset)(gTasks));
|
||||
//@ assert( superset(gTasks, gOwners) == true );
|
||||
//@ subset_implies_forall_mem(gOwners, gTasks);
|
||||
//@ assert( forall(gOwners, (mem_list_elem)(gTasks)) == true );
|
||||
|
||||
// Proving `length(gCells) == length(gOwners) == gSize + 1`:
|
||||
//@ open xLIST(pxReadyList, gSize, gIndex, gEnd, gCells, gVals, gOwners);
|
||||
//@ close xLIST(pxReadyList, gSize, gIndex, gEnd, gCells, gVals, gOwners);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue