[Imprint][Data Privacy Statement][E-Mail]
Back to main index.
View the specification.
View theorem base summary,
View theorem base listing,
the used properties by spec,
the dependency list,
the symbol table,
enrich
nat-div
,
pcache
with
functions evict : nat × pcache → pcache;
truncate : nat × nat × pcache → pcache;
variables ino : nat;
ino0 : nat;
pageno : nat;
size : nat;
name : string;
axioms evict-base : ⊦ evict(n, ∅) = ∅;
used for: s, ls;
evict-rec-same : n = ino ⊦ evict(n, pcache[datakey(ino, pageno), pe]) = evict(n, pcache);
used for: s, ls;
evict-rec-other : n ≠ ino ⊦ evict(n, pcache[datakey(ino, pageno), pe]) = evict(n, pcache)[datakey(ino, pageno), pe];
used for: s, ls;
evict-rec-inode : ⊦ evict(n, pcache[inodekey(ino), pe]) = evict(n, pcache);
used for: s, ls;
evict-rec-dentry : ⊦ evict(n, pcache[dentrykey(ino, name), pe]) = evict(n, pcache);
used for: s, ls;
in-truncate : ⊦ key ∈ truncate(ino, size, pcache) ↔ key.data? ∧ key ∈ pcache ∧ (key.part * VFS_PAGE_SIZE < size ∨ ino ≠ key.ino);
used for: ls, s;
at-truncate
: ⊦ key.data? ∧ key ∈ pcache ∧ (key.part * VFS_PAGE_SIZE < size ∨ ino ≠ key.ino) → truncate(ino, size, pcache)[key] = pcache[key];
end enrich