[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
. .R?RWeventpRWevent
. .W?FOWpFOW
. .W?RWeventpRWevent
. .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
. .gstatePLIBfPLIBState → PLIBGState
. .gstate:= .FLITPSCweakfFLITPSCState × FLITPSCGState → FLITPSCState
. .gstate:= .PLIBfPLIBState × PLIBGState → PLIBState
. .hPLIBfPLIBGState → List((RWevent, Bool))
. .h:= .PLIBfPLIBGState × List((RWevent, Bool)) → PLIBGState
. .headlist-datapfList('a) → 'a with λ x. x ≠ []
. .ilPLIBfPLIBLState → L
. .il:= .PLIBfPLIBLState × L → PLIBLState
. .indexOf ( . )list-delfList('a) × 'a → Nat
. .indexWhere ( . )forall-indexWherefList('a) × ('a → Bool) → Nat
. .invAPersistlPLIBpfPLIBAction → L with λ a. ∃ l. a = globalAPersist(l)
. .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)
. .ivPLIBfPLIBLState → V
. .iv:= .PLIBfPLIBLState × V → PLIBLState
. .lFLITPSCweakfFLITPSCLState → L
. .lRWeventfRWevent → 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))
. .lPLIBpfPLIBAction → L with λ a. ∃ t, l. a = AInvRead(t, l)
. .l:= .FLITPSCweakfFLITPSCLState × L → FLITPSCLState
. .lastlist-lastpfList('a) → 'a with λ x. x ≠ []
. .lastPersistedOrElse ( . )PLIB-predspList((RWevent, Bool)) × L × Bool
. .locPLIBpfPLIBAction → L with λ a. ∃ t, l, v. a = AInvWrite(t, l, v)
. .lsfFLITPSCweakfFLITPSCState → T → FLITPSCLState
. .lsfPLIBfPLIBState → T → PLIBLState
. .lsf:= .FLITPSCweakfFLITPSCState × (T → FLITPSCLState) → FLITPSCState
. .lsf:= .PLIBfPLIBState × (T → PLIBLState) → PLIBState
. .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)
. .ovPLIBfPLIBLState → V
. .ov:= .PLIBfPLIBLState × V → PLIBLState
. .pFLITPSCweakfFLITPSCGState → L → List(FOW)
. .p:= .FLITPSCweakfFLITPSCGState × (L → List(FOW)) → FLITPSCGState
. .pcfFLITPSCweakfFLITPSCState → T → FLITPSCPC
. .pcfPLIBfPLIBState → T → PLIBPC
. .pcf:= .FLITPSCweakfFLITPSCState × (T → FLITPSCPC) → FLITPSCState
. .pcf:= .PLIBfPLIBState × (T → PLIBPC) → PLIBState
. .pmPLIBfPLIBGState → L → V
. .pm:= .PLIBfPLIBGState × (L → V) → PLIBGState
. .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
. .tRWeventfRWevent → T
. .tPLIBfPLIBLState → 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))
. .tPLIBpfPLIBAction → T with λ a. (∃ t. a = callTSync(t)) ∨ (∃ t. a = callARun(t)) ∨ (∃ t. a = ARetWrite(t)) ∨ (∃ t, v. a = ARetRead(t, v)) ∨ (∃ t, l, v. a = AInvWrite(t, l, v)) ∨ (∃ t, l. a = AInvRead(t, l)) ∨ (∃ t. a = ADoWrite(t)) ∨ (∃ t. a = ADoRead(t))
. .t:= .FLITPSCweakfFLITPSCLState × T → FLITPSCLState
. .t:= .PLIBfPLIBLState × T → PLIBLState
. .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
. .vRWeventfRWevent → V
. .vFLITPSCweakpfFLITPSCAction → V with λ a. (∃ tid, l, v. a = doWritePSC(tid, l, v)) ∨ (∃ tid, l, v. a = doReadPSC(tid, l, v))
. .vPLIBpfPLIBAction → V with λ a. ∃ t, v. a = ARetRead(t, v)
. .v:= .FLITPSCweakfFLITPSCLState × V → FLITPSCLState
. .valFOWpfFOW → V with λ fow. fow.W?
. .valPLIBpfPLIBAction → V with λ a. ∃ t, l, v. a = AInvWrite(t, l, v)
. .vmPLIBfPLIBGState → L → V
. .vm:= .PLIBfPLIBGState × (L → V) → PLIBGState
. .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)
. | .PLIB-predsfList((RWevent, Bool)) × T → List((RWevent, Bool))
. | .PLIB-predsfList((RWevent, Bool)) × Bool → List((RWevent, Bool))
. | .PLIB-predsfList((RWevent, Bool)) × L → List((RWevent, Bool))
. |FOFLITPSC-predsfList(FOW) → List(FOW)
. |RPLIB-predsfList((RWevent, Bool)) → List((RWevent, Bool))
. |WFLITPSC-predsfList(FOW) → List(FOW)
. |WPLIB-predsfList((RWevent, Bool)) → List((RWevent, Bool))
. ∈ .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)
. ⊑p .PLIB-predspList((RWevent, Bool)) × List((RWevent, Bool))
. ⊒ .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
. ⊕ .PLIB-predsf(L → V) × List((RWevent, Bool)) → 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
τPLIBcPLIBAction
∅set-basiccSet('a)
∅memoryfL → V
ACrashPLIBpr(L → V) : (L → V) × List((RWevent, Bool)) × (T → PLIBPC)
ADOREADPLIBprT × L × (L → V) : V × List((RWevent, Bool))
ADoReadPLIBfT → PLIBAction
ADoWritePLIBfT → PLIBAction
AInvReadPLIBfT × L → PLIBAction
AInvWritePLIBfT × L × V → PLIBAction
APersistPLIBprL : (L → V) × List((RWevent, Bool))
ARETREADPLIBprV : : V
ARetReadPLIBfT × V → PLIBAction
ARetWritePLIBfT → PLIBAction
ARunPLIBpr :
DOWRITEPLIBprT × L × V : (L → V) × List((RWevent, Bool))
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
INVREADPLIBprL : L
INVWRITEPLIBprL × V : L × V
Lmemorys
Listlist-datas
Natnat-basics
OmemorycV
PLIBActionPLIBs
PLIBGInvPLIBpPLIBGState
PLIBGStatePLIBs
PLIBInvPLIBpPLIBGState × (T → Type(PLIBLState)) × (T → Type(PLIBPC))
PLIBLInvPLIBpPLIBGState × PLIBLState × PLIBPC
PLIBLStatePLIBs
PLIBPCPLIBs
PLIBRelyPLIBpPLIBGState × T × PLIBGState
PLIBStatePLIBs
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 :
RRWeventfT × L × V → RWevent
R1FLITPSCweakcFLITPSCPC
R2FLITPSCweakcFLITPSCPC
R3FLITPSCweakcFLITPSCPC
R4FLITPSCweakcFLITPSCPC
RETWRITEPLIBpr :
RWeventRWevents
Setset-basics
Tmemorys
TSyncPLIBprT × List((RWevent, Bool)) :
Vmemorys
WFOWfV × T → FOW
WRWeventfT × L × V → RWevent
W1FLITPSCweakcFLITPSCPC
W2FLITPSCweakcFLITPSCPC
W3FLITPSCweakcFLITPSCPC
W4FLITPSCweakcFLITPSCPC
W5FLITPSCweakcFLITPSCPC
W6FLITPSCweakcFLITPSCPC
W7FLITPSCweakcFLITPSCPC
absabs-FLITPSCweak-PLIBpList((RWevent, Bool)) × (L → Type(Set(T))) × (L → Type(List(FOW)))
abslocabs-FLITPSCweak-PLIBpList(RWevent) × Set(T) × List(FOW)
agsabs-FLITPSCweak-PLIBvPLIBGState
allReadsOKPLIB-predspList((RWevent, Bool))
allReadsOKIndPLIB-predsp(L → Type(V)) × (L → Type(Bool)) × List((RWevent, Bool))
allWritesOKPLIB-predspList((RWevent, Bool))
allWritesOKIndPLIB-predsp(T → Type(Bool)) × (L → Type(Bool)) × List((RWevent, Bool))
atomicW1FLITPSCweakcFLITPSCAction
atomicW5FLITPSCweakcFLITPSCAction
babs-FLITPSCweak-PLIBvBool
callARunPLIBfT → PLIBAction
callPSCCOMPLETEFLITPSCweakfT → FLITPSCAction
callPSCRUNFLITPSCweakfT → FLITPSCAction
callTSyncPLIBfT → PLIBAction
crashedFLITPSCweakcFLITPSCPC
crashedPLIBcPLIBPC
ctrabs-FLITPSCweak-PLIBvL → 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)
eabs-FLITPSCweak-PLIBvRWevent
elabs-FLITPSCweak-PLIBvList(RWevent)
eventsPLIB-predsfList((RWevent, Bool)) → List(RWevent)
fillfirstlist-lastfNat × 'a × List('a) → List('a)
firstPersistWFLITPSCweak-predsfList(FOW) → Nat
firstVolWritePLIB-predsfL × List((RWevent, Bool)) → Nat
flitpscInitFLITPSCweakpFLITPSCState
flitpscStepFLITPSCweakpFLITPSCState × FLITPSCAction × FLITPSCState
fowabs-FLITPSCweak-PLIBvFOW
fowlabs-FLITPSCweak-PLIBvList(FOW)
fromelist-delfList('a) × 'a → List('a)
glbabs-FLITPSCweak-PLIBvNat
globalACrashPLIBcPLIBAction
globalAPersistPLIBfL → PLIBAction
globalPSCCRASHFLITPSCweakcFLITPSCAction
globalPSCPERSIST_FOFLITPSCweakfL → FLITPSCAction
globalPSCPERSIST_WFLITPSCweakfL → FLITPSCAction
gsabs-FLITPSCweak-PLIBvFLITPSCGState
gstepfFLITPSCweakfFLITPSCGState × FLITPSCLState × FLITPSCPC × FLITPSCAction → FLITPSCGState
gstepfPLIBfPLIBGState × PLIBLState × PLIBPC × PLIBAction → PLIBGState
habs-FLITPSCweak-PLIBvList((RWevent, Bool))
idleFLITPSCweakcFLITPSCPC
idlePLIBcPLIBPC
ilabs-FLITPSCweak-PLIBvL
invFLITPSCREADFLITPSCweakfT × L → FLITPSCAction
invFLITPSCWRITEFLITPSCweakfT × L × V → FLITPSCAction
invReadPLIBcPLIBPC
invWritePLIBcPLIBPC
isPersistFOFLITPSCweak-predspNat × List(FOW)
ivabs-FLITPSCweak-PLIBvV
labs-FLITPSCweak-PLIBvL
locabs-FLITPSCweak-PLIBvNat
lstepFLITPSCweakpFLITPSCGState × FLITPSCLState × FLITPSCPC × FLITPSCAction × FLITPSCGState × FLITPSCLState × FLITPSCPC
lstepPLIBpPLIBGState × PLIBLState × PLIBPC × PLIBAction × PLIBGState × PLIBLState × PLIBPC
lstepfFLITPSCweakfFLITPSCGState × FLITPSCLState × FLITPSCPC × FLITPSCAction → FLITPSCLState
lstepfPLIBfPLIBGState × PLIBLState × PLIBPC × PLIBAction → PLIBLState
mabs-FLITPSCweak-PLIBvNat
memabs-FLITPSCweak-PLIBvL → V
mkFLITPSCgsFLITPSCweakf(L → V) × (L → List(FOW)) × (L → Nat) × (L → Set(T)) × (L → Set(T)) → FLITPSCGState
mkFLITPSClsFLITPSCweakfT × L × V → FLITPSCLState
mkPLIBgsPLIBf(L → V) × (L → V) × List((RWevent, Bool)) → PLIBGState
mkPLIBlsPLIBfT × L × V × V → PLIBLState
mklistlist-lastf'a × Nat → List('a)
mkstateFLITPSCweakfFLITPSCGState × (T → FLITPSCLState) × (T → FLITPSCPC) → FLITPSCState
mkstatePLIBfPLIBGState × (T → PLIBLState) × (T → PLIBPC) → PLIBState
nabs-FLITPSCweak-PLIBvNat
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)))
ovabs-FLITPSCweak-PLIBvV
pabs-FLITPSCweak-PLIBvL → List(FOW)
pcstepfFLITPSCweakfFLITPSCGState × FLITPSCLState × FLITPSCPC × FLITPSCAction → FLITPSCPC
pcstepfPLIBfPLIBGState × PLIBLState × PLIBPC × PLIBAction → PLIBPC
pendingOkFLITPSC-predsp(L → Type(List(FOW)))
permlist-permpList('a) × List('a)
persistDependentReadsPLIB-predsfL × List((RWevent, Bool)) → List((RWevent, Bool))
persistedabs-FLITPSCweak-PLIBvL → Bool
plibInitPLIBpPLIBState
plibStepPLIBpPLIBState × PLIBAction × PLIBState
pmabs-FLITPSCweak-PLIBvL → V
preFLITPSCweakpFLITPSCGState × FLITPSCLState × FLITPSCPC × FLITPSCAction
prePLIBpPLIBGState × PLIBLState × PLIBPC × PLIBAction
pwbPSCFLITPSCweakfT × L → FLITPSCAction
readyFLITPSCweakcFLITPSCPC
readyPLIBcPLIBPC
relyFLITPSCweak-predspT × List(FOW) × List(FOW)
relyFLITPSCweak-predspT × (L → Type(List(FOW))) × (L → Type(List(FOW)))
relyPLIB-predspT × List((RWevent, Bool)) × List((RWevent, Bool))
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)
resReadPLIBcPLIBPC
resWritePLIBcPLIBPC
retFLITPSCREADFLITPSCweakfT × V → FLITPSCAction
retFLITPSCWRITEFLITPSCweakfT → FLITPSCAction
revlist-lastfList('a) → List('a)
rsabs-FLITPSCweak-PLIBvL → Set(T)
rsetabs-FLITPSCweak-PLIBvSet(T)
sfencePSCFLITPSCweakfT → FLITPSCAction
tabs-FLITPSCweak-PLIBvT
tidabs-FLITPSCweak-PLIBvT
vabs-FLITPSCweak-PLIBvV
vmabs-FLITPSCweak-PLIBvL → V
vpeabs-FLITPSCweak-PLIBv(RWevent, Bool)
wlabs-FLITPSCweak-PLIBvL
writersOkFLITPSC-predsp(L → Type(List(FOW))) × (L → Type(Set(T)))
wsabs-FLITPSCweak-PLIBvL → Set(T)