[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,

Signature symbols in this unit

Symbol Specification Kind Type
# .list-datafList('a) → Nat
# .set-basicfSet('a) → Nat
#oclist-permf'a × List('a) → Nat
. 'listf'a → List('a)
. + .nat-basicfNat × Nat → Nat
. + .list-dataf'a × List('a) → List('a)
. + .listfList('a) × List('a) → List('a)
. + .listfList('a) × 'a → List('a)
. ++ .list-dupfList('a) × 'a → List('a)
. ++ .set-basicfSet('a) × 'a → Set('a)
. +1nat-basicfNat → Nat
. +2 .listf'a × 'a → List('a)
. - .natpfNat × Nat → Nat with λ n, m. n ≥ m
. -- .set-unionfSet('a) × 'a → Set('a)
. -1nat-basicpfNat → Nat with λ n. n ≠ 0
. -1l .list-delfList('a) × 'a → List('a)
. -l .list-delfList('a) × 'a → List('a)
. -p .list-delfList('a) × Nat → List('a)
. .FO?FOWpFOW
. .W?FOWpFOW
. .butlastlist-lastpfList('a) → List('a) with λ x. x ≠ []
. .count ( . )filter-countfList('a) × ('a → Bool) → Nat
. .count ( . )filter-countpfList('a) × Nat × Nat × ('a → Bool) → Nat with λ x, m, n, p. m ≤ n ∧ n ≤ # x
. .ctrFLITPSCweakfFLITPSCGState → L → Nat
. .ctr:= .FLITPSCweakfFLITPSCGState × (L → Nat) → FLITPSCGState
. .distinctlist-dupfList('a) → List('a)
. .drop ( . )list-delpfList('a) × Nat → List('a) with λ x, n. n ≤ # x
. .dropRight ( . )list-lastpfList('a) × Nat → List('a) with λ x, n. n ≤ # x
. .exists ( . )forall-indexWherepList('a) × ('a → Type(Bool))
. .filter ( . )filter-countfList('a) × ('a → Bool) → List('a)
. .filter ( . )set-unionfSet('a) × ('a → Bool) → Set('a)
. .foldLeft ( . )listfList('a) × 'b × ('b × 'a → 'b) → 'b
. .forall ( . )forall-indexWherepList('a) × ('a → Type(Bool))
. .gstateFLITPSCweakfFLITPSCState → FLITPSCGState
. .gstate:= .FLITPSCweakfFLITPSCState × FLITPSCGState → FLITPSCState
. .headlist-datapfList('a) → 'a with λ x. x ≠ []
. .indexOf ( . )list-delfList('a) × 'a → Nat
. .indexWhere ( . )forall-indexWherefList('a) × ('a → Bool) → Nat
. .invFLITPSCREADlFLITPSCweakpfFLITPSCAction → L with λ a. ∃ tid, l. a = invFLITPSCREAD(tid, l)
. .invFLITPSCWRITElFLITPSCweakpfFLITPSCAction → L with λ a. ∃ tid, l, v. a = invFLITPSCWRITE(tid, l, v)
. .invFLITPSCWRITEvFLITPSCweakpfFLITPSCAction → V with λ a. ∃ tid, l, v. a = invFLITPSCWRITE(tid, l, v)
. .invPSCPERSIST_FOlFLITPSCweakpfFLITPSCAction → L with λ a. ∃ l. a = globalPSCPERSIST_FO(l)
. .invPSCPERSIST_WlFLITPSCweakpfFLITPSCAction → L with λ a. ∃ l. a = globalPSCPERSIST_W(l)
. .lFLITPSCweakfFLITPSCLState → L
. .lFLITPSCweakpfFLITPSCAction → L with λ a. (∃ tid, l. a = pwbPSC(tid, l)) ∨ (∃ tid, l, v. a = doWritePSC(tid, l, v)) ∨ (∃ tid, l, v. a = doReadPSC(tid, l, v)) ∨ (∃ tid, l, n. a = ctrReadPSC(tid, l, n)) ∨ (∃ tid, l. a = ctrIncPSC(tid, l)) ∨ (∃ tid, l. a = ctrDecPSC(tid, l))
. .l:= .FLITPSCweakfFLITPSCLState × L → FLITPSCLState
. .lastlist-lastpfList('a) → 'a with λ x. x ≠ []
. .lsfFLITPSCweakfFLITPSCState → T → FLITPSCLState
. .lsf:= .FLITPSCweakfFLITPSCState × (T → FLITPSCLState) → FLITPSCState
. .map ( . )listfList('a) × ('a → 'b) → List('b)
. .map ( . )set-unionfSet('a) × ('a → 'b) → Set('b)
. .memFLITPSCweakfFLITPSCGState → L → V
. .mem:= .FLITPSCweakfFLITPSCGState × (L → V) → FLITPSCGState
. .nFLITPSCweakpfFLITPSCAction → Nat with λ a. ∃ tid, l, n. a = ctrReadPSC(tid, l, n)
. .pFLITPSCweakfFLITPSCGState → L → List(FOW)
. .p:= .FLITPSCweakfFLITPSCGState × (L → List(FOW)) → FLITPSCGState
. .pcfFLITPSCweakfFLITPSCState → T → FLITPSCPC
. .pcf:= .FLITPSCweakfFLITPSCState × (T → FLITPSCPC) → FLITPSCState
. .readersFLITPSCweakfFLITPSCGState → L → Set(T)
. .readers:= .FLITPSCweakfFLITPSCGState × (L → Set(T)) → FLITPSCGState
. .retFLITPSCREADvFLITPSCweakpfFLITPSCAction → V with λ a. ∃ tid, v. a = retFLITPSCREAD(tid, v)
. .sublist ( . )list-delpfList('a) × Nat × Nat → List('a) with λ x, n, m. n + m ≤ # x
. .tFLITPSCweakfFLITPSCLState → T
. .tFLITPSCweakpfFLITPSCAction → T with λ a. (∃ tid. a = retFLITPSCWRITE(tid)) ∨ (∃ tid, v. a = retFLITPSCREAD(tid, v)) ∨ (∃ tid, l, v. a = invFLITPSCWRITE(tid, l, v)) ∨ (∃ tid, l. a = invFLITPSCREAD(tid, l)) ∨ (∃ tid. a = callPSCRUN(tid)) ∨ (∃ tid. a = callPSCCOMPLETE(tid))
. .t:= .FLITPSCweakfFLITPSCLState × T → FLITPSCLState
. .taillist-datapfList('a) → List('a) with λ x. x ≠ []
. .take ( . )list-delpfList('a) × Nat → List('a) with λ x, n. n ≤ # x
. .takeRight ( . )list-delpfList('a) × Nat → List('a) with λ x, n. n ≤ # x
. .tidFOWfFOW → T
. .tidFLITPSCweakpfFLITPSCAction → T with λ a. (∃ tid. a = sfencePSC(tid)) ∨ (∃ tid, l. a = pwbPSC(tid, l)) ∨ (∃ tid, l, v. a = doWritePSC(tid, l, v)) ∨ (∃ tid, l, v. a = doReadPSC(tid, l, v)) ∨ (∃ tid, l, n. a = ctrReadPSC(tid, l, n)) ∨ (∃ tid, l. a = ctrIncPSC(tid, l)) ∨ (∃ tid, l. a = ctrDecPSC(tid, l))
. .vFLITPSCweakfFLITPSCLState → V
. .vFLITPSCweakpfFLITPSCAction → V with λ a. (∃ tid, l, v. a = doWritePSC(tid, l, v)) ∨ (∃ tid, l, v. a = doReadPSC(tid, l, v))
. .v:= .FLITPSCweakfFLITPSCLState × V → FLITPSCLState
. .valFOWpfFOW → V with λ fow. fow.W?
. .writersFLITPSCweakfFLITPSCGState → L → Set(T)
. .writers:= .FLITPSCweakfFLITPSCGState × (L → Set(T)) → FLITPSCGState
. < .nat-basicpNat × Nat
. < .list-datapList('a) × List('a)
. > .natpNat × Nat
. [ . := . ]list-getputpfList('a) × Nat × 'a → List('a) with λ x, n, a. n < # x
. [ . ]list-getputpfList('a) × Nat → 'a with λ x, n. n < # x
. \ .list-setfList('a) × List('a) → List('a)
. \ .set-unionfSet('a) × Set('a) → Set('a)
. | .FLITPSC-predsfList(FOW) × T → List(FOW)
. |FOFLITPSC-predsfList(FOW) → List(FOW)
. |WFLITPSC-predsfList(FOW) → List(FOW)
. ∈ .listp'a × List('a)
. ∈ .set-basicp'a × Set('a)
. ∩ .set-unionfSet('a) × Set('a) → Set('a)
. ∪ .list-setfList('a) × List('a) → List('a)
. ∪ .set-unionfSet('a) × Set('a) → Set('a)
. ≤ .natpNat × Nat
. ≥ .natpNat × Nat
. ⊆ .list-setpList('a) × List('a)
. ⊆ .set-basicpSet('a) × Set('a)
. ⊆m .list-permpList('a) × List('a)
. ⊑ .list-lastpList('a) × List('a)
. ⊒ .list-lastpList('a) × List('a)
. ⊒W .FLITPSCweak-predspList(FOW) × List(FOW)
. ⊕ .FLITPSC-predsfV × List(FOW) → V
. ⊕ .FLITPSC-predsf(L → V) × (L → List(FOW)) → L → V
. intersect .list-setfList('a) × List('a) → List('a)
. zip .filter-countfList('a) × List('b) → List(('a, 'b))
[]list-datacList('a)
{ . }set-unionf'a → Set('a)
τFLITPSCweakcFLITPSCAction
∅set-basiccSet('a)
∅memoryfL → V
FLITPSCActionFLITPSCweaks
FLITPSCGInvFLITPSCweakpFLITPSCGState
FLITPSCGStateFLITPSCweaks
FLITPSCInvFLITPSCweakpFLITPSCGState × (T → Type(FLITPSCLState)) × (T → Type(FLITPSCPC))
FLITPSCLInvFLITPSCweakpFLITPSCGState × FLITPSCLState × FLITPSCPC
FLITPSCLStateFLITPSCweaks
FLITPSCPCFLITPSCweaks
FLITPSCREADFLITPSCweakprL × T × (L → V) × (L → Nat) : (L → List(FOW)) × (L → Set(T)) : V
FLITPSCRelyFLITPSCweakpFLITPSCGState × T × FLITPSCGState
FLITPSCStateFLITPSCweaks
FLITPSCWRITEFLITPSCweakprL × V × T : (L → List(FOW)) × (L → Nat) × (L → Set(T))
FOFOWfT → FOW
FOFollowsWFLITPSC-predspT × List(FOW)
FOWFOWs
Lmemorys
Listlist-datas
Natnat-basics
OmemorycV
PSCCOMPLETEFLITPSCweakprT × (L → List(FOW)) :
PSCCRASHFLITPSCweakpr : (L → List(FOW)) × (L → Nat) × (L → Set(T)) × (L → Set(T)) × (T → FLITPSCPC)
PSCPERSIST_FOFLITPSCweakprL : (L → List(FOW)) (nondeterministic)
PSCPERSIST_WFLITPSCweakprL : (L → V) × (L → List(FOW))
PSCRUNFLITPSCweakpr :
R1FLITPSCweakcFLITPSCPC
R2FLITPSCweakcFLITPSCPC
R3FLITPSCweakcFLITPSCPC
R4FLITPSCweakcFLITPSCPC
Setset-basics
Tmemorys
Vmemorys
WFOWfV × T → FOW
W1FLITPSCweakcFLITPSCPC
W2FLITPSCweakcFLITPSCPC
W3FLITPSCweakcFLITPSCPC
W4FLITPSCweakcFLITPSCPC
W5FLITPSCweakcFLITPSCPC
W6FLITPSCweakcFLITPSCPC
W7FLITPSCweakcFLITPSCPC
aFLITPSCweak-proofsvFLITPSCAction
atomicW1FLITPSCweakcFLITPSCAction
atomicW5FLITPSCweakcFLITPSCAction
callPSCCOMPLETEFLITPSCweakfT → FLITPSCAction
callPSCRUNFLITPSCweakfT → FLITPSCAction
crashedFLITPSCweakcFLITPSCPC
ctrFLITPSCweak-proofsvL → Nat
ctrDecPSCFLITPSCweakfT × L → FLITPSCAction
ctrIncPSCFLITPSCweakfT × L → FLITPSCAction
ctrReadPSCFLITPSCweakfT × L × Nat → FLITPSCAction
ctrokFLITPSC-predsp(L → Type(Nat)) × (L → Type(Set(T)))
disjlist-duppList('a) × List('a)
disjointset-unionpSet('a) × Set('a)
doReadPSCFLITPSCweakfT × L × V → FLITPSCAction
doWritePSCFLITPSCweakfT × L × V → FLITPSCAction
dupslist-duppList('a)
fillfirstlist-lastfNat × 'a × List('a) → List('a)
firstPersistWFLITPSCweak-predsfList(FOW) → Nat
flitpscInitFLITPSCweakpFLITPSCState
flitpscStepFLITPSCweakpFLITPSCState × FLITPSCAction × FLITPSCState
fowFLITPSCweak-proofsvFOW
fowlFLITPSCweak-proofsvList(FOW)
fromelist-delfList('a) × 'a → List('a)
glbFLITPSCweak-proofsvNat
globalPSCCRASHFLITPSCweakcFLITPSCAction
globalPSCPERSIST_FOFLITPSCweakfL → FLITPSCAction
globalPSCPERSIST_WFLITPSCweakfL → FLITPSCAction
gsFLITPSCweak-proofsvFLITPSCGState
gstateFLITPSCweak-proofsvFLITPSCGState
gstepfFLITPSCweakfFLITPSCGState × FLITPSCLState × FLITPSCPC × FLITPSCAction → FLITPSCGState
idleFLITPSCweakcFLITPSCPC
invFLITPSCREADFLITPSCweakfT × L → FLITPSCAction
invFLITPSCREADlFLITPSCweak-proofsvL
invFLITPSCWRITEFLITPSCweakfT × L × V → FLITPSCAction
invFLITPSCWRITElFLITPSCweak-proofsvL
invFLITPSCWRITEvFLITPSCweak-proofsvV
invPSCPERSIST_FOlFLITPSCweak-proofsvL
invPSCPERSIST_WlFLITPSCweak-proofsvL
isPersistFOFLITPSCweak-predspNat × List(FOW)
lFLITPSCweak-proofsvL
locFLITPSCweak-proofsvNat
lsFLITPSCweak-proofsvFLITPSCLState
lsfFLITPSCweak-proofsvT → FLITPSCLState
lstepFLITPSCweakpFLITPSCGState × FLITPSCLState × FLITPSCPC × FLITPSCAction × FLITPSCGState × FLITPSCLState × FLITPSCPC
lstepfFLITPSCweakfFLITPSCGState × FLITPSCLState × FLITPSCPC × FLITPSCAction → FLITPSCLState
memFLITPSCweak-proofsvL → V
mkFLITPSCgsFLITPSCweakf(L → V) × (L → List(FOW)) × (L → Nat) × (L → Set(T)) × (L → Set(T)) → FLITPSCGState
mkFLITPSClsFLITPSCweakfT × L × V → FLITPSCLState
mklistlist-lastf'a × Nat → List('a)
mkstateFLITPSCweakfFLITPSCGState × (T → FLITPSCLState) × (T → FLITPSCPC) → FLITPSCState
nFLITPSCweak-proofsvNat
noPendingFLITPSC-predspT × (L → Type(List(FOW)))
noPendingWFLITPSC-predspT × (L → Type(List(FOW)))
notMemberFLITPSC-predspT × (L → Type(Set(T)))
oneMemberFLITPSC-predspT × L × (L → Type(Set(T)))
onePendingWFLITPSC-predspT × L × (L → Type(List(FOW)))
pFLITPSCweak-proofsvL → List(FOW)
pcFLITPSCweak-proofsvFLITPSCPC
pcfFLITPSCweak-proofsvT → FLITPSCPC
pcstepfFLITPSCweakfFLITPSCGState × FLITPSCLState × FLITPSCPC × FLITPSCAction → FLITPSCPC
pendingOkFLITPSC-predsp(L → Type(List(FOW)))
permlist-permpList('a) × List('a)
plinFLITPSCweak-proofsvL → List(FOW)
preFLITPSCweakpFLITPSCGState × FLITPSCLState × FLITPSCPC × FLITPSCAction
pwbPSCFLITPSCweakfT × L → FLITPSCAction
readersFLITPSCweak-proofsvL → Set(T)
readyFLITPSCweakcFLITPSCPC
relyFLITPSCweak-predspT × List(FOW) × List(FOW)
relyFLITPSCweak-predspT × (L → Type(List(FOW))) × (L → Type(List(FOW)))
relypFLITPSC-predspT × List(FOW) × List(FOW)
relypFLITPSC-predspT × (L → Type(List(FOW))) × (L → Type(List(FOW)))
relywsFLITPSC-predspT × (L → Type(Set(T))) × (L → Type(Set(T)))
relywsFLITPSC-predspT × Set(T) × Set(T)
retFLITPSCREADFLITPSCweakfT × V → FLITPSCAction
retFLITPSCREADvFLITPSCweak-proofsvV
retFLITPSCWRITEFLITPSCweakfT → FLITPSCAction
revlist-lastfList('a) → List('a)
sFLITPSCweak-proofsvFLITPSCState
sfencePSCFLITPSCweakfT → FLITPSCAction
tFLITPSCweak-proofsvT
tidFLITPSCweak-proofsvT
tsFLITPSCweak-proofsvSet(T)
vFLITPSCweak-proofsvV
wlFLITPSCweak-proofsvL
writersFLITPSCweak-proofsvL → Set(T)
writersOkFLITPSC-predsp(L → Type(List(FOW))) × (L → Type(Set(T)))