r1 qualified Selected asymmetric formal reference: 2,502 contracts across nine families; bounded evidence and three separate teaching models Read the evidence scope

AdditionalChecksMC

Complete selected asymmetric reference profile. Definitions and supplied fixtures are distinct from the three teaching specializations; review and qualification are stated in the bound evidence and release.

Package reference-profile, input revision 2. Exact prepared source; CC0 1.0.

This is a definition inventory. Start with the learning chapters for the contract and its assumptions.

This model/fact module also contains 1,465 local fixture helpers outside the selected contract inventory. Their complete executable text remains in the exact module download and owning definition bodies. Listed dependencies include paths through those helpers. All selected contracts and frozen nested helpers retain their own entries.

BidAdvance1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidAdvance1014(world,changed) ==
 LET x==MarkAdvance1011(world,world.lifetimeAuthority,changed,IF changed.objects=world.objects THEN "ActualTimingTransition" ELSE "ActualObjectTransition") IN [x EXCEPT !.after.lifetimeAuthority=x.authority]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkAdvance1011

BidAt1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidAt1014(world,frame) == [world EXCEPT !.bidFrames=ReplacementOverlay99(@,[id \in {frame.id} |-> frame]),!.bidOwners=ReplacementOverlay99(@,[id \in {frame.id} |-> frame.caller])]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99

BidBindingChecks1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidBindingChecks1014 ==
 LET w==BidWorld1014("SideB","Specimen0006","Specimen0097") x==BidCase1014(w,"Specimen0006",FALSE,1,1,{1000},{1100})
     badContext==[x.start.context EXCEPT !.templates[1].sourceSHA="Unbound",!.state.effects[1].sourceSHA="Unbound",!.actualEffects[1].sourceSHA="Unbound"]
     removed==[x.start.context EXCEPT !.state.effects=Empty10,!.actualEffects=Empty10]
     modified==[x.start.context EXCEPT !.state.effects[1].costProfile="ModifiedCost",!.actualEffects[1].costProfile="ModifiedCost"]
     wrongOwner==[x.start.world EXCEPT !.bidOwners[140]=BidReference1014(2)]
     cp==BidCheckpoint1014(BidPublishedWorld1014(x),x.paid,"Payment") cw==BidCheckpointWorld1014(BidPublishedWorld1014(x),x.paid,cp)
 IN /\ ~BidPacket1014(badContext,badContext.currentRef,w,1,CardFacts10,BidPacketFixture1014(badContext))
    /\ ~BeginBid1014(removed,removed.currentRef,w,1,CardFacts10,140,x.start.packet,x.start.frame,x.start.world.bidFrames,x.start.world.usedBidFrames)
    /\ BidInstructionSupport1014(modified.actualEffects[1])="RequiresModifiedNestedCostAdapter"
    /\ ~BidPacket1014(modified,modified.currentRef,w,1,CardFacts10,BidPacketFixture1014(modified))
    /\ ~SelectSecretBid1014(x.start.frame,x.first,wrongOwner,"SideA",1,CardFacts10)
    /\ ~RevealBids1014(x.ready,x.revealed,x.revealWorld,CardFacts10,[p \in SetupPlayers |-> 14501],x.revealWorld.bidContinuations[140])
    /\ ~BidCheckpointReady1014(x.paid,[cw EXCEPT !.outcome="SideA"],cp,EscalatingResourceContestLedger108(cp))
    /\ ~BidPublished1014([x.event EXCEPT !.sourceCard="Specimen0008"],[cw EXCEPT !.bidEvents[x.event.id]=[x.event EXCEPT !.sourceCard="Specimen0008"]])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidCase1014, BidCheckpoint1014, BidCheckpointWorld1014, BidPacketFixture1014, BidPublishedWorld1014, BidReference1014, BidWorld1014, Empty10, EscalatingResourceContestLedger108, BeginBid1014, BidCheckpointReady1014, BidInstructionSupport1014, BidPacket1014, BidPublished1014, RevealBids1014, SelectSecretBid1014, SetupPlayers, CardFacts10

BidCase1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidCase1014(world,card,general,nc,nr,pc,pr) ==
 LET start==BidStart1014(world,card,general)
     first==BidSelected1014(start.frame,IF general THEN "SideB" ELSE "SideA",IF general THEN nr ELSE nc)
     both==IF general THEN first ELSE BidSelected1014(first,"SideB",nr)
     ready==IF general THEN [both EXCEPT !.generalStages={"Selection","Guess"},!.generalCheckpoints={14601,14602},!.guess="Even"] ELSE both
     rw==BidRevealWorld1014(start.world,ready) revealed==BidRevealed1014(ready,rw)
     p1==IF general THEN "SideB" ELSE world.turn.owner p2==IF p1="SideA" THEN "SideB" ELSE "SideA"
     chosen1==BidPlanSelected1014(revealed,p1,IF p1="SideA" THEN pc ELSE pr)
     chosen==IF general THEN chosen1 ELSE BidPlanSelected1014(chosen1,p2,IF p2="SideA" THEN pc ELSE pr)
     paying==BidAt1014(rw,chosen) paid==BidPaidFrame1014(chosen)
     selected==UNION {chosen.plans[p] : p \in chosen.packet.participants}
     converted=={id \in selected : world.objects[id].card#"none"}
     successors==[id \in converted |-> id+10000]
     afterObjects==CheckpointRetireMap103(world.objects,selected,successors,world.printed,world.owners,world.visible)
     events==IF converted={} THEN {} ELSE {MovementEvent8(14700,"Retire",converted)}
     history==IF converted={} THEN world.movementHistory ELSE ReplacementOverlay99(world.movementHistory,[id \in {14700} |-> MovementEvent8(14700,"Retire",converted)])
     receipts==[p \in chosen.packet.participants |-> BidCompletedCost1014(chosen.costs[p],chosen.plans[p])]
     snapshot==MarkSnapshot1011(101,0,"BidsPaid",BidObserverDefinitions1014(world.objects[900].card),[world EXCEPT !.objects=afterObjects])
     event==BidPaymentEvent1014(paid,paying,14800,snapshot)
 IN [start |-> start,first |-> first,both |-> both,ready |-> ready,revealWorld |-> rw,revealed |-> revealed,chosen1 |-> chosen1,chosen |-> chosen,paying |-> paying,paid |-> paid,selected |-> selected,converted |-> converted,
     successors |-> successors,afterObjects |-> afterObjects,events |-> events,history |-> history,receipts |-> receipts,snapshot |-> snapshot,event |-> event]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, BidAt1014, BidObserverDefinitions1014, BidPlanSelected1014, BidRevealWorld1014, BidRevealed1014, BidSelected1014, BidStart1014, MarkSnapshot1011, BidCompletedCost1014, BidPaidFrame1014, BidPaymentEvent1014, CheckpointRetireMap103, MovementEvent8

BidCaseValid1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidCaseValid1014(x) ==
 /\ BeginBid1014(x.start.context,x.start.context.currentRef,x.start.before,1,CardFacts10,140,x.start.packet,x.start.frame,x.start.world.bidFrames,x.start.world.usedBidFrames)
 /\ SelectSecretBid1014(x.start.frame,x.first,x.start.world,IF x.start.frame.packet.kind="SimultaneousBidComparisonGame" THEN "SideA" ELSE "SideB",x.first.selections[IF x.start.frame.packet.kind="SimultaneousBidComparisonGame" THEN "SideA" ELSE "SideB"],CardFacts10)
 /\ (x.start.frame.packet.kind="SimultaneousBidComparisonGame" => SelectSecretBid1014(x.first,x.both,BidAt1014(x.start.world,x.first),"SideB",x.both.selections["SideB"],CardFacts10))
 /\ RevealBids1014(x.ready,x.revealed,x.revealWorld,CardFacts10,BidTransactions1014(x.ready),x.revealWorld.bidContinuations[140])
 /\ ChooseBidPaymentSources1014(x.revealed,x.chosen1,BidAt1014(x.revealWorld,x.revealed),x.chosen1.choiceOrder[1],x.chosen1.plans[x.chosen1.choiceOrder[1]],CardFacts10)
 /\ (x.start.frame.packet.kind="SimultaneousBidComparisonGame" => ChooseBidPaymentSources1014(x.chosen1,x.chosen,BidAt1014(x.revealWorld,x.chosen1),x.chosen.choiceOrder[2],x.chosen.plans[x.chosen.choiceOrder[2]],CardFacts10))
 /\ CommitBidPayments1014(x.chosen,x.paid,x.paying,CardFacts10,x.afterObjects,x.successors,14700,x.history,x.events,x.receipts)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidAt1014, BidTransactions1014, BeginBid1014, ChooseBidPaymentSources1014, CommitBidPayments1014, RevealBids1014, SelectSecretBid1014, CardFacts10

BidCheckpoint1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidCheckpoint1014(world,frame,stage) ==
 LET caller==IF stage="Payment" THEN BidCheckpointSite1014(frame) ELSE [kind |-> "GeneralBiddingInstructionEnd",bidId |-> frame.id,caller |-> frame.caller,stage |-> stage]
 IN ReplacementOverlay99([NewCheckpoint103(IF stage="Payment" THEN 14600 ELSE IF stage="Selection" THEN 14601 ELSE 14602,caller,world.id,world.inside) EXCEPT !.phase="Returned",!.point="ProcedureCodeb74d673a0fc6",!.owed= <<>>,!.done=CheckpointStageSet103,
       !.returned=TRUE,!.recognition=[id |-> IF stage="Payment" THEN 14600 ELSE IF stage="Selection" THEN 14601 ELSE 14602,caller |-> caller],!.recognized=Empty10],[site |-> caller])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, Empty10, BidCheckpointSite1014, CheckpointStageSet103, NewCheckpoint103

BidCheckpointChecks1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidCheckpointChecks1014 ==
 LET x==BidCase1014(BidWorld1014("SideB","Specimen0006","Specimen0097"),"Specimen0006",FALSE,0,0,{}, {})
     w==BidPublishedWorld1014(x) cp==BidCheckpoint1014(w,x.paid,"Payment") cw==BidCheckpointWorld1014(w,x.paid,cp)
     completion==[tag |-> "BiddingInstructionComplete",bidId |-> 140,caller |-> x.paid.revealCaller,result |-> x.paid.result,checkpoint |-> cp.id,paid |-> TRUE]
     done==[x.paid EXCEPT !.phase="Complete",!.complete=TRUE]
 IN /\ BidCheckpointReady1014(x.paid,cw,cp,EscalatingResourceContestLedger108(cp))
    /\ FinishBid1014(x.paid,done,cw,cp,EscalatingResourceContestLedger108(cp),completion)
    /\ ReturnBid1014(done,[done EXCEPT !.phase="Returned",!.returned=TRUE],completion,x.paid.revealCaller)
    /\ ~BidCheckpointReady1014(x.chosen,BidAt1014(cw,x.chosen),cp,EscalatingResourceContestLedger108(cp))
    /\ ~BidCheckpointReady1014(x.paid,cw,[cp EXCEPT !.caller=x.paid.caller],EscalatingResourceContestLedger108(cp))
    /\ ~BidCheckpointReady1014(x.paid,[cw EXCEPT !.conditionalLedger=[checkpoints |-> Empty10,instances |-> Empty10]],cp,EscalatingResourceContestLedger108(cp))
    /\ ~BidCheckpointReady1014(x.paid,[cw EXCEPT !.bidCosts=Without101(@,{14502})],cp,EscalatingResourceContestLedger108(cp))
    /\ ~ReturnBid1014(done,[done EXCEPT !.phase="Returned",!.returned=TRUE],completion,BidReference1014(2))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidAt1014, BidCase1014, BidCheckpoint1014, BidCheckpointWorld1014, BidPublishedWorld1014, BidReference1014, BidWorld1014, Empty10, EscalatingResourceContestLedger108, BidCheckpointReady1014, FinishBid1014, ReturnBid1014, Without101

BidCheckpointWorld1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidCheckpointWorld1014(world,frame,cp) == [BidAt1014(world,frame) EXCEPT !.checkpoints=[id \in {cp.id} |-> cp],!.conditionalLedger=EscalatingResourceContestLedger108(cp)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidAt1014, EscalatingResourceContestLedger108

BidContext1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidContext1014(world,card,general) ==
 LET e==[id |-> 1,kind |-> IF general THEN "SecretBid" ELSE "SimultaneousBidComparisonGame",baseOrigin |-> BidReference1014(1).source,sourceCard |-> card,sourceSHA |-> CardFacts10[card].sourceSHA,
       costProfile |-> "UnmodifiedNestedResourceUnits",participants |-> IF general THEN {"SideB"} ELSE SetupPlayers,rangeMode |-> IF ~general THEN "SchemaAtom127" ELSE IF card="Specimen0200" THEN "AtMost" ELSE "AnyAffordable",allowed |-> [p \in IF general THEN {"SideB"} ELSE SetupPlayers |-> IF general /\ card#"Specimen0200" THEN 0..5 ELSE {0,1,2}],
       reveal |-> IF general THEN "LaterInstruction" ELSE "Immediate",classification |-> IF general THEN "GeneralBid" ELSE IF card \in {"Specimen0043","Specimen0137","Specimen0053"} THEN "LegacyPairedSimultaneousBidComparison" ELSE "PrintedSimultaneousBidComparison"]
 IN [id |-> 14010,currentWorld |-> world.id,currentRef |-> BidReference1014(1),phase |-> "Resolving",templates |-> [id \in {1} |-> e],state |-> [effects |-> [id \in {1} |-> e]],actualEffects |-> [id \in {1} |-> e]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidReference1014, SetupPlayers, CardFacts10

BidContinuation1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidContinuation1014(world,frame,guess) ==
 IF guess THEN [tag |-> "AuthorizedBidGuess",bidId |-> frame.id,instance |-> frame.caller.abilityInstance,player |-> "SideA",snapshotId |-> world.id]
 ELSE [tag |-> "AuthorizedBidReveal",bidId |-> frame.id,instance |-> frame.caller.abilityInstance,snapshotId |-> world.id,source |-> frame.caller.source,instruction |-> IF frame.packet.reveal="Immediate" THEN frame.caller ELSE BidReference1014(3)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidReference1014

BidDetachedChecks1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidDetachedChecks1014 ==
 LET w0==BidWorld1014("SideB","Specimen0137","Specimen0096")
     moved==[w0.objects[500] EXCEPT !.zone="SideADiscard",!.deployed=FALSE,!.activated=FALSE,!.marks={},!.loc=0]
     w==BidRebase1014([w0 EXCEPT !.objects=ReplacementOverlay99(Without101(@,{500}),[id \in {501} |-> moved]),!.usedObjects=@ \cup {501},!.controllers=ReplacementOverlay99(Without101(@,{500}),[id \in {501} |-> "SideA"])])
     parent==OpenAbilityResolution9(14000,"Paid",ObjectAbilitySource9(500),"Play",<<14001>>,14009)
     detached==[parent EXCEPT !.detached=TRUE]
     imminent==[detached EXCEPT !.phase="Imminent",!.firstImminent=TRUE]
     x==BidCase1014(w,"Specimen0137",FALSE,1,0,{1000},{})
 IN /\ CardBatchTransfer8(w0.objects,w.objects,{500},[id \in {500} |-> 501],w0.usedObjects,"SideADiscard","Up",[id \in {500} |-> 0])
    /\ DetachPaidAbility9(parent,detached,[abilityInstance |-> 14000,allPaid |-> TRUE]) /\ BeginAbilityInstructions9(detached,imminent,TRUE,FALSE)
    /\ BidCaseValid1014(x) /\ BidPublishValid1014(x) /\ 500 \notin DOMAIN x.paying.objects /\ x.receipts["SideA"].source=ObjectAbilitySource9(500)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BeginAbilityInstructions9, DetachPaidAbility9, ObjectAbilitySource9, OpenAbilityResolution9, ReplacementOverlay99, BidCase1014, BidCaseValid1014, BidPublishValid1014, BidRebase1014, BidWorld1014, Without101, CardBatchTransfer8

BidExampleFamily022Checks1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidExampleFamily022Checks1014 ==
 LET w0==BidWorld1014("SideB","Specimen0006","Specimen0097")
     current==[w0 EXCEPT !.objects[700].zone="Play",!.activeAbilities={14701},!.abilitySources=[id \in {14701} |-> ObjectAbilitySource9(700)],!.abilityRoles=[id \in {14701} |-> "BidForbidTwo"]]
     restriction==[tag |-> "CurrentBidValueRestriction",ability |-> 14701,snapshotId |-> current.id,forbidden |-> 2,source |-> ObjectAbilitySource9(700),sourceObject |-> current.objects[700],sourceSHA |-> CardFacts10["Specimen0102"].sourceSHA]
     w==BidRebase1014([current EXCEPT !.bidValueRestrictions=[id \in {700} |-> restriction]]) s==BidStart1014(w,"Specimen0006",FALSE)
 IN /\ BidWalletFresh1014(w) /\ BidExampleFamily022Ids1014(w,CardFacts10)={700}
    /\ \A p \in SetupPlayers : BidPaymentPlans1014(w,p,2,CardFacts10)={} /\ BidPaymentPlans1014(w,p,0,CardFacts10)={{}} /\ BidPaymentPlans1014(w,p,1,CardFacts10)#{}
    /\ SelectSecretBid1014(s.frame,BidSelected1014(s.frame,"SideA",1),s.world,"SideA",1,CardFacts10)
    /\ ~SelectSecretBid1014(s.frame,BidSelected1014(s.frame,"SideA",2),s.world,"SideA",2,CardFacts10)
    /\ ~BidWalletFresh1014([w EXCEPT !.bidValueRestrictions=Empty10])
    /\ ~BidWalletFresh1014([w EXCEPT !.bidValueRestrictions[700].sourceSHA="Unbound"])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, BidRebase1014, BidSelected1014, BidStart1014, BidWorld1014, Empty10, BidExampleFamily022Ids1014, BidPaymentPlans1014, BidWalletFresh1014, SelectSecretBid1014, SetupPlayers, CardFacts10

BidGeneralChecks1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidGeneralChecks1014 ==
 LET w==BidWorld1014("SideB","Specimen0191","Specimen0161") s==BidStart1014(w,"Specimen0191",TRUE)
     selected==BidSelected1014(s.frame,"SideB",3)
     cp1==BidCheckpoint1014(s.world,selected,"Selection") cw1==BidCheckpointWorld1014(s.world,selected,cp1)
     after1==[selected EXCEPT !.generalStages={"Selection"},!.generalCheckpoints={14601}]
     guessWorld==[BidAt1014(cw1,after1) EXCEPT !.bidContinuations=[id \in {140} |-> BidContinuation1014(w,after1,TRUE)]]
     guessed==[after1 EXCEPT !.guess="Even"]
     cp2==BidCheckpoint1014(guessWorld,guessed,"Guess") cw2==BidCheckpointWorld1014(guessWorld,guessed,cp2)
     ready==[guessed EXCEPT !.generalStages=@ \cup {"Guess"},!.generalCheckpoints=@ \cup {14602}]
     x==BidCase1014(w,"Specimen0191",TRUE,0,3,{},1100..1102)
     revealWorld==BidRevealWorld1014(cw2,ready)
     changed==BidRebase1014([revealWorld EXCEPT !.objects=Without101(@,{1100,1101,1102,1200,1300})])
 IN /\ SelectSecretBid1014(s.frame,selected,s.world,"SideB",3,CardFacts10)
    /\ GeneralBidInstructionCheckpoint1014(selected,after1,cw1,cp1,EscalatingResourceContestLedger108(cp1))
    /\ RecordBidGuess1014(after1,guessed,guessWorld,"SideA","Even",guessWorld.bidContinuations[140])
    /\ GeneralBidInstructionCheckpoint1014(guessed,ready,cw2,cp2,EscalatingResourceContestLedger108(cp2)) /\ ready=x.ready
    /\ RevealBids1014(ready,BidRevealed1014(ready,revealWorld),revealWorld,CardFacts10,BidTransactions1014(ready),revealWorld.bidContinuations[140])
    /\ BidCaseValid1014(x) /\ BidPublishValid1014(x) /\ x.receipts["SideB"].instruction=BidReference1014(3)
    /\ ~BidGuessCorrect1014(x.paid) /\ x.paid.packet.participants={"SideB"}
    /\ BidRevealSupport1014(ready,changed,CardFacts10)="RequiresChangedPayabilityAdapter"
    /\ ~RevealBids1014(ready,BidRevealed1014(ready,changed),changed,CardFacts10,BidTransactions1014(ready),changed.bidContinuations[140])
    /\ ~RecordBidGuess1014(selected,[selected EXCEPT !.guess="Even"],BidAt1014(guessWorld,selected),"SideA","Even",guessWorld.bidContinuations[140])
 /\ LET w2==BidWorld1014("SideB","Specimen0200","Specimen0161") s2==BidStart1014(w2,"Specimen0200",TRUE)
    IN /\ SelectSecretBid1014(s2.frame,BidSelected1014(s2.frame,"SideB",2),s2.world,"SideB",2,CardFacts10)
       /\ ~SelectSecretBid1014(s2.frame,BidSelected1014(s2.frame,"SideB",3),s2.world,"SideB",3,CardFacts10)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidAt1014, BidCase1014, BidCaseValid1014, BidCheckpoint1014, BidCheckpointWorld1014, BidContinuation1014, BidPublishValid1014, BidRebase1014, BidReference1014, BidRevealWorld1014, BidRevealed1014, BidSelected1014, BidStart1014, BidTransactions1014, BidWorld1014, EscalatingResourceContestLedger108, BidGuessCorrect1014, BidRevealSupport1014, GeneralBidInstructionCheckpoint1014, RecordBidGuess1014, RevealBids1014, SelectSecretBid1014, Without101, CardFacts10

BidGrant1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidGrant1014(world,lock) ==
 LET host==IF lock THEN 650 ELSE 600 card==IF lock THEN "Specimen0205" ELSE "Specimen0089" kind==IF lock THEN "BarrierInstruction" ELSE "Conditional" eid==IF lock THEN 141402 ELSE 141401
     source==ObjectAbilitySource9(host)
     blueprint==[kind |-> "Ordinary",source |-> source,originKind |-> kind,target |-> IF lock THEN "SideB" ELSE host,
       value |-> [kind |-> IF lock THEN "CannotSpendResourceUnits" ELSE "SpendHostedResourceUnits",player |-> "SideB",host |-> host,traversalId |-> world.traversal.id,sourceCard |-> card,sourceSHA |-> CardFacts10[card].sourceSHA],
       baseDuration |-> [kind |-> "Timing",ref |-> TimingRef9("SchemaAtom138",world.traversal.id)],durationMode |-> "Specified",durationClass |-> "SchemaAtom138",choiceKey |-> IF lock THEN "ExampleFamily050SpendLock" ELSE "ExampleFamily019Spend",lingeringConsumers |-> {},otherConsumers |-> {},definitionId |-> eid]
     parent==[OpenAbilityResolution9(14100,kind,source,"Play",<<14101>>,14109) EXCEPT !.phase="Resolving",!.firstImminent=TRUE,!.detached=TRUE]
     plan==[OpenInstruction93(14101,"Ability",14100,source,"Play",1,"NoValue",<<"CreateLingering">>,FALSE) EXCEPT !.phase="Resolving"]
     blueprints==[id \in {eid} |-> blueprint]
     effect==[id |-> 1,kind |-> "CreateLingering",sourceCard |-> card,sourceSHA |-> CardFacts10[card].sourceSHA,baseOrigin |-> source,blueprints |-> blueprints]
     context==[id |-> 14102,imminenceId |-> IF lock THEN 14104 ELSE 14103,phase |-> "Resolving",currentRef |-> InstructionWindowRef93(plan),currentWorld |-> world.id,templates |-> [id \in {1} |-> effect],state |-> [effects |-> [id \in {1} |-> effect]],actualEffects |-> [id \in {1} |-> effect]]
     origin==[kind |-> "Instruction",plan |-> plan,parent |-> parent,ruleStep |-> "NoValue"]
     execution==[tag |-> "LingeringEffectExecution",contextId |-> context.id,instruction |-> context.currentRef,operation |-> 1,snapshotId |-> world.id,source |-> source,blueprints |-> blueprints,carriedOut |-> TRUE]
     row==NewLingeringEffect910(eid,blueprint,context,1,world.lifetimeAuthority.current)
     registry==[world.lingering EXCEPT !.effects=ReplacementOverlay99(@,[id \in {eid} |-> row]),!.usedEffects=@ \cup {eid},!.creations=@ \cup {LingeringCreationKey910(context,1)}]
 IN [before |-> world,after |-> [world EXCEPT !.lingering=registry],context |-> context,origin |-> origin,execution |-> execution]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InstructionWindowRef93, LingeringCreationKey910, NewLingeringEffect910, ObjectAbilitySource9, OpenAbilityResolution9, OpenInstruction93, ReplacementOverlay99, TimingRef9, CardFacts10

BidGrantChecks1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidGrantChecks1014 ==
 LET plain==BidPlainWorld1014("SideB","Specimen0006","Specimen0097") g==BidGrant1014(plain,FALSE)
     only==BidRebase1014([g.after EXCEPT !.objects=Without101(@,{1100,1101,1102,1300})])
     noGrant==BidRebase1014([plain EXCEPT !.objects=only.objects])
     lock==BidGrant1014(g.after,TRUE)
     blank==BidAdvance1014(g.after,[g.after EXCEPT !.id=101,!.objects[600].face="Down"])
     end0==[g.after.traversal EXCEPT !.complete=TRUE,!.phase="Complete"]
     ended==BidAdvance1014(g.after,[g.after EXCEPT !.id=102,!.traversal=end0,!.control.traversal=end0,!.inside={}])
     outside==BidRebase1014([only EXCEPT !.inside={}])
     x==BidCase1014(only,"Specimen0006",FALSE,0,1,{}, {1200})
 IN /\ BidGrantValid1014(g) /\ BidGrantValid1014(lock)
    /\ BidPaymentPlans1014(only,"SideB",1,CardFacts10)={{1200}} /\ BidPaymentPlans1014(only,"SideB",2,CardFacts10)={}
    /\ BidPaymentPlans1014(noGrant,"SideB",1,CardFacts10)={} /\ noGrant.traversal.successful
    /\ BidCaseValid1014(x) /\ x.receipts["SideB"].permissionSources={ObjectAbilitySource9(600)}
    /\ MarkAdvanceValid1011(blank) /\ BidWalletFresh1014(blank.after) /\ 1200 \in BidEligibleResourceUnits1014(blank.after,"SideB",CardFacts10)
    /\ MarkAdvanceValid1011(ended) /\ BidWalletFresh1014(ended.after) /\ 1200 \notin BidEligibleResourceUnits1014(ended.after,"SideB",CardFacts10)
    /\ BidPaymentPlans1014(outside,"SideB",1,CardFacts10)={} /\ DuringTraversal6(outside.traversal)
    /\ BidPaymentPlans1014(lock.after,"SideB",1,CardFacts10)={} /\ BidPaymentPlans1014(lock.after,"SideB",0,CardFacts10)={{}}
    /\ BidCaseValid1014(BidCase1014(lock.after,"Specimen0006",FALSE,0,0,{},{}))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, BidAdvance1014, BidCase1014, BidCaseValid1014, BidGrant1014, BidGrantValid1014, BidPlainWorld1014, BidRebase1014, MarkAdvanceValid1011, BidEligibleResourceUnits1014, BidPaymentPlans1014, BidWalletFresh1014, Without101, CardFacts10, DuringTraversal6

BidGrantValid1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidGrantValid1014(x) == CreateObservedLingeringEffects910(x.before.lingering,x.after.lingering,x.context,x.origin,1,x.execution,x.before.lifetimeAuthority)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CreateObservedLingeringEffects910

BidMatrixChecks1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidMatrixChecks1014 ==
 /\ \A active \in SetupPlayers,nc,nr \in 0..2 :
      LET x==BidCase1014(BidWorld1014(active,"Specimen0006","Specimen0097"),"Specimen0006",FALSE,nc,nr,1000..(999+nc),1100..(1099+nr)) IN
      /\ BidCaseValid1014(x) /\ BidPublishValid1014(x) /\ BidPublished1014(x.event,BidPublishedWorld1014(x))
      /\ x.paid.result=IF nc=nr THEN "Equal" ELSE "Different"
      /\ x.start.world.objects=x.revealWorld.objects /\ x.revealWorld.objects=x.paying.objects
      /\ Cardinality(DOMAIN x.paying.objects \ DOMAIN x.afterObjects)=nc+nr
      /\ x.receipts["SideA"].id#x.receipts["SideB"].id /\ x.receipts["SideA"].announced /\ x.receipts["SideB"].announced
      /\ \A p \in SetupPlayers : x.receipts[p].payer=p /\ x.receipts[p].specification[1].amount=x.paid.selections[p] /\ x.receipts[p].source=x.paid.caller.source
 /\ LET w==BidWorld1014("SideB","Specimen0043","Specimen0096") x==BidCase1014(w,"Specimen0043",FALSE,0,0,{},{} ) IN
    /\ BidCaseValid1014(x) /\ x.paid.packet.classification="LegacyPairedSimultaneousBidComparison" /\ x.afterObjects=w.objects
    /\ x.receipts["SideA"].specification[1].amount=0 /\ x.receipts["SideB"].specification[1].category="Nested"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidCase1014, BidCaseValid1014, BidPublishValid1014, BidPublishedWorld1014, BidWorld1014, BidPublished1014, SetupPlayers

BidMixedWorld1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidMixedWorld1014 ==
 LET w==BidWorld1014("SideA","Specimen0006","Specimen0097")
     converted==[id \in {1400,1401} |-> ReplacementOverlay99(BidResourceUnit1014(IF id=1400 THEN "SideAResourceUnits" ELSE "SideBResourceUnits",0),
        [card |-> IF id=1400 THEN "Specimen0046" ELSE "NeutralValue00006",owner |-> IF id=1400 THEN "SideA" ELSE "SideB",marks |-> {"ConvertedResourceUnitOldMark"}])]
 IN BidRebase1014([w EXCEPT !.objects=ReplacementOverlay99(@,converted),!.usedObjects=@ \cup DOMAIN converted,!.controllers=ReplacementOverlay99(@,[id \in DOMAIN converted |-> IF id=1400 THEN "SideA" ELSE "SideB"])])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, BidRebase1014, BidResourceUnit1014, BidWorld1014

BidMovementChecks1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidMovementChecks1014 ==
 LET x==BidCase1014(BidMixedWorld1014,"Specimen0006",FALSE,2,2,{1000,1400},{1100,1401})
     wrong==Without101(x.paying.objects,x.chosen.plans["SideA"])
     changed==BidRebase1014([x.paying EXCEPT !.objects=Without101(@,{1102})])
 IN /\ BidCaseValid1014(x) /\ BidPublishValid1014(x) /\ x.converted={1400,1401}
    /\ x.afterObjects[11400].zone="SideADiscard" /\ x.afterObjects[11401].zone="SideBDiscard"
    /\ x.afterObjects[11400].marks={} /\ x.afterObjects[11401].marks={} /\ x.afterObjects[1200]=x.paying.objects[1200]
    /\ x.history[14700].originalObjects={1400,1401} /\ Cardinality(x.events)=1 /\ Cardinality(DOMAIN x.receipts)=2
    /\ ~CommitBidPayments1014(x.chosen,x.paid,x.paying,CardFacts10,wrong,Empty10,14700,x.paying.movementHistory,{},x.receipts)
    /\ ~CommitBidPayments1014(x.chosen,x.paid,changed,CardFacts10,x.afterObjects,x.successors,14700,x.history,x.events,x.receipts)
    /\ ~CommitBidPayments1014(x.chosen,[x.paid EXCEPT !.result="Different"],x.paying,CardFacts10,x.afterObjects,x.successors,14700,x.history,x.events,x.receipts)
    /\ ~CommitBidPayments1014([x.chosen EXCEPT !.costs["SideA"].optionalInterrupts={1}],x.paid,BidAt1014(x.paying,[x.chosen EXCEPT !.costs["SideA"].optionalInterrupts={1}]),CardFacts10,x.afterObjects,x.successors,14700,x.history,x.events,x.receipts)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidAt1014, BidCase1014, BidCaseValid1014, BidMixedWorld1014, BidPublishValid1014, BidRebase1014, Empty10, CommitBidPayments1014, Without101, CardFacts10

BidObserverChecks1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidObserverChecks1014 ==
 /\ \A card \in {"Specimen0161","Specimen0096","Specimen0113","Specimen0097"},nr \in {0,1} :
     LET x==BidCase1014(BidWorld1014("SideB","Specimen0006",card),"Specimen0006",FALSE,0,nr,{},1100..(1099+nr))
         w==BidPublishedWorld1014(x) defs==BidObserverDefinitions1014(card) d==defs[CHOOSE key \in DOMAIN defs : TRUE]
         holds==BidObserverCondition1014(BidObserverRule1014(card),x.event,Empty10,CardFacts10)
         event==BidOccurrence1014(x,d) events==IF holds THEN [id \in {event.id} |-> event] ELSE Empty10
         q==BidRecognition1014(w,defs,events,14910)
     IN /\ BidCaseValid1014(x) /\ BidPublishValid1014(x)
        /\ (holds => PublishBidOccurrence1014(w,x.event,d,card,Empty10,event,CardFacts10))
        /\ EscalatingResourceContestRecognitionValid108(q) /\ Cardinality(DOMAIN q.after.instances)=IF holds THEN 1 ELSE 0
        /\ (card="Specimen0096" => holds /\ ((x.event.result="Different")=(nr=1)))
        /\ (card="Specimen0113" => holds /\ x.event.amounts["SideA"]=0)
        /\ (card="Specimen0097" => holds=(nr=1))
 /\ LET x==BidCase1014(BidWorld1014("SideB","Specimen0191","Specimen0161"),"Specimen0191",TRUE,0,0,{},{} )
        y==BidCase1014(BidWorld1014("SideB","Specimen0008","Specimen0097"),"Specimen0008",FALSE,1,1,{1000},{1100})
    IN /\ BidCaseValid1014(x) /\ BidPublishValid1014(x) /\ ~BidObserverCondition1014("BothReveal",x.event,Empty10,CardFacts10)
       /\ BidCaseValid1014(y) /\ ~BidObserverCondition1014("SideBSpentFromSideATraversalAbility",y.event,Empty10,CardFacts10)
       /\ ~BidObserverCondition1014("FirstReveal",y.event,[id \in {1} |-> [y.event EXCEPT !.id=1]],CardFacts10)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidCase1014, BidCaseValid1014, BidObserverDefinitions1014, BidOccurrence1014, BidPublishValid1014, BidPublishedWorld1014, BidRecognition1014, BidWorld1014, Empty10, EscalatingResourceContestRecognitionValid108, BidObserverCondition1014, BidObserverRule1014, PublishBidOccurrence1014, CardFacts10

BidObserverDefinitions1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidObserverDefinitions1014(card) ==
 LET d==[EscalatingResourceContestConditional108(14900,card,"AnyResult") EXCEPT !.trigger.kinds={"BidsRevealedAndPaid"}]
 IN [key \in {ConditionalKey96(d)} |-> d]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, EscalatingResourceContestConditional108

BidOccurrence1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidOccurrence1014(x,d) ==
 ReplacementOverlay99(EscalatingResourceContestOccurrenceBase108(14801,"BidsRevealedAndPaid",500,CardFacts10[x.paid.packet.sourceCard].side,CardFacts10[x.paid.packet.sourceCard].side,x.event.snapshot,x.event.id),
   [scopeKind |-> "Ability",scopeDefinition |-> ConditionalKey96(d),bidId |-> x.event.bidId,amounts |-> x.event.amounts,result |-> x.event.result])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, ReplacementOverlay99, EscalatingResourceContestOccurrenceBase108, CardFacts10

BidPacketFixture1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidPacketFixture1014(context) ==
 LET e==context.actualEffects[1] IN [key |-> <<context.id,context.currentRef,1>>,reference |-> context.currentRef,sourceCard |-> e.sourceCard,sourceSHA |-> e.sourceSHA,
   participants |-> e.participants,allowed |-> e.allowed,rangeMode |-> e.rangeMode,kind |-> e.kind,reveal |-> e.reveal,classification |-> e.classification]

Exact module download · Source bundle and reproduction instructions

BidPlainWorld1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidPlainWorld1014(active,card,observer) ==
 LET b==MarkBase1011(active).world
     cards==[id \in {500,600,650,700,900} |-> LET cid==CASE id=500 -> card [] id=600 -> "Specimen0089" [] id=650 -> "Specimen0205" [] id=700 -> "Specimen0102" [] OTHER -> observer
       IN EscalatingResourceContestCard108(cid,id \in {500,600,650,900} /\ CardFacts10[cid].kind \notin {"Profile","Action","Plan"},id \in {500,650,900} /\ CardFacts10[cid].kind \in {"Barrier","Facility","Attachment"})]
     objects==ReplacementOverlay99(cards,ReplacementOverlay99([id \in 1000..1002 |-> BidResourceUnit1014("SideAResourceUnits",0)],
       ReplacementOverlay99([id \in 1100..1102 |-> BidResourceUnit1014("SideBResourceUnits",0)],
        ReplacementOverlay99([id \in {1200} |-> BidResourceUnit1014("Play",600)],[id \in {1300} |-> LiabilityMarkerFundRow106]))))
     traversal==[OpenTraversal6(44,45,"NormalizedSuccessfulTraversal") EXCEPT !.formalBegun=TRUE,!.attacked="SchemaAtom082",!.phase="Success",!.step="ProcedureCodebbb14496b09b",!.reachedSuccess=TRUE,!.successful=TRUE]
     w==ReplacementOverlay99(b,[id |-> 100,objects |-> [objects EXCEPT ![700].zone="SideBDiscard"],cardFacts |-> CardFacts10,sourceDefinitions |-> [c \in DOMAIN CardFacts10 |-> c],definitions |-> [c \in DOMAIN CardFacts10 |-> c],
       control |-> [b.control EXCEPT !.traversal=traversal],traversal |-> traversal,inside |-> {TimingRef9("SchemaAtom138",44)},started |-> TRUE,
       controllers |-> [id \in DOMAIN objects |-> IF id=500 THEN CardFacts10[card].side ELSE IF id \in 1000..1002 \/ id \in {650,900} THEN "SideA" ELSE "SideB"],
       bidWalletProfile |-> "PoolFundAndExampleFamily019",activeAbilities |-> {},abilitySources |-> Empty10,abilityRoles |-> Empty10,bidValueRestrictions |-> Empty10,bidFrames |-> Empty10,usedBidFrames |-> {},bidOwners |-> Empty10,bidContinuations |-> Empty10,
       usedCostTransactions |-> {},bidCosts |-> Empty10,bidEvents |-> Empty10,bidEventSerial |-> 0,usedWorlds |-> {100},usedObjects |-> DOMAIN objects,
       printed |-> CheckpointPrinted103,owners |-> CheckpointOwners103,visible |-> {},movementHistory |-> Empty10,checkpoints |-> Empty10,conditionalLedger |-> [checkpoints |-> Empty10,instances |-> Empty10],outcome |-> "Playing"])
     a==NewLifetimeAuthority910(w)
 IN ReplacementOverlay99(w,[lifetimeAuthority |-> a,lingering |-> ReplacementOverlay99(NewLingeringRegistry910,[frontier |-> LifetimeFrontier910(a,1)])])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: LifetimeFrontier910, NewLifetimeAuthority910, NewLingeringRegistry910, ReplacementOverlay99, TimingRef9, BidResourceUnit1014, CheckpointOwners103, CheckpointPrinted103, Empty10, EscalatingResourceContestCard108, MarkBase1011, LiabilityMarkerFundRow106, CardFacts10, OpenTraversal6

BidPlanSelected1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidPlanSelected1014(frame,player,selected) == [frame EXCEPT !.plans=ReplacementOverlay99(@,[p \in {player} |-> selected]),!.choiceOrder=Append(@,player)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99

BidPublishValid1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidPublishValid1014(x) == BidPublish1014(x.paid,x.paying,BidPublishedWorld1014(x),CardFacts10,x.afterObjects,x.successors,14700,x.history,x.events,x.receipts,x.event,x.event.id,x.snapshot)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidPublishedWorld1014, BidPublish1014, CardFacts10

BidPublishedWorld1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidPublishedWorld1014(x) ==
 [x.paying EXCEPT !.id=101,!.objects=x.afterObjects,!.movementHistory=x.history,!.bidFrames[140]=x.paid,!.usedWorlds=@ \cup {101},!.usedObjects=@ \cup DOMAIN x.afterObjects,
   !.controllers=[id \in DOMAIN x.afterObjects |-> IF id \in DOMAIN x.paying.controllers THEN x.paying.controllers[id] ELSE x.paying.owners[x.afterObjects[id].card]],
   !.bidEventSerial=@+1,!.usedCostTransactions=@ \cup {x.chosen.transactions[p] : p \in x.chosen.packet.participants},
   !.bidCosts=[id \in {x.chosen.transactions[p] : p \in x.chosen.packet.participants} |-> x.receipts[CHOOSE p \in x.chosen.packet.participants : x.chosen.transactions[p]=id]],!.bidEvents=[id \in {x.event.id} |-> x.event]]

Exact module download · Source bundle and reproduction instructions

BidRebase1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidRebase1014(world) ==
 LET a==NewLifetimeAuthority910(world) IN [world EXCEPT !.lifetimeAuthority=a,!.lingering.frontier=LifetimeFrontier910(a,1)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: LifetimeFrontier910, NewLifetimeAuthority910

BidRecognition1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidRecognition1014(world,definitions,events,id) ==
 LET previous==MarkSnapshot1011(world.id,0,"PreviousCheckpoint",definitions,world) before==NewConditionalLedger96(previous)
     begin==MarkSnapshot1011(world.id,id,"CheckpointBeginning",definitions,world) current==[begin EXCEPT !.point="ProcedureCodee605a78f5d5e"]
     cp==[tag |-> "ConditionalCheckpoint",point |-> "ProcedureCodee605a78f5d5e",id |-> id,previousCheckpoint |-> 0,serial |-> 1,previousSnapshot |-> previous,beginSnapshot |-> begin,processingSnapshot |-> current,stepSerial |-> 0,occurrences |-> events,caller |-> "BidPayment"]
     conditions==[key \in DOMAIN definitions |-> [eventId \in DOMAIN events |-> [tag |-> "ConditionalTriggerStipulations",ability |-> definitions[key].syntax.id,source |-> definitions[key].syntax.source,occurrence |-> eventId,snapshotId |-> events[eventId].snapshot.id,results |-> Empty10]]]
     candidates==CheckpointCandidates96(definitions,before,cp,conditions) allocation==[key \in candidates |-> 14901]
     bindings==[key \in candidates |-> [kind |-> "Reaction",windowId |-> 14902,group |-> 14903,checkpointId |-> id]]
     after==EscalatingResourceContestCommitted108(before,definitions,cp,conditions,allocation,bindings)
 IN [before |-> before,after |-> after,cp |-> cp,conditions |-> conditions,definitions |-> definitions,candidates |-> candidates,allocation |-> allocation,bindings |-> bindings]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointCandidates96, NewConditionalLedger96, Empty10, EscalatingResourceContestCommitted108, MarkSnapshot1011

BidReference1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidReference1014(index) ==
 InstructionWindowRef93([OpenInstruction93(14000+index,"Ability",14000,ObjectAbilitySource9(500),"Play",index,"NoValue",<<"Bidding">>,FALSE) EXCEPT !.phase="Resolving"])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InstructionWindowRef93, ObjectAbilitySource9, OpenInstruction93

BidRepairCase1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidRepairCase1014(world,mode,selected) ==
 BidCase1014(world,"Specimen0006",FALSE,IF mode="SideAPool" THEN Cardinality(selected) ELSE 0,IF mode="SideAPool" THEN 0 ELSE Cardinality(selected),IF mode="SideAPool" THEN selected ELSE {},IF mode="SideAPool" THEN {} ELSE selected)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidCase1014

BidRepairWorld1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidRepairWorld1014(mode,virtual,converted,mixed) ==
 LET w==BidWorld1014("SideB","Specimen0006","Specimen0161")
     actor==IF mode="SideAPool" THEN "SideA" ELSE "SideB"
     row==IF mode="Fund" THEN LiabilityMarkerFundRow106 ELSE BidResourceUnit1014(IF mode="SideAPool" THEN "SideAResourceUnits" ELSE IF mode="SideBPool" THEN "SideBResourceUnits" ELSE "Play",IF mode="Hosted" THEN 600 ELSE 0)
     primary==ReplacementOverlay99([row EXCEPT !.virtual=virtual],IF converted THEN [card |-> IF mode \in {"SideAPool","Fund"} THEN "Specimen0046" ELSE "NeutralValue00006",owner |-> IF mode \in {"SideAPool","Fund"} THEN "SideA" ELSE "SideB",side |-> IF mode \in {"SideAPool","Fund"} THEN "SideA" ELSE "SideB",properties |-> [kind |-> "ResourceUnit"],marks |-> {"ConvertedRepairMark"}] ELSE Empty10)
     resourceUnits=={id \in DOMAIN w.objects : w.objects[id].form="Counter" /\ w.objects[id].kind="ResourceUnit"}
     added==IF mixed THEN [id \in {1500,1501} |-> IF id=1500 THEN primary ELSE row] ELSE [id \in {1500} |-> primary]
     objects==ReplacementOverlay99(Without101(w.objects,resourceUnits),added)
     controllers==[id \in DOMAIN objects |-> IF id \in DOMAIN added THEN IF mode="Fund" THEN "SideA" ELSE actor ELSE w.controllers[id]]
 IN BidRebase1014([w EXCEPT !.objects=objects,!.controllers=controllers,!.usedObjects=@ \cup DOMAIN added])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, BidRebase1014, BidResourceUnit1014, BidWorld1014, Empty10, LiabilityMarkerFundRow106, Without101

BidResourceUnit1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidResourceUnit1014(zone,host) == ReplacementOverlay99(CheckpointCounter103("ResourceUnit",zone,host),[resourceUnitLocation |-> IF host#0 THEN "Hosted" ELSE IF zone="SideAResourceUnits" THEN "SideAPool" ELSE "SideBPool"])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, CheckpointCounter103

BidRevealWorld1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidRevealWorld1014(world,frame) == [BidAt1014(world,frame) EXCEPT !.bidContinuations=[id \in {frame.id} |-> BidContinuation1014(world,frame,FALSE)]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidAt1014, BidContinuation1014

BidRevealed1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidRevealed1014(frame,world) ==
 LET ref==BidContinuation1014(world,frame,FALSE).instruction f==[frame EXCEPT !.revealCaller=ref] IN
 [f EXCEPT !.phase="ChoosePayment",!.revealed=frame.packet.participants,!.paymentWorld=world.id,!.paymentScope=BidPaymentScope1014(world),!.transactions=BidTransactions1014(frame),
  !.costs=[p \in frame.packet.participants |-> BidNestedCost1014(f,world,p,BidTransactions1014(frame)[p])]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidContinuation1014, BidTransactions1014, BidNestedCost1014, BidPaymentScope1014

BidSecretChecks1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidSecretChecks1014 ==
 LET w==BidWorld1014("SideB","Specimen0006","Specimen0097") s==BidStart1014(w,"Specimen0006",FALSE)
     c0==BidSelected1014(s.frame,"SideA",0) c2==BidSelected1014(s.frame,"SideA",2)
     both0==BidSelected1014(c0,"SideB",1) both2==BidSelected1014(c2,"SideB",1)
     x==BidCase1014(w,"Specimen0006",FALSE,1,1,{1000},{1100})
 IN /\ SelectSecretBid1014(s.frame,c0,s.world,"SideA",0,CardFacts10) /\ SelectSecretBid1014(s.frame,c2,s.world,"SideA",2,CardFacts10)
    /\ BidView1014(c0,"SideB")=BidView1014(c2,"SideB") /\ BidView1014(both0,"SideB")=BidView1014(both2,"SideB")
    /\ BidView1014(c0,"SideA")#BidView1014(c2,"SideA") /\ BidView1014(x.revealed,"SideB").knownValues=[p \in SetupPlayers |-> 1]
    /\ ~ChooseBidPaymentSources1014(x.ready,x.chosen1,BidAt1014(x.revealWorld,x.ready),"SideB",{1100},CardFacts10)
    /\ ~SelectSecretBid1014(c0,BidSelected1014(c0,"SideA",1),BidAt1014(s.world,c0),"SideA",1,CardFacts10)
    /\ ~SelectSecretBid1014(s.frame,BidSelected1014(s.frame,"SideA",3),s.world,"SideA",3,CardFacts10)
    /\ ~ChooseBidPaymentSources1014(x.revealed,BidPlanSelected1014(x.revealed,"SideA",{1000}),BidAt1014(x.revealWorld,x.revealed),"SideA",{1000},CardFacts10)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidAt1014, BidCase1014, BidPlanSelected1014, BidSelected1014, BidStart1014, BidWorld1014, BidView1014, ChooseBidPaymentSources1014, SelectSecretBid1014, SetupPlayers, CardFacts10

BidSelected1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidSelected1014(frame,p,n) ==
 LET selections==ReplacementOverlay99(frame.selections,[q \in {p} |-> n]) IN
 [frame EXCEPT !.selections=selections,!.phase=IF DOMAIN selections=frame.packet.participants THEN IF frame.packet.reveal="Immediate" THEN "RevealDue" ELSE "WaitingReveal" ELSE "Selecting"]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99

BidStart1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidStart1014(world,card,general) ==
 LET ctx==BidContext1014(world,card,general) packet==BidPacketFixture1014(ctx) f==BidInitial1014(140,packet,world)
 IN [before |-> world,context |-> ctx,packet |-> packet,frame |-> f,world |-> [BidAt1014(world,f) EXCEPT !.usedBidFrames=@ \cup {f.id}]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidAt1014, BidContext1014, BidPacketFixture1014, BidInitial1014

BidTransactions1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidTransactions1014(frame) == [p \in frame.packet.participants |-> IF p="SideA" THEN 14501 ELSE 14502]

Exact module download · Source bundle and reproduction instructions

BidVirtualResourceUnitChecks1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidVirtualResourceUnitChecks1014 ==
 /\ \A mode \in {"SideAPool","SideBPool","Fund","Hosted"} :
     LET actor==IF mode="SideAPool" THEN "SideA" ELSE "SideB"
         virtual==BidRepairWorld1014(mode,TRUE,FALSE,FALSE)
         zero==BidRepairCase1014(virtual,mode,{})
         invalid==BidRepairCase1014(virtual,mode,{1500})
         first==IF actor="SideA" THEN invalid.start.frame ELSE invalid.first
         next==IF actor="SideA" THEN invalid.first ELSE invalid.both
         current==IF actor="SideA" THEN invalid.start.world ELSE BidAt1014(invalid.start.world,first)
         mixed==BidRepairWorld1014(mode,TRUE,FALSE,TRUE) ordinary==BidRepairCase1014(mixed,mode,{1501})
     IN /\ BidWalletFresh1014(virtual) /\ BidPaymentPlans1014(virtual,actor,1,CardFacts10)={} /\ BidPaymentPlans1014(virtual,actor,0,CardFacts10)={{}}
        /\ ~SelectSecretBid1014(first,next,current,actor,1,CardFacts10)
        /\ BidRevealSupport1014(invalid.ready,invalid.revealWorld,CardFacts10)="RequiresChangedPayabilityAdapter"
        /\ BidCaseValid1014(zero) /\ BidPublishValid1014(zero) /\ zero.afterObjects=virtual.objects
        /\ BidPaymentPlans1014(mixed,actor,1,CardFacts10)={{1501}} /\ BidPaymentPlans1014(mixed,actor,2,CardFacts10)={}
        /\ BidCaseValid1014(ordinary) /\ BidPublishValid1014(ordinary) /\ ordinary.afterObjects[1500]=mixed.objects[1500] /\ 1501 \notin DOMAIN ordinary.afterObjects
 /\ \A mode \in {"SideAPool","SideBPool","Fund","Hosted"},converted \in BOOLEAN :
     LET w==BidRepairWorld1014(mode,FALSE,converted,FALSE) actor==IF mode="SideAPool" THEN "SideA" ELSE "SideB" x==BidRepairCase1014(w,mode,{1500})
     IN /\ BidPaymentPlans1014(w,actor,1,CardFacts10)={{1500}} /\ BidCaseValid1014(x) /\ BidPublishValid1014(x)
        /\ 1500 \notin DOMAIN x.afterObjects
        /\ IF converted THEN x.afterObjects[11500].marks={} /\ x.afterObjects[11500].zone=(IF mode \in {"SideAPool","Fund"} THEN "SideADiscard" ELSE "SideBDiscard") ELSE DOMAIN x.afterObjects=DOMAIN w.objects \ {1500}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidAt1014, BidCaseValid1014, BidPublishValid1014, BidRepairCase1014, BidRepairWorld1014, BidPaymentPlans1014, BidRevealSupport1014, BidWalletFresh1014, SelectSecretBid1014, CardFacts10

BidWorld1014 · operator

reference-profile · input revision 2 · CC0 1.0

BidWorld1014(active,card,observer) == BidGrant1014(BidPlainWorld1014(active,card,observer),FALSE).after

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidGrant1014, BidPlainWorld1014

Block10Assertions · operator

reference-profile · input revision 2 · CC0 1.0

Block10Assertions == CASE block10=1 -> GeneralChecks101 /\ SimultaneousActivationChecks101
                         [] block10=2 -> InformationChecks102
                         [] block10=3 -> CheckpointCleanupChecks103 /\ CheckpointEnvironmentChecks103 /\ CheckpointHistoryChecks103 /\ CheckpointMarksChecks103
                         [] block10=4 -> DamagePacketChecks104 /\ DamageBatchChecks104 /\ DamageSequentialChecks104 /\ DamageCoreChecks104
                         [] block10=5 -> ExposureMarkerQuantityAndStatusChecks105 /\ ExposureMarkerActionAdmissionChecks105 /\ ExposureMarkerActionPostCostChecks105 /\ ExposureMarkerModifierAndSourceChecks105 /\ ExposureMarkerAdditionalCostChecks105 /\ ExposureMarkerConvertedCounterChecks105
                         [] block10=6 -> LiabilityMarkerViewsChecks106 /\ LiabilityMarkerPacketChecks106 /\ LiabilityMarkerLifecycleChecks106 /\ LiabilityMarkerZeroGrantChecks106 /\ LiabilityMarkerPaymentChecks106 /\ LiabilityMarkerConvertedChecks106
                         [] block10=7 -> LinkValueChecks107 /\ LinkFreshnessChecks107 /\ LinkProfileAndUseChecks107
                         [] block10=8 -> EscalatingResourceContestBirthChecks108 /\ EscalatingResourceContestPacketChecks108 /\ EscalatingResourceContestPhaseChecks108 /\ EscalatingResourceContestContextAndOrderChecks108 /\ EscalatingResourceContestWalletChecks108 /\ EscalatingResourceContestReactionAndCurrentReadChecks108 /\ EscalatingResourceContestResultRecognitionChecks108 /\ EscalatingResourceContestReactionProjectionChecks108 /\ EscalatingResourceContestInitiationReactionChecks108 /\ EscalatingResourceContestSideBSourceChecks108
                         [] block10=9 -> LoadAndEmptyChecks109 /\ UnloadedTypeChecks109 /\ LoadFreshnessChecks109 /\ LoadIncarnationChecks109 /\ LoadEffectiveCountChecks109 /\ EmptyStaticRecognitionChecks109 /\ EmptyBeforeLoadPendingChecks109
                         [] block10=10 -> ChargeChosenChecks1010 /\ ChargeCurrentLegalityChecks1010 /\ ChargeParticularChecks1010 /\ ChargeScopeAndCountChecks1010 /\ ChargeBindingChecks1010 /\ ChargeExampleFamily049Checks1010
                         [] block10=11 -> MarkCreationChecks1011 /\ MarkLifetimeChecks1011 /\ MarkSuccessHistoryChecks1011 /\ MarkSpecimen0119Checks1011 /\ MarkCleanupChecks1011 /\ MarkRelationChecks1011 /\ MarkProvenanceChecks1011 /\ MarkRenewalChecks1011 /\ MarkOtherTargetSiteBranches1011
                         [] block10=12 -> SabotageAllocationChecks1012 /\ SabotageSourceChecks1012 /\ SabotagePrivacyChecks1012 /\ SabotageDepartureChecks1012 /\ SabotageNegativeChecks1012 /\ SabotageObserverChecks1012
                         [] block10=13 -> DividendCaptureChecks1013 /\ DividendBodyChecks1013 /\ DividendBoundaryChecks1013 /\ DividendMissingSourceChecks1013 /\ DividendNegativeChecks1013 /\ DividendReplayChecks1013 /\ DividendConsideredBodyChecks1013
                         [] block10=14 -> BidMatrixChecks1014 /\ BidSecretChecks1014 /\ BidGeneralChecks1014 /\ BidGrantChecks1014 /\ BidExampleFamily022Checks1014 /\ BidMovementChecks1014 /\ BidDetachedChecks1014 /\ BidCheckpointChecks1014 /\ BidObserverChecks1014 /\ BidBindingChecks1014 /\ BidVirtualResourceUnitChecks1014
                         [] OTHER -> FALSE

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: BidBindingChecks1014, BidCheckpointChecks1014, BidDetachedChecks1014, BidExampleFamily022Checks1014, BidGeneralChecks1014, BidGrantChecks1014, BidMatrixChecks1014, BidMovementChecks1014, BidObserverChecks1014, BidSecretChecks1014, BidVirtualResourceUnitChecks1014, ChargeBindingChecks1010, ChargeChosenChecks1010, ChargeCurrentLegalityChecks1010, ChargeExampleFamily049Checks1010, ChargeParticularChecks1010, ChargeScopeAndCountChecks1010, CheckpointCleanupChecks103, CheckpointEnvironmentChecks103, CheckpointHistoryChecks103, CheckpointMarksChecks103, DamageBatchChecks104, DamageCoreChecks104, DamagePacketChecks104, DamageSequentialChecks104, DividendBodyChecks1013, DividendBoundaryChecks1013, DividendCaptureChecks1013, DividendConsideredBodyChecks1013, DividendMissingSourceChecks1013, DividendNegativeChecks1013, DividendReplayChecks1013, EmptyBeforeLoadPendingChecks109, EmptyStaticRecognitionChecks109, EscalatingResourceContestBirthChecks108, EscalatingResourceContestContextAndOrderChecks108, EscalatingResourceContestInitiationReactionChecks108, EscalatingResourceContestPacketChecks108, EscalatingResourceContestPhaseChecks108, EscalatingResourceContestReactionAndCurrentReadChecks108, EscalatingResourceContestReactionProjectionChecks108, EscalatingResourceContestResultRecognitionChecks108, EscalatingResourceContestSideBSourceChecks108, EscalatingResourceContestWalletChecks108, ExposureMarkerActionAdmissionChecks105, ExposureMarkerActionPostCostChecks105, ExposureMarkerAdditionalCostChecks105, ExposureMarkerConvertedCounterChecks105, ExposureMarkerModifierAndSourceChecks105, ExposureMarkerQuantityAndStatusChecks105, GeneralChecks101, InformationChecks102, LiabilityMarkerConvertedChecks106, LiabilityMarkerLifecycleChecks106, LiabilityMarkerPacketChecks106, LiabilityMarkerPaymentChecks106, LiabilityMarkerViewsChecks106, LiabilityMarkerZeroGrantChecks106, LinkFreshnessChecks107, LinkProfileAndUseChecks107, LinkValueChecks107, LoadAndEmptyChecks109, LoadEffectiveCountChecks109, LoadFreshnessChecks109, LoadIncarnationChecks109, MarkCleanupChecks1011, MarkCreationChecks1011, MarkLifetimeChecks1011, MarkOtherTargetSiteBranches1011, MarkProvenanceChecks1011, MarkRelationChecks1011, MarkRenewalChecks1011, MarkSpecimen0119Checks1011, MarkSuccessHistoryChecks1011, SabotageAllocationChecks1012, SabotageDepartureChecks1012, SabotageNegativeChecks1012, SabotageObserverChecks1012, SabotagePrivacyChecks1012, SabotageSourceChecks1012, SimultaneousActivationChecks101, UnloadedTypeChecks109, block10

CapacityLegal103 · operator

reference-profile · input revision 2 · CC0 1.0

CapacityLegal103(selected) == SumMap([id \in DOMAIN CapacityUsage103 \ selected |-> CapacityUsage103[id]])<=3

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CapacityUsage103, SumMap

CapacityUsage103 · operator

reference-profile · input revision 2 · CC0 1.0

CapacityUsage103 == [id \in {1,2,3,4} |-> CASE id=1 -> 1 [] id=2 -> 1 [] id=3 -> 3 [] OTHER -> 0]

Exact module download · Source bundle and reproduction instructions

CentralACostAfterWorld105 · operator

reference-profile · input revision 2 · CC0 1.0

CentralACostAfterWorld105(world,selected,successors) ==
 LET move==DamageOwnerMoveMap104(world.objects,selected,successors,"SideA")
     objects==[id \in DOMAIN move |-> IF id \in {successors[old] : old \in selected} THEN [move[id] EXCEPT !.face="Down"] ELSE move[id]]
 IN [world EXCEPT !.id=@+1,!.objects=objects,!.controllers=[id \in (DOMAIN @ \ selected) \cup {successors[old] : old \in selected} |->
              IF id \in DOMAIN @ \ selected THEN @[id] ELSE "SideA"]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DamageOwnerMoveMap104

CentralACostHistory105 · operator

reference-profile · input revision 2 · CC0 1.0

CentralACostHistory105(assignments,eventIds) ==
 [id \in {eventIds[cost] : cost \in DOMAIN eventIds} |-> MovementEvent8(id,"Retire",assignments[CHOOSE cost \in DOMAIN eventIds : eventIds[cost]=id])]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MovementEvent8

ChargeAbility1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeAbility1010(card) == [OpenAbilityResolution9(8000,IF card="Specimen0225" THEN "Paid" ELSE IF card \in {"Specimen0201","Specimen0120"} THEN "Play" ELSE "Conditional",ObjectAbilitySource9(800),"Play",<<500>>,100) EXCEPT !.detached=card="Specimen0225"]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, OpenAbilityResolution9

ChargeBindingChecks1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeBindingChecks1010 ==
 LET c==ChargeCapture1010("Specimen0225","Chosen",1,0,{900})
     r==ChargeTraversal1010(c,c.world,{900})
     key==ChargeAdmissionKey1010(r.context,1)
     zero==ChargeCapture1010("Specimen0201","Particular",1,902,{})
     later==[zero.world EXCEPT !.objects=ReplacementOverlay99(@,[id \in {1500} |-> LoadedCounterToken109("Power","Play",902,"SideB")])]
     would==ChargeTraversal1010(zero,later,{902})
     forged==[would.admission EXCEPT !.initialPower[902]=TRUE]
     otherRef==[InstructionWindowRef93(c.plan) EXCEPT !.abilityInstance=8001]
     otherSpec==[c.spec EXCEPT !.reference=otherRef]
     both==[c.world EXCEPT !.chargeSpecs=ReplacementOverlay99(@,[specKey \in {ChargeSpecKey1010(otherRef)} |-> otherSpec])]
     wrongSpec==[c.spec EXCEPT !.sourceSHA="wrong"]
     wrongWorld==[c.world EXCEPT !.chargeSpecs[ChargeSpecKey1010(wrongSpec.reference)]=wrongSpec]
 IN /\ ChargeSpecKey1010(otherRef)#ChargeSpecKey1010(c.spec.reference)
    /\ ChargeSpec1010(both,c.spec.reference,CardFacts10,c.spec) /\ ChargeSpec1010(both,otherRef,CardFacts10,otherSpec)
    /\ ChargeTraversalValid1010(ChargeRevisedTraversal1010(r))
    /\ ChargeOmitted1010([r.context EXCEPT !.state.effects=Empty10,!.actualEffects=Empty10],r.world,1,r.world.objects,r.world.loadHistory)
    /\ ~ChargeTraversalValid1010([r EXCEPT !.context.state.effects=Empty10,!.context.actualEffects=Empty10])
    /\ ~ChargeSpec1010(wrongWorld,InstructionWindowRef93(c.plan),CardFacts10,wrongSpec)
    /\ ~ChargePacket1010([r.context EXCEPT !.currentWorld=99],r.world,1,CardFacts10,r.admission,r.spec)
    /\ ~ChargePacket1010(r.context,[r.world EXCEPT !.chargeAdmissions=Empty10],1,CardFacts10,r.admission,r.spec)
    /\ ~ChargePacket1010([r.context EXCEPT !.initialRef.id=999],r.world,1,CardFacts10,r.admission,r.spec)
    /\ ~ChargePacket1010([r.context EXCEPT !.actualEffects[1].value=2,!.state.effects[1].value=2],r.world,1,CardFacts10,r.admission,r.spec)
    /\ ~ChargePacket1010([r.context EXCEPT !.actualEffects[1].counterKind="ResourceUnit",!.state.effects[1].counterKind="ResourceUnit"],r.world,1,CardFacts10,r.admission,r.spec)
    /\ ~ResolveCharge1010(would.context,would.world,1,CardFacts10,forged,would.spec,would.afterObjects,would.world.loadHistory,would.afterCompleted,would.added,10001,would.completion,would.events)
    /\ ~ChargeTraversalValid1010([r EXCEPT !.world.completedCharges={key}])
    /\ ~ChargeTraversalValid1010([r EXCEPT !.world.usedObjects=@ \cup DOMAIN r.added])
    /\ ~ChargeTraversalValid1010([r EXCEPT !.afterObjects[900].marks={"ChangedHost"}])
    /\ ~ResolveCharge1010(r.context,r.world,1,CardFacts10,r.admission,r.spec,r.afterObjects,[id \in {1} |-> [tag |-> "InventedLoad"]],r.afterCompleted,r.added,10001,r.completion,r.events)
    /\ \A id \in DOMAIN r.added : r.added[id].marks={} /\ r.added[id].kind="Power"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InstructionWindowRef93, ReplacementOverlay99, ChargeCapture1010, ChargeRevisedTraversal1010, ChargeTraversal1010, ChargeTraversalValid1010, Empty10, ChargeAdmissionKey1010, ChargeOmitted1010, ChargePacket1010, ChargeSpec1010, ChargeSpecKey1010, LoadedCounterToken109, ResolveCharge1010, CardFacts10

ChargeCapture1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeCapture1010(card,mode,amount,particular,targets) ==
 LET raw==ChargeWorld1010(card)
     plan==ChargePlan1010(mode)
     spec==ChargeSpecFixture1010(raw,plan,card,mode,amount,particular)
     world==[raw EXCEPT !.chargeSpecs=[key \in {ChargeSpecKey1010(spec.reference)} |-> spec]]
     ability==ChargeAbility1010(card)
     announced==IF mode="Chosen" THEN [plan EXCEPT !.targets=targets,!.announced=TRUE] ELSE plan
     imminent==[announced EXCEPT !.phase="Imminent"]
     imminentAbility==[ability EXCEPT !.phase="Imminent",!.firstImminent=TRUE,!.detached=@ \/ ability.kind \in {"Conditional","BarrierInstruction"}]
     refs==IF mode="Chosen" THEN targets ELSE {particular}
     admission==[tag |-> "ChargeAtImminence",reference |-> InstructionWindowRef93(imminent),snapshotId |-> world.id,spec |-> spec,announced |-> announced.targets,
         initialPower |-> [id \in refs |-> ChargePower1010(world.objects,id)],physical |-> [id \in refs \cap DOMAIN world.objects |-> world.objects[id].card]]
 IN [world |-> world,plan |-> plan,spec |-> spec,ability |-> ability,announced |-> announced,imminent |-> imminent,imminentAbility |-> imminentAbility,admission |-> admission]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InstructionWindowRef93, ChargeAbility1010, ChargePlan1010, ChargeSpecFixture1010, ChargeWorld1010, ChargePower1010, ChargeSpecKey1010

ChargeCaptureValid1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeCaptureValid1010(x) ==
 /\ IF x.spec.mode="Chosen" THEN AnnounceChargeTargets1010(x.plan,x.announced,x.ability,x.world,CardFacts10,x.spec,x.announced.targets,ChargeTargetReceipt1010(x.plan,x.announced.targets)) ELSE x.announced=x.plan
 /\ EnterFirstAbilityInstruction93(x.ability,x.imminentAbility,x.announced,x.imminent,ChargeEntry1010(x.plan))
 /\ CaptureChargeImminence1010(x.imminent,x.imminentAbility,x.world,CardFacts10,x.spec,x.admission)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EnterFirstAbilityInstruction93, ChargeEntry1010, AnnounceChargeTargets1010, CaptureChargeImminence1010, ChargeTargetReceipt1010, CardFacts10

ChargeChangeSpec1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeChangeSpec1010(c,spec) ==
 [c EXCEPT !.spec=spec,!.world.chargeSpecs[ChargeSpecKey1010(spec.reference)]=spec,!.admission.spec=spec]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ChargeSpecKey1010

ChargeChosenChecks1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeChosenChecks1010 ==
 /\ \A source \in {"Specimen0092","Specimen0120","Specimen0225","Specimen0170","Specimen0044","Specimen0064"}, target \in {900,904} :
      LET c==ChargeCapture1010(source,"Chosen",1,0,{target})
          result==ChargeTraversal1010(c,c.world,{target})
      IN /\ ChargeCaptureValid1010(c) /\ ChargeTraversalValid1010(result) /\ Cardinality(DOMAIN result.added)=1
         /\ Cardinality(HostedCounterIds109(result.afterObjects,target,"Power"))=Cardinality(HostedCounterIds109(c.world.objects,target,"Power"))+1
         /\ result.world.loadHistory=Empty10
 /\ LET two==ChargeCapture1010("Specimen0225","Chosen",2,0,{900,904})
        partial==ChargeCapture1010("Specimen0225","Chosen",3,0,{900,904})
        result==ChargeTraversal1010(two,two.world,{900,904})
        wrongResourceUnit==ChargeCapture1010("Specimen0225","Chosen",1,0,{902})
        wrongOwner==ChargeCapture1010("Specimen0225","Chosen",1,0,{901})
        uninstalled==ChargeCapture1010("Specimen0225","Chosen",1,0,{903})
        omitted==ChargeCapture1010("Specimen0225","Chosen",2,0,{900})
     IN /\ ChargeCaptureValid1010(two) /\ ChargeCaptureValid1010(partial) /\ ChargeTraversalValid1010(result)
        /\ ~ChargeCaptureValid1010(wrongResourceUnit) /\ ~ChargeCaptureValid1010(wrongOwner) /\ ~ChargeCaptureValid1010(uninstalled) /\ ~ChargeCaptureValid1010(omitted)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ChargeCapture1010, ChargeCaptureValid1010, ChargeTraversal1010, ChargeTraversalValid1010, Empty10, HostedCounterIds109

ChargeContext1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeContext1010(x,world) ==
 LET reference==InstructionWindowRef93(x.imminent)
     key== <<101000,reference,1>>
     e==[id |-> 1,kind |-> "Charge",value |-> 1,counterKind |-> "Power",actor |-> "SideB",baseOrigin |-> reference.source,
         sourceCard |-> x.spec.sourceCard,sourceSHA |-> x.spec.sourceSHA,admissionKey |-> key]
 IN [id |-> 101000,phase |-> "Resolving",initialRef |-> reference,currentRef |-> reference,currentWorld |-> world.id,templates |-> [id \in {1} |-> e],
      state |-> [effects |-> [id \in {1} |-> e]],actualEffects |-> [id \in {1} |-> e]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InstructionWindowRef93

ChargeCurrentLegalityChecks1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeCurrentLegalityChecks1010 ==
 LET c==ChargeCapture1010("Specimen0225","Chosen",1,0,{900})
     lost==[c.world EXCEPT !.objects=Without101(@,{1000})]
     firstAdded==[lost EXCEPT !.objects=ReplacementOverlay99(@,[id \in {1500} |-> LoadedCounterToken109("Power","Play",902,"SideB")])]
     regained==[lost EXCEPT !.objects=ReplacementOverlay99(@,[id \in {1501} |-> LoadedCounterToken109("Power","Play",900,"SideB")])]
     changedControl==[c.world EXCEPT !.controllers[900]="SideA"]
     noLongerDeployed==[c.world EXCEPT !.objects[900].deployed=FALSE]
     blanked==[c.world EXCEPT !.objects[900].face="Down"]
     sourceGone==[c.world EXCEPT !.objects=Without101(@,{800}),!.controllers=Without101(@,{800})]
 IN /\ ChargeTraversalValid1010(ChargeTraversal1010(c,lost,{})) /\ ~ChargeTraversalValid1010(ChargeTraversal1010(c,lost,{900}))
    /\ ChargeTraversalValid1010(ChargeTraversal1010(c,firstAdded,{})) /\ ~ChargeTraversalValid1010(ChargeTraversal1010(c,firstAdded,{902}))
    /\ ChargeTraversalValid1010(ChargeTraversal1010(c,regained,{900}))
    /\ ChargeTraversalValid1010(ChargeTraversal1010(c,changedControl,{})) /\ ChargeTraversalValid1010(ChargeTraversal1010(c,noLongerDeployed,{}))
    /\ ChargeTraversalValid1010(ChargeTraversal1010(c,blanked,{900})) /\ ChargeTraversalValid1010(ChargeTraversal1010(c,sourceGone,{900}))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, ChargeCapture1010, ChargeTraversal1010, ChargeTraversalValid1010, LoadedCounterToken109, Without101

ChargeCurrentWorld1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeCurrentWorld1010(x,changed,id) ==
 LET context==ChargeContext1010(x,changed)
     current==[x.spec EXCEPT !.snapshotId=id]
 IN [changed EXCEPT !.id=id,!.chargeSpecs=[key \in {ChargeSpecKey1010(current.reference)} |-> current],!.chargeAdmissions=ReplacementOverlay99(@,[key \in {ChargeAdmissionKey1010(context,1)} |-> x.admission])]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, ChargeContext1010, ChargeAdmissionKey1010, ChargeSpecKey1010

ChargeEntry1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeEntry1010(plan) ==
 [tag |-> "AbilityInstructionEntry",abilityInstance |-> plan.abilityInstance,instruction |-> plan.id,index |-> plan.index,source |-> plan.source,sourceZone |-> plan.sourceZone,
  schedulerAllows |-> TRUE,sourceEligible |-> TRUE,checkpointAndAllNewerChainsComplete |-> TRUE]

Exact module download · Source bundle and reproduction instructions

ChargeExampleFamily049Checks1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeExampleFamily049Checks1010 ==
 LET r==ExampleFamily049ChargeFixture1010
     c==r.charge
     result==ChargeTraversal1010(c,c.world,{811})
     otherWorld==[c.world EXCEPT !.objects=ReplacementOverlay99(Without101(@,{811}),[id \in {812,2000} |-> IF id=812 THEN [@[811] EXCEPT !.card="Specimen0114",!.marks={}] ELSE [@[2000] EXCEPT !.host=812,!.loc=812]]),
          !.controllers=ReplacementOverlay99(Without101(@,{811}),[id \in {812} |-> "SideB"])]
 IN /\ ExampleFamily049DeployedReference1010(r.before.objects,r.moved,810,811,[id \in {810} |-> 811],r.before.usedObjects,ObjectAbilitySource9(800),r.deployRef,r.reference)
    /\ ~ExampleFamily049DeployedReference1010(r.before.objects,r.moved,810,811,[id \in {810} |-> 811],r.before.usedObjects,ObjectAbilitySource9(800),r.deployRef,[r.reference EXCEPT !.object=900])
    /\ SideBPaidDeployPost(r.deployed.objects[811],"SideB","Technique",TRUE,TRUE)
    /\ EscalatingResourceContestRecognitionValid108(r.q) /\ Cardinality(r.q.candidates)=1
    /\ ExecuteBankHostedCounterInstruction109(r.context,r.context.currentRef,r.deployed,1,CardFacts10,r.afterPower.objects,r.afterPower.loadHistory,r.afterPower.completedCounterInstructions,
          {},r.added,2001,109999,r.counterEvent)
    /\ r.afterPower.loadHistory=Empty10 /\ ~ChargePower1010(r.deployed.objects,811) /\ ChargePower1010(c.world.objects,811)
    /\ r.cp.snapshotId=101 /\ c.world.id=102
    /\ NextChargeAfterCheckpoint1010(c.ability,c.imminentAbility,c.plan,c.imminent,c.world,r.cp,r.ledger,<<>>,r.cohort,ChargeEntry1010(c.plan))
    /\ ~NextChargeAfterCheckpoint1010(c.ability,c.imminentAbility,c.plan,c.imminent,[c.world EXCEPT !.conditionalLedger=r.q.after],r.cp,r.ledger,<<>>,r.cohort,ChargeEntry1010(c.plan))
    /\ CaptureChargeImminence1010(c.imminent,c.imminentAbility,c.world,CardFacts10,c.spec,c.admission)
    /\ ChargeTraversalValid1010(result) /\ Cardinality(HostedCounterIds109(result.afterObjects,811,"Power"))=2
    /\ ChargePower1010(otherWorld.objects,812)
    /\ ChargeTraversalValid1010(ChargeTraversal1010(c,otherWorld,{})) /\ ~ChargeTraversalValid1010(ChargeTraversal1010(c,otherWorld,{812}))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, ReplacementOverlay99, ChargeEntry1010, ChargeTraversal1010, ChargeTraversalValid1010, Empty10, EscalatingResourceContestRecognitionValid108, ExampleFamily049ChargeFixture1010, CaptureChargeImminence1010, ChargePower1010, ExampleFamily049DeployedReference1010, ExecuteBankHostedCounterInstruction109, HostedCounterIds109, NextChargeAfterCheckpoint1010, Without101, CardFacts10, SideBPaidDeployPost

ChargeParticularChecks1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeParticularChecks1010 ==
 /\ \A target \in {900,902,904} :
      LET c==ChargeCapture1010("Specimen0201","Particular",1,target,{})
          targets==IF target=902 THEN {} ELSE {target}
      IN ChargeCaptureValid1010(c) /\ ChargeTraversalValid1010(ChargeTraversal1010(c,c.world,targets))
 /\ LET zero==ChargeCapture1010("Specimen0201","Particular",1,902,{})
        later==[zero.world EXCEPT !.objects=ReplacementOverlay99(@,[id \in {1500} |-> LoadedCounterToken109("Power","Play",902,"SideB")])]
        positive==ChargeCapture1010("Specimen0201","Particular",1,900,{})
        lost==[positive.world EXCEPT !.objects=Without101(@,{1000})]
     IN /\ ChargeTraversalValid1010(ChargeTraversal1010(zero,later,{})) /\ ~ChargeTraversalValid1010(ChargeTraversal1010(zero,later,{902}))
        /\ ChargeTraversalValid1010(ChargeTraversal1010(positive,lost,{})) /\ ~ChargeTraversalValid1010(ChargeTraversal1010(positive,lost,{900}))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, ChargeCapture1010, ChargeCaptureValid1010, ChargeTraversal1010, ChargeTraversalValid1010, LoadedCounterToken109, Without101

ChargePlan1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargePlan1010(mode) == OpenInstruction93(500,"Ability",8000,ObjectAbilitySource9(800),"Play",1,"NoValue",<<"Charge">>,mode="Chosen")

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, OpenInstruction93

ChargeRevisedTraversal1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeRevisedTraversal1010(r) ==
 LET reference==[r.context.currentRef EXCEPT !.revision=@+1]
     spec==[r.spec EXCEPT !.reference=reference]
 IN [r EXCEPT !.context.currentRef=reference,!.spec=spec,!.world.chargeSpecs[ChargeSpecKey1010(spec.reference)]=spec,!.completion.reference=reference,
       !.events={[event EXCEPT !.instruction=reference] : event \in @}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ChargeSpecKey1010

ChargeScopeAndCountChecks1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeScopeAndCountChecks1010 ==
 LET c==ChargeCapture1010("Specimen0225","Chosen",1,0,{900})
     virtual==[c EXCEPT !.world.objects[1000].virtual=TRUE]
     converted==[c EXCEPT !.world.objects[1000]=ReplacementOverlay99(@,[card |-> "Specimen0046",owner |-> "SideA",properties |-> [kind |-> "Power"]])]
     nested==ReplacementOverlay99([c.world.objects EXCEPT ![1000].host=1500],[id \in {1500} |-> LoadedCounterToken109("SchemaAtom043","Play",900,"SideB")])
     vResult==ChargeTraversal1010(virtual,virtual.world,{900})
     convertedResult==ChargeTraversal1010(converted,converted.world,{900})
     short==ChargeCapture1010("Specimen0225","Chosen",3,0,{900,904})
     ifAble==ChargeChangeSpec1010(short,[short.spec EXCEPT !.ifAble=TRUE])
     compiled0==ChargeCapture1010("Specimen0225","Chosen",2,0,{900,901})
     compiled==ChargeChangeSpec1010(compiled0,[compiled0.spec EXCEPT !.setRule="CompiledSet",!.compiledSet={900,901,903}])
     explicit0==ChargeCapture1010("Specimen0225","Chosen",3,0,{900,901,903})
     explicit==ChargeChangeSpec1010(explicit0,[explicit0.spec EXCEPT !.setRule="CompiledSet",!.compiledSet={900,901,903},!.targetZone="Play"])
 IN /\ ChargeCaptureValid1010(virtual) /\ ChargeTraversalValid1010(vResult) /\ vResult.afterObjects[1000].virtual /\ ~vResult.added[2000].virtual
    /\ ChargeCaptureValid1010(converted) /\ ChargeTraversalValid1010(convertedResult) /\ convertedResult.afterObjects[1000]=converted.world.objects[1000]
    /\ ~ChargePower1010(nested,900)
    /\ ChargeCaptureValid1010(ifAble) /\ ChargeTraversalValid1010(ChargeTraversal1010(ifAble,ifAble.world,{}))
    /\ ChargeCaptureValid1010(compiled) /\ ChargeTraversalValid1010(ChargeTraversal1010(compiled,compiled.world,{900,901}))
    /\ ChargeCaptureValid1010(explicit) /\ ChargeTraversalValid1010(ChargeTraversal1010(explicit,explicit.world,{900,901,903}))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, ChargeCapture1010, ChargeCaptureValid1010, ChargeChangeSpec1010, ChargeTraversal1010, ChargeTraversalValid1010, ChargePower1010, LoadedCounterToken109

ChargeSpecFixture1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeSpecFixture1010(world,plan,card,mode,amount,particular) ==
 [tag |-> "CurrentChargeSpec",reference |-> InstructionWindowRef93(plan),snapshotId |-> world.id,source |-> plan.source,sourceCard |-> card,sourceSHA |-> CardFacts10[card].sourceSHA,
  actor |-> "SideB",mode |-> mode,requested |-> amount,ifAble |-> FALSE,setRule |-> "YourDeployedCards",targetZone |-> "DefaultDeployed",targetView |-> "OrdinaryHosting",compiledSet |-> {},particular |-> particular]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InstructionWindowRef93, CardFacts10

ChargeTraversal1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeTraversal1010(x,changed,targets) ==
 LET world==ChargeCurrentWorld1010(x,changed,changed.id+1)
     context==ChargeContext1010(x,world)
     ids==world.nextCounterObject..(world.nextCounterObject+Cardinality(targets)-1)
     targetFor==[id \in ids |-> CHOOSE t \in targets : Cardinality({other \in targets : other<t})=id-world.nextCounterObject]
     added==[id \in ids |-> LoadedCounterToken109("Power",world.objects[targetFor[id]].zone,targetFor[id],"SideB")]
     after==ReplacementOverlay99(world.objects,added)
     completed==world.completedCharges \cup {ChargeAdmissionKey1010(context,1)}
     completion==[tag |-> "ChargeInstructionComplete",id |-> 10001,reference |-> context.currentRef,admission |-> ChargeAdmissionKey1010(context,1),charged |-> targets,complete |-> TRUE]
     events=={[tag |-> "PowerCounterPlacedByCharge",instruction |-> context.currentRef,host |-> target,counter |-> CHOOSE id \in DOMAIN added : added[id].host=target,
       source |-> context.currentRef.source,snapshotId |-> world.id] : target \in targets}
 IN [world |-> world,context |-> context,admission |-> x.admission,spec |-> world.chargeSpecs[ChargeSpecKey1010(context.currentRef)],afterObjects |-> after,added |-> added,afterCompleted |-> completed,completion |-> completion,events |-> events]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, ChargeContext1010, ChargeCurrentWorld1010, ChargeAdmissionKey1010, ChargeSpecKey1010, LoadedCounterToken109

ChargeTraversalValid1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeTraversalValid1010(x) == ResolveCharge1010(x.context,x.world,1,CardFacts10,x.admission,x.spec,x.afterObjects,x.world.loadHistory,x.afterCompleted,x.added,10001,x.completion,x.events)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ResolveCharge1010, CardFacts10

ChargeWorld1010 · operator

reference-profile · input revision 2 · CC0 1.0

ChargeWorld1010(card) ==
 LET b==LoadWorld109("Specimen0181","Power")
     cards==[id \in {800,901,902,903,904} |-> CASE id=800 -> EscalatingResourceContestCard108(card,CardFacts10[card].kind \in {"Technique","Equipment","Support"},FALSE)
         [] id=901 -> EscalatingResourceContestCard108("Specimen0199",TRUE,TRUE) [] id=902 -> EscalatingResourceContestCard108("Specimen0060",TRUE,FALSE)
         [] OTHER -> LinkObject107("Specimen0181",IF id=903 THEN "charge-copy-2" ELSE "charge-copy-3",id=904)]
     counters==[id \in 1000..1005 |-> LoadedCounterToken109(IF id=1005 THEN "ResourceUnit" ELSE "Power","Play",CASE id=1000 -> 900 [] id \in {1001,1002} -> 904 [] id=1003 -> 903 [] id=1004 -> 901 [] OTHER -> 902,"SideB")]
     objects==ReplacementOverlay99(ReplacementOverlay99(IF CardFacts10[card].kind="Profile" THEN Without101(b.objects,{1}) ELSE b.objects,cards),counters)
     w==ReplacementOverlay99([b EXCEPT !.objects=objects,!.controllers=ReplacementOverlay99(IF CardFacts10[card].kind="Profile" THEN Without101(@,{1}) ELSE @,[id \in (DOMAIN cards \cup DOMAIN counters) |-> IF id \in {901,1004} THEN "SideA" ELSE "SideB"]),
          !.definitions=ReplacementOverlay99(@,[key \in {card,"Specimen0199","Specimen0060","charge-copy-2","charge-copy-3"} |-> IF key \in {"charge-copy-2","charge-copy-3"} THEN "Specimen0181" ELSE key]),
          !.usedObjects=DOMAIN objects,!.nextCounterObject=2000,!.sideBProfile=IF CardFacts10[card].kind="Profile" THEN 800 ELSE @,
          !.properties=IF CardFacts10[card].kind="Profile" THEN [id \in {800} |-> [baseLink |-> 0]] ELSE @],
        [chargeSpecs |-> Empty10,chargeAdmissions |-> Empty10,completedCharges |-> {},chargeEventIds |-> {}])
 IN w

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, Empty10, EscalatingResourceContestCard108, LinkObject107, LoadWorld109, LoadedCounterToken109, Without101, CardFacts10

CheckpointCleanupChecks103 · operator

reference-profile · input revision 2 · CC0 1.0

CheckpointCleanupChecks103 ==
 LET o==[id \in {1,2,3} |-> CheckpointObject103("NeutralValue00006","Play",TRUE,0)]
     names==[id \in DOMAIN o |-> "Specimen0036"]
     controllers==[id \in DOMAIN o |-> "SideB"]
     order==[id \in DOMAIN o |-> id]
     full==CheckpointUniquePlan103(o,names,{1,2,3},{1,2,3},{},controllers,order)
     latestGone==CheckpointUniquePlan103(o,names,{1,2,3},{1,2},{},controllers,order)
     tie==CheckpointUniquePlan103(o,names,{1,2},{1,2},{},controllers,[order EXCEPT ![2]=1])
     uniqueSuccessors==[id \in {1,2} |-> id+10]
     trashed==CheckpointRetireMap103(o,{1,2},uniqueSuccessors,CheckpointPrinted103,CheckpointOwners103,{1,2,3})
     choices==AppropriateRetireSets103(DOMAIN CapacityUsage103,CapacityLegal103)
     mObjects==[id \in DOMAIN CapacityUsage103 |-> CheckpointObject103("NeutralValue00007","Play",TRUE,0)]
     mSuccessors==[id \in {1,2} |-> id+10]
     mRetire==CheckpointRetireMap103(mObjects,{1,2},mSuccessors,CheckpointPrinted103,CheckpointOwners103,DOMAIN mObjects)
     hostObjects==[id \in {1,2,3,4} |-> CASE id=1 -> CheckpointObject103("NeutralValue00007","Play",TRUE,9)
                 [] id=2 -> CheckpointObject103("Specimen0174","Play",TRUE,1)
                 [] id=3 -> CheckpointCounter103("SchemaAtom180","Play",2)
                 [] OTHER -> CheckpointObject103("Specimen0046","SetAside",FALSE,0)]
     departures==[id \in {<<"Movement",90>>} |-> [source |-> 9,objectiveCompletionLeft |-> FALSE,uninstalled |-> TRUE,hostRemoved |-> TRUE,children |-> {1}]]
     paid==[id |-> 900,costPaid |-> TRUE,ability |-> [lastFinished |-> FALSE],heldIds |-> {4},transaction |-> 99,sourceForfeited |-> TRUE]
     paidMap==[id \in {900} |-> paid]
     transit==[id \in {4} |-> [protected |-> TRUE,ability |-> 900,effect |-> 99,object |-> 4,cleanupStage |-> "ProcedureCode76ca53ad9dd0"]]
     fHistory==[id \in {<<"Movement",91>>} |-> [source |-> 10,objectiveCompletionLeft |-> TRUE,uninstalled |-> FALSE,hostRemoved |-> TRUE,children |-> {4}]]
     firstRetire==CheckpointRetireMap103(hostObjects,{1},[id \in {1} |-> 11],CheckpointPrinted103,CheckpointOwners103,DOMAIN hostObjects)
     firstHistory==MergeCheckpointDepartures103(departures,CheckpointNewUninstallDepartures103(hostObjects,{1}))
     atG==CheckpointFrameAt103(7)
     afterPass==[atG EXCEPT !.snapshotId=101,!.hostPasses=1]
     discard==[id \in {1,2} |-> IF id=1 THEN [CheckpointCounter103("SchemaAtom043","SideADiscard",0) EXCEPT !.card="Specimen0046"]
                 ELSE CheckpointCounter103("SchemaAtom180","SideBDiscard",0)]
     conversions==[id \in {1} |-> [mode |-> "Counter",card |-> "Specimen0046",owner |-> "SideA",createdBy |-> 44,gained |-> [kind |-> "SchemaAtom043"]]]
     restored==[discard EXCEPT ![1].form="Card",![1].kind="Plan",![1].properties=CheckpointPrinted103["Specimen0046"]]
     scores==[id \in {1,2} |-> CheckpointObject103("Specimen0038",IF id=1 THEN "SideAObjectiveCompletion" ELSE "SideBObjectiveCompletion",FALSE,0)]
     qC==CheckpointFrameAt103(3)
 IN /\ full.disposition="Supported" /\ full.targets={1,2}
    /\ latestGone.targets={1}
    /\ tie.disposition="UnsupportedActivationTie" /\ tie.targets={}
    /\ CheckpointUniquePlan103(o,names,{1},{1,2},{},controllers,order).disposition="UnsupportedMixedUniqueness"
    /\ CheckpointUniquePlan103(o,[names EXCEPT ![3]="Other"],{},{1,2,3},{1,2,3},controllers,order).targets={1,2}
    /\ CheckpointUniqueRetire103(CheckpointFrameAt103(4),CheckpointNextFrame103(CheckpointFrameAt103(4),101),o,trashed,names,{1,2,3},{1,2,3},{},controllers,order,
           uniqueSuccessors,{1,2,3},CheckpointPrinted103,CheckpointOwners103,{1,2,3},101)
    /\ ~CheckpointRetirePost103(o,trashed,{1,2},uniqueSuccessors,{1,2,3,11},CheckpointPrinted103,CheckpointOwners103,{1,2,3})
    /\ ~CheckpointUniqueRetire103(CheckpointFrameAt103(3),CheckpointNextFrame103(CheckpointFrameAt103(3),101),o,trashed,names,{1,2,3},{1,2,3},{},controllers,order,
           uniqueSuccessors,{1,2,3},CheckpointPrinted103,CheckpointOwners103,{1,2,3},101)
    /\ choices={{1,2},{3}} /\ {1,2} \in choices /\ {3} \in choices
    /\ {1,2,4} \notin choices /\ {1,3} \notin choices
    /\ AppropriateRetireSets103({1,2},NonMonotoneLegal103)={{}}
    /\ AppropriateRetireSets103({1,2},ImpossibleLegal103)={}
    /\ CheckpointIllegalDisposition103({1,2},ImpossibleLegal103)="UnsupportedNoLegalizingSet"
    /\ IllegalRetireChooser103({{1},{2}},[id \in {1,2} |-> IF id=1 THEN "SideA" ELSE "SideB"],"SideB")="SideB"
    /\ IllegalRetireChooser103(choices,[id \in DOMAIN CapacityUsage103 |-> "SideB"],"SideA")="SideB"
    /\ IllegalRetireChooser103({{1}},[id \in {1} |-> "SideB"],"SideA")="NoValue"
    /\ IllegalRetireChooser103({{1},{2}},[id \in {1,2} |-> IF id=1 THEN "SideA" ELSE "SideB"],"SideA")="SideA"
    /\ CheckpointIllegalRetire103(CheckpointFrameAt103(5),CheckpointNextFrame103(CheckpointFrameAt103(5),101),mObjects,mRetire,DOMAIN CapacityUsage103,
          CapacityLegal103,[id \in DOMAIN CapacityUsage103 |-> "SideB"],"SideA",Empty10,[applies |-> FALSE],"SideB",{1,2},mSuccessors,DOMAIN mObjects,
          CheckpointPrinted103,CheckpointOwners103,DOMAIN mObjects,101)
    /\ CheckpointHostedTargets103(hostObjects,departures,"ProcedureCode96bfa1b6a970",transit,paidMap)={1}
    /\ CheckpointHostedCleanup103(atG,afterPass,hostObjects,firstRetire,departures,firstHistory,transit,paidMap,[id \in {1} |-> 11],DOMAIN hostObjects,
          CheckpointPrinted103,CheckpointOwners103,DOMAIN hostObjects,101)
    /\ CheckpointHostedTargets103(firstRetire,firstHistory,"ProcedureCode96bfa1b6a970",transit,paidMap)={2}
    /\ ~CheckpointHostedCleanup103(atG,CheckpointNextFrame103(atG,101),hostObjects,firstRetire,departures,firstHistory,transit,paidMap,[id \in {1} |-> 11],DOMAIN hostObjects,
          CheckpointPrinted103,CheckpointOwners103,DOMAIN hostObjects,101)
    /\ CheckpointHostedTargets103(hostObjects,fHistory,"ProcedureCode76ca53ad9dd0",transit,paidMap)={}
    /\ CheckpointHostedTargets103(hostObjects,fHistory,"ProcedureCode76ca53ad9dd0",transit,[paidMap EXCEPT ![900].ability.lastFinished=TRUE])={4}
    /\ RestoreDiscardConversions103(discard,restored,conversions,Empty10,CheckpointPrinted103)
    /\ ~CheckpointReturnDiscardCounters103(CheckpointFrameAt103(12),CheckpointNextFrame103(CheckpointFrameAt103(12),101),discard,Without101(discard,{1,2}),101)
    /\ CheckpointReturnDiscardCounters103(CheckpointFrameAt103(12),CheckpointNextFrame103(CheckpointFrameAt103(12),101),restored,Without101(restored,{2}),101)
    /\ CheckpointObjectiveOutcome103(scores,[id \in {1,2} |-> 7])="Draw"
    /\ CheckpointObjectiveOutcome103(scores,[id \in {1,2} |-> IF id=1 THEN 7 ELSE 6])="SideA"
    /\ CheckpointVictory103(qC,[qC EXCEPT !.outcome="Draw",!.phase="SchemaAtom160",!.point="GameEnded"],scores,[id \in {1,2} |-> 7],100)
    /\ ~CheckpointVictory103(qC,CheckpointNextFrame103(qC,100),scores,[id \in {1,2} |-> 7],100)
    /\ CheckpointVictory103(qC,CheckpointNextFrame103(qC,100),scores,[id \in {1,2} |-> 6],100)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CapacityLegal103, CapacityUsage103, CheckpointCounter103, CheckpointFrameAt103, CheckpointNextFrame103, CheckpointObject103, CheckpointOwners103, CheckpointPrinted103, Empty10, ImpossibleLegal103, NonMonotoneLegal103, AppropriateRetireSets103, CheckpointHostedCleanup103, CheckpointHostedTargets103, CheckpointIllegalDisposition103, CheckpointIllegalRetire103, CheckpointNewUninstallDepartures103, CheckpointObjectiveOutcome103, CheckpointRetireMap103, CheckpointRetirePost103, CheckpointReturnDiscardCounters103, CheckpointUniquePlan103, CheckpointUniqueRetire103, CheckpointVictory103, IllegalRetireChooser103, MergeCheckpointDepartures103, RestoreDiscardConversions103, Without101

CheckpointCounter103 · operator

reference-profile · input revision 2 · CC0 1.0

CheckpointCounter103(kind,zone,host) ==
 [card |-> "none",form |-> "Counter",kind |-> kind,zone |-> zone,loc |-> host,host |-> host,
  virtual |-> FALSE,deployed |-> FALSE,activated |-> FALSE,face |-> "Up",properties |-> Empty10,side |-> "SideB",area |-> "NoValue",targetSite |-> "NoValue",marks |-> {}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10

CheckpointEnvironmentChecks103 · operator

reference-profile · input revision 2 · CC0 1.0

CheckpointEnvironmentChecks103 ==
 LET targetSites==[s \in CentralTargetSites4 \cup {"r1","r2"} |-> [kind |-> IF s \in CentralTargetSites4 THEN "SchemaAtom033" ELSE "SchemaAtom132"]]
     deploy==[id \in {20} |-> [form |-> "Card",kind |-> "Barrier",destination |-> [zone |-> "Play",targetSite |-> "r1",area |-> "Protecting"]]]
     afterTargetSites==Without101(targetSites,{"r2"})
     atH==CheckpointFrameAt103(8)
     layout==[slots |-> [p \in {"p1","p2","p3","p4"} |-> [targetSite |-> IF p="p3" THEN "r2" ELSE "r1",barrierCard |-> IF p="p4" THEN 50 ELSE 0,reservation |-> 0,retained |-> FALSE]],
              orders |-> [s \in {"r1","r2"} |-> IF s="r1" THEN <<"p1","p2","p4">> ELSE <<"p3">>]]
     kept==[layout EXCEPT !.slots=Without101(@,{"p3"}),!.orders["r2"]= <<>>]
     noDeploy==[layout EXCEPT !.slots=[p \in {"p2","p4"} |-> [layout.slots[p] EXCEPT !.retained=(p="p2")]],
                          !.orders["r1"]= <<"p2","p4">>,!.orders["r2"]= <<>>]
     rootObjects==[id \in {1,2} |-> [CheckpointObject103("Specimen0098","Play",TRUE,0) EXCEPT !.targetSite="r1"]]
     siteInspection==[id |-> 8,active |-> TRUE,complete |-> FALSE,targetSite |-> "r1"]
     capacity==[siteInspectionId |-> 8,admittedRoots |-> {1},pendingRoots |-> {},deniedRoots |-> {}]
     entries==[id \in {1,2} |-> [tag |-> "RootEntry",siteInspectionId |-> 8,object |-> id,serial |-> IF id=1 THEN 8 ELSE 12,targetSite |-> "r1"]]
     admitted==[capacity EXCEPT !.admittedRoots={1,2}]
     denied==[capacity EXCEPT !.deniedRoots={2}]
     atE==CheckpointFrameAt103(5)
     auxiliarySiteObjects==[id \in {1,2} |-> [CheckpointObject103("Specimen0098","Play",TRUE,0) EXCEPT !.targetSite=IF id=1 THEN "r1" ELSE "r2"]]
     auxiliarySiteSuccessors==[id \in {2} |-> 12]
     retiredObjects==CheckpointRetireMap103(auxiliarySiteObjects,{2},auxiliarySiteSuccessors,CheckpointPrinted103,CheckpointOwners103,{1,2})
     retiredFrame==[atE EXCEPT !.retiredRemotes={"r2"},!.snapshotId=101]
     caller==[kind |-> "TraversalStep",structure |-> TimingRef9("SchemaAtom138",2),step |-> "ProcedureCodecd2caa81fb72"]
     endEvent==[id |-> 90,complete |-> TRUE,caller |-> caller,tag |-> "TimingStructureEnded",structure |-> TimingRef9("TraversalPhase",21)]
     inside=={TimingRef9("Turn",1),TimingRef9("SchemaAtom138",2),TimingRef9("TraversalPhase",21)}
     endSite==[kind |-> "StructureEnd",caller |-> caller,eventId |-> 90,snapshotId |-> 100,inside |-> inside \ {TimingRef9("TraversalPhase",21)}]
     siteFrame==NewCheckpoint103(7,caller,100,inside \ {TimingRef9("TraversalPhase",21)})
     genericSite==[endSite EXCEPT !.kind="Instruction",!.inside=inside]
     instructionEvent==[id |-> 90,complete |-> TRUE,caller |-> caller,tag |-> "InstructionFinished",origin |-> "TimingStep",instruction |-> "ProcedureCodecd2caa81fb72"]
     overrideBefore==CheckpointFrameAt103(2)
     overrideOwed== <<"ProcedureCodeb681cc249a04","ProcedureCode88eda145024f">> \o SubSeq(CheckpointStages103,4,12)
     auth==[id |-> 1,checkpointId |-> 1,snapshotId |-> 100,rule |-> "CheckpointOrder",directContradiction |-> TRUE,prohibited |-> FALSE,
       source |-> ObjectAbilitySource9(999),executionId |-> 500,instruction |-> 700,beforeOwed |-> overrideBefore.owed,afterOwed |-> overrideOwed,
       discharged |-> {},explicitlyReplacedObligations |-> {}]
     execution==[tag |-> "ActualCheckpointCardOverride",id |-> 500,source |-> ObjectAbilitySource9(999),instruction |-> 700,
                 checkpointId |-> 1,snapshotId |-> 100,resolved |-> TRUE]
     allowed==[id \in {1} |-> auth]
     overrideAfter==[overrideBefore EXCEPT !.owed=overrideOwed,!.overrideLog= <<auth>>,!.point="ProcedureCodeb681cc249a04"]
     discharge==[auth EXCEPT !.afterOwed=SubSeq(CheckpointStages103,3,12),!.discharged={"ProcedureCode88eda145024f"},!.explicitlyReplacedObligations={"ProcedureCode88eda145024f"}]
     discharged==[overrideBefore EXCEPT !.owed=SubSeq(CheckpointStages103,3,12),!.overrideLog= <<discharge>>,!.point="ProcedureCodeb681cc249a04",!.discharged={"ProcedureCode88eda145024f"}]
 IN /\ AppropriateRetireSets103({1,2,3},SourceLostMuLegal103)={{1},{3}}
    /\ AppropriateRetireSets103({1,2},Specimen0049HostLegal103)={{1}}
    /\ CheckpointAuxiliarySiteCleanup103(atH,CheckpointNextFrame103(atH,100),targetSites,afterTargetSites,Empty10,deploy,100)
    /\ ~CheckpointAuxiliarySiteCleanup103(atH,CheckpointNextFrame103(atH,100),targetSites,Without101(targetSites,{"r1","r2"}),Empty10,deploy,100)
    /\ CheckpointAuxiliarySiteCleanup103(atH,CheckpointNextFrame103(atH,100),targetSites,Without101(targetSites,{"r1","r2"}),Empty10,Empty10,100)
    /\ CheckpointPositionCleanup103(CheckpointFrameAt103(9),CheckpointNextFrame103(CheckpointFrameAt103(9),100),layout,kept,"NoValue",deploy,100)
    /\ ~CheckpointPositionCleanup103(CheckpointFrameAt103(9),CheckpointNextFrame103(CheckpointFrameAt103(9),100),layout,layout,"NoValue",deploy,100)
    /\ CheckpointPositionCleanup103(CheckpointFrameAt103(9),CheckpointNextFrame103(CheckpointFrameAt103(9),100),layout,noDeploy,"p2",Empty10,100)
    /\ CheckpointRootAdmissions103(CheckpointFrameAt103(10),CheckpointNextFrame103(CheckpointFrameAt103(10),100),capacity,admitted,siteInspection,rootObjects,entries,10,15,{2},"SideB",100)
    /\ CheckpointRootAdmissions103(CheckpointFrameAt103(10),CheckpointNextFrame103(CheckpointFrameAt103(10),100),capacity,denied,siteInspection,rootObjects,entries,10,15,{},"SideB",100)
    /\ ~CheckpointRootAdmissions103(CheckpointFrameAt103(10),CheckpointNextFrame103(CheckpointFrameAt103(10),100),capacity,admitted,siteInspection,rootObjects,entries,10,15,{2},"SideA",100)
    /\ ~CheckpointRootAdmissions103(CheckpointFrameAt103(10),CheckpointNextFrame103(CheckpointFrameAt103(10),100),capacity,admitted,siteInspection,rootObjects,entries,10,11,{2},"SideB",100)
    /\ CheckpointRootAdmissions103(CheckpointFrameAt103(10),CheckpointNextFrame103(CheckpointFrameAt103(10),100),capacity,capacity,siteInspection,rootObjects,
           [entries EXCEPT ![2].siteInspectionId=7],10,15,{},"SideB",100)
    /\ ~CheckpointRootAdmissions103(CheckpointFrameAt103(10),CheckpointNextFrame103(CheckpointFrameAt103(10),100),capacity,admitted,siteInspection,rootObjects,
           [entries EXCEPT ![2].siteInspectionId=7],10,15,{2},"SideB",100)
    /\ CheckpointRootAdmissions103(CheckpointFrameAt103(10),CheckpointNextFrame103(CheckpointFrameAt103(10),100),capacity,
           [capacity EXCEPT !.admittedRoots={},!.deniedRoots={1}],siteInspection,rootObjects,[id \in {1} |-> [entries[1] EXCEPT !.serial=14]],10,15,{},"SideB",100)
    /\ CheckpointRootAdmissions103(CheckpointFrameAt103(10),CheckpointNextFrame103(CheckpointFrameAt103(10),100),
           [capacity EXCEPT !.deniedRoots={2}],[capacity EXCEPT !.admittedRoots={1,3},!.deniedRoots={2}],siteInspection,
           [id \in {1,3} |-> rootObjects[1]],[id \in {3} |-> [entries[2] EXCEPT !.object=3]],10,15,{3},"SideB",100)
    /\ CheckpointRootAdmissions103(CheckpointFrameAt103(10),CheckpointNextFrame103(CheckpointFrameAt103(10),100),capacity,capacity,
           [siteInspection EXCEPT !.active=FALSE],rootObjects,entries,10,15,{},"NoValue",100)
    /\ ~CheckpointRootAdmissions103(CheckpointFrameAt103(10),CheckpointNextFrame103(CheckpointFrameAt103(10),100),capacity,admitted,
           [siteInspection EXCEPT !.active=FALSE],rootObjects,entries,10,15,{2},"SideB",100)
    /\ CheckpointAuxiliarySiteLimit103(atE,retiredFrame,targetSites,auxiliarySiteObjects,retiredObjects,{"r1"},1,auxiliarySiteSuccessors,{1,2},CheckpointPrinted103,CheckpointOwners103,{1,2},101)
    /\ ~CheckpointIllegalRetire103(atE,CheckpointNextFrame103(atE,101),auxiliarySiteObjects,retiredObjects,{1,2},Specimen0049HostLegal103,[id \in {1,2} |-> "SideB"],
           "SideB",targetSites,[applies |-> TRUE,value |-> 1],"SideB",{2},auxiliarySiteSuccessors,{1,2},CheckpointPrinted103,CheckpointOwners103,{1,2},101)
    /\ ~CheckpointIllegalRetire103(atE,CheckpointNextFrame103(atE,100),auxiliarySiteObjects,auxiliarySiteObjects,{},NonMonotoneLegal103,Empty10,
           "SideB",targetSites,[applies |-> TRUE,value |-> 1],"NoValue",{},Empty10,{1,2},CheckpointPrinted103,CheckpointOwners103,{1,2},100)
    /\ CheckpointIllegalRetire103(retiredFrame,CheckpointNextFrame103(retiredFrame,101),retiredObjects,retiredObjects,{},NonMonotoneLegal103,Empty10,
           "SideB",targetSites,[applies |-> TRUE,value |-> 1],"NoValue",{},Empty10,{1,12},CheckpointPrinted103,CheckpointOwners103,{1,12},101)
    /\ OpenCheckpointAtSite103(siteFrame,7,endSite,endEvent,inside,{})
    /\ BeginCheckpointSite103({}, {CheckpointSiteKey103(endSite)}, Empty10,[id \in {7} |-> siteFrame],siteFrame,7,endSite,endEvent,inside)
    /\ ~BeginCheckpointSite103({CheckpointSiteKey103(endSite)}, {CheckpointSiteKey103(endSite)}, Empty10,[id \in {7} |-> siteFrame],siteFrame,7,endSite,endEvent,inside)
    /\ ~BeginCheckpointSite103({}, {CheckpointSiteKey103(endSite)}, [id \in {1} |-> CheckpointFrameAt103(4)],
           [id \in {1,7} |-> IF id=7 THEN siteFrame ELSE CheckpointFrameAt103(4)],siteFrame,7,endSite,endEvent,inside)
    /\ TimingRef9("SchemaAtom138",2) \in siteFrame.inside /\ TimingRef9("TraversalPhase",21) \notin siteFrame.inside
    /\ ~OpenCheckpointAtSite103([siteFrame EXCEPT !.inside=inside],7,endSite,endEvent,inside,{})
    /\ CheckpointSite103(genericSite,instructionEvent,inside)
    /\ ~CheckpointSite103(genericSite,[instructionEvent EXCEPT !.instruction="ProcedureCodea488e1ba6ca3"],inside)
    /\ ~CheckpointSite103(genericSite,[instructionEvent EXCEPT !.origin="Checkpoint"],inside)
    /\ ~CheckpointStageAdvance103([CheckpointFrameAt103(3) EXCEPT !.owed=SubSeq(CheckpointStages103,2,12)],
           CheckpointNextFrame103([CheckpointFrameAt103(3) EXCEPT !.owed=SubSeq(CheckpointStages103,2,12)],100),"ProcedureCodeb681cc249a04",100)
    /\ CheckpointSite103([endSite EXCEPT !.kind="Cost",!.inside=inside],[id |-> 90,complete |-> TRUE,caller |-> caller,tag |-> "CostPaid",transactionId |-> 3],inside)
    /\ CheckpointSite103([endSite EXCEPT !.kind="SchemaAtom126",!.inside=inside],[id |-> 90,complete |-> TRUE,caller |-> caller,tag |-> "PriorityAboutToBeReceived",player |-> "SideB"],inside)
    /\ RewriteCheckpointOrder103(overrideBefore,overrideAfter,auth,execution,allowed)
    /\ ~RewriteCheckpointOrder103(overrideBefore,overrideAfter,auth,execution,Empty10)
    /\ ~RewriteCheckpointOrder103(overrideBefore,overrideAfter,auth,[execution EXCEPT !.snapshotId=101],allowed)
    /\ ~RewriteCheckpointOrder103(overrideBefore,overrideAfter,[auth EXCEPT !.discharged={"ProcedureCode88eda145024f"}],execution,allowed)
    /\ RewriteCheckpointOrder103(overrideBefore,discharged,discharge,execution,[id \in {1} |-> discharge])
    /\ ~RewriteCheckpointOrder103(overrideBefore,discharged,[discharge EXCEPT !.explicitlyReplacedObligations={}],execution,[id \in {1} |-> [discharge EXCEPT !.explicitlyReplacedObligations={}]])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, TimingRef9, CheckpointFrameAt103, CheckpointNextFrame103, CheckpointObject103, CheckpointOwners103, CheckpointPrinted103, Empty10, NonMonotoneLegal103, SourceLostMuLegal103, Specimen0049HostLegal103, AppropriateRetireSets103, BeginCheckpointSite103, CheckpointAuxiliarySiteCleanup103, CheckpointAuxiliarySiteLimit103, CheckpointIllegalRetire103, CheckpointPositionCleanup103, CheckpointRetireMap103, CheckpointRootAdmissions103, CheckpointSite103, CheckpointSiteKey103, CheckpointStageAdvance103, CheckpointStages103, NewCheckpoint103, OpenCheckpointAtSite103, RewriteCheckpointOrder103, Without101, CentralTargetSites4

CheckpointFrameAt103 · operator

reference-profile · input revision 2 · CC0 1.0

CheckpointFrameAt103(index) ==
 [NewCheckpoint103(1,[kind |-> "RuleStep",step |-> "Synthetic"],100,{TimingRef9("Turn",1)}) EXCEPT
   !.point=CheckpointStages103[index],!.owed=SubSeq(CheckpointStages103,index,12),!.done=SetupRange(SubSeq(CheckpointStages103,1,index-1))]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: TimingRef9, CheckpointStages103, NewCheckpoint103, SetupRange

CheckpointHistoryChecks103 · operator

reference-profile · input revision 2 · CC0 1.0

CheckpointHistoryChecks103 ==
 LET hosted==[id \in {1,9} |-> IF id=9 THEN CheckpointObject103("Specimen0038","SideAObjectiveCompletion",FALSE,0)
                            ELSE CheckpointCounter103("Objective","SideAObjectiveCompletion",9)]
     departed==[id \in {1,19} |-> IF id=19 THEN [hosted[9] EXCEPT !.zone="Removed"] ELSE hosted[id]]
     transfer==[departed EXCEPT ![19].zone="SideBObjectiveCompletion"]
     history==[id \in {<<"Movement",91>>} |-> [source |-> 9,objectiveCompletionLeft |-> TRUE,uninstalled |-> FALSE,hostRemoved |-> TRUE,children |-> {1}]]
     cardHost==[hosted EXCEPT ![9]=CheckpointObject103("Specimen0227","Play",TRUE,0)]
     uninstalled==[departed EXCEPT ![19]=CheckpointObject103("Specimen0227","SideBDiscard",FALSE,0)]
     cardHistory==[history EXCEPT ![<<"Movement",91>>].objectiveCompletionLeft=FALSE,![<<"Movement",91>>].uninstalled=TRUE]
     successorOnly==[id \in {21} |-> CheckpointObject103("NeutralValue00007","Play",TRUE,0)]
     aside==[id \in {4} |-> CheckpointObject103("Specimen0090","SetAside",FALSE,0)]
     paid==[id |-> 900,costPaid |-> TRUE,ability |-> [lastFinished |-> FALSE],heldIds |-> {4},transaction |-> 99,sourceForfeited |-> FALSE]
     paidMap==[id \in {900} |-> paid]
     transit==[id \in {4} |-> [protected |-> TRUE,ability |-> 900,effect |-> 99,object |-> 4,cleanupStage |-> "ProcedureCode96bfa1b6a970"]]
     gHistory==[id \in {<<"Movement",92>>} |-> [source |-> 9,objectiveCompletionLeft |-> FALSE,uninstalled |-> TRUE,hostRemoved |-> TRUE,children |-> {4}]]
     retained==[id \in {1} |-> CheckpointObject103("Specimen0235","Play",FALSE,0)]
     retentions==[id \in {7} |-> [source |-> 1]]
     retainRetire==CheckpointRetireMap103(retained,{1},[id \in {1} |-> 11],CheckpointPrinted103,CheckpointOwners103,{})
 IN /\ RecordHostDeparture103(Empty10,history,91,hosted,departed,9,19,Empty10)
    /\ ~RecordHostDeparture103(Empty10,history,91,hosted,transfer,9,19,Empty10)
    /\ ~RecordHostDeparture103(history,history,91,hosted,departed,9,19,Empty10)
    /\ RecordHostDeparture103(Empty10,cardHistory,91,cardHost,uninstalled,9,19,Empty10)
    /\ CheckpointHostedTargets103(departed,history,"ProcedureCode76ca53ad9dd0",Empty10,Empty10)={1}
    /\ CheckpointHostedTargets103(successorOnly,history,"ProcedureCode76ca53ad9dd0",Empty10,Empty10)={}
    /\ CheckpointHostedTargets103(aside,gHistory,"ProcedureCode96bfa1b6a970",transit,paidMap)={}
    /\ CheckpointHostedTargets103(aside,gHistory,"ProcedureCode96bfa1b6a970",transit,[paidMap EXCEPT ![900].ability.lastFinished=TRUE])={4}
    /\ CheckpointHostedTargets103([aside EXCEPT ![4].zone="Play"],Empty10,"ProcedureCode96bfa1b6a970",transit,[paidMap EXCEPT ![900].ability.lastFinished=TRUE])={}
    /\ CheckpointRetentionRetire103(CheckpointFrameAt103(2),retentions,Empty10,retained,retainRetire,{},[id \in {1} |-> 11],{1},CheckpointPrinted103,CheckpointOwners103,{})
    /\ CheckpointRetentionRetire103(CheckpointFrameAt103(2),retentions,retentions,retained,retained,{7},Empty10,{1},CheckpointPrinted103,CheckpointOwners103,{})
    /\ ~CheckpointRetentionRetire103(CheckpointFrameAt103(2),retentions,Empty10,retained,retained,{},[id \in {1} |-> 11],{1},CheckpointPrinted103,CheckpointOwners103,{})
    /\ ~CheckpointRetentionRetire103(CheckpointFrameAt103(3),retentions,Empty10,retained,retainRetire,{},[id \in {1} |-> 11],{1},CheckpointPrinted103,CheckpointOwners103,{})
    /\ CardFacts10["Specimen0090"].kind="Technique" /\ CardFacts10["Specimen0227"].kind="Support"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointCounter103, CheckpointFrameAt103, CheckpointObject103, CheckpointOwners103, CheckpointPrinted103, Empty10, CheckpointHostedTargets103, CheckpointRetentionRetire103, CheckpointRetireMap103, RecordHostDeparture103, CardFacts10

CheckpointMarksChecks103 · operator

reference-profile · input revision 2 · CC0 1.0

CheckpointMarksChecks103 ==
 LET physical=={"Specimen0036-physical-1","Specimen0036-physical-2","Specimen0049-unrelated"}
     printed==[card \in physical |-> IF card="Specimen0049-unrelated" THEN CheckpointPrinted103["NeutralValue00007"] ELSE CheckpointPrinted103["NeutralValue00006"]]
     owners==[card \in physical |-> "SideB"]
     objects==[id \in {1,2,3} |-> IF id=3 THEN [CheckpointObject103("NeutralValue00007","Play",TRUE,0) EXCEPT
                          !.card="Specimen0049-unrelated",!.marks={"UnrelatedRestriction"}]
               ELSE [CheckpointObject103("NeutralValue00006","Play",TRUE,0) EXCEPT
                          !.card=IF id=1 THEN "Specimen0036-physical-1" ELSE "Specimen0036-physical-2",!.marks={"OldObjectRestriction"}]]
     names==[id \in DOMAIN objects |-> IF id=3 THEN "Specimen0049" ELSE "Specimen0036"]
     controllers==[id \in DOMAIN objects |-> "SideB"]
     order==[id \in DOMAIN objects |-> id]
     successor==[id \in {1} |-> 11]
     output==[id \in {2,3,11} |-> IF id=11 THEN [objects[1] EXCEPT !.zone="SideBDiscard",!.loc="discard",
                  !.host=0,!.deployed=FALSE,!.activated=FALSE,!.face="Up",!.marks={}] ELSE objects[id]]
     inherited==[output EXCEPT ![11].marks=objects[1].marks]
     counterObjects==[id \in {4,5} |-> IF id=4 THEN [CheckpointCounter103("SchemaAtom043","Play",9) EXCEPT
                     !.card="Specimen0046",!.side="SideA",!.marks={"ConvertedObjectRestriction"}]
                     ELSE [CheckpointObject103("NeutralValue00007","Play",TRUE,0) EXCEPT !.marks={"UnrelatedCounterCaseRestriction"}]]
     counterSuccessor==[id \in {4} |-> 14]
     counterOutput==[id \in {5,14} |-> IF id=14 THEN [counterObjects[4] EXCEPT !.form="Card",!.kind="Plan",
            !.properties=CheckpointPrinted103["Specimen0046"],!.zone="SideADiscard",!.loc="discard",!.host=0,
            !.deployed=FALSE,!.activated=FALSE,!.face="Up",!.marks={}] ELSE counterObjects[id]]
     discard==[id \in {7,8,9} |-> CASE id=7 -> [CheckpointCounter103("SchemaAtom043","SideADiscard",0) EXCEPT
                        !.card="Specimen0046",!.marks={"CurrentDiscardRestriction"}]
                   [] id=8 -> [CheckpointObject103("Specimen0158","SideBDiscard",FALSE,0) EXCEPT
                        !.kind="Objective",!.properties=[kind |-> "Objective",objectivePoints |-> -1],!.marks={"CurrentObjectiveRestriction"}]
                   [] OTHER -> [CheckpointObject103("NeutralValue00007","SideBDiscard",FALSE,0) EXCEPT !.marks={"UnrelatedDiscardRestriction"}]]
     conversions==[id \in {7,8} |-> IF id=7 THEN [mode |-> "Counter",card |-> "Specimen0046",owner |-> "SideA",createdBy |-> 44,gained |-> [kind |-> "SchemaAtom043"]]
                   ELSE [mode |-> "Objective",card |-> "Specimen0158",owner |-> "SideA",createdBy |-> 45,gained |-> [kind |-> "Objective",objectivePoints |-> -1]]]
     restored==[id \in DOMAIN discard |-> IF id \in {7,8} THEN [discard[id] EXCEPT !.form="Card",
                     !.kind=CheckpointPrinted103[discard[id].card].kind,!.properties=CheckpointPrinted103[discard[id].card],!.host=0,!.deployed=FALSE]
                     ELSE discard[id]]
 IN /\ CheckpointUniqueRetire103(CheckpointFrameAt103(4),CheckpointNextFrame103(CheckpointFrameAt103(4),101),
            objects,output,names,{1,2},{1,2,3},{},controllers,order,successor,{1,2,3},printed,owners,{1,2,3},101)
    /\ output[11].marks={} /\ output[11].card=objects[1].card /\ 1 \notin DOMAIN output
    /\ output[2]=objects[2] /\ output[3]=objects[3]
    /\ ~CheckpointUniqueRetire103(CheckpointFrameAt103(4),CheckpointNextFrame103(CheckpointFrameAt103(4),101),
            objects,inherited,names,{1,2},{1,2,3},{},controllers,order,successor,{1,2,3},printed,owners,{1,2,3},101)
    /\ ~CheckpointUniqueRetire103(CheckpointFrameAt103(4),CheckpointNextFrame103(CheckpointFrameAt103(4),101),
            objects,[output EXCEPT ![3].marks={}],names,{1,2},{1,2,3},{},controllers,order,successor,{1,2,3},printed,owners,{1,2,3},101)
    /\ CheckpointIllegalRetire103(CheckpointFrameAt103(5),CheckpointNextFrame103(CheckpointFrameAt103(5),101),counterObjects,counterOutput,{4},
            MarkedCounterLegal103,[id \in {4,5} |-> IF id=4 THEN "SideA" ELSE "SideB"],"SideB",Empty10,[applies |-> FALSE],"NoValue",{4},counterSuccessor,{4,5},
            CheckpointPrinted103,CheckpointOwners103,{4},101)
    /\ counterOutput[14].marks={} /\ counterOutput[14].form="Card" /\ counterOutput[14].card="Specimen0046" /\ counterOutput[5]=counterObjects[5]
    /\ ~CheckpointRetirePost103(counterObjects,[counterOutput EXCEPT ![14].marks=counterObjects[4].marks],{4},counterSuccessor,{4,5},CheckpointPrinted103,CheckpointOwners103,{4})
    /\ RestoreDiscardConversions103(discard,restored,conversions,Empty10,CheckpointPrinted103)
    /\ restored[7].marks=discard[7].marks /\ restored[8].marks=discard[8].marks /\ restored[9]=discard[9]
    /\ ~RestoreDiscardConversions103(discard,[restored EXCEPT ![7].marks={}],conversions,Empty10,CheckpointPrinted103)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointCounter103, CheckpointFrameAt103, CheckpointNextFrame103, CheckpointObject103, CheckpointOwners103, CheckpointPrinted103, Empty10, MarkedCounterLegal103, CheckpointIllegalRetire103, CheckpointRetirePost103, CheckpointUniqueRetire103, RestoreDiscardConversions103

CheckpointNextFrame103 · operator

reference-profile · input revision 2 · CC0 1.0

CheckpointNextFrame103(frame,snapshot) ==
 LET rest==SubSeq(frame.owed,2,Len(frame.owed))
 IN [frame EXCEPT !.owed=rest,!.done=@ \cup {frame.point},!.snapshotId=snapshot,
     !.point=IF rest = <<>> THEN "ProcedureCodeb74d673a0fc6" ELSE rest[1],!.phase=IF rest = <<>> THEN "Completed" ELSE "Steps"]

Exact module download · Source bundle and reproduction instructions

CheckpointObject103 · operator

reference-profile · input revision 2 · CC0 1.0

CheckpointObject103(card,zone,deployed,host) ==
 [card |-> card,form |-> "Card",kind |-> CardFacts10[card].kind,zone |-> zone,loc |-> zone,
  host |-> host,virtual |-> FALSE,deployed |-> deployed,activated |-> deployed,face |-> "Up",
  properties |-> CheckpointPrinted103[card],side |-> CardFacts10[card].side,area |-> "Root",targetSite |-> "SchemaAtom082",marks |-> {}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointPrinted103, CardFacts10

CheckpointOwners103 · operator

reference-profile · input revision 2 · CC0 1.0

CheckpointOwners103 == [card \in DOMAIN CardFacts10 |-> CardFacts10[card].side]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CardFacts10

CheckpointPrinted103 · operator

reference-profile · input revision 2 · CC0 1.0

CheckpointPrinted103 == [card \in DOMAIN CardFacts10 |-> [kind |-> CardFacts10[card].kind]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CardFacts10

CounterContextFixture109 · operator

reference-profile · input revision 2 · CC0 1.0

CounterContextFixture109(world,operation,kind,amount,stamp) ==
 LET card==LinkDefinition107(world,world.objects[900])
     effect==[id |-> 1,kind |-> operation,value |-> amount,actor |-> CardFacts10[card].side,baseOrigin |-> ObjectAbilitySource9(900),
       target |-> 900,counterKind |-> kind,counterKinds |-> {kind},loadDefinition |-> IF operation="LoadCounters" THEN 19000 ELSE 0,sourceCard |-> card,sourceSHA |-> CardFacts10[card].sourceSHA]
 IN [id |-> 109000+stamp,phase |-> "Resolving",currentRef |-> DamageReference104(0),currentWorld |-> world.id,
       templates |-> [id \in {1} |-> effect],state |-> [effects |-> [id \in {1} |-> effect]],actualEffects |-> [id \in {1} |-> effect]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, DamageReference104, LinkDefinition107, CardFacts10

CounterTraversalDefinition109 · operator

reference-profile · input revision 2 · CC0 1.0

CounterTraversalDefinition109(world,operation,kind,amount,stamp,selected,loadDefinition) ==
 LET context==[CounterContextFixture109(world,operation,kind,amount,stamp) EXCEPT !.templates[1].loadDefinition=loadDefinition,!.state.effects[1].loadDefinition=loadDefinition,!.actualEffects[1].loadDefinition=loadDefinition]
     e==context.actualEffects[1]
     created==IF operation="RemoveCounters" THEN {} ELSE world.nextCounterObject..(world.nextCounterObject+amount-1)
     added==[id \in created |-> LoadedCounterToken109(kind,world.objects[900].zone,900,e.actor)]
     objects==IF operation="RemoveCounters" THEN Without101(world.objects,selected) ELSE ReplacementOverlay99(world.objects,added)
     next==world.nextCounterObject+Cardinality(created)
     eventId==1090000+stamp
     h==[tag |-> "CompletedLoad",host |-> 900,kind |-> kind,loadDefinition |-> loadDefinition,reference |-> context.currentRef,sourceCard |-> e.sourceCard,
       sourceSHA |-> e.sourceSHA,amount |-> amount,createdCounterIds |-> created,snapshotId |-> world.id]
     history==IF operation="LoadCounters" THEN ReplacementOverlay99(world.loadHistory,[id \in {eventId} |-> h]) ELSE world.loadHistory
     completed==world.completedCounterInstructions \cup {CounterInstructionKey109(context,context.currentRef,1)}
     event==[tag |-> "HostedCounterInstructionComplete",id |-> eventId,operation |-> operation,reference |-> context.currentRef,host |-> 900,
       kind |-> kind,amount |-> amount,selected |-> selected,created |-> created,snapshotId |-> world.id,complete |-> TRUE]
     after==[world EXCEPT !.id=@+1,!.objects=objects,!.controllers=ReplacementOverlay99(Without101(@,selected),[id \in created |-> world.controllers[900]]),
          !.usedObjects=@ \cup DOMAIN objects,!.nextCounterObject=next,!.loadHistory=history,!.completedCounterInstructions=completed,!.counterEventIds=@ \cup {eventId}]
 IN [before |-> world,after |-> after,context |-> context,added |-> added,selected |-> selected,eventId |-> eventId,event |-> event]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, CounterContextFixture109, CounterInstructionKey109, LoadedCounterToken109, Without101

CounterTraversalFixture109 · operator

reference-profile · input revision 2 · CC0 1.0

CounterTraversalFixture109(world,operation,kind,amount,stamp,selected) ==
 CounterTraversalDefinition109(world,operation,kind,amount,stamp,selected,IF operation="LoadCounters" THEN 19000 ELSE 0)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CounterTraversalDefinition109

CounterTraversalValid109 · operator

reference-profile · input revision 2 · CC0 1.0

CounterTraversalValid109(x) ==
 ExecuteBankHostedCounterInstruction109(x.context,x.context.currentRef,x.before,1,CardFacts10,x.after.objects,x.after.loadHistory,x.after.completedCounterInstructions,
      x.selected,x.added,x.after.nextCounterObject,x.eventId,x.event)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ExecuteBankHostedCounterInstruction109, CardFacts10

DamageAtomFixture104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageAtomFixture104(card,verb,kind,value) ==
 [id |-> 1,kind |-> "Damage",value |-> value,damageType |-> NormalizeDamageType104(kind),actor |-> DamageResponsible104(verb),
  damageVerb |-> verb,baseOrigin |-> ObjectAbilitySource9(900),sourceCard |-> card,sourceSHA |-> CardFacts10[card].sourceSHA,
  preventable |-> TRUE,lineage |-> 1,baseController |-> "SideA",targeted |-> FALSE,targetCard |-> 0,targetSite |-> "NoValue"]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, DamageResponsible104, NormalizeDamageType104, CardFacts10

DamageBatchChecks104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageBatchChecks104 ==
 LET objects==DamageObjectsFixture104
     atom==DamageAtomFixture104("Specimen0221","Do","HarmClassA",3)
     packet==DamagePacketFixture104(atom,0)
     frame==DamageFrameFixture104(packet,objects)
     selected=={1,2,3}
     sample==DamageSampleFixture104(packet,frame.bHand,3,selected)
     ready==DamageReadyFixture104(frame,selected)
     successors==[id \in selected |-> id+10]
     afterObjects==DamageOwnerMoveMap104(objects,selected,successors,"SideB")
     complete==DamageCompleteFixture104(ready,afterObjects,successors,210)
     event==DamageSufferedEvent104(ready,210,successors)
     movement==MovementEvent8(210,"Retire",selected)
     history==[id \in {210} |-> movement]
     fatalAtom==DamageAtomFixture104("Specimen0035","Do","HarmClassB",5)
     fatalPacket==DamagePacketFixture104(fatalAtom,1)
     fatal==DamageFrameFixture104(fatalPacket,objects)
     emptyObjects==[id \in {50} |-> objects[id]]
     one==DamageAtomFixture104("Specimen0035","Do","HarmClassB",1)
     onePacket==DamagePacketFixture104(one,0)
 IN /\ Cardinality(RandomDamageChoices104(frame.bHand,3))=4
    /\ SelectDamageRandomBatch104(frame,ready,objects,selected,"SideA",sample)
    /\ ~SelectDamageRandomBatch104(frame,ready,objects,selected,"SideB",sample)
    /\ ~SelectDamageRandomBatch104(frame,[ready EXCEPT !.selections= <<[sample EXCEPT !.actor="SideB"]>>],objects,selected,"SideB",[sample EXCEPT !.actor="SideB"])
    /\ ~SelectDamageRandomBatch104(frame,ready,objects,{1,2},"SideA",sample)
    /\ ~SelectDamageRandomBatch104(frame,DamageReadyFixture104(frame,{1,2}),objects,{1,2},"SideA",DamageSampleFixture104(packet,frame.bHand,3,{1,2}))
    /\ ~SelectDamageRandomBatch104(frame,ready,objects,selected,"SideA",[sample EXCEPT !.population={1,2,3}])
    /\ ResolveDamageBatch104(ready,complete,objects,afterObjects,successors,DOMAIN objects,DamageOwnersFixture104,Empty10,Empty10,history,210,{movement,event})
    /\ ~ResolveDamageBatch104(frame,complete,objects,afterObjects,successors,DOMAIN objects,DamageOwnersFixture104,Empty10,Empty10,history,210,{movement,event})
    /\ ~ResolveDamageBatch104([ready EXCEPT !.phase="Selecting"],complete,objects,afterObjects,successors,DOMAIN objects,DamageOwnersFixture104,Empty10,Empty10,history,210,{movement,event})
    /\ ~ResolveDamageBatch104([ready EXCEPT !.selected={1,2}],complete,objects,afterObjects,successors,DOMAIN objects,DamageOwnersFixture104,Empty10,Empty10,history,210,{movement,event})
    /\ ~ResolveDamageBatch104(ready,complete,objects,afterObjects,successors,DOMAIN objects,DamageOwnersFixture104,Empty10,history,history,210,{movement,event})
    /\ afterObjects[50]=objects[50] /\ afterObjects[4]=objects[4] /\ {1,2,3} \cap DOMAIN afterObjects={}
    /\ \A id \in selected : afterObjects[successors[id]].marks={} /\ afterObjects[successors[id]].zone="SideBDiscard"
    /\ DamageBatchReadyForConditionals104(complete,afterObjects,event)
    /\ DamageNetMeatRetireObservation104(complete,afterObjects,event,1)
    /\ ~DamageBatchReadyForConditionals104(ready,objects,event)
    /\ BeginDamage104(DamageContextFixture104(fatalAtom,1),DamageReference104(1),DamageWorldFixture104(objects),1,CardFacts10,fatalPacket,fatal,{},"SideA",{})
    /\ ~BeginDamage104(DamageContextFixture104(fatalAtom,1),DamageReference104(1),DamageWorldFixture104(objects),1,CardFacts10,fatalPacket,[fatal EXCEPT !.phase="Selecting",!.outcome="Playing"],{},"Playing",{})
    /\ ~SelectDamageRandomBatch104(fatal,DamageReadyFixture104(fatal,selected),objects,selected,"SideA",DamageSampleFixture104(fatalPacket,fatal.bHand,5,selected))
    /\ ~DamageNetMeatRetireObservation104(fatal,objects,event,1)
    /\ BeginDamage104(DamageContextFixture104(fatalAtom,1),DamageReference104(1),DamageWorldFixture104(objects),1,CardFacts10,fatalPacket,
          [fatal EXCEPT !.outcome="Draw"],{},"Draw",{"SideB"})
    /\ BeginDamage104(DamageContextFixture104(one,0),DamageReference104(0),DamageWorldFixture104(emptyObjects),1,CardFacts10,onePacket,DamageFrameFixture104(onePacket,emptyObjects),{},"SideA",{})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DamageAtomFixture104, DamageCompleteFixture104, DamageContextFixture104, DamageFrameFixture104, DamageObjectsFixture104, DamageOwnersFixture104, DamagePacketFixture104, DamageReadyFixture104, DamageReference104, DamageSampleFixture104, DamageWorldFixture104, Empty10, BeginDamage104, DamageBatchReadyForConditionals104, DamageNetMeatRetireObservation104, DamageOwnerMoveMap104, DamageSufferedEvent104, RandomDamageChoices104, ResolveDamageBatch104, SelectDamageRandomBatch104, MovementEvent8, CardFacts10

DamageCompleteFixture104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageCompleteFixture104(frame,objects,successors,batchId) ==
 [frame EXCEPT !.phase="Complete",!.finalObjects=objects,!.completion=[batchId |-> batchId,
    damageEvent |-> DamageSufferedEvent104(frame,batchId,successors),movementEvent |-> MovementEvent8(batchId,"Retire",frame.selected)]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DamageSufferedEvent104, MovementEvent8

DamageContextFixture104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageContextFixture104(effect,revision) ==
 [id |-> 1040,imminenceId |-> 1041,currentRef |-> DamageReference104(revision),currentWorld |-> 100,phase |-> "Resolving",
  state |-> [effects |-> [id \in {1} |-> effect]],actualEffects |-> ActualExpectedEffects99([id \in {1} |-> effect]),templates |-> [id \in {1} |-> effect]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ActualExpectedEffects99, DamageReference104

DamageCoreChecks104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageCoreChecks104 ==
 LET oldCore==[id \in 100..104 |-> DamageCoreCounterRow104]
     objects==ReplacementOverlay99(DamageObjectsFixture104,oldCore)
     core==DamageAtomFixture104("Specimen0037","Do","PersistentCapacityHarm",1)
     capacityHarmAlias==DamageAtomFixture104("Specimen0037","Do","CapacityHarmAlias",1)
     packet==DamagePacketFixture104(core,0)
     frame==DamageFrameFixture104(packet,objects)
     ready==DamageReadyFixture104(frame,{1})
     successors==[id \in {1} |-> 11]
     cardsAfter==DamageOwnerMoveMap104(objects,{1},successors,"SideB")
     added==[id \in {30000} |-> DamageCoreCounterRow104]
     afterObjects==ReplacementOverlay99(cardsAfter,added)
     complete==DamageCompleteFixture104(ready,afterObjects,successors,230)
     event==DamageSufferedEvent104(ready,230,successors)
     movement==MovementEvent8(230,"Retire",{1})
     history==[id \in {230} |-> movement]
     largerBHand==ReplacementOverlay99(afterObjects,[id \in {1000} |-> [CheckpointObject103("NeutralValue00007","SideBHand",FALSE,0) EXCEPT !.face="NA"]])
     mixed==[DamageObjectsFixture104 EXCEPT ![4]=[CheckpointObject103("Specimen0221","SideBHand",FALSE,0) EXCEPT !.card="PhysicalItem0002",!.face="NA",!.marks={"OldSideAHandObjectMark"}]]
     mixedOwners==ReplacementOverlay99(DamageOwnersFixture104,[card \in {"PhysicalItem0002"} |-> "SideA"])
     mixedSuccessors==[id \in {1,4} |-> id+10]
     mixedFirst==DamageOwnerMoveMap104(mixed,{1},[id \in {1} |-> 11],"SideB")
     mixedAfter==DamageOwnerMoveMap104(mixedFirst,{4},[id \in {4} |-> 14],"SideA")
 IN /\ core=capacityHarmAlias /\ packet.damageType="PersistentCapacityHarm"
    /\ DamagePacketFromExpected104(DamageContextFixture104(core,0),DamageReference104(0),DamageWorldFixture104(objects),1,CardFacts10,packet)
    /\ BeginDamage104(DamageContextFixture104(core,0),DamageReference104(0),DamageWorldFixture104(objects),1,CardFacts10,packet,frame,{},"Playing",{})
    /\ SelectDamageRandomBatch104(frame,ready,objects,{1},"SideA",ready.selections[1])
    /\ ResolveDamageBatch104(ready,complete,objects,afterObjects,successors,DOMAIN objects,DamageOwnersFixture104,added,Empty10,history,230,{movement,event})
    /\ ~ResolveDamageBatch104(ready,DamageCompleteFixture104(ready,cardsAfter,successors,230),objects,cardsAfter,successors,DOMAIN objects,DamageOwnersFixture104,Empty10,Empty10,history,230,{movement,event})
    /\ PersistentCapacityLossQuantity104(objects)=5 /\ PersistentCapacityLossQuantity104(afterObjects)=6
    /\ DamageMaximumHandSize104(objects,0)=0 /\ DamageMaximumHandSize104(afterObjects,0)=-1
    /\ DamageMaximumHandSize104(largerBHand,0)=-1 /\ DamageMaximumHandSize104(afterObjects,2)=1
    /\ complete.outcome="Playing" /\ ~SideBHandHarmElimination4("SideB",-1,FALSE) /\ SideBHandHarmElimination4("SideB",-1,TRUE)
    /\ SetupCounterController(DamageCoreCounterRow104,"SideA","SideB")="none"
    /\ \A id \in DOMAIN oldCore : afterObjects[id]=oldCore[id]
    /\ DamageBatchReadyForConditionals104(complete,afterObjects,event)
    /\ ~DamageNetMeatRetireObservation104(complete,afterObjects,event,1)
    /\ ~DamageCoreCounters104(packet,cardsAfter,afterObjects,[id \in {100} |-> DamageCoreCounterRow104],DOMAIN objects \cup {11})
    /\ DamageCardBatchTransfer104(mixed,mixedAfter,{1,4},mixedSuccessors,DOMAIN mixed,mixedOwners)
    /\ mixedAfter[11].zone="SideBDiscard" /\ mixedAfter[14].zone="SideADiscard"
    /\ mixedAfter[11].marks={} /\ mixedAfter[14].marks={} /\ mixedAfter[50]=mixed[50]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, CheckpointObject103, DamageAtomFixture104, DamageCompleteFixture104, DamageContextFixture104, DamageFrameFixture104, DamageObjectsFixture104, DamageOwnersFixture104, DamagePacketFixture104, DamageReadyFixture104, DamageReference104, DamageWorldFixture104, Empty10, BeginDamage104, DamageBatchReadyForConditionals104, DamageCardBatchTransfer104, DamageCoreCounterRow104, DamageCoreCounters104, DamageMaximumHandSize104, DamageNetMeatRetireObservation104, DamageOwnerMoveMap104, DamagePacketFromExpected104, DamageSufferedEvent104, PersistentCapacityLossQuantity104, ResolveDamageBatch104, SelectDamageRandomBatch104, SideBHandHarmElimination4, MovementEvent8, SetupCounterController, CardFacts10

DamageCoreOverlay104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageCoreOverlay104(objects,added) == ReplacementOverlay99(objects,added)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99

DamageFrameFixture104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageFrameFixture104(packet,objects) ==
 [packet |-> packet,beforeObjects |-> objects,bHand |-> DamageBHand104(objects),selected |-> {},selectionOrder |-> <<>>,selections |-> <<>>,
  policy |-> [id |-> 0],phase |-> IF packet.amount>Cardinality(DamageBHand104(objects)) THEN "EliminatedByHarm" ELSE "Selecting",
  outcome |-> IF packet.amount>Cardinality(DamageBHand104(objects)) THEN "SideA" ELSE "Playing",completion |-> [batchId |-> 0],finalObjects |-> Empty10]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, DamageBHand104

DamageObjectsFixture104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageObjectsFixture104 ==
 [id \in {1,2,3,4,50} |-> IF id=50 THEN CheckpointObject103("Specimen0051","Play",FALSE,0)
  ELSE [CheckpointObject103(IF id=1 THEN "Specimen0122" ELSE "NeutralValue00007","SideBHand",FALSE,0) EXCEPT
        !.card=CASE id=1 -> "PhysicalItem0006" [] id=2 -> "PhysicalItem0013" [] id=3 -> "PhysicalItem0014" [] OTHER -> "PhysicalItem0015",!.face="NA",!.marks={"OldHandObjectMark"}]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointObject103

DamageOwnersFixture104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageOwnersFixture104 == [card \in {"PhysicalItem0006","PhysicalItem0013","PhysicalItem0014","PhysicalItem0015"} |-> "SideB"]

Exact module download · Source bundle and reproduction instructions

DamagePacketChecks104 · operator

reference-profile · input revision 2 · CC0 1.0

DamagePacketChecks104 ==
 LET objects==DamageObjectsFixture104
     exampleFamily004==DamageAtomFixture104("Specimen0017","Suffer","HarmClassB",2)
     exampleFamily044==DamageAtomFixture104("Specimen0190","Do","HarmClassB",1)
     exampleFamily004Context==DamageContextFixture104(exampleFamily004,0)
     exampleFamily044Context==DamageContextFixture104(exampleFamily044,0)
     exampleFamily004Packet==DamagePacketFixture104(exampleFamily004,0)
     exampleFamily044Packet==DamagePacketFixture104(exampleFamily044,0)
     world==DamageWorldFixture104(objects)
     Specimen0035==DamageAtomFixture104("Specimen0035","Do","HarmClassB",7)
     initial==[id \in {1} |-> Specimen0035]
     prevented==[initial EXCEPT ![1].value=4]
     fatalRemaining==[initial EXCEPT ![1].value=5]
     survivingContext==[DamageContextFixture104(prevented[1],1) EXCEPT !.templates=initial]
     survivingPacket==DamagePacketFixture104(prevented[1],1)
     zero==[initial EXCEPT ![1].value=0]
     negative==[initial EXCEPT ![1].value=-1]
     raised==[initial EXCEPT ![1].value=1]
     removed==[survivingContext EXCEPT !.state.effects=Empty10,!.actualEffects=Empty10]
     zeroContext==DamageContextFixture104(zero[1],1)
     negativeContext==DamageContextFixture104(negative[1],1)
     noPacketReceipt==[tag |-> "NoActualDamagePacket",contextId |-> 1040,reference |-> DamageReference104(1),effectId |-> 1,snapshotId |-> 100]
 IN /\ DamagePacketFromExpected104(exampleFamily004Context,DamageReference104(0),world,1,CardFacts10,exampleFamily004Packet)
    /\ exampleFamily004Packet.responsible="SideB" /\ CardFacts10[exampleFamily004Packet.sourceCard].side="SideA" /\ ~SideAMeatDamage104(exampleFamily004Packet)
    /\ DamagePacketFromExpected104(exampleFamily044Context,DamageReference104(0),world,1,CardFacts10,exampleFamily044Packet) /\ SideAMeatDamage104(exampleFamily044Packet)
    /\ ~DamagePacketFromExpected104([exampleFamily004Context EXCEPT !.state.effects[1].actor="SideA",!.actualEffects[1].actor="SideA"],DamageReference104(0),world,1,CardFacts10,[exampleFamily004Packet EXCEPT !.responsible="SideA"])
    /\ ~DamagePacketFromExpected104(exampleFamily004Context,DamageReference104(0),world,1,CardFacts10,[exampleFamily004Packet EXCEPT !.amount=3])
    /\ ~DamagePacketFromExpected104(exampleFamily004Context,DamageReference104(1),world,1,CardFacts10,exampleFamily004Packet)
    /\ ~DamagePacketFromExpected104(exampleFamily004Context,DamageReference104(1),world,1,CardFacts10,[exampleFamily004Packet EXCEPT !.reference=DamageReference104(1)])
    /\ ~DamagePacketFromExpected104(exampleFamily004Context,DamageReference104(0),[world EXCEPT !.id=101],1,CardFacts10,exampleFamily004Packet)
    /\ ~DamagePacketFromExpected104(exampleFamily004Context,DamageReference104(0),[world EXCEPT !.id=101],1,CardFacts10,[exampleFamily004Packet EXCEPT !.snapshotId=101])
    /\ ~DamagePacketFromExpected104(exampleFamily004Context,DamageReference104(0),world,2,CardFacts10,exampleFamily004Packet)
    /\ ~DamagePacketFromExpected104([exampleFamily004Context EXCEPT !.state.effects[1].sourceSHA="forged",!.actualEffects[1].sourceSHA="forged"],DamageReference104(0),world,1,CardFacts10,[exampleFamily004Packet EXCEPT !.sourceSHA="forged"])
    /\ BeginDamage104(exampleFamily004Context,DamageReference104(0),world,1,CardFacts10,exampleFamily004Packet,DamageFrameFixture104(exampleFamily004Packet,objects),{},"Playing",{})
    /\ ~BeginDamage104(exampleFamily004Context,DamageReference104(0),world,1,CardFacts10,exampleFamily004Packet,DamageFrameFixture104(exampleFamily004Packet,objects),{exampleFamily004Packet.key},"Playing",{})
    /\ PreventExpectedAmount99(initial,prevented,1,3) /\ PreventExpectedAmount99(initial,fatalRemaining,1,2)
    /\ DamagePacketFromExpected104(survivingContext,DamageReference104(1),world,1,CardFacts10,survivingPacket) /\ survivingPacket.amount=4
    /\ ~DamagePacketFromExpected104(survivingContext,DamageReference104(1),world,1,CardFacts10,DamagePacketFixture104(Specimen0035,1))
    /\ BeginDamage104(survivingContext,DamageReference104(1),world,1,CardFacts10,survivingPacket,DamageFrameFixture104(survivingPacket,objects),{},"Playing",{})
    /\ ModifyExpectedEffectValue99([id \in {1} |-> exampleFamily044],[id \in {1} |-> [exampleFamily044 EXCEPT !.value=2]],1,1)
    /\ PreventExpectedAmount99(initial,zero,1,7) /\ PreventExpectedAmount99(initial,negative,1,8)
    /\ ModifyExpectedEffectValue99(zero,raised,1,1) /\ ModifyExpectedEffectValue99(negative,raised,1,2)
    /\ ~ModifyExpectedEffectValue99(Empty10,raised,1,1) /\ PreventExpectedWhole99(initial,Empty10,1)
    /\ DamageOmitted104(zeroContext,DamageReference104(1),world,1,noPacketReceipt)
    /\ DamageOmitted104(negativeContext,DamageReference104(1),world,1,noPacketReceipt)
    /\ DamageOmitted104(removed,DamageReference104(1),world,1,noPacketReceipt)
    /\ ~DamagePacketFromExpected104(zeroContext,DamageReference104(1),world,1,CardFacts10,DamagePacketFixture104(zero[1],1))
    /\ ~DamageOmitted104([zeroContext EXCEPT !.phase="WindowOpen"],DamageReference104(1),world,1,noPacketReceipt)
    /\ DamagePacketFromExpected104(DamageContextFixture104(raised[1],2),DamageReference104(2),world,1,CardFacts10,DamagePacketFixture104(raised[1],2))
    /\ ~PreventExpectedAmount99([initial EXCEPT ![1].preventable=FALSE],prevented,1,3)
    /\ ModifyExpectedEffectValue99([initial EXCEPT ![1].preventable=FALSE],[initial EXCEPT ![1].preventable=FALSE,![1].value=8],1,1)
    /\ NormalizeDamageType104("CapacityHarmAlias")="PersistentCapacityHarm" /\ NormalizeDamageType104("HarmClassA")="HarmClassA"
    /\ CardFacts10["Specimen0111"].kind="Objective" /\ CardFacts10["Specimen0238"].kind="Objective"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ModifyExpectedEffectValue99, PreventExpectedAmount99, PreventExpectedWhole99, DamageAtomFixture104, DamageContextFixture104, DamageFrameFixture104, DamageObjectsFixture104, DamagePacketFixture104, DamageReference104, DamageWorldFixture104, Empty10, BeginDamage104, DamageOmitted104, DamagePacketFromExpected104, NormalizeDamageType104, SideAMeatDamage104, CardFacts10

DamagePacketFixture104 · operator

reference-profile · input revision 2 · CC0 1.0

DamagePacketFixture104(effect,revision) ==
 [key |-> <<1040,1041,1,revision>>,contextId |-> 1040,imminenceId |-> 1041,effectId |-> 1,reference |-> DamageReference104(revision),
  snapshotId |-> 100,turnId |-> 1,source |-> effect.baseOrigin,sourceCard |-> effect.sourceCard,sourceSHA |-> effect.sourceSHA,
  verb |-> effect.damageVerb,responsible |-> effect.actor,damageType |-> effect.damageType,amount |-> effect.value]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DamageReference104

DamageReadyFixture104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageReadyFixture104(frame,selected) ==
 [frame EXCEPT !.selected=selected,!.selections= <<DamageSampleFixture104(frame.packet,frame.bHand,frame.packet.amount,selected)>>,!.phase="ReadyToRetire"]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DamageSampleFixture104

DamageReference104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageReference104(revision) == [InstructionWindowRef93(OpenInstruction93(1000,"Ability",2000,ObjectAbilitySource9(900),"Play",1,"NoValue",<<"Damage">>,FALSE)) EXCEPT !.revision=revision]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InstructionWindowRef93, ObjectAbilitySource9, OpenInstruction93

DamageSampleFixture104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageSampleFixture104(packet,population,amount,selected) ==
 [tag |-> "ActualRandomDamageSelection",packet |-> packet.key,reference |-> packet.reference,population |-> population,
  amount |-> amount,selected |-> selected,actor |-> packet.responsible]

Exact module download · Source bundle and reproduction instructions

DamageSequentialChecks104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageSequentialChecks104 ==
 LET objects==DamageObjectsFixture104
     atom==DamageAtomFixture104("Specimen0221","Do","HarmClassA",3)
     packet==DamagePacketFixture104(atom,0)
     frame==DamageFrameFixture104(packet,objects)
     authority==ExampleFamily009AuthorityFixture104(packet,objects)
     compiled==[id \in {71} |-> authority]
     sequential==[frame EXCEPT !.policy=authority,!.phase="SelectingSequentially"]
     one==SequentialNextFixture104(sequential,1)
     two==SequentialNextFixture104(one,2)
     three==SequentialNextFixture104(two,3)
     successors==[id \in {1,2,3} |-> id+10]
     afterObjects==DamageOwnerMoveMap104(objects,{1,2,3},successors,"SideB")
     complete==DamageCompleteFixture104(three,afterObjects,successors,220)
     event==DamageSufferedEvent104(three,220,successors)
     movement==MovementEvent8(220,"Retire",{1,2,3})
     history==[id \in {220} |-> movement]
     priorNet==[id \in {210} |-> [event EXCEPT !.batchId=210]]
     exampleFamily036==DamageAtomFixture104("Specimen0167","Suffer","HarmClassA",4)
     sideBPacket==DamagePacketFixture104(exampleFamily036,0)
     sideBFrame==DamageFrameFixture104(sideBPacket,objects)
     sideBAuthority==ExampleFamily009AuthorityFixture104(sideBPacket,objects)
     sideBSequential==[sideBFrame EXCEPT !.policy=sideBAuthority,!.phase="SelectingSequentially"]
     sideBOne==SequentialNextFixture104(sideBSequential,1)
     sideBTwo==SequentialNextFixture104(sideBOne,2)
 IN /\ BeginExampleFamily009Damage104(frame,sequential,objects,authority,compiled,CardFacts10,Empty10)
    /\ ~BeginExampleFamily009Damage104(frame,sequential,objects,authority,compiled,CardFacts10,priorNet)
    /\ ~BeginExampleFamily009Damage104(frame,sequential,objects,authority,Empty10,CardFacts10,Empty10)
    /\ ~BeginExampleFamily009Damage104(frame,sequential,objects,[authority EXCEPT !.snapshotId=99],[compiled EXCEPT ![71].snapshotId=99],CardFacts10,Empty10)
    /\ ~BeginExampleFamily009Damage104(frame,[sequential EXCEPT !.policy.snapshotId=99],objects,[authority EXCEPT !.snapshotId=99],[compiled EXCEPT ![71].snapshotId=99],CardFacts10,Empty10)
    /\ DamageFirstNetThisTurn104([packet EXCEPT !.turnId=2],priorNet)
    /\ ~DamageFirstNetThisTurn104([packet EXCEPT !.damageType="HarmClassB"],Empty10)
    /\ ~BeginSequentialDamage104(frame,sequential,objects,[authority EXCEPT !.sourceSHA="forged"],[compiled EXCEPT ![71].sourceSHA="forged"],CardFacts10)
    /\ ~BeginSequentialDamage104(frame,[sequential EXCEPT !.policy.sourceSHA="forged"],objects,[authority EXCEPT !.sourceSHA="forged"],[compiled EXCEPT ![71].sourceSHA="forged"],CardFacts10)
    /\ ~BeginSequentialDamage104(frame,sequential,objects,[authority EXCEPT !.card="Specimen0221",!.sourceSHA=CardFacts10["Specimen0221"].sourceSHA],
          [compiled EXCEPT ![71].card="Specimen0221",![71].sourceSHA=CardFacts10["Specimen0221"].sourceSHA],CardFacts10)
    /\ ~BeginSequentialDamage104(frame,[sequential EXCEPT !.policy.card="Specimen0221",!.policy.sourceSHA=CardFacts10["Specimen0221"].sourceSHA],objects,[authority EXCEPT !.card="Specimen0221",!.sourceSHA=CardFacts10["Specimen0221"].sourceSHA],
          [compiled EXCEPT ![71].card="Specimen0221",![71].sourceSHA=CardFacts10["Specimen0221"].sourceSHA],CardFacts10)
    /\ SelectDamageNext104(sequential,one,objects,1,"SideA",one.selections[1])
    /\ SelectDamageNext104(one,two,objects,2,"SideA",two.selections[2])
    /\ SelectDamageNext104(two,three,objects,3,"SideA",three.selections[3])
    /\ one.beforeObjects=objects /\ two.beforeObjects=objects /\ three.beforeObjects=objects /\ three.selectionOrder= <<1,2,3>>
    /\ ~SelectDamageNext104(one,two,objects,1,"SideA",two.selections[2])
    /\ ~SelectDamageNext104(one,two,afterObjects,2,"SideA",two.selections[2])
    /\ ~DamageBatchReadyForConditionals104(one,objects,event)
    /\ ResolveDamageBatch104(three,complete,objects,afterObjects,successors,DOMAIN objects,DamageOwnersFixture104,Empty10,Empty10,history,220,{movement,event})
    /\ ~ResolveDamageBatch104([one EXCEPT !.phase="ReadyToRetire"],complete,objects,afterObjects,successors,DOMAIN objects,DamageOwnersFixture104,Empty10,Empty10,history,220,{movement,event})
    /\ DamageBatchReadyForConditionals104(complete,afterObjects,event)
    /\ DamagePacketFromExpected104(DamageContextFixture104(exampleFamily036,0),DamageReference104(0),DamageWorldFixture104(objects),1,CardFacts10,sideBPacket)
    /\ BeginExampleFamily009Damage104(sideBFrame,sideBSequential,objects,sideBAuthority,[id \in {71} |-> sideBAuthority],CardFacts10,Empty10)
    /\ sideBPacket.responsible="SideB" /\ sideBAuthority.slots[1].actor="SideA"
    /\ SelectDamageNext104(sideBSequential,sideBOne,objects,1,"SideA",sideBOne.selections[1])
    /\ ~SelectDamageNext104(sideBSequential,sideBOne,objects,1,"SideB",sideBOne.selections[1])
    /\ SelectDamageNext104(sideBOne,sideBTwo,objects,2,"SideB",sideBTwo.selections[2])
    /\ ~SelectDamageNext104(sideBOne,sideBTwo,objects,2,"SideA",sideBTwo.selections[2])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DamageAtomFixture104, DamageCompleteFixture104, DamageContextFixture104, DamageFrameFixture104, DamageObjectsFixture104, DamageOwnersFixture104, DamagePacketFixture104, DamageReference104, DamageWorldFixture104, Empty10, ExampleFamily009AuthorityFixture104, SequentialNextFixture104, BeginExampleFamily009Damage104, BeginSequentialDamage104, DamageBatchReadyForConditionals104, DamageFirstNetThisTurn104, DamageOwnerMoveMap104, DamagePacketFromExpected104, DamageSufferedEvent104, ResolveDamageBatch104, SelectDamageNext104, MovementEvent8, CardFacts10

DamageWorldFixture104 · operator

reference-profile · input revision 2 · CC0 1.0

DamageWorldFixture104(objects) == [id |-> 100,turn |-> [id |-> 1],objects |-> objects,outcome |-> "Playing"]

Exact module download · Source bundle and reproduction instructions

DividendBodyChecks1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendBodyChecks1013 ==
 /\ \A card \in DividendSources1013 : \A count \in 3..6 : \A exampleFamily023 \in BOOLEAN :
      LET x==DividendObjectiveCompletionFixture1013(DividendWorld1013(card,count,exampleFamily023,0)) q==DividendRecognition1013(x) s==DividendBodyStart1013(q)
          e==s.basis.repetitions done==DividendChain1013(s,e)
          receipt==[tag |-> "DividendInstructionComplete",instance |-> 13400,reference |-> s.plan.reference,objectiveCompletionId |-> 13000,applications |-> 1..e,skipped |-> {},totalPlaced |-> e*s.basis.multiplier,complete |-> TRUE]
      IN /\ DividendObjectiveCompletionValid1013(x) /\ EscalatingResourceContestRecognitionValid108(q) /\ Cardinality(DOMAIN q.after.instances)=1 /\ q.after.instances[13400].status="Pending"
         /\ DividendStartValid1013(s) /\ s.basis.requirement=x.capture.requirement /\ s.basis.progress=x.capture.progress
         /\ \A i \in 1..e : DividendStepValid1013(DividendChain1013(s,i).step)
         /\ CompleteDividendPlan1013(done.plan,[done.plan EXCEPT !.complete=TRUE],done.world,receipt)
         /\ Cardinality(HostedCounterIds109(done.world.objects,1000,"Objective"))=e*s.basis.multiplier
         /\ Cardinality(DOMAIN done.world.dividendPlacementEvents)=e /\ done.world.loadHistory=x.before.loadHistory
         /\ \A id \in DOMAIN done.world.dividendPlacementEvents : done.world.dividendPlacementEvents[id].amount=s.basis.multiplier
 /\ LET x==DividendObjectiveCompletionFixture1013(DividendWorld1013("Specimen0082",5,FALSE,0)) s==DividendBodyStart1013(DividendRecognition1013(x)) done==DividendChain1013(s,2)
    IN /\ done.plan.totalPlaced=4 /\ DOMAIN done.world.dividendPlacementEvents={14001,14002} /\ done.world.dividendPlacementEvents[14001].amount=2 /\ done.world.dividendPlacementEvents[14002].amount=2
 /\ LET x==DividendObjectiveCompletionFixture1013(DividendWorld1013("Specimen0186",3,FALSE,0)) q==DividendRecognition1013(x) s==DividendBodyStart1013(q)
    IN /\ EscalatingResourceContestRecognitionValid108(q) /\ Cardinality(DOMAIN q.after.instances)=1 /\ s.basis.repetitions=0 /\ DividendStartValid1013(s)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DividendBodyStart1013, DividendChain1013, DividendObjectiveCompletionFixture1013, DividendObjectiveCompletionValid1013, DividendRecognition1013, DividendStartValid1013, DividendStepValid1013, DividendWorld1013, EscalatingResourceContestRecognitionValid108, CompleteDividendPlan1013, DividendSources1013, HostedCounterIds109

DividendBodyStart1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendBodyStart1013(q) ==
 LET pending==q.after.instances[13400] instance==[pending EXCEPT !.status="Resolving"]
     world0==[q.world EXCEPT !.conditionalLedger.instances[13400]=instance]
     cap==world0.dividendCaptures[13000]
     basis==[tag |-> "DividendCapturedBasis",instance |-> 13400,occurrence |-> 13100,objectiveCompletionId |-> 13000,target |-> 1000,physical |-> cap.physical,sourceCard |-> cap.sourceCard,sourceSHA |-> cap.sourceSHA,
       requirement |-> cap.requirement,progress |-> cap.progress,repetitions |-> cap.excess,multiplier |-> cap.multiplier]
     ref==InstructionWindowRef93(OpenInstruction93(700,"Ability",13400,ObjectAbilitySource9(1000),"SideAObjectiveCompletion",1,"NoValue",<<"RepeatedObjectivePlacement">>,FALSE))
     plan==[tag |-> "DividendInstructionPlan",instance |-> 13400,reference |-> ref,basis |-> basis,cursor |-> 1,applied |-> {},skipped |-> {},totalPlaced |-> 0,complete |-> FALSE]
     world==[world0 EXCEPT !.dividendBodyAnchors=[id \in {13400} |-> [basis |-> basis,reference |-> ref]]]
 IN [beforeWorld |-> world0,world |-> world,instance |-> instance,event |-> q.event,basis |-> basis,plan |-> plan]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InstructionWindowRef93, ObjectAbilitySource9, OpenInstruction93

DividendBoundaryChecks1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendBoundaryChecks1013 ==
 LET w==DividendWorld1013("Specimen0186",4,TRUE,0) begin==w.objectiveCompletionBeginnings[13000] cap==DividendCaptureFixture1013(w)
     read==[tag |-> "CurrentExampleFamily052ObjectiveRequirement",snapshotId |-> 100,object |-> 100,sourceIds |-> {900},sourceSHA |-> CardFacts10["Specimen0208"].sourceSHA,value |-> 2]
     converted==[w EXCEPT !.objects[201].card="synthetic-converted-progress-copy"]
     convertedCap==DividendCaptureFixture1013(converted)
     power==[w EXCEPT !.objects=ReplacementOverlay99(@,[id \in {701} |-> LoadedCounterToken109("Power","Play",100,"SideA")]),!.usedObjects=@ \cup {701}]
 IN /\ ReadDividendExampleFamily052Requirement1013(w,100,read)
    /\ ~ReadDividendExampleFamily052Requirement1013([w EXCEPT !.objects[900].activated=FALSE,!.objects[900].face="Down"],100,read)
    /\ ~ReadDividendExampleFamily052Requirement1013([w EXCEPT !.objects[900].targetSite="OtherAuxiliarySite"],100,read)
    /\ ~CaptureDividendBegin1013(w,begin,w.cardFacts,[cap EXCEPT !.requirement=3])
    /\ ~CaptureDividendBegin1013(w,[begin EXCEPT !.point="PreviousCheckpoint"],w.cardFacts,cap)
    /\ ~CaptureDividendBegin1013(w,[begin EXCEPT !.snapshotId=99],w.cardFacts,cap)
    /\ DividendBeginSupport1013([begin EXCEPT !.costProfile="AdditionalObjectiveCompletionCosts"])="RequiresAdditionalCostCapturePointAdapter"
    /\ DividendBeginSupport1013([begin EXCEPT !.mode="Replay"])="RequiresAsIfObjectiveCompletionCaptureAdapter"
    /\ DividendBeginSupport1013([begin EXCEPT !.mode="ClaimObjective"])="NotAnOrdinaryObjectiveCompletion"
    /\ DividendBeginSupport1013([begin EXCEPT !.mode="Add"])="NotAnOrdinaryObjectiveCompletion"
    /\ CaptureDividendBegin1013(converted,converted.objectiveCompletionBeginnings[13000],converted.cardFacts,convertedCap)
    /\ convertedCap.progress=4 /\ DividendCleanupSupport1013(converted,convertedCap)="RequiresConvertedCounterCleanupAdapter"
    /\ DividendCleanupSupport1013(power,DividendCaptureFixture1013(power))="RequiresOtherHostedCleanupAdapter"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, DividendCaptureFixture1013, DividendWorld1013, CaptureDividendBegin1013, DividendBeginSupport1013, DividendCleanupSupport1013, LoadedCounterToken109, ReadDividendExampleFamily052Requirement1013, CardFacts10

DividendCaptureChecks1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendCaptureChecks1013 ==
 /\ \A card \in DividendSources1013 : \A count \in 3..6 : \A exampleFamily023 \in BOOLEAN :
      LET w==DividendWorld1013(card,count,exampleFamily023,0) x==DividendObjectiveCompletionFixture1013(w)
      IN /\ CaptureDividendBegin1013(w,w.objectiveCompletionBeginnings[13000],w.cardFacts,x.capture) /\ DividendObjectiveCompletionValid1013(x)
         /\ x.capture.requirement=IF exampleFamily023 THEN 2 ELSE 3
         /\ x.capture.progress=count /\ x.capture.excess=MaxOf(0,count-x.capture.requirement)
         /\ x.after.objects[1000].marks={} /\ x.after.objects[50]=w.objects[50]
         /\ DividendPhysicalProgress1013(x.after,1000)={} /\ x.after.requirements[1000]=3
 /\ LET x==DividendObjectiveCompletionFixture1013(DividendWorld1013("Specimen0082",5,FALSE,0)) IN x.capture.excess=2 /\ x.capture.multiplier=2
 /\ LET x==DividendObjectiveCompletionFixture1013(DividendWorld1013("Specimen0186",3,TRUE,0)) IN x.capture.requirement=2 /\ x.capture.progress=3 /\ x.capture.excess=1 /\ DividendObjectiveCompletionValid1013(x)
 /\ LET w==DividendWorld1013("Specimen0082",3,FALSE,2) x==DividendObjectiveCompletionFixture1013(w)
    IN /\ DividendObjectiveCompletionValid1013(x) /\ x.capture.progress=5 /\ Cardinality(x.capture.physicalProgress)=3 /\ x.capture.excess=2
       /\ x.after.consideredSources=w.consideredSources /\ x.after.consideredProgress[1000]=0

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DividendObjectiveCompletionFixture1013, DividendObjectiveCompletionValid1013, DividendWorld1013, CaptureDividendBegin1013, DividendPhysicalProgress1013, DividendSources1013, MaxOf

DividendCaptureFixture1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendCaptureFixture1013(world) ==
 LET begin==world.objectiveCompletionBeginnings[13000] fact==DividendFacts1013!DividendPrintedFacts1013[begin.sourceCard]
     physical==DividendPhysicalProgress1013(world,100) count==Cardinality(physical)+world.consideredProgress[100]
 IN [tag |-> "DividendObjectiveCompletionBegin",objectiveCompletionId |-> 13000,beginSnapshot |-> world.id,oldObject |-> 100,physical |-> world.objects[100].card,sourceCard |-> begin.sourceCard,sourceSHA |-> fact.sourceSHA,
     requirement |-> world.requirements[100],progress |-> count,physicalProgress |-> physical,considered |-> world.consideredProgress[100],multiplier |-> fact.multiplier,excess |-> MaxOf(0,count-world.requirements[100]),beforeObjects |-> world.objects]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DividendFacts1013!DividendPrintedFacts1013, DividendPhysicalProgress1013, MaxOf

DividendChain1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendChain1013(start,n) == IF n=0 THEN start ELSE DividendStepFixture1013(DividendChain1013(start,n-1))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DividendChain1013, DividendStepFixture1013

DividendConsideredBodyChecks1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendConsideredBodyChecks1013 ==
 LET x==DividendObjectiveCompletionFixture1013(DividendWorld1013("Specimen0082",3,FALSE,2)) q==DividendRecognition1013(x) s==DividendBodyStart1013(q) done==DividendChain1013(s,2)
 IN /\ DividendObjectiveCompletionValid1013(x) /\ EscalatingResourceContestRecognitionValid108(q) /\ DividendStartValid1013(s)
    /\ \A i \in 1..2 : DividendStepValid1013(DividendChain1013(s,i).step)
    /\ done.plan.totalPlaced=4 /\ Cardinality(HostedCounterIds109(done.world.objects,1000,"Objective"))=4
    /\ done.world.consideredSources=x.before.consideredSources /\ done.world.consideredProgress[1000]=0

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DividendBodyStart1013, DividendChain1013, DividendObjectiveCompletionFixture1013, DividendObjectiveCompletionValid1013, DividendRecognition1013, DividendStartValid1013, DividendStepValid1013, DividendWorld1013, EscalatingResourceContestRecognitionValid108, HostedCounterIds109

DividendDefinition1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendDefinition1013(card) ==
 [MarkDefinition1011(13200,1000,card,"ObjectivePlacementd") EXCEPT !.trigger.actor="SideA",!.trigger.subject="SchemaAtom149",!.triggerRequirements={}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkDefinition1011

DividendMissingSourceChecks1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendMissingSourceChecks1013 ==
 LET x==DividendObjectiveCompletionFixture1013(DividendWorld1013("Specimen0082",5,FALSE,0)) s==DividendBodyStart1013(DividendRecognition1013(x))
     moved==ReplacementOverlay99(Without101(s.world.objects,{1000}),[id \in {5000} |-> [s.world.objects[1000] EXCEPT !.zone="SideADiscard",!.deployed=FALSE,!.face="Up",!.loc=0,!.host=0,!.marks={}]])
     copy==[s.world.objects[1000] EXCEPT !.card="PhysicalItem0009"]
     world==[s.world EXCEPT !.id=150,!.objects=ReplacementOverlay99(moved,[id \in {1500} |-> copy]),!.usedObjects=@ \cup {1500,5000},!.usedWorlds=@ \cup {150},
       !.definitions=ReplacementOverlay99(@,[physical \in {copy.card} |-> "Specimen0082"]),!.cardFacts=ReplacementOverlay99(@,[physical \in {copy.card} |-> CardFacts10["Specimen0082"]])]
     skipped==[s.plan EXCEPT !.cursor=3,!.skipped={1,2}]
     receipt==[tag |-> "DividendInstructionComplete",instance |-> 13400,reference |-> s.plan.reference,objectiveCompletionId |-> 13000,applications |-> {},skipped |-> {1,2},totalPlaced |-> 0,complete |-> TRUE]
     forged==[s.plan EXCEPT !.basis.target=1500,!.basis.physical=copy.card]
 IN /\ DividendStartValid1013(s)
    /\ CardBatchTransfer8(s.world.objects,moved,{1000},[id \in {1000} |-> 5000],s.world.usedObjects,"SideADiscard","Up",[id \in {1000} |-> 0])
    /\ DividendTargetStatus1013(world,s.plan)="ReferencedObjectGone" /\ SkipDividendRemainder1013(s.plan,skipped,world)
    /\ CompleteDividendPlan1013(skipped,[skipped EXCEPT !.complete=TRUE],world,receipt) /\ world.dividendPlacementEvents=Empty10
    /\ ~DividendPlanBound1013(world,forged) /\ ~DividendPlanBound1013(s.world,[s.plan EXCEPT !.basis.repetitions=3])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, DividendBodyStart1013, DividendObjectiveCompletionFixture1013, DividendRecognition1013, DividendStartValid1013, DividendWorld1013, Empty10, CompleteDividendPlan1013, DividendPlanBound1013, DividendTargetStatus1013, SkipDividendRemainder1013, Without101, CardBatchTransfer8, CardFacts10

DividendNegativeChecks1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendNegativeChecks1013 ==
 LET x==DividendObjectiveCompletionFixture1013(DividendWorld1013("Specimen0082",5,FALSE,0)) q==DividendRecognition1013(x) s==DividendBodyStart1013(q)
     first==DividendChain1013(s,1).step end==DividendChain1013(s,2)
     falseCap==[x.capture EXCEPT !.progress=0,!.requirement=3,!.excess=0]
 IN /\ ~MoveDividendObjective1013(x.before,x.after,x.begin,falseCap,1000,x.moved,x.binding,13100,x.event)
    /\ ~MoveDividendObjective1013(x.before,[x.after EXCEPT !.objects[1000].marks={"Inherited"}],x.begin,x.capture,1000,x.moved,x.binding,13100,x.event)
    /\ ~DividendBasis1013(s.world,s.instance,s.event,[s.basis EXCEPT !.requirement=3,!.progress=0,!.repetitions=0])
    /\ ~DividendBasis1013(s.world,s.instance,[s.event EXCEPT !.object=50],s.basis)
    /\ ~DividendBasis1013(s.world,s.instance,[s.event EXCEPT !.scored.binding.newObject=50],s.basis)
    /\ DividendApplicationSupport1013(first.before,[first.context EXCEPT !.state.effects[1].value=4,!.actualEffects[1].value=4])="RequiresModifiedPlacementAdapter"
    /\ ~ApplyDividendPlacement1013(first.before,first.after,[first.context EXCEPT !.state.effects[1].value=4,!.templates[1].value=4,!.actualEffects[1].value=4],first.world,first.next,{},first.added,first.eventId,first.event)
    /\ ~ApplyDividendPlacement1013(first.before,first.after,first.context,[first.world EXCEPT !.outcome="SideA"],first.next,{},first.added,first.eventId,first.event)
    /\ ~ApplyDividendPlacement1013(first.before,first.after,first.context,[first.world EXCEPT !.completedCounterInstructions={CounterInstructionKey109(first.context,first.before.reference,1)}],first.next,{},first.added,first.eventId,first.event)
    /\ ~ApplyDividendPlacement1013(first.before,first.after,first.context,first.world,[first.next EXCEPT !.objects[50].marks={}],{},first.added,first.eventId,first.event)
    /\ \A id \in DOMAIN first.added : first.next.objects[id].kind="Objective" /\ first.next.objects[id].host=1000 /\ first.next.objects[id].marks={}
    /\ end.world.loadHistory=x.before.loadHistory /\ end.world.consideredSources=x.before.consideredSources

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DividendBodyStart1013, DividendChain1013, DividendObjectiveCompletionFixture1013, DividendRecognition1013, DividendWorld1013, ApplyDividendPlacement1013, CounterInstructionKey109, DividendApplicationSupport1013, DividendBasis1013, MoveDividendObjective1013

DividendObjectiveCompletionFixture1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendObjectiveCompletionFixture1013(world) ==
 LET capture==DividendCaptureFixture1013(world) before==[world EXCEPT !.dividendCaptures=[id \in {13000} |-> capture]]
     moved==DividendObjectiveCompletionMap1013(before.objects,100,1000)
     objects==Without101(moved,capture.physicalProgress)
     binding==[tag |-> "DividendObjectiveCompletionBinding",objectiveCompletionId |-> 13000,oldObject |-> 100,newObject |-> 1000,physical |-> capture.physical,beforeSnapshot |-> 100,afterSnapshot |-> 101]
     event==[id |-> 13100,kind |-> "ObjectivePlacementd",actor |-> "SideA",object |-> 1000,objectiveCompletionId |-> 13000,binding |-> binding]
     after==[before EXCEPT !.id=101,!.objects=objects,!.usedObjects=@ \cup {1000},!.usedWorlds=@ \cup {101},!.requirements=[id \in {1000} |-> DividendFacts1013!DividendPrintedFacts1013[capture.sourceCard].requirement],
       !.consideredProgress=[id \in {1000} |-> 0],!.historicalPhysical=[id \in {100} |-> capture.physical],!.dividendBindings=[id \in {13000} |-> binding],!.objectiveCompletionEventIds={13100},!.objectiveCompletionEvents=[id \in {13100} |-> event]]
 IN [before |-> before,after |-> after,begin |-> before.objectiveCompletionBeginnings[13000],capture |-> capture,moved |-> moved,binding |-> binding,event |-> event]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DividendCaptureFixture1013, DividendFacts1013!DividendPrintedFacts1013, DividendObjectiveCompletionMap1013, Without101

DividendObjectiveCompletionValid1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendObjectiveCompletionValid1013(x) == MoveDividendObjective1013(x.before,x.after,x.begin,x.capture,1000,x.moved,x.binding,13100,x.event)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MoveDividendObjective1013

DividendOccurrenceCheckpoint1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendOccurrenceCheckpoint1013(world,d,event) ==
 LET definitions==[key \in {ConditionalKey96(d)} |-> d]
     previous==MarkSnapshot1011(world.id,0,"PreviousCheckpoint",definitions,world)
     before==NewConditionalLedger96(previous)
     begin==MarkSnapshot1011(world.id,13800,"CheckpointBeginning",definitions,world)
     cp==[tag |-> "ConditionalCheckpoint",point |-> "ProcedureCodee605a78f5d5e",id |-> 13800,previousCheckpoint |-> 0,serial |-> 1,previousSnapshot |-> previous,beginSnapshot |-> begin,
       processingSnapshot |-> [begin EXCEPT !.point="ProcedureCodee605a78f5d5e"],stepSerial |-> 0,occurrences |-> [id \in {event.id} |-> event],caller |-> [kind |-> "ReplayOrOtherOccurrenceCheckpoint"]]
     conditions==[key \in DOMAIN definitions |-> [id \in {event.id} |-> [tag |-> "ConditionalTriggerStipulations",ability |-> d.syntax.id,source |-> d.syntax.source,occurrence |-> event.id,snapshotId |-> event.snapshot.id,results |-> Empty10]]]
     candidates==CheckpointCandidates96(definitions,before,cp,conditions)
     allocation==[key \in candidates |-> 13401]
     bindings==[key \in candidates |-> [kind |-> "Reaction",windowId |-> 13801,group |-> 13802,checkpointId |-> cp.id]]
     after==EscalatingResourceContestCommitted108(before,definitions,cp,conditions,allocation,bindings)
 IN [world |-> ReplacementOverlay99(world,[conditionalLedger |-> after,dividendDefinitions |-> [key \in DOMAIN definitions |-> [definition |-> d,card |-> "Specimen0186",sourceSHA |-> CardFacts10["Specimen0186"].sourceSHA]]]),
     before |-> before,after |-> after,cp |-> cp,conditions |-> conditions,definitions |-> definitions,candidates |-> candidates,allocation |-> allocation,bindings |-> bindings]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointCandidates96, ConditionalKey96, NewConditionalLedger96, ReplacementOverlay99, Empty10, EscalatingResourceContestCommitted108, MarkSnapshot1011, CardFacts10

DividendRecognition1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendRecognition1013(x) ==
 LET d==DividendDefinition1013(x.capture.sourceCard) definitions==[key \in {ConditionalKey96(d)} |-> d]
     snapshot==MarkSnapshot1011(x.after.id,0,"ScoredOccurrence",definitions,x.after)
     oldSnapshot==MarkSnapshot1011(x.before.id,0,"ObjectiveCompletionBegins",definitions,x.before)
     event==ReplacementOverlay99(EscalatingResourceContestOccurrenceBase108(13100,"ObjectivePlacementd",1000,"SideA","SideA",snapshot,13000),
       [movement |-> [tag |-> "ObjectiveCompletion",oldObject |-> 100,newObject |-> 1000,beforeSnapshot |-> oldSnapshot],scored |-> x.event])
     previous==MarkSnapshot1011(x.after.id,0,"PreviousCheckpoint",definitions,x.after)
     before==NewConditionalLedger96(previous)
     begin==MarkSnapshot1011(x.after.id,13300,"CheckpointBeginning",definitions,x.after)
     cp==[tag |-> "ConditionalCheckpoint",point |-> "ProcedureCodee605a78f5d5e",id |-> 13300,previousCheckpoint |-> 0,serial |-> 1,previousSnapshot |-> previous,beginSnapshot |-> begin,
       processingSnapshot |-> [begin EXCEPT !.point="ProcedureCodee605a78f5d5e"],stepSerial |-> 0,occurrences |-> [id \in {event.id} |-> event],caller |-> [kind |-> "ObjectiveCompletionProcedureEnd",objectiveCompletionId |-> 13000]]
     conditions==[key \in DOMAIN definitions |-> [id \in {event.id} |-> [tag |-> "ConditionalTriggerStipulations",ability |-> d.syntax.id,source |-> d.syntax.source,occurrence |-> event.id,snapshotId |-> event.snapshot.id,results |-> Empty10]]]
     candidates==CheckpointCandidates96(definitions,before,cp,conditions)
     allocation==[key \in candidates |-> 13400]
     bindings==[key \in candidates |-> [kind |-> "Reaction",windowId |-> 13500,group |-> 13600,checkpointId |-> 13300]]
     after==EscalatingResourceContestCommitted108(before,definitions,cp,conditions,allocation,bindings)
     world==ReplacementOverlay99(x.after,[conditionalLedger |-> after,dividendDefinitions |-> [key \in DOMAIN definitions |-> [definition |-> d,card |-> x.capture.sourceCard,sourceSHA |-> x.capture.sourceSHA]]])
 IN [world |-> world,before |-> before,after |-> after,cp |-> cp,conditions |-> conditions,definitions |-> definitions,candidates |-> candidates,allocation |-> allocation,bindings |-> bindings,event |-> event]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointCandidates96, ConditionalKey96, NewConditionalLedger96, ReplacementOverlay99, DividendDefinition1013, Empty10, EscalatingResourceContestCommitted108, EscalatingResourceContestOccurrenceBase108, MarkSnapshot1011

DividendReplayChecks1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendReplayChecks1013 ==
 LET r==DividendReplayFixture1013
     claimedObjective==[r.event EXCEPT !.id=13102,!.kind="ObjectiveClaimedObjective",!.actor="SideB",!.scopeKind="Global"]
     added==[r.event EXCEPT !.id=13103,!.kind="ObjectiveAdded",!.scopeKind="Global"]
 IN /\ ExecuteBankHostedCounterInstruction109(r.context,r.context.currentRef,r.world,1,r.world.cardFacts,r.placed.objects,r.placed.loadHistory,r.placed.completedCounterInstructions,{},r.added,r.placed.nextCounterObject,13703,r.placement)
    /\ Cardinality(DividendPhysicalProgress1013(r.placed,1000))=3 /\ r.placed.requirements[1000]=3 /\ r.score.capture.requirement=2
    /\ ExampleFamily092Occurrence96(r.definition,"WhenScored",r.plan,r.parent,"NoValue",r.actual,r.event.snapshot,r.event)
    /\ EscalatingResourceContestRecognitionValid108(r.q) /\ Cardinality(DOMAIN r.q.after.instances)=1 /\ r.q.after.instances[13401].status="Pending"
    /\ DividendEventSupport1013(r.event)="RequiresAsIfObjectiveCompletionCaptureAdapter"
    /\ EscalatingResourceContestRecognitionValid108(DividendOccurrenceCheckpoint1013(r.placed,r.definition,claimedObjective)) /\ DOMAIN DividendOccurrenceCheckpoint1013(r.placed,r.definition,claimedObjective).after.instances={}
    /\ EscalatingResourceContestRecognitionValid108(DividendOccurrenceCheckpoint1013(r.placed,r.definition,added)) /\ DOMAIN DividendOccurrenceCheckpoint1013(r.placed,r.definition,added).after.instances={}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ExampleFamily092Occurrence96, DividendOccurrenceCheckpoint1013, DividendReplayFixture1013, EscalatingResourceContestRecognitionValid108, DividendEventSupport1013, DividendPhysicalProgress1013, ExecuteBankHostedCounterInstruction109

DividendReplayFixture1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendReplayFixture1013 ==
 LET score==DividendObjectiveCompletionFixture1013(DividendWorld1013("Specimen0186",3,TRUE,0))
     extra==[id \in {600,800} |-> IF id=600 THEN EscalatingResourceContestCard108("Specimen0071",FALSE,FALSE) ELSE [EscalatingResourceContestCard108("Specimen0030",FALSE,FALSE) EXCEPT !.zone="SideAObjectiveCompletion",!.deployed=FALSE,!.face="Up"]]
     world==[score.after EXCEPT !.objects=ReplacementOverlay99(@,extra),!.usedObjects=@ \cup {600,800}]
     ref==InstructionWindowRef93(OpenInstruction93(13700,"Ability",13701,ObjectAbilitySource9(600),"Play",1,"NoValue",<<"PlaceProgress">>,TRUE))
     e==[id |-> 1,kind |-> "PlaceCounters",actor |-> "SideA",value |-> 3,target |-> 1000,counterKind |-> "Progress",counterKinds |-> {"Progress"},loadDefinition |-> 0,
       sourceCard |-> "Specimen0071",sourceSHA |-> CardFacts10["Specimen0071"].sourceSHA,baseOrigin |-> ref.source]
     context==[id |-> 13702,phase |-> "Resolving",currentWorld |-> world.id,currentRef |-> ref,templates |-> [id \in {1} |-> e],state |-> [effects |-> [id \in {1} |-> e]],actualEffects |-> [id \in {1} |-> e]]
     added==[id \in 10000..10002 |-> LoadedCounterToken109("Progress","SideAObjectiveCompletion",1000,"SideA")]
     placed==[world EXCEPT !.id=102,!.objects=ReplacementOverlay99(@,added),!.usedObjects=@ \cup DOMAIN added,!.usedWorlds=@ \cup {102},!.nextCounterObject=10003,
       !.completedCounterInstructions=@ \cup {CounterInstructionKey109(context,ref,1)},!.counterEventIds=@ \cup {13703}]
     placement==[tag |-> "HostedCounterInstructionComplete",id |-> 13703,operation |-> "PlaceCounters",reference |-> ref,host |-> 1000,kind |-> "Progress",amount |-> 3,selected |-> {},created |-> DOMAIN added,snapshotId |-> world.id,complete |-> TRUE]
     d==DividendDefinition1013("Specimen0186")
     parent==[OpenAbilityResolution9(13750,"Conditional",ObjectAbilitySource9(800),"SideAObjectiveCompletion",<<13751>>,13749) EXCEPT !.phase="Resolving",!.firstImminent=TRUE,!.detached=TRUE]
     plan==[OpenInstruction93(13751,"Ability",13750,ObjectAbilitySource9(800),"SideAObjectiveCompletion",1,"NoValue",<<"ReplayWhenScored">>,TRUE) EXCEPT !.phase="Resolving",!.announced=TRUE,!.targets={1000}]
     snapshot==MarkSnapshot1011(102,0,"ReplayOccurrence",[key \in {ConditionalKey96(d)} |-> d],placed)
     actual==[tag |-> "ConditionalExampleFamily092",class |-> "WhenScored",ability |-> d.syntax.id,source |-> d.syntax.source,snapshotId |-> 102,instruction |-> InstructionWindowRef93(plan),authorized |-> TRUE,occurrenceId |-> 13101,
       sourceCard |-> "Specimen0030",sourceSHA |-> CardFacts10["Specimen0030"].sourceSHA]
     event==[EscalatingResourceContestOccurrenceBase108(13101,"ObjectivePlacementd",1000,"SideA","SideA",snapshot,13751) EXCEPT !.scopeKind="Ability",!.scopeDefinition=ConditionalKey96(d)]
     q==DividendOccurrenceCheckpoint1013(placed,d,event)
 IN [score |-> score,world |-> world,placed |-> placed,context |-> context,added |-> added,placement |-> placement,definition |-> d,parent |-> parent,plan |-> plan,actual |-> actual,event |-> event,q |-> q]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, InstructionWindowRef93, ObjectAbilitySource9, OpenAbilityResolution9, OpenInstruction93, ReplacementOverlay99, DividendDefinition1013, DividendObjectiveCompletionFixture1013, DividendOccurrenceCheckpoint1013, DividendWorld1013, EscalatingResourceContestCard108, EscalatingResourceContestOccurrenceBase108, MarkSnapshot1011, CounterInstructionKey109, LoadedCounterToken109, CardFacts10

DividendStartValid1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendStartValid1013(s) == PublishDividendPlan1013(s.beforeWorld,s.world,s.instance,s.event,s.basis,s.plan)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: PublishDividendPlan1013

DividendStepFixture1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendStepFixture1013(start) ==
 LET w==start.world p==start.plan effects==DividendEffects1013(p)
     context==[id |-> p.instance,phase |-> "Resolving",currentWorld |-> w.id,currentRef |-> p.reference,templates |-> effects,state |-> [effects |-> effects],actualEffects |-> effects]
     added==[id \in w.nextCounterObject..(w.nextCounterObject+p.basis.multiplier-1) |-> LoadedCounterToken109("Objective",w.objects[p.basis.target].zone,p.basis.target,"SideA")]
     eventId==14000+p.cursor
     event==[tag |-> "HostedCounterInstructionComplete",id |-> eventId,operation |-> "PlaceCounters",reference |-> p.reference,host |-> p.basis.target,kind |-> "Objective",amount |-> p.basis.multiplier,
       selected |-> {},created |-> DOMAIN added,snapshotId |-> w.id,complete |-> TRUE]
     next==[w EXCEPT !.id=@+1,!.objects=ReplacementOverlay99(@,added),!.completedCounterInstructions=@ \cup {CounterInstructionKey109(context,p.reference,p.cursor)},!.nextCounterObject=@+p.basis.multiplier,
       !.usedObjects=@ \cup DOMAIN added,!.usedWorlds=@ \cup {w.id+1},!.counterEventIds=@ \cup {eventId},!.dividendPlacementEvents=ReplacementOverlay99(@,[id \in {eventId} |-> event])]
     afterPlan==[p EXCEPT !.cursor=@+1,!.applied=@ \cup {p.cursor},!.totalPlaced=@+p.basis.multiplier]
 IN [world |-> next,plan |-> afterPlan,step |-> [before |-> p,after |-> afterPlan,context |-> context,world |-> w,next |-> next,added |-> added,eventId |-> eventId,event |-> event]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, CounterInstructionKey109, DividendEffects1013, LoadedCounterToken109

DividendStepValid1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendStepValid1013(s) == ApplyDividendPlacement1013(s.before,s.after,s.context,s.world,s.next,{},s.added,s.eventId,s.event)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ApplyDividendPlacement1013

DividendWorld1013 · operator

reference-profile · input revision 2 · CC0 1.0

DividendWorld1013(card,progress,exampleFamily052,considered) ==
 LET objective==ReplacementOverlay99(EscalatingResourceContestCard108(card,TRUE,FALSE),[area |-> "Root",targetSite |-> "AuxiliarySiteA",face |-> "Down",marks |-> {"OldObjectRestriction"}])
     exampleFamily023==ReplacementOverlay99(EscalatingResourceContestCard108("Specimen0208",TRUE,exampleFamily052),[area |-> "Root",targetSite |-> "AuxiliarySiteA",face |-> IF exampleFamily052 THEN "Up" ELSE "Down"])
     cards==[id \in {50,100,900} |-> IF id=100 THEN objective ELSE IF id=900 THEN exampleFamily023 ELSE [EscalatingResourceContestCard108("Specimen0110",TRUE,TRUE) EXCEPT !.marks={"UnrelatedRestriction"}]]
     objects==ReplacementOverlay99(cards,[id \in 201..(200+progress) |-> LoadedCounterToken109("Progress","Play",100,"SideA")])
     begin==[id |-> 13000,mode |-> "ObjectiveCompletion",actor |-> "SideA",point |-> "ObjectiveCompletionBegins",snapshotId |-> 100,object |-> 100,sourceCard |-> card,costProfile |-> "OrdinaryCostlessObjectiveCompletion"]
 IN [id |-> 100,objects |-> objects,outcome |-> "Playing",cardFacts |-> CardFacts10,definitions |-> [id \in DOMAIN CardFacts10 |-> id],printed |-> Empty10,owners |-> Empty10,visible |-> Empty10,
     usedObjects |-> DOMAIN objects,usedWorlds |-> {100},requirements |-> [id \in {100} |-> DividendFacts1013!DividendPrintedFacts1013[card].requirement-IF exampleFamily052 THEN 1 ELSE 0],
     consideredProgress |-> [id \in {100} |-> considered],consideredSources |-> IF considered=0 THEN Empty10 ELSE [id \in {1} |-> [tag |-> "SyntheticConsideredProgressProvider",host |-> 100,value |-> considered]],
     objectiveCompletionBeginnings |-> [id \in {13000} |-> begin],dividendCaptures |-> Empty10,dividendBindings |-> Empty10,objectiveCompletionEvents |-> Empty10,objectiveCompletionEventIds |-> {},historicalPhysical |-> Empty10,
     movementHistory |-> Empty10,loadHistory |-> Empty10,loadLinks |-> Empty10,nextCounterObject |-> 10000,completedCounterInstructions |-> {},counterEventIds |-> {},dividendPlacementEvents |-> Empty10,
     dividendBodyAnchors |-> Empty10,requirementProfile |-> "PrintedAndExampleFamily052Only",conditionalLedger |-> Empty10,gameStarted |-> TRUE,activity |-> ActivityContext9,points |-> [p \in SetupPlayers |-> 0]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ActivityContext9, ReplacementOverlay99, Empty10, EscalatingResourceContestCard108, DividendFacts1013!DividendPrintedFacts1013, LoadedCounterToken109, SetupPlayers, CardFacts10

Empty10 · operator

reference-profile · input revision 2 · CC0 1.0

Empty10 == [id \in {} |-> id]

Exact module download · Source bundle and reproduction instructions

EmptyBeforeLoadPendingChecks109 · operator

reference-profile · input revision 2 · CC0 1.0

EmptyBeforeLoadPendingChecks109 ==
 LET w==LoadWorld109("Specimen0060","ResourceUnit")
     emptyD==w.loadLinks[1].emptyDefinition
     loadD==[EscalatingResourceContestConditional108(19000,"Specimen0060","AnyResult") EXCEPT !.trigger.kinds={"Deployed"},!.trigger.subject="SchemaAtom149"]
     definitions==[key \in {ConditionalKey96(emptyD),ConditionalKey96(loadD)} |-> IF key=ConditionalKey96(emptyD) THEN emptyD ELSE loadD]
     snapshot==EscalatingResourceContestSnapshot108(w.id,0,"DeploymentOccurrence",definitions,w)
     event==EscalatingResourceContestOccurrenceBase108(6600,"Deployed",900,"SideB","SideB",snapshot,6600)
     truth==[tag |-> "ConditionalStaticTruth",ability |-> emptyD.syntax.id,source |-> emptyD.syntax.source,checkpointId |-> 6200,snapshotId |-> w.id,
       condition |-> emptyD.primaryCondition,holds |-> FALSE]
     conditions==[key \in DOMAIN definitions |-> IF key=ConditionalKey96(emptyD) THEN [id \in {0} |-> truth]
        ELSE [id \in {6600} |-> [tag |-> "ConditionalTriggerStipulations",ability |-> loadD.syntax.id,source |-> loadD.syntax.source,occurrence |-> 6600,
             snapshotId |-> w.id,results |-> Empty10]]]
     raw==EscalatingResourceContestRecognition108(definitions,w,[id \in {6600} |-> event],conditions,6200,[kind |-> "DeploymentInstructionEnd",source |-> ObjectAbilitySource9(900)])
     q==[raw EXCEPT !.cp.beginSnapshot=ReplacementOverlay99(@,[loadState |-> LoadState109(w)])]
 IN /\ EscalatingResourceContestRecognitionValid108(q) /\ Cardinality(q.candidates)=1
    /\ \A key \in q.candidates : key.definition=ConditionalKey96(loadD)
    /\ \A id \in DOMAIN q.after.instances : q.after.instances[id].member.ability=19000 /\ q.after.instances[id].status="Pending"
    /\ EmptyStaticTruth109(w,CardFacts10,w.loadLinks[1],q.cp,EmptyReadFixture109(w,w.loadLinks[1]),truth)
    /\ w.loadHistory=Empty10 /\ ~EmptyReadFixture109(w,w.loadLinks[1]).empty

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, ObjectAbilitySource9, ReplacementOverlay99, Empty10, EmptyReadFixture109, EscalatingResourceContestConditional108, EscalatingResourceContestOccurrenceBase108, EscalatingResourceContestRecognition108, EscalatingResourceContestRecognitionValid108, EscalatingResourceContestSnapshot108, LoadWorld109, EmptyStaticTruth109, LoadState109, CardFacts10

EmptyDefinitionFixture109 · operator

reference-profile · input revision 2 · CC0 1.0

EmptyDefinitionFixture109(card,host) ==
 LET d==EscalatingResourceContestConditional108(19001,card,"AnyResult")
 IN [d EXCEPT !.syntax.source=ObjectAbilitySource9(host),!.activity.source=ObjectAbilitySource9(host),
      !.syntax.units= <<TextUnit93(1,"SchemaAtom043","Static",TRUE,0),TextUnit93(10,"Instruction","NoValue",FALSE,0)>>,
      !.primaryKind="Static",!.trigger.kinds={}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, TextUnit93, EscalatingResourceContestConditional108

EmptyFixtureValid109 · operator

reference-profile · input revision 2 · CC0 1.0

EmptyFixtureValid109(world) == ReadEmpty109(world,CardFacts10,world.loadLinks[1],EmptyReadFixture109(world,world.loadLinks[1]))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EmptyReadFixture109, ReadEmpty109, CardFacts10

EmptyReadFixture109 · operator

reference-profile · input revision 2 · CC0 1.0

EmptyReadFixture109(world,link) ==
 [tag |-> "CurrentLinkedEmpty",snapshotId |-> world.id,linkId |-> link.id,host |-> link.host,physical |-> link.physical,kind |-> link.kind,loadDefinition |-> link.loadDefinition,
  linkedLoads |-> LinkedLoadIds109(world,link),effectiveCounterIds |-> HostedCounterIds109(world.objects,link.host,link.kind),
  empty |-> LinkedLoadIds109(world,link)#{} /\ HostedCounterIds109(world.objects,link.host,link.kind)={}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: HostedCounterIds109, LinkedLoadIds109

EmptyRecognition109 · operator

reference-profile · input revision 2 · CC0 1.0

EmptyRecognition109(before,beginWorld,currentWorld,id) ==
 LET link==beginWorld.loadLinks[1]
     d==link.emptyDefinition
     definitions==[key \in {ConditionalKey96(d)} |-> d]
     begin==EmptySnapshot109(beginWorld,id,"CheckpointBeginning",definitions,before)
     current==EmptySnapshot109(currentWorld,id,"ProcedureCodee605a78f5d5e",definitions,before)
     cp==[tag |-> "ConditionalCheckpoint",point |-> "ProcedureCodee605a78f5d5e",id |-> id,previousCheckpoint |-> before.lastCheckpoint,serial |-> before.serial+1,
       previousSnapshot |-> before.lastSnapshot,beginSnapshot |-> begin,processingSnapshot |-> current,stepSerial |-> before.stepSerial,
       occurrences |-> Empty10,caller |-> [kind |-> "EmptyConditionCheckpoint",source |-> ObjectAbilitySource9(link.host)]]
     read==EmptyReadFixture109(beginWorld,link)
     truth==[tag |-> "ConditionalStaticTruth",ability |-> d.syntax.id,source |-> d.syntax.source,checkpointId |-> id,snapshotId |-> begin.id,
       condition |-> d.primaryCondition,holds |-> read.empty]
     conditions==[key \in DOMAIN definitions |-> [occurrence \in {0} |-> truth]]
     candidates==CheckpointCandidates96(definitions,before,cp,conditions)
     allocation==[key \in candidates |-> id*100000+key.definition.ability]
     bindings==[key \in candidates |-> [kind |-> "Reaction",windowId |-> 7200,group |-> 7300,checkpointId |-> id]]
     after==EscalatingResourceContestCommitted108(before,definitions,cp,conditions,allocation,bindings)
 IN [before |-> before,after |-> after,cp |-> cp,conditions |-> conditions,definitions |-> definitions,candidates |-> candidates,allocation |-> allocation,bindings |-> bindings,
      beginWorld |-> beginWorld,link |-> link,read |-> read,truth |-> truth]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointCandidates96, ConditionalKey96, ObjectAbilitySource9, Empty10, EmptyReadFixture109, EmptySnapshot109, EscalatingResourceContestCommitted108

EmptyRecognitionValid109 · operator

reference-profile · input revision 2 · CC0 1.0

EmptyRecognitionValid109(q) ==
 /\ EmptyStaticTruth109(q.beginWorld,CardFacts10,q.link,q.cp,q.read,q.truth)
 /\ EscalatingResourceContestRecognitionValid108(q)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestRecognitionValid108, EmptyStaticTruth109, CardFacts10

EmptySeed109 · operator

reference-profile · input revision 2 · CC0 1.0

EmptySeed109(world) ==
 LET d==world.loadLinks[1].emptyDefinition
     definitions==[key \in {ConditionalKey96(d)} |-> d]
     initial==ReplacementOverlay99(EscalatingResourceContestSnapshot108(world.id,0,"PreviousCheckpoint",definitions,world),[loadState |-> LoadState109(world)])
 IN NewConditionalLedger96(initial)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, NewConditionalLedger96, ReplacementOverlay99, EscalatingResourceContestSnapshot108, LoadState109

EmptySnapshot109 · operator

reference-profile · input revision 2 · CC0 1.0

EmptySnapshot109(world,checkpoint,point,definitions,ledger) ==
 LET raw==ReplacementOverlay99(EscalatingResourceContestSnapshot108(world.id,checkpoint,point,definitions,world),[loadState |-> LoadState109(world)])
 IN SnapshotWithConditionalRegistry96([raw EXCEPT !.activationEpoch=ConditionalEpochMap96(ledger,definitions),!.activationSerial=ledger.activationSerial,
       !.usedObjects=@ \cup ledger.lastSnapshot.usedObjects],ledger)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalEpochMap96, ReplacementOverlay99, SnapshotWithConditionalRegistry96, EscalatingResourceContestSnapshot108, LoadState109

EmptyStaticRecognitionChecks109 · operator

reference-profile · input revision 2 · CC0 1.0

EmptyStaticRecognitionChecks109 ==
 LET w==LoadWorld109("Specimen0060","ResourceUnit")
     loaded==CounterTraversalFixture109(w,"LoadCounters","ResourceUnit",3,1,{})
     gone==CounterTraversalFixture109(loaded.after,"RemoveCounters","ResourceUnit",3,2,DOMAIN loaded.added)
     empty==gone.after
     refilled==CounterTraversalFixture109(empty,"PlaceCounters","ResourceUnit",1,3,{})
     initial==EmptyRecognition109(EmptySeed109(w),w,w,1)
     q==EmptyRecognition109(EmptySeed109(empty),empty,empty,1)
     filled==EmptyRecognition109(q.after,refilled.after,refilled.after,2)
     startNonempty==EmptyRecognition109(EmptySeed109(refilled.after),refilled.after,empty,3)
     startEmpty==EmptyRecognition109(EmptySeed109(empty),empty,refilled.after,4)
     inactive==[empty EXCEPT !.objects[900].face="Down"]
     notActive==EmptyRecognition109(EmptySeed109(empty),empty,inactive,5)
     instance==CHOOSE id \in DOMAIN q.after.instances : TRUE
 IN /\ EmptyRecognitionValid109(initial) /\ initial.candidates={}
    /\ EmptyRecognitionValid109(q) /\ Cardinality(q.candidates)=1 /\ q.after.instances[instance].primaryKind="Static"
    /\ EmptyRecognitionValid109(filled) /\ filled.candidates={} /\ filled.after.instances[instance].status="Pending"
    /\ EmptyRecognitionValid109(startNonempty) /\ startNonempty.candidates={}
    /\ EmptyRecognitionValid109(startEmpty) /\ Cardinality(startEmpty.candidates)=1
    /\ EmptyRecognitionValid109(notActive) /\ notActive.candidates={}
    /\ ~EmptyStaticTruth109(refilled.after,CardFacts10,q.link,q.cp,EmptyReadFixture109(refilled.after,q.link),q.truth)
    /\ ~EmptyStaticTruth109(empty,CardFacts10,q.link,[q.cp EXCEPT !.beginSnapshot.loadState.history=Empty10],q.read,q.truth)
    /\ \A status \in {"Pending","Imminent","Resolving"} :
         LET sibling==[q.after EXCEPT !.instances[instance].status=status]
             again==EmptyRecognition109(sibling,empty,empty,6)
         IN EmptyRecognitionValid109(again) /\ again.candidates={}
    /\ LET completed==[q.after EXCEPT !.instances[instance].status="Complete"]
           repeated==EmptyRecognition109(completed,empty,empty,7)
           key==ConditionalKey96(q.link.emptyDefinition)
           throttled==[completed EXCEPT !.throttle=[k \in {key} |-> completed.stepSerial]]
           blocked==EmptyRecognition109(throttled,empty,empty,8)
           afterStep==[throttled EXCEPT !.stepSerial=@+1]
           step==[tag |-> "TimingStructureStepCompleted",structure |-> TimingRef9("Turn",1),procedureId |-> 1,step |-> "DiscardEnd",previousSerial |-> throttled.stepSerial,serial |-> afterStep.stepSerial]
           retry==EmptyRecognition109(afterStep,empty,empty,9)
       IN /\ EmptyRecognitionValid109(repeated) /\ Cardinality(repeated.candidates)=1
          /\ EmptyRecognitionValid109(blocked) /\ blocked.candidates={}
          /\ ObserveConditionalTimingStep96(throttled,afterStep,step)
          /\ EmptyRecognitionValid109(retry) /\ Cardinality(retry.candidates)=1

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, ObserveConditionalTimingStep96, TimingRef9, CounterTraversalFixture109, Empty10, EmptyReadFixture109, EmptyRecognition109, EmptyRecognitionValid109, EmptySeed109, LoadWorld109, EmptyStaticTruth109, CardFacts10

EmptyWorldsValid109 · operator

reference-profile · input revision 2 · CC0 1.0

EmptyWorldsValid109(worlds) == \A world \in worlds : \A id \in DOMAIN world.loadLinks : ReadEmpty109(world,CardFacts10,world.loadLinks[id],EmptyReadFixture109(world,world.loadLinks[id]))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EmptyReadFixture109, ReadEmpty109, CardFacts10

EscalatingResourceContestAnnouncement108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestAnnouncement108(frame,player,mode,amount) == [tag |-> "EscalatingResourceContestBoostChoice",escalatingResourceContestId |-> frame.id,player |-> player,mode |-> mode,amount |-> amount,viewers |-> SetupPlayers]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SetupPlayers

EscalatingResourceContestAssociatedEvent108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestAssociatedEvent108(frame,a,snapshot) ==
 ReplacementOverlay99(EscalatingResourceContestOccurrenceBase108(frame.resultEvent.id*10+a.id,"EscalatingResourceContestAssociatedResult",frame.packet.source.object,"SideA","SideA",snapshot,frame.resultEvent.id),
  [scopeKind |-> "Ability",scopeDefinition |-> ConditionalKey96(a.definition),escalatingResourceContestId |-> frame.id,rawResultId |-> frame.resultEvent.id,
   escalatingResourceContestStrength |-> frame.resultEvent.escalatingResourceContestStrength,linkStrength |-> frame.resultEvent.linkStrength,result |-> frame.result])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, ReplacementOverlay99, EscalatingResourceContestOccurrenceBase108

EscalatingResourceContestAt108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestAt108(world,frame,id) ==
 LET w==[world EXCEPT !.id=id,!.escalatingResourceContestFrames=ReplacementOverlay99(@,[i \in {frame.id} |-> frame]),
       !.usedPayments=@ \cup {frame.boosts[p].transaction : p \in {p \in SetupPlayers : frame.boosts[p].mode="Pay"}},
       !.usedObjects=@ \cup DOMAIN world.objects,!.eventIds=IF frame.resultEvent.id=0 THEN @ ELSE @ \cup {frame.resultEvent.id}]
     live==LinkDeclaredWorld107(w)
 IN [live EXCEPT !.escalatingResourceContestOrderPolicies=[i \in IF EscalatingResourceContestDuringTraversal108(live) THEN EscalatingResourceContestRoleIds108(live,"EscalatingResourceContestOrder","Specimen0231") ELSE {} |-> EscalatingResourceContestPolicy108(live,frame,i,"Order")],
      !.escalatingResourceContestLinkPolicies=[i \in IF frame.ordinal=1 THEN EscalatingResourceContestRoleIds108(live,"EscalatingResourceContestLinkZero","Specimen0154") ELSE {} |-> EscalatingResourceContestPolicy108(live,frame,i,"Connection")]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, EscalatingResourceContestPolicy108, LinkDeclaredWorld107, EscalatingResourceContestDuringTraversal108, EscalatingResourceContestRoleIds108, SetupPlayers

EscalatingResourceContestAtom108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestAtom108(value,associations) ==
 [id |-> 1,kind |-> "EscalatingResourceContest",value |-> value,actor |-> "SideA",baseOrigin |-> ObjectAbilitySource9(900),sourceCard |-> "Specimen0101",sourceSHA |-> CardFacts10["Specimen0101"].sourceSHA,associations |-> associations,preventable |-> TRUE]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, CardFacts10

EscalatingResourceContestBirthChecks108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestBirthChecks108 ==
 LET w==EscalatingResourceContestWorld108("Specimen0229",{},TRUE,FALSE,FALSE)
     context==EscalatingResourceContestContext108(w,2,EscalatingResourceContestSpecimen0101Associations108)
     start==EscalatingResourceContestStart108(w,context,51,9001)
 IN /\ BeginEscalatingResourceContest108(context,context.currentRef,w,1,CardFacts10,51,9001,EscalatingResourceContestPacketFixture108(context),start.frame,start.world.escalatingResourceContestFrames,start.history,start.event)
    /\ start.frame.ordinal=1 /\ start.frame.phase="InitialCheckpoint"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestContext108, EscalatingResourceContestPacketFixture108, EscalatingResourceContestSpecimen0101Associations108, EscalatingResourceContestStart108, EscalatingResourceContestWorld108, BeginEscalatingResourceContest108, CardFacts10

EscalatingResourceContestCard108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestCard108(card,deployed,activated) == ReplacementOverlay99(ExposureMarkerCardFixture105(card,"Play",deployed),[side |-> CardFacts10[card].side,activated |-> activated])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, ExposureMarkerCardFixture105, CardFacts10

EscalatingResourceContestCheckpoint108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestCheckpoint108(frame,world,id) ==
 [NewCheckpoint103(id,EscalatingResourceContestCheckpointCaller108(frame),world.id,world.inside) EXCEPT !.phase="Returned",!.point="ProcedureCodeb74d673a0fc6",!.owed= <<>>,!.done=CheckpointStageSet103,
  !.returned=TRUE,!.recognition=[id |-> id,caller |-> EscalatingResourceContestCheckpointCaller108(frame)],!.recognized=Empty10]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, CheckpointStageSet103, EscalatingResourceContestCheckpointCaller108, NewCheckpoint103

EscalatingResourceContestCheckpointWorld108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestCheckpointWorld108(world,cp,ledger) ==
 [world EXCEPT !.checkpointFrames=ReplacementOverlay99(@,[id \in {cp.id} |-> cp]),!.checkpointLedger=ledger]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99

EscalatingResourceContestChoose108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestChoose108(frame,order,cpId) ==
 [frame EXCEPT !.phase="ChooseBoost",!.point=IF order[1]="SideA" THEN "ProcedureCode083016920358" ELSE "ProcedureCode785a8b2e5de4",!.order=order,!.nextPlayer=order[1],!.checkpoints=@ \cup {cpId}]

Exact module download · Source bundle and reproduction instructions

EscalatingResourceContestCommitted108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestCommitted108(before,definitions,cp,conditions,allocation,bindings) ==
 LET stable==ConditionalActivityLedger96(before,definitions,cp.processingSnapshot)
     ids=={allocation[key] : key \in DOMAIN allocation}
 IN [stable EXCEPT !.activationEpoch=cp.processingSnapshot.activationEpoch,!.lastCheckpoint=cp.id,!.checkpointIds=@ \cup {cp.id},
      !.checkpoints=ReplacementOverlay99(@,[id \in {cp.id} |-> [caller |-> cp.caller]]),!.serial=cp.serial,!.lastSnapshot=cp.processingSnapshot,
      !.processed=@ \cup DOMAIN cp.occurrences,!.instances=ReplacementOverlay99(@,[id \in ids |->
          LET key==CHOOSE key \in DOMAIN allocation : allocation[key]=id
          IN NewConditionalInstance96(id,definitions[key.definition],cp,key.occurrence,bindings[key].windowId,bindings[key].group)])]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalActivityLedger96, NewConditionalInstance96, ReplacementOverlay99

EscalatingResourceContestConditional108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestConditional108(id,card,trigger) ==
 LET syntax==[id |-> id,kind |-> "Conditional",side |-> CardFacts10[card].side,controller |-> CardFacts10[card].side,cardKind |-> CardFacts10[card].kind,
       source |-> ObjectAbilitySource9(900),units |-> <<TextUnit93(1,"SchemaAtom043","Trigger",TRUE,0),TextUnit93(10,"Instruction","NoValue",FALSE,0)>>,
       arrowAfterFlags |-> TRUE,barrierInstructionPrefix |-> FALSE,paidPrefix |-> [present |-> FALSE,bold |-> TRUE,colon |-> TRUE]]
 IN [syntax |-> syntax,activity |-> AbilityDefinition9(id,"Conditional",syntax.source,"Printed"),primaryKind |-> "Trigger",primaryCondition |-> 1,
     instructions |-> <<700>>,instructionHasWould |-> FALSE,trigger |-> [kinds |-> {"EscalatingResourceContestAssociatedResult"},subject |-> "SchemaAtom016",actor |-> "SchemaAtom016",side |-> "SchemaAtom016"],
     triggerRequirements |-> IF trigger="AnyResult" THEN {} ELSE {1},effectChoices |-> {{1}},optionalParts |-> {},partsByInstruction |-> [i \in {700} |-> {1}],delayedEffect |-> 0,thisTraversal |-> FALSE]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: AbilityDefinition9, ObjectAbilitySource9, TextUnit93, CardFacts10

EscalatingResourceContestContext108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestContext108(world,value,associations) ==
 [id |-> 10800,phase |-> "Resolving",currentRef |-> DamageReference104(0),currentWorld |-> world.id,templates |-> [id \in {1} |-> EscalatingResourceContestAtom108(2,associations)],
  state |-> [effects |-> [id \in {1} |-> EscalatingResourceContestAtom108(value,associations)]],actualEffects |-> [id \in {1} |-> EscalatingResourceContestAtom108(value,associations)]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DamageReference104, EscalatingResourceContestAtom108

EscalatingResourceContestContextAndOrderChecks108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestContextAndOrderChecks108 ==
 LET nq==EscalatingResourceContestScenario108("Specimen0229","Decline",0,"Decline",0,FALSE,TRUE)
     reverse==EscalatingResourceContestScenario108("Specimen0229","Pay",1,"Pay",2,TRUE,TRUE)
     outsideBase==EscalatingResourceContestWorld108("Specimen0229",{},FALSE,TRUE,FALSE)
     outsideStart==EscalatingResourceContestStart108(outsideBase,EscalatingResourceContestContext108(outsideBase,2,Empty10),51,9001)
     outsideCP==EscalatingResourceContestCheckpoint108(outsideStart.frame,outsideStart.world,5100)
     outsideChoose==EscalatingResourceContestChoose108(outsideStart.frame,<<"SideA","SideB">>,5100)
     r==nq.SchemaAtom187.ready
     w==nq.SchemaAtom187.readyWorld
 IN /\ EscalatingResourceContestScenarioValid108(nq) /\ nq.determined.result="Successful"
    /\ nq.SchemaAtom187.after.strengths["SideB"].value=0 /\ LinkReadFixture107(w).value=2
    /\ EscalatingResourceContestScenarioValid108(reverse) /\ reverse.first.player="SideB" /\ reverse.SchemaAtom187.player="SideA"
    /\ reverse.determined.result="Successful"
    /\ DrainEscalatingResourceContestCheckpoint108(outsideStart.frame,outsideChoose,EscalatingResourceContestCheckpointWorld108(outsideStart.world,outsideCP,EscalatingResourceContestLedger108(outsideCP)),CardFacts10,outsideCP,EscalatingResourceContestLedger108(outsideCP),<<>>,<<"SideA","SideB">>)
    /\ ~DrainEscalatingResourceContestCheckpoint108(reverse.start.frame,EscalatingResourceContestChoose108(reverse.start.frame,<<"SideA","SideB">>,5100),EscalatingResourceContestCheckpointWorld108(reverse.start.world,reverse.initialCP,EscalatingResourceContestLedger108(reverse.initialCP)),CardFacts10,reverse.initialCP,EscalatingResourceContestLedger108(reverse.initialCP),<<>>,<<"SideA","SideB">>)
    /\ ~EscalatingResourceContestSetValid108(r,[w EXCEPT !.escalatingResourceContestLinkPolicies=Empty10],0)
    /\ ~EscalatingResourceContestSetValid108(r,[w EXCEPT !.escalatingResourceContestLinkPolicies[7000].snapshotId=99],0)
    /\ ~EscalatingResourceContestSetValid108(r,[w EXCEPT !.escalatingResourceContestLinkPolicies[7000].sourceSHA="wrong-sha"],0)
    /\ ~EscalatingResourceContestSetValid108(r,[w EXCEPT !.escalatingResourceContestLinkPolicies[7000].sourceObject.card="PhysicalItem0004"],0)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, EscalatingResourceContestCheckpoint108, EscalatingResourceContestCheckpointWorld108, EscalatingResourceContestChoose108, EscalatingResourceContestContext108, EscalatingResourceContestLedger108, EscalatingResourceContestScenario108, EscalatingResourceContestScenarioValid108, EscalatingResourceContestSetValid108, EscalatingResourceContestStart108, EscalatingResourceContestWorld108, LinkReadFixture107, DrainEscalatingResourceContestCheckpoint108, CardFacts10

EscalatingResourceContestDeclined108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestDeclined108(frame,player) ==
 [frame EXCEPT !.phase="SetStrength",!.pendingPlayer=player,!.acted=@ \cup {player},!.boosts[player]=[mode |-> "Decline",amount |-> 0,transaction |-> 0]]

Exact module download · Source bundle and reproduction instructions

EscalatingResourceContestDetermined108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestDetermined108(frame,event) == [frame EXCEPT !.phase="Determined",!.point="ProcedureCode0cb35cf3f8e6",!.result=event.result,!.resultEvent=event]

Exact module download · Source bundle and reproduction instructions

EscalatingResourceContestEstablished108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestEstablished108(frame,contextualLink) ==
 LET player==frame.pendingPlayer
     value==IF player="SideA" THEN frame.packet.base+frame.boosts[player].amount ELSE contextualLink+frame.boosts[player].amount
 IN [frame EXCEPT !.strengths[player]=[set |-> TRUE,value |-> value],!.pendingPlayer="NoValue",
      !.phase=IF frame.acted=SetupPlayers THEN "Determine" ELSE "ChooseBoost",!.nextPlayer=IF frame.acted=SetupPlayers THEN "NoValue" ELSE frame.order[2],
      !.point=IF frame.acted=SetupPlayers THEN "ProcedureCode42d1fb0bb9d2" ELSE IF frame.order[2]="SideA" THEN "ProcedureCode083016920358" ELSE "ProcedureCode785a8b2e5de4"]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SetupPlayers

EscalatingResourceContestGlobalRecognition108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestGlobalRecognition108(world,definition,raw,kind,object,actor,side,occurrenceId,caller,positiveRequired) ==
 LET definitions==[key \in {ConditionalKey96(definition)} |-> definition]
     snapshot==EscalatingResourceContestSnapshot108(world.id,0,"EscalatingResourceContestEventOccurrence",definitions,world)
     event==ReplacementOverlay99(EscalatingResourceContestOccurrenceBase108(occurrenceId,kind,object,actor,side,snapshot,occurrenceId),
          [escalatingResourceContestId |-> raw.escalatingResourceContestId,amount |-> IF "amount" \in DOMAIN raw THEN raw.amount ELSE 0])
     events==[id \in {event.id} |-> event]
     conditions==[key \in DOMAIN definitions |-> [id \in DOMAIN events |->
          [tag |-> "ConditionalTriggerStipulations",ability |-> definition.syntax.id,source |-> definition.syntax.source,occurrence |-> id,snapshotId |-> snapshot.id,
           results |-> [r \in definition.triggerRequirements |-> ~positiveRequired \/ event.amount>0]]]]
 IN EscalatingResourceContestRecognition108(definitions,world,events,conditions,6200,caller)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, ReplacementOverlay99, EscalatingResourceContestOccurrenceBase108, EscalatingResourceContestRecognition108, EscalatingResourceContestSnapshot108

EscalatingResourceContestInitiationReactionChecks108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestInitiationReactionChecks108 ==
 LET initial==EscalatingResourceContestWorld108("Specimen0163",{},TRUE,FALSE,FALSE)
     trimmed==[initial EXCEPT !.objects=Without101(@,2100..2104),!.controllers=Without101(@,2100..2104)]
     active==[trimmed EXCEPT !.objects[630].zone="Play",!.objects[630].deployed=TRUE,!.activeAbilities=@ \cup {9801},
          !.abilitySources=ReplacementOverlay99(@,[id \in {9801} |-> ObjectAbilitySource9(630)])]
     ctx==EscalatingResourceContestContext108(active,2,Empty10)
     start==EscalatingResourceContestStart108(active,ctx,51,9001)
     d==[ReboundConditionalDefinition96(EscalatingResourceContestConditional108(9801,"Specimen0182","AnyResult"),630) EXCEPT !.trigger.kinds={"EscalatingResourceContestInitiated"}]
     q==EscalatingResourceContestGlobalRecognition108(start.world,d,start.event,"EscalatingResourceContestInitiated",900,"SideA","SideA",9001,EscalatingResourceContestCheckpointCaller108(start.frame),FALSE)
     added==[id \in {2199} |-> ExposureMarkerTokenFixture105("ResourceUnit","SideBResourceUnits",0,FALSE)]
     afterGain==EscalatingResourceContestAt108([start.world EXCEPT !.objects=ReplacementOverlay99(@,added),!.controllers=ReplacementOverlay99(@,[id \in {2199} |-> "SideB"])],start.frame,101)
     completeLedger==[q.after EXCEPT !.instances=[id \in DOMAIN @ |-> [@[id] EXCEPT !.status="Complete"]]]
     cp==[EscalatingResourceContestCheckpoint108(start.frame,start.world,6200) EXCEPT !.recognition=q.cp,!.recognized=CheckpointMemberMap103(completeLedger,6200)]
     returnedWorld==EscalatingResourceContestCheckpointWorld108(afterGain,cp,completeLedger)
     choose==EscalatingResourceContestChoose108(start.frame,<<"SideA","SideB">>,6200)
     firstWorld==EscalatingResourceContestAt108(returnedWorld,choose,102)
     sideA==EscalatingResourceContestOneChoice108(firstWorld,choose,"Decline",0,{},0)
     sideBWorld==EscalatingResourceContestReadyWorld108(sideA.world,sideA.after,1,8001)
 IN /\ BeginEscalatingResourceContest108(ctx,ctx.currentRef,active,1,CardFacts10,51,9001,EscalatingResourceContestPacketFixture108(ctx),start.frame,start.world.escalatingResourceContestFrames,start.history,start.event)
    /\ EscalatingResourceContestRecognitionValid108(q) /\ Cardinality(q.candidates)=1
    /\ BankMintProjection4(start.world.objects,afterGain.objects,added,1,"ResourceUnit",start.world.usedObjects,[kind |-> "Zone",zone |-> "Bank"],TRUE,TRUE)
    /\ cp.beginSnapshotId=q.cp.beginSnapshot.id /\ cp.snapshotId=q.cp.processingSnapshot.id /\ cp.snapshotId=100 /\ afterGain.id=101
    /\ ~DrainEscalatingResourceContestCheckpoint108(start.frame,choose,EscalatingResourceContestCheckpointWorld108(afterGain,cp,q.after),CardFacts10,cp,q.after,<<>>,<<"SideA","SideB">>)
    /\ DrainEscalatingResourceContestCheckpoint108(start.frame,choose,returnedWorld,CardFacts10,cp,completeLedger,<<>>,<<"SideA","SideB">>)
    /\ EscalatingResourceContestOneChoiceValid108(sideA) /\ EscalatingResourceContestPayValid108(sideA.after,sideBWorld,1,{2199},8001)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, ReboundConditionalDefinition96, ReplacementOverlay99, Empty10, EscalatingResourceContestAt108, EscalatingResourceContestCheckpoint108, EscalatingResourceContestCheckpointWorld108, EscalatingResourceContestChoose108, EscalatingResourceContestConditional108, EscalatingResourceContestContext108, EscalatingResourceContestGlobalRecognition108, EscalatingResourceContestOneChoice108, EscalatingResourceContestOneChoiceValid108, EscalatingResourceContestPacketFixture108, EscalatingResourceContestPayValid108, EscalatingResourceContestReadyWorld108, EscalatingResourceContestRecognitionValid108, EscalatingResourceContestStart108, EscalatingResourceContestWorld108, ExposureMarkerTokenFixture105, BeginEscalatingResourceContest108, CheckpointMemberMap103, DrainEscalatingResourceContestCheckpoint108, EscalatingResourceContestCheckpointCaller108, Without101, BankMintProjection4, CardFacts10

EscalatingResourceContestLedger108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestLedger108(cp) == [checkpoints |-> [id \in {cp.id} |-> [caller |-> cp.caller]],instances |-> Empty10]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10

EscalatingResourceContestOccurrenceBase108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestOccurrenceBase108(id,kind,object,actor,side,snapshot,effect) ==
 [id |-> id,kind |-> kind,object |-> object,actor |-> actor,side |-> side,snapshot |-> snapshot,effectId |-> effect,
  movement |-> [tag |-> "NoValue",oldObject |-> 0,newObject |-> 0,beforeSnapshot |-> snapshot],scopeKind |-> "Global",
  scopeDefinition |-> [ability |-> 0,source |-> RuleAbilitySource9("NoValue")],structure |-> NoTimingRef9,step |-> "NoValue",traversal |-> NoTraversal6,siteInspection |-> [traversalId |-> 0,origin |-> "NoValue"]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NoTimingRef9, RuleAbilitySource9, NoTraversal6

EscalatingResourceContestOneChoice108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestOneChoice108(world,frame,mode,amount,selected,transaction) ==
 LET player==frame.nextPlayer
     paying==IF mode="Pay" THEN EscalatingResourceContestReadyWorld108(world,frame,amount,transaction) ELSE world
     chosen==IF mode="Pay" THEN EscalatingResourceContestPaid108(frame,player,amount,transaction) ELSE EscalatingResourceContestDeclined108(frame,player)
     afterObjects==IF mode="Pay" THEN Without101(world.objects,selected) ELSE world.objects
     afterPayment==EscalatingResourceContestAt108([paying EXCEPT !.objects=afterObjects,!.controllers=IF mode="Pay" THEN Without101(@,selected) ELSE @],chosen,world.id+1)
     cpId==IF player="SideA" THEN 5101 ELSE 5102
     cp==EscalatingResourceContestCheckpoint108(chosen,afterPayment,cpId)
     ready==IF mode="Pay" THEN [chosen EXCEPT !.phase="SetStrength",!.checkpoints=@ \cup {cpId}] ELSE chosen
     readyWorld==EscalatingResourceContestAt108(IF mode="Pay" THEN EscalatingResourceContestCheckpointWorld108(afterPayment,cp,EscalatingResourceContestLedger108(cp)) ELSE afterPayment,ready,world.id+2)
     link==IF player="SideA" THEN 0 ELSE IF frame.ordinal=1 /\ 7000 \in readyWorld.activeAbilities THEN 0 ELSE LinkReadFixture107(readyWorld).value
     after==EscalatingResourceContestEstablished108(ready,link)
 IN [player |-> player,mode |-> mode,amount |-> amount,selected |-> selected,transaction |-> transaction,
     before |-> frame,paying |-> paying,chosen |-> chosen,afterPayment |-> afterPayment,cp |-> cp,ready |-> ready,readyWorld |-> readyWorld,
     link |-> link,after |-> after,world |-> EscalatingResourceContestAt108(readyWorld,after,world.id+3)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestAt108, EscalatingResourceContestCheckpoint108, EscalatingResourceContestCheckpointWorld108, EscalatingResourceContestDeclined108, EscalatingResourceContestEstablished108, EscalatingResourceContestLedger108, EscalatingResourceContestPaid108, EscalatingResourceContestReadyWorld108, LinkReadFixture107, Without101

EscalatingResourceContestOneChoiceValid108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestOneChoiceValid108(x) ==
 /\ IF x.mode="Pay" THEN
       /\ EscalatingResourceContestPayValid108(x.before,x.paying,x.amount,x.selected,x.transaction)
       /\ DrainEscalatingResourceContestCheckpoint108(x.chosen,x.ready,EscalatingResourceContestCheckpointWorld108(x.afterPayment,x.cp,EscalatingResourceContestLedger108(x.cp)),CardFacts10,x.cp,EscalatingResourceContestLedger108(x.cp),<<>>,x.before.order)
       /\ ~EscalatingResourceContestSetValid108(x.chosen,x.afterPayment,x.link)
    ELSE DeclineEscalatingResourceContestBoost108(x.before,x.chosen,x.paying,x.player,EscalatingResourceContestAnnouncement108(x.before,x.player,"Decline",0))
 /\ EscalatingResourceContestSetValid108(x.ready,x.readyWorld,x.link)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestAnnouncement108, EscalatingResourceContestCheckpointWorld108, EscalatingResourceContestLedger108, EscalatingResourceContestPayValid108, EscalatingResourceContestSetValid108, DeclineEscalatingResourceContestBoost108, DrainEscalatingResourceContestCheckpoint108, CardFacts10

EscalatingResourceContestPacketChecks108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestPacketChecks108 ==
 /\ \A value \in {-1,0,2,3} :
      LET w==EscalatingResourceContestWorld108("Specimen0163",{},FALSE,FALSE,FALSE)
          ctx==EscalatingResourceContestContext108(w,value,Empty10)
          start==EscalatingResourceContestStart108(w,ctx,51,9001)
      IN /\ BeginEscalatingResourceContest108(ctx,ctx.currentRef,w,1,CardFacts10,51,9001,EscalatingResourceContestPacketFixture108(ctx),start.frame,start.world.escalatingResourceContestFrames,start.history,start.event)
         /\ ModifyExpectedEffectValue99(ctx.templates,ctx.state.effects,1,value-2)
         /\ start.frame.packet.base=value
         /\ ~EscalatingResourceContestPacket108([ctx EXCEPT !.currentWorld=99],ctx.currentRef,w,1,CardFacts10,EscalatingResourceContestPacketFixture108(ctx))
         /\ ~BeginEscalatingResourceContest108(ctx,ctx.currentRef,w,1,CardFacts10,51,9001,[EscalatingResourceContestPacketFixture108(ctx) EXCEPT !.base=value+1],start.frame,start.world.escalatingResourceContestFrames,start.history,start.event)
         /\ EscalatingResourceContestOmitted108([ctx EXCEPT !.state.effects=Empty10,!.actualEffects=Empty10],ctx.currentRef,w,1)
 /\ LET w==EscalatingResourceContestWorld108("Specimen0229",{},TRUE,FALSE,TRUE)
        ctx==EscalatingResourceContestContext108(w,2,EscalatingResourceContestSpecimen0101Associations108)
        start==EscalatingResourceContestStart108(w,ctx,51,9001)
        secondContext==[EscalatingResourceContestContext108(start.world,2,EscalatingResourceContestSpecimen0101Associations108) EXCEPT !.id=10801]
        nested==EscalatingResourceContestStart108(start.world,secondContext,52,9003)
        replayed==EscalatingResourceContestStart108(start.world,ctx,52,9003)
        parentWorld==EscalatingResourceContestAt108(nested.world,start.frame,100)
        secondWorld==EscalatingResourceContestAt108(nested.world,nested.frame,100)
    IN /\ BeginEscalatingResourceContest108(secondContext,secondContext.currentRef,start.world,1,CardFacts10,52,9003,EscalatingResourceContestPacketFixture108(secondContext),nested.frame,nested.world.escalatingResourceContestFrames,nested.history,nested.event)
       /\ nested.frame.ordinal=2 /\ start.frame.ordinal=1
       /\ DOMAIN parentWorld.escalatingResourceContestLinkPolicies={7000} /\ DOMAIN secondWorld.escalatingResourceContestLinkPolicies={}
       /\ EscalatingResourceContestContextualLink108(start.frame,parentWorld,CardFacts10,LinkBaseFixture107(parentWorld),parentWorld.linkDeclarations,LinkReadFixture107(parentWorld),0)
       /\ EscalatingResourceContestContextualLink108(nested.frame,secondWorld,CardFacts10,LinkBaseFixture107(secondWorld),secondWorld.linkDeclarations,LinkReadFixture107(secondWorld),2)
       /\ ~BeginEscalatingResourceContest108(ctx,ctx.currentRef,start.world,1,CardFacts10,52,9003,EscalatingResourceContestPacketFixture108(ctx),replayed.frame,replayed.world.escalatingResourceContestFrames,replayed.history,replayed.event)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ModifyExpectedEffectValue99, Empty10, EscalatingResourceContestAt108, EscalatingResourceContestContext108, EscalatingResourceContestPacketFixture108, EscalatingResourceContestSpecimen0101Associations108, EscalatingResourceContestStart108, EscalatingResourceContestWorld108, LinkBaseFixture107, LinkReadFixture107, BeginEscalatingResourceContest108, EscalatingResourceContestContextualLink108, EscalatingResourceContestOmitted108, EscalatingResourceContestPacket108, CardFacts10

EscalatingResourceContestPacketFixture108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestPacketFixture108(context) ==
 LET e==context.actualEffects[1] IN
 [key |-> <<context.id,context.currentRef,1>>,contextId |-> context.id,reference |-> context.currentRef,effectId |-> 1,source |-> e.baseOrigin,
  sourceCard |-> e.sourceCard,sourceSHA |-> e.sourceSHA,base |-> e.value,associations |-> e.associations]

Exact module download · Source bundle and reproduction instructions

EscalatingResourceContestPaid108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestPaid108(frame,player,amount,transaction) ==
 [frame EXCEPT !.phase="BoostCheckpoint",!.pendingPlayer=player,!.acted=@ \cup {player},!.boosts[player]=[mode |-> "Pay",amount |-> amount,transaction |-> transaction]]

Exact module download · Source bundle and reproduction instructions

EscalatingResourceContestPayValid108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestPayValid108(frame,world,amount,selected,transaction) ==
 PayEscalatingResourceContestBoost108(frame,EscalatingResourceContestPaid108(frame,frame.nextPlayer,amount,transaction),world,Without101(world.objects,selected),frame.nextPlayer,amount,selected,transaction,
  EscalatingResourceContestPayment108(frame,world,frame.nextPlayer,amount,transaction,selected),EscalatingResourceContestAnnouncement108(frame,frame.nextPlayer,"Pay",amount),CardFacts10,world.escalatingResourceContestSpendPermissions[frame.nextPlayer],world.usedPayments,
  Empty10,world.usedObjects,CheckpointPrinted103,CheckpointOwners103,{},9900,Empty10,Empty10,{},EscalatingResourceContestSpendEvents108(frame,world,frame.nextPlayer,amount,transaction))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointOwners103, CheckpointPrinted103, Empty10, EscalatingResourceContestAnnouncement108, EscalatingResourceContestPaid108, EscalatingResourceContestPayment108, EscalatingResourceContestSpendEvents108, PayEscalatingResourceContestBoost108, Without101, CardFacts10

EscalatingResourceContestPayment108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestPayment108(frame,world,player,amount,transaction,selected) ==
 [tag |-> "CompletedEscalatingResourceContestBoostCost",id |-> transaction,escalatingResourceContestId |-> frame.id,player |-> player,amount |-> amount,snapshotId |-> world.id,
  source |-> EscalatingResourceContestBoostRule108(player),parent |-> frame.caller,paidCounterIds |-> selected,complete |-> TRUE]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestBoostRule108

EscalatingResourceContestPermission108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestPermission108(world,frame,player,transaction) ==
 LET source==IF player="SideA" THEN 610 ELSE 620
     ability==IF player="SideA" THEN 6100 ELSE 6200
     object==world.objects[source]
 IN [escalatingResourceContestId |-> frame.id,snapshotId |-> world.id,player |-> player,paymentId |-> transaction,purpose |-> "EscalatingResourceContest",ability |-> ability,
     source |-> ObjectAbilitySource9(source),sourceObject |-> object,sourceSHA |-> CardFacts10[LinkDefinition107(world,object)].sourceSHA,
     counters |-> IF player="SideA" THEN {2300,2301,2302} ELSE {2400}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, LinkDefinition107, CardFacts10

EscalatingResourceContestPhaseChecks108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestPhaseChecks108 ==
 /\ \A profile \in {"Specimen0229","Specimen0163"}, exampleFamily065 \in BOOLEAN,
       cm \in {"Pay","Decline"}, rm \in {"Pay","Decline"}, ca \in 0..2, ra \in 0..2 :
       (cm="Decline" => ca=0) /\ (rm="Decline" => ra=0) =>
       LET s==EscalatingResourceContestScenario108(profile,cm,ca,rm,ra,exampleFamily065,FALSE)
       IN /\ EscalatingResourceContestScenarioValid108(s)
          /\ s.SchemaAtom187.after.strengths["SideA"].value=2+ca
          /\ s.SchemaAtom187.after.strengths["SideB"].value=LinkProfileFacts107[profile].baseLink+ra
          /\ s.determined.result=IF 2+ca>LinkProfileFacts107[profile].baseLink+ra THEN "Successful" ELSE "Unsuccessful"
          /\ Cardinality(s.SchemaAtom187.after.checkpoints)=1+(IF cm="Pay" THEN 1 ELSE 0)+(IF rm="Pay" THEN 1 ELSE 0)
 /\ LET paid==EscalatingResourceContestScenario108("Specimen0229","Pay",0,"Pay",0,FALSE,FALSE)
        declined==EscalatingResourceContestScenario108("Specimen0229","Decline",0,"Decline",0,FALSE,FALSE)
        cp==paid.first.cp
        first==paid.first
        badCP==[cp EXCEPT !.caller.transactionId=999]
    IN /\ paid.determined.result="Unsuccessful" /\ declined.determined.result="Unsuccessful"
       /\ Cardinality(paid.SchemaAtom187.after.checkpoints)=3 /\ Cardinality(declined.SchemaAtom187.after.checkpoints)=1
       /\ first.chosen.boosts["SideA"].mode="Pay" /\ first.chosen.boosts["SideA"].amount=0
       /\ EscalatingResourceContestSpendEvents108(first.before,first.paying,"SideA",0,7001)={}
       /\ ~DrainEscalatingResourceContestCheckpoint108(first.chosen,first.ready,EscalatingResourceContestCheckpointWorld108(first.afterPayment,badCP,EscalatingResourceContestLedger108(badCP)),CardFacts10,badCP,EscalatingResourceContestLedger108(badCP),<<>>,paid.order)
       /\ ~DrainEscalatingResourceContestCheckpoint108(first.chosen,first.ready,EscalatingResourceContestCheckpointWorld108(first.afterPayment,[cp EXCEPT !.returned=FALSE],EscalatingResourceContestLedger108(cp)),CardFacts10,[cp EXCEPT !.returned=FALSE],EscalatingResourceContestLedger108(cp),<<>>,paid.order)
       /\ ~DeclineEscalatingResourceContestBoost108(first.chosen,EscalatingResourceContestDeclined108(first.chosen,"SideA"),first.afterPayment,"SideA",EscalatingResourceContestAnnouncement108(first.chosen,"SideA","Decline",0))
       /\ ~DetermineEscalatingResourceContest108(first.before,paid.determined,first.paying,first.paying.objects,9002,paid.event)
       /\ ~CompleteEscalatingResourceContest108(first.before,paid.completed,first.paying)
       /\ ~ReturnEscalatingResourceContest108(paid.determined,[paid.determined EXCEPT !.phase="Returned",!.returned=TRUE],paid.determinedWorld,paid.completion)
       /\ ~ReturnEscalatingResourceContest108(paid.completed,[paid.completed EXCEPT !.phase="Returned",!.returned=TRUE],paid.completedWorld,[paid.completion EXCEPT !.caller.id=999])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestAnnouncement108, EscalatingResourceContestCheckpointWorld108, EscalatingResourceContestDeclined108, EscalatingResourceContestLedger108, EscalatingResourceContestScenario108, EscalatingResourceContestScenarioValid108, EscalatingResourceContestSpendEvents108, CompleteEscalatingResourceContest108, DeclineEscalatingResourceContestBoost108, DetermineEscalatingResourceContest108, DrainEscalatingResourceContestCheckpoint108, ReturnEscalatingResourceContest108, LinkProfileFacts107, CardFacts10

EscalatingResourceContestPolicy108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestPolicy108(world,frame,id,kind) ==
 LET source==world.abilitySources[id]
     object==world.objects[source.object]
     common==[snapshotId |-> world.id,escalatingResourceContestId |-> frame.id,ability |-> id,source |-> source,sourceObject |-> object,sourceSHA |-> CardFacts10[LinkDefinition107(world,object)].sourceSHA]
 IN ReplacementOverlay99(common,IF kind="Order" THEN [order |-> <<"SideB","SideA">>] ELSE [value |-> 0])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, LinkDefinition107, CardFacts10

EscalatingResourceContestReactionAndCurrentReadChecks108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestReactionAndCurrentReadChecks108 ==
 LET s==EscalatingResourceContestScenario108("Specimen0163","Pay",0,"Pay",0,FALSE,FALSE)
     x==s.SchemaAtom187
     paid==x.chosen
     afterPayment==x.afterPayment
     changedBase==[afterPayment EXCEPT !.objects[21].deployed=TRUE,!.activeAbilities=@ \cup {2100}]
     changed==EscalatingResourceContestAt108(changedBase,paid,150)
     cp==EscalatingResourceContestCheckpoint108(paid,changed,5202)
     ready==[paid EXCEPT !.phase="SetStrength",!.checkpoints=@ \cup {5202}]
     current==EscalatingResourceContestAt108(EscalatingResourceContestCheckpointWorld108(changed,cp,EscalatingResourceContestLedger108(cp)),ready,151)
     raised==EscalatingResourceContestEstablished108(ready,1)
     next==EscalatingResourceContestAt108(current,raised,152)
     event==EscalatingResourceContestResultEvent108(raised,next,9010)
 IN /\ DrainEscalatingResourceContestCheckpoint108(paid,ready,EscalatingResourceContestCheckpointWorld108(changed,cp,EscalatingResourceContestLedger108(cp)),CardFacts10,cp,EscalatingResourceContestLedger108(cp),<<>>,paid.order)
    /\ EstablishEscalatingResourceContestStrength108(ready,raised,current,CardFacts10,LinkBaseFixture107(current),current.linkDeclarations,LinkReadFixture107(current),1)
    /\ raised.strengths["SideB"].value=1
    /\ ~EstablishEscalatingResourceContestStrength108(ready,EscalatingResourceContestEstablished108(ready,0),current,CardFacts10,LinkBaseFixture107(x.readyWorld),x.readyWorld.linkDeclarations,LinkReadFixture107(x.readyWorld),0)
    /\ DetermineEscalatingResourceContest108(raised,EscalatingResourceContestDetermined108(raised,event),next,next.objects,9010,event)
    /\ ~DetermineEscalatingResourceContest108(raised,EscalatingResourceContestDetermined108(raised,event),next,Without101(next.objects,{1}),9010,event)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestAt108, EscalatingResourceContestCheckpoint108, EscalatingResourceContestCheckpointWorld108, EscalatingResourceContestDetermined108, EscalatingResourceContestEstablished108, EscalatingResourceContestLedger108, EscalatingResourceContestResultEvent108, EscalatingResourceContestScenario108, LinkBaseFixture107, LinkReadFixture107, DetermineEscalatingResourceContest108, DrainEscalatingResourceContestCheckpoint108, EstablishEscalatingResourceContestStrength108, Without101, CardFacts10

EscalatingResourceContestReactionProjectionChecks108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestReactionProjectionChecks108 ==
 LET initial==EscalatingResourceContestWorld108("Specimen0163",{},TRUE,TRUE,TRUE)
     emptySideA==[initial EXCEPT !.objects=Without101(@,2000..2004),!.controllers=Without101(@,2000..2004)]
     ctx==EscalatingResourceContestContext108(emptySideA,2,EscalatingResourceContestSpecimen0101Associations108)
     start==EscalatingResourceContestStart108(emptySideA,ctx,51,9001)
     initialCP==EscalatingResourceContestCheckpoint108(start.frame,start.world,5100)
     choose==EscalatingResourceContestChoose108(start.frame,<<"SideB","SideA">>,5100)
     current==EscalatingResourceContestAt108(EscalatingResourceContestCheckpointWorld108(start.world,initialCP,EscalatingResourceContestLedger108(initialCP)),choose,101)
     paying==EscalatingResourceContestReadyWorld108(current,choose,2,8001)
     paid==EscalatingResourceContestPaid108(choose,"SideB",2,8001)
     afterPay==EscalatingResourceContestAt108([paying EXCEPT !.objects=Without101(@,{2100,2101}),!.controllers=Without101(@,{2100,2101})],paid,102)
     raw==CHOOSE e \in EscalatingResourceContestSpendEvents108(choose,paying,"SideB",2,8001) : TRUE
     baseDef==ReboundConditionalDefinition96(EscalatingResourceContestConditional108(9701,"Specimen0154","Successful"),70)
     definition==[baseDef EXCEPT !.trigger.kinds={"EscalatingResourceContestResourceUnitsSpent"},!.trigger.actor="SideB"]
     q==EscalatingResourceContestGlobalRecognition108(afterPay,definition,raw,"EscalatingResourceContestResourceUnitsSpent",0,"SideB","SideB",9050,EscalatingResourceContestCheckpointCaller108(paid),TRUE)
     gained==[id \in {2999} |-> ExposureMarkerTokenFixture105("ResourceUnit","SideAResourceUnits",0,FALSE)]
     afterGain==EscalatingResourceContestAt108([afterPay EXCEPT !.objects=ReplacementOverlay99(@,gained),!.controllers=ReplacementOverlay99(@,[id \in {2999} |-> "SideA"])],paid,103)
     completeLedger==[q.after EXCEPT !.instances=[id \in DOMAIN @ |-> [@[id] EXCEPT !.status="Complete"]]]
     cp==[EscalatingResourceContestCheckpoint108(paid,afterPay,6200) EXCEPT !.recognition=q.cp,!.recognized=CheckpointMemberMap103(completeLedger,6200)]
     returnWorld==EscalatingResourceContestCheckpointWorld108(afterGain,cp,completeLedger)
     ready==[paid EXCEPT !.phase="SetStrength",!.checkpoints=@ \cup {6200}]
     readyWorld==EscalatingResourceContestAt108(returnWorld,ready,104)
     sideBStrength==EscalatingResourceContestEstablished108(ready,0)
     sideAWorld==EscalatingResourceContestAt108(readyWorld,sideBStrength,105)
     sideAPaying==EscalatingResourceContestReadyWorld108(sideAWorld,sideBStrength,1,7001)
     noGain==[sideAPaying EXCEPT !.objects=Without101(@,{2999}),!.controllers=Without101(@,{2999})]
 IN /\ BeginEscalatingResourceContest108(ctx,ctx.currentRef,emptySideA,1,CardFacts10,51,9001,EscalatingResourceContestPacketFixture108(ctx),start.frame,start.world.escalatingResourceContestFrames,start.history,start.event)
    /\ DrainEscalatingResourceContestCheckpoint108(start.frame,choose,EscalatingResourceContestCheckpointWorld108(start.world,initialCP,EscalatingResourceContestLedger108(initialCP)),CardFacts10,initialCP,EscalatingResourceContestLedger108(initialCP),<<>>,<<"SideB","SideA">>)
    /\ EscalatingResourceContestPayValid108(choose,paying,2,{2100,2101},8001)
    /\ EscalatingResourceContestRecognitionValid108(q) /\ Cardinality(q.candidates)=1
    /\ BankMintProjection4(afterPay.objects,afterGain.objects,gained,raw.amount \div 2,"ResourceUnit",afterPay.usedObjects,[kind |-> "Zone",zone |-> "Bank"],TRUE,TRUE)
    /\ cp.snapshotId=102 /\ afterGain.id=103
    /\ cp.beginSnapshotId=q.cp.beginSnapshot.id /\ cp.snapshotId=q.cp.processingSnapshot.id
    /\ ~DrainEscalatingResourceContestCheckpoint108(paid,ready,[returnWorld EXCEPT !.checkpointFrames[6200].caller.transactionId=999],CardFacts10,cp,completeLedger,<<>>,paid.order)
    /\ ~DrainEscalatingResourceContestCheckpoint108(paid,ready,[returnWorld EXCEPT !.checkpointLedger=q.after],CardFacts10,cp,completeLedger,<<>>,paid.order)
    /\ ~DrainEscalatingResourceContestCheckpoint108(paid,ready,EscalatingResourceContestCheckpointWorld108(afterGain,cp,q.after),CardFacts10,cp,q.after,<<>>,paid.order)
    /\ DrainEscalatingResourceContestCheckpoint108(paid,ready,returnWorld,CardFacts10,cp,completeLedger,<<>>,paid.order)
    /\ EscalatingResourceContestSetValid108(ready,readyWorld,0) /\ sideBStrength.strengths["SideB"].value=2 /\ sideBStrength.nextPlayer="SideA"
    /\ EscalatingResourceContestPayValid108(sideBStrength,sideAPaying,1,{2999},7001)
    /\ ~EscalatingResourceContestPayValid108(sideBStrength,noGain,1,{2999},7001)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReboundConditionalDefinition96, ReplacementOverlay99, EscalatingResourceContestAt108, EscalatingResourceContestCheckpoint108, EscalatingResourceContestCheckpointWorld108, EscalatingResourceContestChoose108, EscalatingResourceContestConditional108, EscalatingResourceContestContext108, EscalatingResourceContestEstablished108, EscalatingResourceContestGlobalRecognition108, EscalatingResourceContestLedger108, EscalatingResourceContestPacketFixture108, EscalatingResourceContestPaid108, EscalatingResourceContestPayValid108, EscalatingResourceContestReadyWorld108, EscalatingResourceContestRecognitionValid108, EscalatingResourceContestSetValid108, EscalatingResourceContestSpecimen0101Associations108, EscalatingResourceContestSpendEvents108, EscalatingResourceContestStart108, EscalatingResourceContestWorld108, ExposureMarkerTokenFixture105, BeginEscalatingResourceContest108, CheckpointMemberMap103, DrainEscalatingResourceContestCheckpoint108, EscalatingResourceContestCheckpointCaller108, Without101, BankMintProjection4, CardFacts10

EscalatingResourceContestReadyWorld108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestReadyWorld108(world,frame,amount,transaction) ==
 [world EXCEPT !.resourceUnitCost=[tag |-> "EscalatingResourceContestBoostCostContext",id |-> transaction,escalatingResourceContestId |-> frame.id,player |-> frame.nextPlayer,amount |-> amount,
   snapshotId |-> world.id,source |-> EscalatingResourceContestBoostRule108(frame.nextPlayer),parent |-> frame.caller,status |-> "Paying"]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestBoostRule108

EscalatingResourceContestRecognition108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestRecognition108(definitions,world,events,conditions,id,caller) ==
 LET previous==EscalatingResourceContestSnapshot108(world.id,0,"PreviousCheckpoint",definitions,world)
     before==NewConditionalLedger96(previous)
     begin==EscalatingResourceContestSnapshot108(world.id,id,"CheckpointBeginning",definitions,world)
     current==[begin EXCEPT !.point="ProcedureCodee605a78f5d5e"]
     cp==[tag |-> "ConditionalCheckpoint",point |-> "ProcedureCodee605a78f5d5e",id |-> id,previousCheckpoint |-> 0,serial |-> 1,
          previousSnapshot |-> previous,beginSnapshot |-> begin,processingSnapshot |-> current,stepSerial |-> 0,occurrences |-> events,caller |-> caller]
     candidates==CheckpointCandidates96(definitions,before,cp,conditions)
     allocation==[key \in candidates |-> 100000+key.definition.ability*100000+key.occurrence]
     bindings==[key \in candidates |-> [kind |-> "Reaction",windowId |-> 7200,group |-> 7300,checkpointId |-> id]]
     after==EscalatingResourceContestCommitted108(before,definitions,cp,conditions,allocation,bindings)
 IN [before |-> before,after |-> after,cp |-> cp,conditions |-> conditions,definitions |-> definitions,candidates |-> candidates,allocation |-> allocation,bindings |-> bindings]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointCandidates96, NewConditionalLedger96, EscalatingResourceContestCommitted108, EscalatingResourceContestSnapshot108

EscalatingResourceContestRecognitionValid108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestRecognitionValid108(q) ==
 ProcessConditionalCheckpoint96(q.before,q.after,<<>>,<<>>,q.definitions,q.cp,q.conditions,q.allocation,q.bindings,Empty10,Empty10,{})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ProcessConditionalCheckpoint96, Empty10

EscalatingResourceContestResourceUnitSelection108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestResourceUnitSelection108(player,amount) == IF player="SideA" THEN 2000..(1999+amount) ELSE 2100..(2099+amount)

Exact module download · Source bundle and reproduction instructions

EscalatingResourceContestResultEvent108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestResultEvent108(frame,world,id) ==
 [id |-> id,kind |-> "EscalatingResourceContestResult",escalatingResourceContestId |-> frame.id,actor |-> "SideA",source |-> frame.packet.source,reference |-> frame.caller,snapshotId |-> world.id,
  result |-> IF frame.strengths["SideA"].value>frame.strengths["SideB"].value THEN "Successful" ELSE "Unsuccessful",escalatingResourceContestStrength |-> frame.strengths["SideA"].value,linkStrength |-> frame.strengths["SideB"].value]

Exact module download · Source bundle and reproduction instructions

EscalatingResourceContestResultRecognition108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestResultRecognition108(frame,world) ==
 LET associations==frame.packet.associations
     definitions==[key \in {ConditionalKey96(associations[id].definition) : id \in DOMAIN associations} |->
          associations[CHOOSE id \in DOMAIN associations : ConditionalKey96(associations[id].definition)=key].definition]
     snapshot==EscalatingResourceContestSnapshot108(frame.resultEvent.snapshotId,0,"EscalatingResourceContestDetermination",definitions,world)
     events==[id \in {frame.resultEvent.id*10+a : a \in DOMAIN associations} |->
          EscalatingResourceContestAssociatedEvent108(frame,associations[CHOOSE a \in DOMAIN associations : frame.resultEvent.id*10+a=id],snapshot)]
     conditions==[key \in DOMAIN definitions |->
          LET a==associations[CHOOSE a \in DOMAIN associations : ConditionalKey96(associations[a].definition)=key]
          IN [id \in DOMAIN events |-> EscalatingResourceContestAssociatedStipulation108(frame,a,events[id])]]
 IN EscalatingResourceContestRecognition108(definitions,world,events,conditions,6100,[kind |-> "EscalatingResourceContestInstructionEndObservation",escalatingResourceContestId |-> frame.id,caller |-> frame.caller])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, EscalatingResourceContestAssociatedEvent108, EscalatingResourceContestRecognition108, EscalatingResourceContestSnapshot108, EscalatingResourceContestAssociatedStipulation108

EscalatingResourceContestResultRecognitionChecks108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestResultRecognitionChecks108 ==
 /\ \A ca \in {0,3}, ra \in {0,3} :
      LET s==EscalatingResourceContestScenario108("Specimen0229","Pay",ca,"Pay",ra,FALSE,FALSE)
          frame==s.determined
          q==EscalatingResourceContestResultRecognition108(frame,s.SchemaAtom187.world)
          a==frame.packet.associations[2]
          event==q.cp.occurrences[90022]
          key==[definition |-> ConditionalKey96(a.definition),occurrence |-> event.id]
          instance==q.after.instances[q.allocation[key]]
          condition==[tag |-> "EscalatingResourceContestAssociatedInstructionCondition",escalatingResourceContestId |-> 51,occurrence |-> event.id,
               definition |-> instance.definition,instance |-> instance.member.id,holds |-> ca>=3]
      IN /\ EscalatingResourceContestScenarioValid108(s) /\ EscalatingResourceContestRecognitionValid108(q)
         /\ Cardinality(q.candidates)=IF s.determined.result="Successful" THEN 2 ELSE 1
         /\ \A id \in DOMAIN q.after.instances : q.after.instances[id].status="Pending"
         /\ EscalatingResourceContestAssociatedCandidate108(frame,a,event,EscalatingResourceContestAssociatedStipulation108(frame,a,event))
         /\ EscalatingResourceContestAssociatedInstructionCondition108(frame,a,event,instance,condition)
         /\ condition.holds=(frame.resultEvent.escalatingResourceContestStrength>=5)
         /\ EscalatingResourceContestAssociatedMatches108(frame,a)
         /\ ~EscalatingResourceContestAssociatedMatches108(s.start.frame,a)
         /\ ~EscalatingResourceContestAssociatedCandidate108(frame,a,[event EXCEPT !.escalatingResourceContestId=52],EscalatingResourceContestAssociatedStipulation108(frame,a,event))
         /\ ~EscalatingResourceContestAssociatedCandidate108(frame,a,[event EXCEPT !.scopeDefinition=ConditionalKey96(frame.packet.associations[1].definition)],EscalatingResourceContestAssociatedStipulation108(frame,a,event))
         /\ ~EscalatingResourceContestAssociatedInstructionCondition108(frame,a,[event EXCEPT !.rawResultId=999],instance,condition)
         /\ s.SchemaAtom187.world.objects=s.determinedWorld.objects
 /\ LET s==EscalatingResourceContestScenario108("Specimen0229","Pay",3,"Pay",3,FALSE,FALSE)
        frame==s.determined
        lost==[s.SchemaAtom187.world EXCEPT !.objects=Without101(@,{900})]
        q==EscalatingResourceContestResultRecognition108(frame,lost)
    IN /\ frame.result="Unsuccessful" /\ frame.resultEvent.escalatingResourceContestStrength=5 /\ EscalatingResourceContestAssociatedBodyGate108(frame,frame.packet.associations[2])
       /\ EscalatingResourceContestRecognitionValid108(q) /\ q.candidates={} /\ q.after.instances=Empty10

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, Empty10, EscalatingResourceContestRecognitionValid108, EscalatingResourceContestResultRecognition108, EscalatingResourceContestScenario108, EscalatingResourceContestScenarioValid108, EscalatingResourceContestAssociatedBodyGate108, EscalatingResourceContestAssociatedCandidate108, EscalatingResourceContestAssociatedInstructionCondition108, EscalatingResourceContestAssociatedMatches108, EscalatingResourceContestAssociatedStipulation108, Without101

EscalatingResourceContestScenario108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestScenario108(profile,cMode,cAmount,rMode,rAmount,exampleFamily065,exampleFamily045) ==
 LET w==EscalatingResourceContestWorld108(profile,{},TRUE,exampleFamily065,exampleFamily045)
     ctx==EscalatingResourceContestContext108(w,2,EscalatingResourceContestSpecimen0101Associations108)
     start==EscalatingResourceContestStart108(w,ctx,51,9001)
     initialCP==EscalatingResourceContestCheckpoint108(start.frame,start.world,5100)
     order==IF exampleFamily065 THEN <<"SideB","SideA">> ELSE <<"SideA","SideB">>
     choose==EscalatingResourceContestChoose108(start.frame,order,5100)
     firstWorld==EscalatingResourceContestAt108(EscalatingResourceContestCheckpointWorld108(start.world,initialCP,EscalatingResourceContestLedger108(initialCP)),choose,101)
     firstPlayer==order[1]
     firstMode==IF firstPlayer="SideA" THEN cMode ELSE rMode
     firstAmount==IF firstPlayer="SideA" THEN cAmount ELSE rAmount
     first==EscalatingResourceContestOneChoice108(firstWorld,choose,firstMode,firstAmount,EscalatingResourceContestResourceUnitSelection108(firstPlayer,firstAmount),IF firstPlayer="SideA" THEN 7001 ELSE 8001)
     secondPlayer==order[2]
     secondMode==IF secondPlayer="SideA" THEN cMode ELSE rMode
     secondAmount==IF secondPlayer="SideA" THEN cAmount ELSE rAmount
     SchemaAtom187==EscalatingResourceContestOneChoice108(first.world,first.after,secondMode,secondAmount,EscalatingResourceContestResourceUnitSelection108(secondPlayer,secondAmount),IF secondPlayer="SideA" THEN 7001 ELSE 8001)
     event==EscalatingResourceContestResultEvent108(SchemaAtom187.after,SchemaAtom187.world,9002)
     determined==EscalatingResourceContestDetermined108(SchemaAtom187.after,event)
     determinedWorld==EscalatingResourceContestAt108(SchemaAtom187.world,determined,108)
     completed==[determined EXCEPT !.phase="Complete",!.complete=TRUE]
     completedWorld==EscalatingResourceContestAt108(determinedWorld,completed,109)
     completion==[tag |-> "OwnedEscalatingResourceContestProcedureReturn",escalatingResourceContestId |-> 51,instance |-> start.frame.instance,caller |-> start.frame.caller,
       operation |-> 1,resultEvent |-> event,complete |-> TRUE,unprocessedCheckpointRequests |-> {}]
 IN [initial |-> w,context |-> ctx,start |-> start,initialCP |-> initialCP,order |-> order,choose |-> choose,firstWorld |-> firstWorld,
     first |-> first,SchemaAtom187 |-> SchemaAtom187,event |-> event,determined |-> determined,determinedWorld |-> determinedWorld,completed |-> completed,completedWorld |-> completedWorld,completion |-> completion]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestAt108, EscalatingResourceContestCheckpoint108, EscalatingResourceContestCheckpointWorld108, EscalatingResourceContestChoose108, EscalatingResourceContestContext108, EscalatingResourceContestDetermined108, EscalatingResourceContestLedger108, EscalatingResourceContestOneChoice108, EscalatingResourceContestResourceUnitSelection108, EscalatingResourceContestResultEvent108, EscalatingResourceContestSpecimen0101Associations108, EscalatingResourceContestStart108, EscalatingResourceContestWorld108

EscalatingResourceContestScenarioValid108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestScenarioValid108(s) ==
 /\ BeginEscalatingResourceContest108(s.context,s.context.currentRef,s.initial,1,CardFacts10,51,9001,EscalatingResourceContestPacketFixture108(s.context),s.start.frame,s.start.world.escalatingResourceContestFrames,s.start.history,s.start.event)
 /\ DrainEscalatingResourceContestCheckpoint108(s.start.frame,s.choose,EscalatingResourceContestCheckpointWorld108(s.start.world,s.initialCP,EscalatingResourceContestLedger108(s.initialCP)),CardFacts10,s.initialCP,EscalatingResourceContestLedger108(s.initialCP),<<>>,s.order)
 /\ EscalatingResourceContestOneChoiceValid108(s.first) /\ EscalatingResourceContestOneChoiceValid108(s.SchemaAtom187)
 /\ DetermineEscalatingResourceContest108(s.SchemaAtom187.after,s.determined,s.SchemaAtom187.world,s.SchemaAtom187.world.objects,9002,s.event)
 /\ CompleteEscalatingResourceContest108(s.determined,s.completed,s.determinedWorld)
 /\ ReturnEscalatingResourceContest108(s.completed,[s.completed EXCEPT !.phase="Returned",!.returned=TRUE],s.completedWorld,s.completion)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestCheckpointWorld108, EscalatingResourceContestLedger108, EscalatingResourceContestOneChoiceValid108, EscalatingResourceContestPacketFixture108, BeginEscalatingResourceContest108, CompleteEscalatingResourceContest108, DetermineEscalatingResourceContest108, DrainEscalatingResourceContestCheckpoint108, ReturnEscalatingResourceContest108, CardFacts10

EscalatingResourceContestSetValid108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestSetValid108(frame,world,link) ==
 EstablishEscalatingResourceContestStrength108(frame,EscalatingResourceContestEstablished108(frame,link),world,CardFacts10,LinkBaseFixture107(world),world.linkDeclarations,LinkReadFixture107(world),link)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestEstablished108, LinkBaseFixture107, LinkReadFixture107, EstablishEscalatingResourceContestStrength108, CardFacts10

EscalatingResourceContestSideBSourceChecks108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestSideBSourceChecks108 ==
 /\ \A card \in {"Specimen0213","Specimen0052"} :
      LET base==IF card="Specimen0213" THEN 5 ELSE 1
          initial==EscalatingResourceContestWorld108("Specimen0229",{},FALSE,FALSE,FALSE)
          w==[initial EXCEPT !.objects[900]=EscalatingResourceContestCard108(card,TRUE,FALSE),!.controllers[900]="SideB",!.definitions=ReplacementOverlay99(@,[id \in {card} |-> card]),
               !.printedLinkAbilities=IF card="Specimen0213" THEN ReplacementOverlay99(@,[id \in {900} |-> 9900]) ELSE @,
               !.activeAbilities=IF card="Specimen0213" THEN @ \cup {9900} ELSE @]
          effect==[EscalatingResourceContestAtom108(base,Empty10) EXCEPT !.sourceCard=card,!.sourceSHA=CardFacts10[card].sourceSHA]
          ctx==[EscalatingResourceContestContext108(w,base,Empty10) EXCEPT !.templates=[id \in {1} |-> effect],!.state.effects=[id \in {1} |-> effect],!.actualEffects=[id \in {1} |-> effect]]
          start==EscalatingResourceContestStart108(w,ctx,51,9001)
          cp==EscalatingResourceContestCheckpoint108(start.frame,start.world,5100)
          choose==EscalatingResourceContestChoose108(start.frame,<<"SideA","SideB">>,5100)
      IN /\ BeginEscalatingResourceContest108(ctx,ctx.currentRef,w,1,CardFacts10,51,9001,EscalatingResourceContestPacketFixture108(ctx),start.frame,start.world.escalatingResourceContestFrames,start.history,start.event)
         /\ DrainEscalatingResourceContestCheckpoint108(start.frame,choose,EscalatingResourceContestCheckpointWorld108(start.world,cp,EscalatingResourceContestLedger108(cp)),CardFacts10,cp,EscalatingResourceContestLedger108(cp),<<>>,<<"SideA","SideB">>)
         /\ choose.nextPlayer="SideA" /\ w.controllers[900]="SideB" /\ choose.packet.base=base

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, Empty10, EscalatingResourceContestAtom108, EscalatingResourceContestCard108, EscalatingResourceContestCheckpoint108, EscalatingResourceContestCheckpointWorld108, EscalatingResourceContestChoose108, EscalatingResourceContestContext108, EscalatingResourceContestLedger108, EscalatingResourceContestPacketFixture108, EscalatingResourceContestStart108, EscalatingResourceContestWorld108, BeginEscalatingResourceContest108, DrainEscalatingResourceContestCheckpoint108, CardFacts10

EscalatingResourceContestSnapshot108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestSnapshot108(id,checkpoint,point,definitions,world) ==
 [id |-> id,checkpointId |-> checkpoint,point |-> point,definitions |-> definitions,objects |-> world.objects,
  present |-> {definitions[key].syntax.id : key \in DOMAIN definitions},
  ordinaryActivity |-> [key \in DOMAIN definitions |-> IF definitions[key].syntax.source.object \in DOMAIN world.objects THEN
       DefaultActive([world.objects[definitions[key].syntax.source.object] EXCEPT !.card=LinkDefinition107(world,world.objects[definitions[key].syntax.source.object])],world.started,CardFacts10) ELSE FALSE],
  cardActivity |-> [object \in DOMAIN world.objects |-> IF world.objects[object].form="Counter" THEN world.objects[object].kind="SchemaAtom043"
       ELSE DefaultActive([world.objects[object] EXCEPT !.card=LinkDefinition107(world,world.objects[object])],world.started,CardFacts10)],
  activationEpoch |-> [key \in DOMAIN definitions |-> 0],activationSerial |-> 0,activity |-> ActivityContext9,points |-> [p \in SetupPlayers |-> 0],
  progress |-> [object \in DOMAIN world.objects |-> 0],link |-> [p \in SetupPlayers |-> IF p="SideB" THEN LinkReadFixture107(world).value ELSE 0],
  exposureMarkers |-> [p \in SetupPlayers |-> 0],objectiveCompletionEvents |-> {},usedObjects |-> world.usedObjects,holds |-> Empty10,effects |-> Empty10]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ActivityContext9, Empty10, LinkReadFixture107, LinkDefinition107, DefaultActive, SetupPlayers, CardFacts10

EscalatingResourceContestSpecimen0101Associations108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestSpecimen0101Associations108 ==
 [id \in {1,2} |-> [id |-> id,trigger |-> IF id=1 THEN "Successful" ELSE "AnyResult",source |-> ObjectAbilitySource9(900),sourceSHA |-> CardFacts10["Specimen0101"].sourceSHA,
     definition |-> EscalatingResourceContestConditional108(9100+id,"Specimen0101",IF id=1 THEN "Successful" ELSE "AnyResult"),
     bodyCondition |-> IF id=1 THEN [kind |-> "NoValue"] ELSE [kind |-> "EscalatingResourceContestStrengthAtLeast",amount |-> 5]]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, EscalatingResourceContestConditional108, CardFacts10

EscalatingResourceContestSpendEvents108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestSpendEvents108(frame,world,player,amount,transaction) ==
 IF amount=0 THEN {} ELSE {[kind |-> "EscalatingResourceContestResourceUnitsSpent",escalatingResourceContestId |-> frame.id,player |-> player,amount |-> amount,transactionId |-> transaction,escalatingResourceContestSource |-> frame.packet.source,beforeSnapshotId |-> world.id]}

Exact module download · Source bundle and reproduction instructions

EscalatingResourceContestStart108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestStart108(world,context,id,eventId) ==
 LET packet==EscalatingResourceContestPacketFixture108(context)
     ordinal==1+Cardinality({old \in DOMAIN world.escalatingResourceContestHistory : world.escalatingResourceContestHistory[old].turnId=world.turn.id})
     f==EscalatingResourceContestInitialFrame108(id,packet,world.turn.id,ordinal)
     history==ReplacementOverlay99(world.escalatingResourceContestHistory,[i \in {id} |-> [key |-> packet.key,turnId |-> world.turn.id,ordinal |-> ordinal]])
     event==[id |-> eventId,kind |-> "EscalatingResourceContestInitiated",escalatingResourceContestId |-> id,actor |-> "SideA",source |-> packet.source,reference |-> context.currentRef,snapshotId |-> world.id]
 IN [frame |-> f,history |-> history,event |-> event,world |-> EscalatingResourceContestAt108([world EXCEPT !.escalatingResourceContestHistory=history,!.eventIds=@ \cup {eventId}],f,world.id)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, EscalatingResourceContestAt108, EscalatingResourceContestPacketFixture108, EscalatingResourceContestInitialFrame108

EscalatingResourceContestWalletChecks108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestWalletChecks108 ==
 LET s==EscalatingResourceContestScenario108("Specimen0229","Decline",0,"Decline",0,FALSE,FALSE)
     f==s.choose
     w==EscalatingResourceContestReadyWorld108(s.firstWorld,f,2,7001)
     permission==EscalatingResourceContestPermission108(w,f,"SideA",7001)
     hosted==[w EXCEPT !.escalatingResourceContestSpendPermissions["SideA"]=[id \in {1} |-> permission]]
     payment==EscalatingResourceContestPayment108(f,hosted,"SideA",2,7001,{2300,2301})
     wrongPurpose==[hosted EXCEPT !.escalatingResourceContestSpendPermissions["SideA"][1].purpose="Retire"]
     wrongTrace==[hosted EXCEPT !.escalatingResourceContestSpendPermissions["SideA"][1].escalatingResourceContestId=52]
     inactive==[hosted EXCEPT !.activeAbilities=@ \ {6100}]
     foreign==[hosted EXCEPT !.controllers[610]="SideB"]
     wrongHost==[hosted EXCEPT !.objects[2300].host=620]
     oldFrame==[hosted EXCEPT !.escalatingResourceContestFrames[51].complete=TRUE]
     denied==[w EXCEPT !.resourceUnitCost.status="Forbidden"]
 IN /\ EscalatingResourceContestPayValid108(f,hosted,2,{2300,2301},7001)
    /\ EscalatingResourceContestPermissionUseSources108(payment,hosted.escalatingResourceContestSpendPermissions["SideA"])={ObjectAbilitySource9(610)}
    /\ EscalatingResourceContestPermissionUseSources108(EscalatingResourceContestPayment108(f,hosted,"SideA",2,7001,{2000,2001}),hosted.escalatingResourceContestSpendPermissions["SideA"])={}
    /\ ~EscalatingResourceContestPayValid108(f,wrongPurpose,2,{2300,2301},7001) /\ ~EscalatingResourceContestPayValid108(f,wrongTrace,2,{2300,2301},7001)
    /\ ~EscalatingResourceContestPayValid108(f,inactive,2,{2300,2301},7001) /\ ~EscalatingResourceContestPayValid108(f,foreign,2,{2300,2301},7001)
    /\ ~EscalatingResourceContestPayValid108(f,wrongHost,2,{2300,2301},7001) /\ ~EscalatingResourceContestPayValid108(f,oldFrame,2,{2300,2301},7001)
    /\ ~EscalatingResourceContestPayValid108(f,[hosted EXCEPT !.escalatingResourceContestSpendPermissions["SideA"][1].snapshotId=99],2,{2300,2301},7001)
    /\ ~EscalatingResourceContestPayValid108(f,denied,2,{2000,2001},7001)
    /\ ~EscalatingResourceContestPayValid108(f,w,2,{2000},7001) /\ ~EscalatingResourceContestPayValid108(f,w,2,{2100,2101},7001)
    /\ ~EscalatingResourceContestPayValid108(f,[w EXCEPT !.resourceUnitCost.snapshotId=99],2,{2000,2001},7001)
    /\ ~EscalatingResourceContestPayValid108(f,[w EXCEPT !.usedPayments={7001}],2,{2000,2001},7001)
    /\ ~PayEscalatingResourceContestBoost108(f,EscalatingResourceContestPaid108(f,"SideA",2,7001),w,Without101(w.objects,{2000,2001}),"SideA",2,{2000,2001},7001,EscalatingResourceContestPayment108(f,w,"SideA",2,7001,{2000,2001}),
           [EscalatingResourceContestAnnouncement108(f,"SideA","Pay",2) EXCEPT !.viewers={"SideA"}],CardFacts10,Empty10,w.usedPayments,Empty10,w.usedObjects,
           CheckpointPrinted103,CheckpointOwners103,{},9900,Empty10,Empty10,{},EscalatingResourceContestSpendEvents108(f,w,"SideA",2,7001))
 /\ LET rev==EscalatingResourceContestScenario108("Specimen0163","Decline",0,"Decline",0,TRUE,FALSE)
        rf==rev.choose
        rw==EscalatingResourceContestReadyWorld108(rev.firstWorld,rf,2,8001)
        rp==EscalatingResourceContestPermission108(rw,rf,"SideB",8001)
        hostedSideB==[rw EXCEPT !.escalatingResourceContestSpendPermissions["SideB"]=[id \in {1} |-> rp]]
        outside==[hostedSideB EXCEPT !.traversal=NoTraversal6,!.inside={}]
        ended==[hostedSideB EXCEPT !.inside={}]
        zero==EscalatingResourceContestReadyWorld108(rev.firstWorld,rf,0,8001)
    IN /\ EscalatingResourceContestPayValid108(rf,hostedSideB,2,{2400,2100},8001)
       /\ EscalatingResourceContestPayValid108(rf,rw,2,{2200,2100},8001)
       /\ ~EscalatingResourceContestPayValid108(rf,outside,2,{2200,2100},8001)
       /\ ~EscalatingResourceContestPayValid108(rf,ended,2,{2200,2100},8001) /\ DuringTraversal6(ended.traversal)
       /\ EscalatingResourceContestPayValid108(rf,zero,0,{},8001)
       /\ ~EscalatingResourceContestPayValid108(rf,[zero EXCEPT !.resourceUnitCost=[id |-> 0]],0,{},8001)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, CheckpointOwners103, CheckpointPrinted103, Empty10, EscalatingResourceContestAnnouncement108, EscalatingResourceContestPaid108, EscalatingResourceContestPayValid108, EscalatingResourceContestPayment108, EscalatingResourceContestPermission108, EscalatingResourceContestReadyWorld108, EscalatingResourceContestScenario108, EscalatingResourceContestSpendEvents108, EscalatingResourceContestPermissionUseSources108, PayEscalatingResourceContestBoost108, Without101, CardFacts10, DuringTraversal6, NoTraversal6

EscalatingResourceContestWorld108 · operator

reference-profile · input revision 2 · CC0 1.0

EscalatingResourceContestWorld108(profile,deployed,during,exampleFamily065,exampleFamily045) ==
 LET b==LinkDeclaredWorld107(LinkWorld107(profile,deployed,FALSE))
     objects==ReplacementOverlay99([b.objects EXCEPT ![70].zone=IF exampleFamily045 THEN "SideAObjectiveCompletion" ELSE "SideADiscard"],[id \in {600,610,620,630,900} \cup (2000..2004) \cup (2100..2104) \cup {2200,2201,2300,2301,2302,2400} |->
       CASE id=600 -> EscalatingResourceContestCard108("Specimen0231",FALSE,FALSE)
         [] id=610 -> EscalatingResourceContestCard108("Specimen0184",TRUE,TRUE)
         [] id=620 -> EscalatingResourceContestCard108("Specimen0056",TRUE,FALSE)
         [] id=630 -> [EscalatingResourceContestCard108("Specimen0182",FALSE,FALSE) EXCEPT !.zone="Outside"]
         [] id=900 -> EscalatingResourceContestCard108("Specimen0101",TRUE,TRUE)
         [] id \in 2000..2004 -> ExposureMarkerTokenFixture105("ResourceUnit","SideAResourceUnits",0,FALSE)
         [] id \in 2100..2104 -> ExposureMarkerTokenFixture105("ResourceUnit","SideBResourceUnits",0,FALSE)
         [] id \in {2200,2201} -> LiabilityMarkerFundRow106
         [] id \in {2300,2301,2302} -> ExposureMarkerTokenFixture105("ResourceUnit","Play",610,FALSE)
         [] OTHER -> ExposureMarkerTokenFixture105("ResourceUnit","Play",620,FALSE)])
     defs==ReplacementOverlay99(b.definitions,[card \in {"Specimen0231","Specimen0184","Specimen0056","Specimen0182","Specimen0101"} |-> card])
     r==IF during THEN [OpenTraversal6(1,10,"EscalatingResourceContestTraversalCaller") EXCEPT !.formalBegun=TRUE,!.phase="Encounter",!.step="ProcedureCode8b3260c0010f",!.attacked="SchemaAtom082"] ELSE NoTraversal6
 IN ReplacementOverlay99([b EXCEPT !.objects=objects,!.definitions=defs,!.controllers=[id \in DOMAIN objects |-> IF id \in DOMAIN b.controllers THEN b.controllers[id]
        ELSE IF id \in {600,610,900,2300,2301,2302} \cup (2000..2004) THEN "SideA" ELSE "SideB"],
       !.activeAbilities=@ \cup {6100,6200} \cup (IF exampleFamily065 THEN {6000} ELSE {}) \cup (IF exampleFamily045 THEN {7000} ELSE {})]
    ,[started |-> TRUE,outcome |-> "Playing",turn |-> [OpenTurn5("SideB",1,[p \in SetupPlayers |-> 0]) EXCEPT !.phase="NeutralValue00001"],
       traversal |-> r,inside |-> IF during THEN {TimingRef9("SchemaAtom138",1)} ELSE {},
       escalatingResourceContestFrames |-> Empty10,escalatingResourceContestHistory |-> Empty10,checkpointFrames |-> Empty10,checkpointLedger |-> [checkpoints |-> Empty10,instances |-> Empty10],eventIds |-> {},usedPayments |-> {},usedObjects |-> DOMAIN objects,
       abilitySources |-> [id \in {6000,6100,6200,7000} |-> ObjectAbilitySource9(IF id=6000 THEN 600 ELSE IF id=6100 THEN 610 ELSE IF id=6200 THEN 620 ELSE 70)],
       abilityRoles |-> [id \in {6000,6100,6200,7000} |-> IF id=6000 THEN "EscalatingResourceContestOrder" ELSE IF id=7000 THEN "EscalatingResourceContestLinkZero" ELSE "EscalatingResourceContestPermission"],
       escalatingResourceContestOrderPolicies |-> Empty10,escalatingResourceContestLinkPolicies |-> Empty10,escalatingResourceContestSpendPermissions |-> [p \in SetupPlayers |-> Empty10],resourceUnitCost |-> [id |-> 0]])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, ReplacementOverlay99, TimingRef9, Empty10, EscalatingResourceContestCard108, ExposureMarkerTokenFixture105, LinkDeclaredWorld107, LinkWorld107, LiabilityMarkerFundRow106, SetupPlayers, NoTraversal6, OpenTraversal6, OpenTurn5

ExampleFamily009AuthorityFixture104 · operator

reference-profile · input revision 2 · CC0 1.0

ExampleFamily009AuthorityFixture104(packet,objects) ==
 [id |-> 71,tag |-> "SourceBoundDamageSelectionOverride",packet |-> packet.key,reference |-> packet.reference,snapshotId |-> packet.snapshotId,
  source |-> ObjectAbilitySource9(50),card |-> "Specimen0051",sourceSHA |-> CardFacts10["Specimen0051"].sourceSHA,
  sourceObject |-> objects[50],slots |-> [i \in 1..packet.amount |-> IF i=1 THEN [mode |-> "Choose",actor |-> "SideA"] ELSE [mode |-> "Random",actor |-> packet.responsible]]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, CardFacts10

ExampleFamily011PermissionFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExampleFamily011PermissionFixture105(world) ==
 [action |-> "RemoveExposureMarker",player |-> "SideB",paymentId |-> 600,snapshotId |-> world.id,allowsPayment |-> TRUE,
  source |-> ObjectAbilitySource9(11),sourceObject |-> world.objects[11],sourceSHA |-> CardFacts10["Specimen0058"].sourceSHA,paidCounters |-> {40,41}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, CardFacts10

ExampleFamily049ChargeFixture1010 · operator

reference-profile · input revision 2 · CC0 1.0

ExampleFamily049ChargeFixture1010 ==
 LET base==ChargeWorld1010("Specimen0201")
     bHand==[EscalatingResourceContestCard108("Specimen0114",FALSE,FALSE) EXCEPT !.zone="SideBHand",!.face="NA"]
     before==[base EXCEPT !.objects=ReplacementOverlay99(@,[id \in {810} |-> bHand]),!.controllers=ReplacementOverlay99(@,[id \in {810} |-> "SideB"]),
         !.definitions=ReplacementOverlay99(@,[id \in {"Specimen0114"} |-> "Specimen0114"]),!.usedObjects=@ \cup {810}]
     playSource==ObjectAbilitySource9(800)
     deployPlan==OpenInstruction93(499,"Ability",8000,playSource,"Play",1,"NoValue",<<"Deploy">>,TRUE)
     deployRef==InstructionWindowRef93(deployPlan)
     deployedRow==[bHand EXCEPT !.zone="Play",!.loc=0,!.face="Up",!.marks={}]
     moved==ReplacementOverlay99(Without101(before.objects,{810}),[id \in {811} |-> deployedRow])
     deployed==[before EXCEPT !.id=101,!.objects=ReplacementOverlay99(moved,[id \in {811} |-> [deployedRow EXCEPT !.deployed=TRUE]]),
        !.controllers=ReplacementOverlay99(Without101(@,{810}),[id \in {811} |-> "SideB"]),!.usedObjects=@ \cup {811}]
     reference==[tag |-> "InstructionDeployedObject",source |-> playSource,fromInstruction |-> deployRef,oldObject |-> 810,object |-> 811,physical |-> "Specimen0114"]
     ability==[OpenAbilityResolution9(8000,"Play",playSource,"Play",<<499,500>>,7000) EXCEPT !.phase="Between",!.firstImminent=TRUE]
     cohort==[playId |-> 7700,id |-> 8000,source |-> playSource,transaction |-> 7000,owner |-> [windowId |-> 7000],ability |-> ability]
     caller==PlayInstructionCaller97(cohort)
     d==ReboundConditionalDefinition96([EscalatingResourceContestConditional108(19900,"Specimen0114","AnyResult") EXCEPT !.trigger.kinds={"Deployed"},!.trigger.subject="SchemaAtom149"],811)
     definitions==[key \in {ConditionalKey96(d)} |-> d]
     snapshot==EscalatingResourceContestSnapshot108(deployed.id,0,"Deployed",definitions,deployed)
     occurrence==EscalatingResourceContestOccurrenceBase108(6600,"Deployed",811,"SideB","SideB",snapshot,6600)
     stipulation==[tag |-> "ConditionalTriggerStipulations",ability |-> 19900,source |-> ObjectAbilitySource9(811),occurrence |-> 6600,snapshotId |-> deployed.id,results |-> Empty10]
     conditions==[key \in DOMAIN definitions |-> [id \in {6600} |-> stipulation]]
     q==EscalatingResourceContestRecognition108(definitions,deployed,[id \in {6600} |-> occurrence],conditions,6200,caller)
     instance==CHOOSE id \in DOMAIN q.after.instances : TRUE
     powerRef==InstructionWindowRef93(OpenInstruction93(700,"Ability",instance,ObjectAbilitySource9(811),"Play",1,"NoValue",<<"PlacePower">>,FALSE))
     effect==[id |-> 1,kind |-> "PlaceCounters",value |-> 1,actor |-> "SideB",baseOrigin |-> ObjectAbilitySource9(811),sourceCard |-> "Specimen0114",sourceSHA |-> CardFacts10["Specimen0114"].sourceSHA,
          target |-> 811,counterKind |-> "Power",counterKinds |-> {"Power"},loadDefinition |-> 0]
     context==[id |-> 101030,phase |-> "Resolving",currentRef |-> powerRef,currentWorld |-> deployed.id,templates |-> [id \in {1} |-> effect],state |-> [effects |-> [id \in {1} |-> effect]],actualEffects |-> [id \in {1} |-> effect]]
     added==[id \in {2000} |-> LoadedCounterToken109("Power","Play",811,"SideB")]
     afterPower==[deployed EXCEPT !.id=102,!.objects=ReplacementOverlay99(@,added),!.controllers=ReplacementOverlay99(@,[id \in {2000} |-> "SideB"]),!.usedObjects=@ \cup {2000},!.nextCounterObject=2001,
        !.completedCounterInstructions=@ \cup {CounterInstructionKey109(context,powerRef,1)},!.counterEventIds=@ \cup {109999}]
     counterEvent==[tag |-> "HostedCounterInstructionComplete",id |-> 109999,operation |-> "PlaceCounters",reference |-> powerRef,host |-> 811,kind |-> "Power",amount |-> 1,
          selected |-> {},created |-> {2000},snapshotId |-> deployed.id,complete |-> TRUE]
     ledger==[q.after EXCEPT !.instances=[id \in DOMAIN @ |-> [@[id] EXCEPT !.status="Complete"]]]
     cp==[NewCheckpoint103(6200,caller,deployed.id,{}) EXCEPT !.phase="Returned",!.point="ProcedureCodeb74d673a0fc6",!.owed= <<>>,!.done=CheckpointStageSet103,!.returned=TRUE,
          !.recognition=q.cp,!.recognized=CheckpointMemberMap103(ledger,6200)]
     ready==ReplacementOverlay99(afterPower,[instructionCheckpoints |-> [id \in {6200} |-> cp],conditionalLedger |-> ledger])
     plan==OpenInstruction93(500,"Ability",8000,playSource,"Play",2,"NoValue",<<"Charge">>,FALSE)
     spec==ChargeSpecFixture1010(ready,plan,"Specimen0201","Particular",1,reference.object)
     world==[ready EXCEPT !.chargeSpecs=[key \in {ChargeSpecKey1010(spec.reference)} |-> spec]]
     imminent==[plan EXCEPT !.phase="Imminent"]
     imminentAbility==[ability EXCEPT !.cursor=2,!.phase="Imminent"]
     admission==[tag |-> "ChargeAtImminence",reference |-> InstructionWindowRef93(imminent),snapshotId |-> world.id,spec |-> spec,announced |-> {},
          initialPower |-> [id \in {811} |-> TRUE],physical |-> [id \in {811} |-> "Specimen0114"]]
     charge==[world |-> world,plan |-> plan,spec |-> spec,ability |-> ability,announced |-> plan,imminent |-> imminent,imminentAbility |-> imminentAbility,admission |-> admission]
 IN [before |-> before,moved |-> moved,deployed |-> deployed,deployRef |-> deployRef,reference |-> reference,context |-> context,afterPower |-> afterPower,added |-> added,counterEvent |-> counterEvent,
     q |-> q,cp |-> cp,ledger |-> ledger,cohort |-> cohort,charge |-> charge]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, InstructionWindowRef93, ObjectAbilitySource9, OpenAbilityResolution9, OpenInstruction93, PlayInstructionCaller97, ReboundConditionalDefinition96, ReplacementOverlay99, ChargeSpecFixture1010, ChargeWorld1010, Empty10, EscalatingResourceContestCard108, EscalatingResourceContestConditional108, EscalatingResourceContestOccurrenceBase108, EscalatingResourceContestRecognition108, EscalatingResourceContestSnapshot108, ChargeSpecKey1010, CheckpointMemberMap103, CheckpointStageSet103, CounterInstructionKey109, LoadedCounterToken109, NewCheckpoint103, Without101, CardFacts10

ExampleFamily094WorldFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExampleFamily094WorldFixture105(kind,front,chosen) ==
 LET base==ExposureMarkerWorldFixture105(ExposureMarkerActionActor105(kind),1,FALSE)
     live==[base EXCEPT !.objects[50].zone="Play",!.objects[50].front=front,!.activeSources=@ \cup {50}]
     delta==IF front THEN IF kind="RemoveExposureMarker" THEN 1 ELSE 0 ELSE IF kind="RetireResource" /\ chosen THEN -2 ELSE 0
     modifier==[snapshotId |-> 100,action |-> kind,source |-> ObjectAbilitySource9(50),sourceObject |-> live.objects[50],sourceSHA |-> CardFacts10["Specimen0233"].sourceSHA,
                chosenReduction |-> chosen,delta |-> delta]
 IN [live EXCEPT !.exposureMarkerCostModifiers[kind]=[id \in {77} |-> modifier]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, ExposureMarkerWorldFixture105, ExposureMarkerActionActor105, CardFacts10

ExposureMarkerActionAdmissionChecks105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerActionAdmissionChecks105 ==
 /\ \A kind \in {"RetireResource","RemoveExposureMarker"}, count \in 0..1, pap \in BOOLEAN :
       LET f==ExposureMarkerActionFixture105(kind,count,pap)
           allowed==kind="RemoveExposureMarker" \/ count>0 \/ pap
       IN IF allowed THEN ExposureMarkerReserveValid105(f) /\ ExposureMarkerPayValid105(f) ELSE ~ExposureMarkerReserveValid105(f) /\ ~ExposureMarkerPayValid105(f)
 /\ LET f==ExposureMarkerActionFixture105("RemoveExposureMarker",0,FALSE)
        cp==ExposureMarkerCheckpointFixture105(f.paid,f.afterWorld,"BaseCost",501)
        targeted==ExposureMarkerTargetedFixture105(f.targets,0)
        ready==ExposureMarkerEffectReadyFixture105(targeted,FALSE,Empty10)
        returned==[ready EXCEPT !.phase="EffectCheckpoint"]
        after==[returned EXCEPT !.phase="Complete",!.action.status="Complete"]
        finalCp==ExposureMarkerCheckpointFixture105(returned,f.afterWorld,"Effect",502)
        receipt==[tag |-> "PriorityOptionReturn",windowId |-> 10501,option |-> f.reserved.option,transactionId |-> 600,
           triggerPayment |-> [tag |-> "PriorityOptionPayment",windowId |-> 10501,option |-> f.reserved.option,transactionId |-> 600,
                  allTriggerCostsPaid |-> TRUE,costCheckpointAndReactionsDrained |-> TRUE],
           allCostsPaid |-> TRUE,optionComplete |-> TRUE,childrenReturned |-> TRUE,reactionsDrained |-> TRUE]
    IN /\ ~BasicActionLocalGate5("SideB","RemoveExposureMarker",FALSE) /\ ExposureMarkerReserveValid105(f) /\ ExposureMarkerPayValid105(f)
       /\ DrainExposureMarkerAction105(f.paid,f.targets,f.afterWorld,cp,ExposureMarkerCheckpointLedger105(cp),<<f.busy>>)
       /\ ~DrainExposureMarkerAction105(f.paid,f.targets,f.afterWorld,[cp EXCEPT !.returned=FALSE],ExposureMarkerCheckpointLedger105(cp),<<f.busy>>)
       /\ ~AnnounceExposureMarkerTarget105(f.paid,targeted,f.afterWorld,0,8000)
       /\ AnnounceExposureMarkerTarget105(f.targets,targeted,f.afterWorld,0,8000)
       /\ PrepareExposureMarkerEffect105(targeted,ready,f.afterWorld,ExposureMarkerEffectContext105(targeted,f.afterWorld,FALSE),ExposureMarkerEffectRef105(targeted),1,CardFacts10)
       /\ ResolveExposureMarkerAction105(ready,returned,f.afterWorld,f.afterWorld.objects,Empty10,DOMAIN f.afterWorld.objects,CheckpointPrinted103,CheckpointOwners103,{},800,
              Empty10,Empty10,Empty10,Empty10,{})
       /\ f.afterWorld.actionPoints["SideB"]=2 /\ {30,31} \cap DOMAIN f.afterWorld.objects={}
       /\ DrainExposureMarkerAction105(returned,after,f.afterWorld,finalCp,ExposureMarkerCheckpointLedger105(finalCp),<<f.busy>>)
       /\ ReturnExposureMarkerAction105(after,<<f.busy>>,<<CompletePriorityOptionFrame9(f.busy)>>,receipt)
       /\ ~ReturnExposureMarkerAction105(returned,<<f.busy>>,<<CompletePriorityOptionFrame9(f.busy)>>,receipt)
 /\ LET f==ExposureMarkerActionFixture105("RetireResource",1,FALSE)
        noTargetWorld==[f.world EXCEPT !.objects[11].deployed=FALSE,!.objects[11].zone="SideBDiscard",!.activeSources={}]
        noTargetAfter==ExposureMarkerAfterPaymentWorld105(noTargetWorld,"SideA",{20,21})
        payment==ExposureMarkerPaymentFixture105(f.reserved,noTargetWorld,noTargetAfter,{20,21},2)
        paid==ExposureMarkerPaidFixture105(f.reserved,noTargetWorld,payment)
        targets==ExposureMarkerTargetsFrame105(paid)
        target==ExposureMarkerTargetedFixture105(targets,0)
        ready==ExposureMarkerEffectReadyFixture105(target,FALSE,Empty10)
        after==[ready EXCEPT !.phase="EffectCheckpoint"]
    IN /\ ResourceTargetIds105(noTargetWorld)={}
       /\ PayExposureMarkerAction105(f.reserved,paid,<<f.busy>>,noTargetWorld,noTargetAfter,Empty10,Empty10,CardFacts10,Empty10,Empty10,{20,21},payment)
       /\ AnnounceExposureMarkerTarget105(targets,target,noTargetAfter,0,8000)
       /\ PrepareExposureMarkerEffect105(target,ready,noTargetAfter,ExposureMarkerEffectContext105(target,noTargetAfter,FALSE),ExposureMarkerEffectRef105(target),1,CardFacts10)
       /\ ResolveExposureMarkerAction105(ready,after,noTargetAfter,noTargetAfter.objects,Empty10,DOMAIN noTargetAfter.objects,CheckpointPrinted103,CheckpointOwners103,{},800,Empty10,Empty10,Empty10,Empty10,{})
 /\ LET f==ExposureMarkerActionFixture105("RetireResource",1,FALSE)
        lostBeforePay==[f.world EXCEPT !.id=101,!.objects=Without101(@,{1}),!.controllers=Without101(@,{1})]
        afterLostPay==ExposureMarkerAfterPaymentWorld105(lostBeforePay,"SideA",{20,21})
        lostPayment==ExposureMarkerPaymentFixture105(f.reserved,lostBeforePay,afterLostPay,{20,21},2)
        lostPaid==ExposureMarkerPaidFixture105(f.reserved,lostBeforePay,lostPayment)
        shortAfter==ExposureMarkerAfterPaymentWorld105(f.world,"SideA",{20})
        shortPayment==ExposureMarkerPaymentFixture105(f.reserved,f.world,shortAfter,{20},2)
        otherAfter==ExposureMarkerAfterPaymentWorld105(f.world,"SideA",{30,31})
        otherPayment==ExposureMarkerPaymentFixture105(f.reserved,f.world,otherAfter,{30,31},2)
    IN /\ ~PayExposureMarkerAction105(f.reserved,lostPaid,<<f.busy>>,lostBeforePay,afterLostPay,Empty10,Empty10,CardFacts10,Empty10,Empty10,{20,21},lostPayment)
       /\ ~PayExposureMarkerAction105(f.reserved,ExposureMarkerPaidFixture105(f.reserved,f.world,shortPayment),<<f.busy>>,f.world,shortAfter,Empty10,Empty10,CardFacts10,Empty10,Empty10,{20},shortPayment)
       /\ ~PayExposureMarkerAction105(f.reserved,ExposureMarkerPaidFixture105(f.reserved,f.world,otherPayment),<<f.busy>>,f.world,otherAfter,Empty10,Empty10,CardFacts10,Empty10,Empty10,{30,31},otherPayment)
       /\ ~ExposureMarkerReserveValid105([f EXCEPT !.world.turn.phase="Discard"])
       /\ ~ExposureMarkerReserveValid105([f EXCEPT !.world.actionPoints["SideA"]=0])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CompletePriorityOptionFrame9, CheckpointOwners103, CheckpointPrinted103, Empty10, ExposureMarkerActionFixture105, ExposureMarkerAfterPaymentWorld105, ExposureMarkerCheckpointFixture105, ExposureMarkerCheckpointLedger105, ExposureMarkerEffectContext105, ExposureMarkerEffectReadyFixture105, ExposureMarkerEffectRef105, ExposureMarkerPaidFixture105, ExposureMarkerPayValid105, ExposureMarkerPaymentFixture105, ExposureMarkerReserveValid105, ExposureMarkerTargetedFixture105, ExposureMarkerTargetsFrame105, AnnounceExposureMarkerTarget105, DrainExposureMarkerAction105, PayExposureMarkerAction105, PrepareExposureMarkerEffect105, ResolveExposureMarkerAction105, ResourceTargetIds105, ReturnExposureMarkerAction105, Without101, CardFacts10, BasicActionLocalGate5

ExposureMarkerActionFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerActionFixture105(kind,count,Specimen0173) ==
 LET world==ExposureMarkerWorldFixture105(ExposureMarkerActionActor105(kind),count,Specimen0173)
     selected==IF kind="RetireResource" THEN {20,21} ELSE {30,31}
     reserved==ExposureMarkerReservedFixture105(kind)
     afterWorld==ExposureMarkerAfterPaymentWorld105(world,reserved.player,selected)
     payment==ExposureMarkerPaymentFixture105(reserved,world,afterWorld,selected,2)
     paid==ExposureMarkerPaidFixture105(reserved,world,payment)
 IN [world |-> world,selected |-> selected,reserved |-> reserved,afterWorld |-> afterWorld,payment |-> payment,paid |-> paid,
     busy |-> ExposureMarkerBusyFixture105(world,kind),targets |-> ExposureMarkerTargetsFrame105(paid)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ExposureMarkerAfterPaymentWorld105, ExposureMarkerBusyFixture105, ExposureMarkerPaidFixture105, ExposureMarkerPaymentFixture105, ExposureMarkerReservedFixture105, ExposureMarkerTargetsFrame105, ExposureMarkerWorldFixture105, ExposureMarkerActionActor105

ExposureMarkerActionPostCostChecks105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerActionPostCostChecks105 ==
 LET f==ExposureMarkerActionFixture105("RetireResource",1,FALSE)
     lostAfterCost==[f.afterWorld EXCEPT !.id=102,!.objects=Without101(@,{1}),!.controllers=Without101(@,{1})]
     cp==ExposureMarkerCheckpointFixture105(f.paid,lostAfterCost,"BaseCost",501)
     target==ExposureMarkerTargetedFixture105(f.targets,11)
     ready==ExposureMarkerEffectReadyFixture105(target,FALSE,Empty10)
     successors==[id \in {11} |-> 111]
     trashed==CheckpointRetireMap103(lostAfterCost.objects,{11},successors,CheckpointPrinted103,CheckpointOwners103,{11})
     move==MovementEvent8(810,"Retire",{11})
     history==[id \in {810} |-> move]
     departures==[id \in {<<"Movement",810>>} |-> [source |-> 11,objectiveCompletionLeft |-> FALSE,uninstalled |-> TRUE,hostRemoved |-> TRUE,children |-> {40,41}]]
     done==[ready EXCEPT !.phase="EffectCheckpoint"]
     pap==ExposureMarkerActionFixture105("RetireResource",0,TRUE)
     papTarget==ExposureMarkerTargetedFixture105(pap.targets,10)
     papReady==ExposureMarkerEffectReadyFixture105(papTarget,FALSE,Empty10)
     papNext==[id \in {10} |-> 110]
     papRetire==CheckpointRetireMap103(pap.afterWorld.objects,{10},papNext,CheckpointPrinted103,CheckpointOwners103,{10})
     papMove==MovementEvent8(811,"Retire",{10})
     papDepart==[id \in {<<"Movement",811>>} |-> [source |-> 10,objectiveCompletionLeft |-> FALSE,uninstalled |-> TRUE,hostRemoved |-> TRUE,children |-> {}]]
     papAfterWorld==[pap.afterWorld EXCEPT !.id=103,!.objects=papRetire]
     zero==ExposureMarkerActionFixture105("RemoveExposureMarker",0,FALSE)
     addedAfterCost==[zero.afterWorld EXCEPT !.id=102,!.objects=ReplacementOverlay99(@,[id \in {2} |-> ExposureMarkerCounterRow105]),!.controllers=ReplacementOverlay99(@,[id \in {2} |-> "SideB"])]
     zeroCP==ExposureMarkerCheckpointFixture105(zero.paid,addedAfterCost,"BaseCost",512)
     zeroTarget==ExposureMarkerTargetedFixture105(zero.targets,2)
     zeroReady==ExposureMarkerEffectReadyFixture105(zeroTarget,FALSE,Empty10)
 IN /\ ~ExposureMarkerStateView105(lostAfterCost.objects,Empty10).hasExposureMarkers
    /\ DrainExposureMarkerAction105(f.paid,f.targets,lostAfterCost,cp,ExposureMarkerCheckpointLedger105(cp),<<f.busy>>)
    /\ AnnounceExposureMarkerTarget105(f.targets,target,lostAfterCost,11,8000)
    /\ PrepareExposureMarkerEffect105(target,ready,lostAfterCost,ExposureMarkerEffectContext105(target,lostAfterCost,FALSE),ExposureMarkerEffectRef105(target),1,CardFacts10)
    /\ ResolveExposureMarkerAction105(ready,done,lostAfterCost,trashed,successors,DOMAIN lostAfterCost.objects,CheckpointPrinted103,CheckpointOwners103,{11},810,
           Empty10,history,Empty10,departures,{move})
    /\ trashed[111].marks={} /\ departures[<<"Movement",810>>].children={40,41}
    /\ AnnounceExposureMarkerTarget105(pap.targets,papTarget,pap.afterWorld,10,8000)
    /\ PrepareExposureMarkerEffect105(papTarget,papReady,pap.afterWorld,ExposureMarkerEffectContext105(papTarget,pap.afterWorld,FALSE),ExposureMarkerEffectRef105(papTarget),1,CardFacts10)
    /\ ResolveExposureMarkerAction105(papReady,[papReady EXCEPT !.phase="EffectCheckpoint"],pap.afterWorld,papRetire,papNext,DOMAIN pap.afterWorld.objects,
           CheckpointPrinted103,CheckpointOwners103,{10},811,Empty10,[id \in {811} |-> papMove],Empty10,papDepart,{papMove})
    /\ ExposureMarkerDeclarationsFixture105(papAfterWorld)=Empty10 /\ CurrentExposureMarkerState105(papAfterWorld,Empty10,CardFacts10,ExposureMarkerStateView105(papRetire,Empty10))
    /\ ~ExposureMarkerStateView105(papRetire,Empty10).hasExposureMarkers /\ ExposureMarkerQuantity105(papRetire)=0
    /\ DrainExposureMarkerAction105(zero.paid,zero.targets,addedAfterCost,zeroCP,ExposureMarkerCheckpointLedger105(zeroCP),<<zero.busy>>)
    /\ AnnounceExposureMarkerTarget105(zero.targets,zeroTarget,addedAfterCost,2,8000)
    /\ PrepareExposureMarkerEffect105(zeroTarget,zeroReady,addedAfterCost,ExposureMarkerEffectContext105(zeroTarget,addedAfterCost,FALSE),ExposureMarkerEffectRef105(zeroTarget),1,CardFacts10)
    /\ ResolveExposureMarkerAction105(zeroReady,[zeroReady EXCEPT !.phase="EffectCheckpoint"],addedAfterCost,Without101(addedAfterCost.objects,{2}),Empty10,
           DOMAIN addedAfterCost.objects,CheckpointPrinted103,CheckpointOwners103,{},812,Empty10,Empty10,Empty10,Empty10,{[tag |-> "ExposureMarkerRemoved",actionId |-> 7000,player |-> "SideB",counter |-> 2]})
 /\ LET removeCase==ExposureMarkerActionFixture105("RemoveExposureMarker",1,FALSE)
        removeTarget==ExposureMarkerTargetedFixture105(removeCase.targets,1)
        removeReady==ExposureMarkerEffectReadyFixture105(removeTarget,FALSE,Empty10)
        kept==ExposureMarkerEffectReadyFixture105(removeTarget,TRUE,Empty10)
        event==[tag |-> "ExposureMarkerRemoved",actionId |-> 7000,player |-> "SideB",counter |-> 1]
    IN /\ AnnounceExposureMarkerTarget105(removeCase.targets,removeTarget,removeCase.afterWorld,1,8000)
       /\ PrepareExposureMarkerEffect105(removeTarget,removeReady,removeCase.afterWorld,ExposureMarkerEffectContext105(removeTarget,removeCase.afterWorld,FALSE),ExposureMarkerEffectRef105(removeTarget),1,CardFacts10)
       /\ ResolveExposureMarkerAction105(removeReady,[removeReady EXCEPT !.phase="EffectCheckpoint"],removeCase.afterWorld,Without101(removeCase.afterWorld.objects,{1}),Empty10,DOMAIN removeCase.afterWorld.objects,
               CheckpointPrinted103,CheckpointOwners103,{},820,Empty10,Empty10,Empty10,Empty10,{event})
       /\ ~ResolveExposureMarkerAction105(removeReady,[removeReady EXCEPT !.phase="EffectCheckpoint"],removeCase.afterWorld,removeCase.afterWorld.objects,Empty10,DOMAIN removeCase.afterWorld.objects,
               CheckpointPrinted103,CheckpointOwners103,{},820,Empty10,Empty10,Empty10,Empty10,{})
       /\ PrepareExposureMarkerEffect105(removeTarget,kept,removeCase.afterWorld,ExposureMarkerEffectContext105(removeTarget,removeCase.afterWorld,TRUE),ExposureMarkerEffectRef105(removeTarget),1,CardFacts10)
       /\ ResolveExposureMarkerAction105(kept,[kept EXCEPT !.phase="EffectCheckpoint"],removeCase.afterWorld,removeCase.afterWorld.objects,Empty10,DOMAIN removeCase.afterWorld.objects,
               CheckpointPrinted103,CheckpointOwners103,{},820,Empty10,Empty10,Empty10,Empty10,{})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, CheckpointOwners103, CheckpointPrinted103, Empty10, ExposureMarkerActionFixture105, ExposureMarkerCheckpointFixture105, ExposureMarkerCheckpointLedger105, ExposureMarkerDeclarationsFixture105, ExposureMarkerEffectContext105, ExposureMarkerEffectReadyFixture105, ExposureMarkerEffectRef105, ExposureMarkerTargetedFixture105, AnnounceExposureMarkerTarget105, CheckpointRetireMap103, CurrentExposureMarkerState105, DrainExposureMarkerAction105, ExposureMarkerCounterRow105, ExposureMarkerQuantity105, ExposureMarkerStateView105, PrepareExposureMarkerEffect105, ResolveExposureMarkerAction105, Without101, MovementEvent8, CardFacts10

ExposureMarkerAdditionalCostChecks105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerAdditionalCostChecks105 ==
 LET world==ExtraWorldFixture105
     reserved==ExposureMarkerReservedFixture105("RetireResource")
     afterBase==ExposureMarkerAfterPaymentWorld105(world,"SideA",{20,21})
     payment==ExposureMarkerPaymentFixture105(reserved,world,afterBase,{20,21},2)
     paid==ExposureMarkerPaidFixture105(reserved,world,payment)
     targets==ExposureMarkerTargetsFrame105(paid)
     target==ExposureMarkerTargetedFixture105(targets,12)
     current==[afterBase EXCEPT !.additionalResourceCosts=ResourceCostsFixture105(afterBase)]
     costs==current.additionalResourceCosts
     prepared==ExposureMarkerEffectReadyFixture105(target,FALSE,costs)
     removedBeforeCosts==ExposureMarkerEffectReadyFixture105(target,TRUE,Empty10)
     assignments==[cost \in {1,2} |-> IF cost=1 THEN {60} ELSE {61}]
     successors==[id \in {60,61} |-> id+100]
     eventIds==[cost \in {1,2} |-> cost+899]
     history==CentralACostHistory105(assignments,eventIds)
     events=={history[id] : id \in DOMAIN history}
     afterCentralA==CentralACostAfterWorld105(current,{60,61},successors)
     nested==[prepared EXCEPT !.phase="AdditionalCostCheckpoint",!.nestedTransaction=601]
     ready==[nested EXCEPT !.phase="EffectReady"]
     declined==[prepared EXCEPT !.phase="EffectReady",!.effective.mode="Removed"]
     lost==[afterCentralA EXCEPT !.id=103,!.objects=ReplacementOverlay99(Without101(@,{12}),[id \in {212} |-> ExposureMarkerCardFixture105("Specimen0136","SideBHand",FALSE)]),
              !.controllers=ReplacementOverlay99(Without101(@,{12}),[id \in {212} |-> "SideB"]),!.activeSources=@ \ {12}]
     cp==ExposureMarkerCheckpointFixture105(nested,lost,"AdditionalCost",531)
     singleSuccessor==[id \in {60} |-> 160]
     singleAfter==CentralACostAfterWorld105(current,{60},singleSuccessor)
     doubleUse==[cost \in {1,2} |-> {60}]
     doubleHistory==CentralACostHistory105(doubleUse,eventIds)
     partialAssign==[cost \in {1} |-> {60}]
     partialEvents==[cost \in {1} |-> 900]
     partialHistory==CentralACostHistory105(partialAssign,partialEvents)
     missingKnownCosts==[id \in {1} |-> costs[id]]
     missingKnownWorld==[current EXCEPT !.additionalResourceCosts=missingKnownCosts]
     blocked==[afterCentralA EXCEPT !.id=103,!.currentRetireProhibitions={12}]
     protectedCP==ExposureMarkerCheckpointFixture105(nested,blocked,"AdditionalCost",532)
     resourceSuccessor==[id \in {12} |-> 112]
     actualRetire==CheckpointRetireMap103(afterCentralA.objects,{12},resourceSuccessor,CheckpointPrinted103,CheckpointOwners103,{12})
     resourceMove==MovementEvent8(902,"Retire",{12})
     trashHistory==ReplacementOverlay99(history,[id \in {902} |-> resourceMove])
     departure==[id \in {<<"Movement",902>>} |-> [source |-> 12,objectiveCompletionLeft |-> FALSE,uninstalled |-> TRUE,hostRemoved |-> TRUE,children |-> {}]]
 IN /\ PayExposureMarkerAction105(reserved,paid,<<ExposureMarkerBusyFixture105(world,"RetireResource")>>,world,afterBase,Empty10,Empty10,CardFacts10,Empty10,Empty10,{20,21},payment)
    /\ afterBase.objects[60]=world.objects[60] /\ afterBase.objects[61]=world.objects[61]
    /\ AnnounceExposureMarkerTarget105(targets,target,current,12,8000)
    /\ PrepareExposureMarkerEffect105(target,prepared,current,ExposureMarkerEffectContext105(target,current,FALSE),ExposureMarkerEffectRef105(target),1,CardFacts10)
    /\ PreventExpectedWhole99([id \in {1} |-> ExposureMarkerEffectAtom105(target)],Empty10,1)
    /\ PrepareExposureMarkerEffect105(target,removedBeforeCosts,current,ExposureMarkerEffectContext105(target,current,TRUE),ExposureMarkerEffectRef105(target),1,CardFacts10)
    /\ ResolveExposureMarkerAction105(removedBeforeCosts,[removedBeforeCosts EXCEPT !.phase="EffectCheckpoint"],current,current.objects,Empty10,
          DOMAIN current.objects,CheckpointPrinted103,CheckpointOwners103,{},899,Empty10,Empty10,Empty10,Empty10,{})
    /\ ~PrepareExposureMarkerEffect105(target,ExposureMarkerEffectReadyFixture105(target,FALSE,missingKnownCosts),missingKnownWorld,
          ExposureMarkerEffectContext105(target,missingKnownWorld,FALSE),ExposureMarkerEffectRef105(target),1,CardFacts10)
    /\ ResourceAdditionalCosts105(prepared,current,CardFacts10)
    /\ ~ResourceAdditionalCosts105(prepared,[current EXCEPT !.points["SideA"]=2],CardFacts10)
    /\ ~ResourceAdditionalCosts105(prepared,[current EXCEPT !.subtypes[12]={}],CardFacts10)
    /\ PayResourceAdditional105(prepared,nested,current,afterCentralA,CardFacts10,assignments,successors,DOMAIN current.objects,601,eventIds,Empty10,history,events)
    /\ Cardinality(events)=2 /\ history[900].originalObjects={60} /\ history[901].originalObjects={61}
    /\ afterCentralA.objects[160].marks={} /\ afterCentralA.objects[161].marks={} /\ afterCentralA.actionPoints["SideA"]=2
    /\ ~PayResourceAdditional105(prepared,nested,current,singleAfter,CardFacts10,doubleUse,singleSuccessor,DOMAIN current.objects,601,eventIds,Empty10,doubleHistory,{doubleHistory[id] : id \in DOMAIN doubleHistory})
    /\ ~PayResourceAdditional105(prepared,nested,current,singleAfter,CardFacts10,partialAssign,singleSuccessor,DOMAIN current.objects,601,partialEvents,Empty10,partialHistory,{partialHistory[900]})
    /\ SkipResourceAdditional105(prepared,declined,current,"Declined")
    /\ ResolveExposureMarkerAction105(declined,[declined EXCEPT !.phase="EffectCheckpoint"],current,current.objects,Empty10,DOMAIN current.objects,CheckpointPrinted103,CheckpointOwners103,{},902,Empty10,Empty10,Empty10,Empty10,{})
    /\ DrainExposureMarkerAction105(nested,ready,lost,cp,ExposureMarkerCheckpointLedger105(cp),<<ExposureMarkerBusyFixture105(world,"RetireResource")>>)
    /\ ResolveExposureMarkerAction105(ready,[ready EXCEPT !.phase="EffectCheckpoint"],lost,lost.objects,Empty10,DOMAIN lost.objects,CheckpointPrinted103,CheckpointOwners103,{},902,history,history,Empty10,Empty10,{})
    /\ lost.actionPoints["SideA"]=2 /\ {20,21,60,61,12} \cap DOMAIN lost.objects={}
    /\ ~AnnounceExposureMarkerTarget105(ready,ExposureMarkerTargetedFixture105(ready,212),lost,212,8000)
    /\ DrainExposureMarkerAction105(nested,ready,blocked,protectedCP,ExposureMarkerCheckpointLedger105(protectedCP),<<ExposureMarkerBusyFixture105(world,"RetireResource")>>)
    /\ ResolveExposureMarkerAction105(ready,[ready EXCEPT !.phase="EffectCheckpoint"],blocked,blocked.objects,Empty10,DOMAIN blocked.objects,CheckpointPrinted103,CheckpointOwners103,{},902,history,history,Empty10,Empty10,{})
    /\ ResolveExposureMarkerAction105(ready,[ready EXCEPT !.phase="EffectCheckpoint"],afterCentralA,actualRetire,resourceSuccessor,DOMAIN afterCentralA.objects,CheckpointPrinted103,CheckpointOwners103,{12},902,history,trashHistory,Empty10,departure,{resourceMove})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: PreventExpectedWhole99, ReplacementOverlay99, CentralACostAfterWorld105, CentralACostHistory105, CheckpointOwners103, CheckpointPrinted103, Empty10, ExposureMarkerAfterPaymentWorld105, ExposureMarkerBusyFixture105, ExposureMarkerCardFixture105, ExposureMarkerCheckpointFixture105, ExposureMarkerCheckpointLedger105, ExposureMarkerEffectAtom105, ExposureMarkerEffectContext105, ExposureMarkerEffectReadyFixture105, ExposureMarkerEffectRef105, ExposureMarkerPaidFixture105, ExposureMarkerPaymentFixture105, ExposureMarkerReservedFixture105, ExposureMarkerTargetedFixture105, ExposureMarkerTargetsFrame105, ExtraWorldFixture105, ResourceCostsFixture105, AnnounceExposureMarkerTarget105, CheckpointRetireMap103, DrainExposureMarkerAction105, PayExposureMarkerAction105, PayResourceAdditional105, PrepareExposureMarkerEffect105, ResolveExposureMarkerAction105, ResourceAdditionalCosts105, SkipResourceAdditional105, Without101, MovementEvent8, CardFacts10

ExposureMarkerAfterPaymentWorld105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerAfterPaymentWorld105(world,player,selected) ==
 [world EXCEPT !.id=@+1,!.objects=Without101(@,selected),!.controllers=Without101(@,selected),!.actionPoints[player]=@-1,!.spent[player]=@+1]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Without101

ExposureMarkerBusyFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerBusyFixture105(world,kind) == StartPriorityOptionFrame9(ExposureMarkerReadyWindow105(world),ExposureMarkerOptionFixture105(kind),600)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: StartPriorityOptionFrame9, ExposureMarkerOptionFixture105, ExposureMarkerReadyWindow105

ExposureMarkerCardFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerCardFixture105(card,zone,deployed) == ReplacementOverlay99(CheckpointObject103(card,zone,deployed,0),[front |-> TRUE])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, CheckpointObject103

ExposureMarkerCheckpointFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerCheckpointFixture105(frame,world,scope,cpId) ==
 [NewCheckpoint103(cpId,ExposureMarkerCheckpointCaller105(frame,scope),world.id,{}) EXCEPT !.phase="Returned",!.point="ProcedureCodeb74d673a0fc6",!.owed= <<>>,
  !.done=CheckpointStageSet103,!.returned=TRUE,!.recognition=[id |-> cpId,caller |-> ExposureMarkerCheckpointCaller105(frame,scope)],!.recognized=Empty10]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, CheckpointStageSet103, ExposureMarkerCheckpointCaller105, NewCheckpoint103

ExposureMarkerCheckpointLedger105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerCheckpointLedger105(cp) == [checkpoints |-> [id \in {cp.id} |-> [caller |-> cp.caller]],instances |-> Empty10]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10

ExposureMarkerConvertedCounterChecks105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerConvertedCounterChecks105 ==
 LET f==ExposureMarkerActionFixture105("RemoveExposureMarker",1,FALSE)
     converted==ReplacementOverlay99(ExposureMarkerCounterRow105,[card |-> "Specimen0046",owner |-> "SideA",properties |-> [kind |-> "ExposureMarker"]])
     world==[f.afterWorld EXCEPT !.objects[1]=converted]
     target==ExposureMarkerTargetedFixture105(f.targets,1)
     ready==ExposureMarkerEffectReadyFixture105(target,FALSE,Empty10)
     successors==[id \in {1} |-> 1001]
     afterObjects==CheckpointRetireMap103(world.objects,{1},successors,CheckpointPrinted103,CheckpointOwners103,{1})
     event==MovementEvent8(840,"Retire",{1})
     removed==[tag |-> "ExposureMarkerRemoved",actionId |-> 7000,player |-> "SideB",counter |-> 1]
     conversion==[mode |-> "Counter",card |-> "Specimen0046",createdBy |-> 444,owner |-> "SideA",gained |-> [kind |-> "ExposureMarker"]]
     receipt==[original |-> 1,successor |-> 1001,physical |-> "Specimen0046",owner |-> "SideA",complete |-> TRUE]
 IN /\ AnnounceExposureMarkerTarget105(f.targets,target,world,1,8000)
    /\ PrepareExposureMarkerEffect105(target,ready,world,ExposureMarkerEffectContext105(target,world,FALSE),ExposureMarkerEffectRef105(target),1,CardFacts10)
    /\ ResolveExposureMarkerAction105(ready,[ready EXCEPT !.phase="EffectCheckpoint"],world,afterObjects,successors,DOMAIN world.objects,CheckpointPrinted103,CheckpointOwners103,{1},840,
           Empty10,[id \in {840} |-> event],Empty10,Empty10,{event,removed})
    /\ ConversionExitPost101(conversion,CheckpointPrinted103["Specimen0046"],1,1001,world.objects,afterObjects,DOMAIN world.objects,"SideADiscard","RemoveExposureMarker",receipt)
    /\ afterObjects[1001].form="Card" /\ afterObjects[1001].zone="SideADiscard" /\ ExposureMarkerQuantity105(afterObjects)=0

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, CheckpointOwners103, CheckpointPrinted103, Empty10, ExposureMarkerActionFixture105, ExposureMarkerEffectContext105, ExposureMarkerEffectReadyFixture105, ExposureMarkerEffectRef105, ExposureMarkerTargetedFixture105, AnnounceExposureMarkerTarget105, CheckpointRetireMap103, ConversionExitPost101, ExposureMarkerCounterRow105, ExposureMarkerQuantity105, PrepareExposureMarkerEffect105, ResolveExposureMarkerAction105, MovementEvent8, CardFacts10

ExposureMarkerDeclarationsFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerDeclarationsFixture105(world) ==
 IF 10 \in DOMAIN world.objects /\ 1050 \in world.activeAbilities /\ DefaultActive(world.objects[10],world.started,CardFacts10)
 THEN [id \in {1} |-> [snapshotId |-> world.id,projection |-> StaticProjection94(ExposureMarkerStaticSyntax105,ExposureMarkerStaticPart105,TRUE),
                      sourceObject |-> world.objects[10],sourceSHA |-> CardFacts10["Specimen0173"].sourceSHA]] ELSE Empty10

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: StaticProjection94, Empty10, ExposureMarkerStaticPart105, ExposureMarkerStaticSyntax105, DefaultActive, CardFacts10

ExposureMarkerEffectAtom105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerEffectAtom105(frame) ==
 [id |-> 1,kind |-> IF frame.kind="RetireResource" THEN "RetireCards" ELSE "RemoveExposureMarkers",targetCard |-> frame.target,actor |-> frame.player,value |-> 1,preventable |-> TRUE]

Exact module download · Source bundle and reproduction instructions

ExposureMarkerEffectContext105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerEffectContext105(frame,world,removed) ==
 [id |-> 9000,currentRef |-> ExposureMarkerEffectRef105(frame),currentWorld |-> world.id,phase |-> "Resolving",templates |-> [id \in {1} |-> ExposureMarkerEffectAtom105(frame)],
  state |-> [effects |-> IF removed THEN Empty10 ELSE [id \in {1} |-> ExposureMarkerEffectAtom105(frame)]],actualEffects |-> IF removed THEN Empty10 ELSE [id \in {1} |-> ExposureMarkerEffectAtom105(frame)]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, ExposureMarkerEffectAtom105, ExposureMarkerEffectRef105

ExposureMarkerEffectReadyFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerEffectReadyFixture105(frame,removed,costs) ==
 [frame EXCEPT !.effective=[mode |-> IF removed THEN "Removed" ELSE "Kept",reference |-> ExposureMarkerEffectRef105(frame),effectId |-> 1],
  !.effectCosts=costs,!.phase=IF DOMAIN costs={} THEN "EffectReady" ELSE "AdditionalCosts"]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ExposureMarkerEffectRef105

ExposureMarkerEffectRef105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerEffectRef105(frame) == [DamageReference104(0) EXCEPT !.id=8000,!.abilityInstance=frame.id,!.source=RuleAbilitySource9(ExposureMarkerActionRule105(frame.kind))]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: RuleAbilitySource9, DamageReference104, ExposureMarkerActionRule105

ExposureMarkerLegalityFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerLegalityFixture105(world,kind) == [tag |-> "PriorityOptionLegality",windowId |-> 10501,reception |-> 1,option |-> ExposureMarkerOptionFixture105(kind),
 legal |-> TRUE,active |-> TRUE,transactionId |-> 600,costsPayable |-> TRUE]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ExposureMarkerOptionFixture105

ExposureMarkerModifierAndSourceChecks105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerModifierAndSourceChecks105 ==
 /\ \A kind \in {"RetireResource","RemoveExposureMarker"}, front \in BOOLEAN, chosen \in BOOLEAN :
      LET world==ExampleFamily094WorldFixture105(kind,front,chosen)
          mods==world.exposureMarkerCostModifiers[kind]
          amount==IF front /\ kind="RemoveExposureMarker" THEN 3 ELSE IF ~front /\ kind="RetireResource" /\ chosen THEN 0 ELSE 2
          selected==IF amount=0 THEN {} ELSE IF kind="RetireResource" THEN {20,21} ELSE IF amount=3 THEN {30,31,32} ELSE {30,31}
          reserved==ExposureMarkerReservedFixture105(kind)
          afterWorld==ExposureMarkerAfterPaymentWorld105(world,reserved.player,selected)
          payment==ExposureMarkerPaymentFixture105(reserved,world,afterWorld,selected,amount)
          paid==ExposureMarkerPaidFixture105(reserved,world,payment)
      IN /\ ExposureMarkerResourceUnitCost105(mods)=amount /\ ExposureMarkerCostModifiers105(world,kind,mods,CardFacts10)
         /\ ExampleFamily094ExposureMarkerCostShape105(kind,world.objects[50],chosen,mods[77].delta)
         /\ PayExposureMarkerAction105(reserved,paid,<<ExposureMarkerBusyFixture105(world,kind)>>,world,afterWorld,Empty10,Empty10,CardFacts10,mods,Empty10,selected,payment)
         /\ afterWorld.objects[50].front=world.objects[50].front /\ afterWorld.actionPoints[reserved.player]=2
 /\ LET world==ExampleFamily094WorldFixture105("RemoveExposureMarker",TRUE,FALSE)
        p==ExampleFamily011PermissionFixture105(world)
        withPermission==[world EXCEPT !.exposureMarkerSpendPermissions=[id \in {71} |-> p]]
        selected=={40,41,30}
        reserved==ExposureMarkerReservedFixture105("RemoveExposureMarker")
        afterWorld==ExposureMarkerAfterPaymentWorld105(withPermission,"SideB",selected)
        payment==ExposureMarkerPaymentFixture105(reserved,withPermission,afterWorld,selected,3)
        paid==ExposureMarkerPaidFixture105(reserved,withPermission,payment)
        shortAfter==ExposureMarkerAfterPaymentWorld105(withPermission,"SideB",{40,41})
        shortPayment==ExposureMarkerPaymentFixture105(reserved,withPermission,shortAfter,{40,41},3)
        frontWrong==[world EXCEPT !.exposureMarkerCostModifiers["RemoveExposureMarker"][77].sourceObject.front=FALSE]
        omitted==[world EXCEPT !.exposureMarkerCostModifiers["RemoveExposureMarker"]=Empty10]
        wrongPurpose==[withPermission EXCEPT !.exposureMarkerSpendPermissions[71].action="RetireResource"]
    IN /\ ExampleFamily011ExposureMarkerPermission105(withPermission,"RemoveExposureMarker",600,p,CardFacts10)
       /\ ~ExampleFamily011ExposureMarkerPermission105(withPermission,"RetireResource",600,p,CardFacts10)
       /\ PayExposureMarkerAction105(reserved,paid,<<ExposureMarkerBusyFixture105(withPermission,"RemoveExposureMarker")>>,withPermission,afterWorld,Empty10,Empty10,CardFacts10,world.exposureMarkerCostModifiers["RemoveExposureMarker"],withPermission.exposureMarkerSpendPermissions,selected,payment)
       /\ ExposureMarkerPaymentPermissionSources105(payment,withPermission.exposureMarkerSpendPermissions)={ObjectAbilitySource9(11)}
       /\ ExposureMarkerPaymentPermissionSources105([payment EXCEPT !.paidCounterIds={30,31,32}],withPermission.exposureMarkerSpendPermissions)={}
       /\ ExposureMarkerPaymentPermissionSources105([payment EXCEPT !.paidCounterIds={40,30,31}],withPermission.exposureMarkerSpendPermissions)={ObjectAbilitySource9(11)}
       /\ ~PayExposureMarkerAction105(reserved,ExposureMarkerPaidFixture105(reserved,withPermission,shortPayment),<<ExposureMarkerBusyFixture105(withPermission,"RemoveExposureMarker")>>,withPermission,shortAfter,Empty10,Empty10,CardFacts10,world.exposureMarkerCostModifiers["RemoveExposureMarker"],withPermission.exposureMarkerSpendPermissions,{40,41},shortPayment)
       /\ ~ExposureMarkerCostModifiers105(frontWrong,"RemoveExposureMarker",frontWrong.exposureMarkerCostModifiers["RemoveExposureMarker"],CardFacts10)
       /\ ~ExposureMarkerCostModifiers105(omitted,"RemoveExposureMarker",Empty10,CardFacts10)
       /\ ~ExampleFamily011ExposureMarkerPermission105(wrongPurpose,"RemoveExposureMarker",600,wrongPurpose.exposureMarkerSpendPermissions[71],CardFacts10)
 /\ LET world==ExampleFamily094WorldFixture105("RetireResource",TRUE,TRUE)
        wrong==[world EXCEPT !.exposureMarkerCostModifiers["RetireResource"][77].delta=-2]
    IN ~ExposureMarkerCostModifiers105(wrong,"RetireResource",wrong.exposureMarkerCostModifiers["RetireResource"],CardFacts10)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, Empty10, ExampleFamily011PermissionFixture105, ExampleFamily094WorldFixture105, ExposureMarkerAfterPaymentWorld105, ExposureMarkerBusyFixture105, ExposureMarkerPaidFixture105, ExposureMarkerPaymentFixture105, ExposureMarkerReservedFixture105, ExampleFamily011ExposureMarkerPermission105, ExampleFamily094ExposureMarkerCostShape105, ExposureMarkerCostModifiers105, ExposureMarkerPaymentPermissionSources105, ExposureMarkerResourceUnitCost105, PayExposureMarkerAction105, CardFacts10

ExposureMarkerObjectsFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerObjectsFixture105(count,Specimen0173) ==
 [id \in (1..count) \cup {10,11,20,21,22,30,31,32,40,41,50,51} |->
  CASE id \in 1..count -> ExposureMarkerCounterRow105
    [] id=10 -> [ExposureMarkerCardFixture105("Specimen0173",IF Specimen0173 THEN "Play" ELSE "SideBDiscard",Specimen0173) EXCEPT !.marks={"OldResourceMark"}]
    [] id=11 -> ExposureMarkerCardFixture105("Specimen0058","Play",TRUE)
    [] id=50 -> ExposureMarkerCardFixture105("Specimen0233","Outside",FALSE)
    [] id=51 -> ExposureMarkerCardFixture105("Specimen0212","Outside",FALSE)
    [] id \in {20,21,22} -> ExposureMarkerTokenFixture105("ResourceUnit","SideAResourceUnits",0,FALSE)
    [] id \in {30,31,32} -> ExposureMarkerTokenFixture105("ResourceUnit","SideBResourceUnits",0,FALSE)
    [] OTHER -> ExposureMarkerTokenFixture105("ResourceUnit","Play",11,FALSE)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ExposureMarkerCardFixture105, ExposureMarkerTokenFixture105, ExposureMarkerCounterRow105

ExposureMarkerOptionFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerOptionFixture105(kind) == PriorityOption9(700,"NeutralValue00001",ExposureMarkerActionActor105(kind),9001,0,RuleAbilitySource9(ExposureMarkerActionRule105(kind)),0,{})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: PriorityOption9, RuleAbilitySource9, ExposureMarkerActionActor105, ExposureMarkerActionRule105

ExposureMarkerPaidFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerPaidFixture105(frame,world,payment) ==
 [frame EXCEPT !.phase="BaseCostCheckpoint",!.activationSnapshot=world.id,!.action=NewAction5(frame.id,frame.player,ExposureMarkerActionKey105(frame.kind)),!.payment=payment]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ExposureMarkerActionKey105, NewAction5

ExposureMarkerPayValid105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerPayValid105(f) == PayExposureMarkerAction105(f.reserved,f.paid,<<f.busy>>,f.world,f.afterWorld,ExposureMarkerDeclarationsFixture105(f.world),ExposureMarkerDeclarationsFixture105(f.afterWorld),
 CardFacts10,Empty10,Empty10,f.selected,f.payment)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, ExposureMarkerDeclarationsFixture105, PayExposureMarkerAction105, CardFacts10

ExposureMarkerPaymentFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerPaymentFixture105(frame,world,afterWorld,selected,amount) ==
 [tag |-> "BasicExposureMarkerTriggerPayment",id |-> frame.transaction,actionId |-> frame.id,player |-> frame.player,
  beforeSnapshot |-> world.id,afterSnapshot |-> afterWorld.id,actionPoints |-> 1,resourceUnits |-> amount,paidCounterIds |-> selected,complete |-> TRUE]

Exact module download · Source bundle and reproduction instructions

ExposureMarkerQuantityAndStatusChecks105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerQuantityAndStatusChecks105 ==
 LET world==ExposureMarkerWorldFixture105("SideB",0,TRUE)
     declarations==ExposureMarkerDeclarationsFixture105(world)
     noPap==ExposureMarkerWorldFixture105("SideB",0,FALSE)
     countWorld==ExposureMarkerWorldFixture105("SideB",1,FALSE)
     considered==[world EXCEPT !.objects=ReplacementOverlay99(@,[id \in {1,2,3} |-> CASE id=1 -> [ExposureMarkerCounterRow105 EXCEPT !.virtual=TRUE]
                     [] id=2 -> [ExposureMarkerCounterRow105 EXCEPT !.host=11,!.zone="Play"] [] OTHER -> [ExposureMarkerCounterRow105 EXCEPT !.kind="Power"]])]
     expected==[id \in {1} |-> StaticProjection94(ExposureMarkerStaticSyntax105,ExposureMarkerStaticPart105,TRUE)]
     conditions==[tag |-> "StaticConditionSnapshot",ability |-> 1050,source |-> ObjectAbilitySource9(10),receipts |-> Empty10]
     atom==[DamageAtomFixture104("Specimen0106","Do","HarmClassA",4) EXCEPT !.kind="ExposureMarkers"]
     ctx==DamageContextFixture104(atom,0)
     added==[id \in 100..103 |-> ExposureMarkerCounterRow105]
     afterObjects==ReplacementOverlay99(noPap.objects,added)
     event==[tag |-> "ExposureMarkersTaken",contextId |-> ctx.id,reference |-> ctx.currentRef,effectId |-> 1,source |-> atom.baseOrigin,
             actor |-> "SideA",player |-> "SideB",amount |-> 4,counters |-> DOMAIN added]
 IN /\ ObserveStaticDeclarations94(ExposureMarkerStaticSyntax105,[id \in {1} |-> ExposureMarkerStaticPart105],TRUE,conditions,[id \in {1} |-> TRUE],expected)
    /\ ObserveStaticDeclarations94(ExposureMarkerStaticSyntax105,[id \in {1} |-> ExposureMarkerStaticPart105],FALSE,conditions,[id \in {1} |-> TRUE],Empty10)
    /\ CurrentExposureMarkerState105(world,declarations,CardFacts10,ExposureMarkerStateView105(world.objects,declarations))
    /\ ExposureMarkerStateView105(world.objects,declarations).quantity=0 /\ ExposureMarkerStateView105(world.objects,declarations).hasExposureMarkers
    /\ CurrentExposureMarkerState105(noPap,Empty10,CardFacts10,ExposureMarkerStateView105(noPap.objects,Empty10)) /\ ~ExposureMarkerStateView105(noPap.objects,Empty10).hasExposureMarkers
    /\ CurrentExposureMarkerState105(countWorld,Empty10,CardFacts10,ExposureMarkerStateView105(countWorld.objects,Empty10)) /\ ExposureMarkerStateView105(countWorld.objects,Empty10).hasExposureMarkers
    /\ ExposureMarkerQuantity105(considered.objects)=1 /\ MovableExposureMarkerIds105(considered.objects)={}
    /\ ~CurrentExposureMarkerState105(world,[declarations EXCEPT ![1].snapshotId=99],CardFacts10,ExposureMarkerStateView105(world.objects,declarations))
    /\ ~CurrentExposureMarkerState105(noPap,[declarations EXCEPT ![1].sourceObject=noPap.objects[10]],CardFacts10,ExposureMarkerStateView105(noPap.objects,declarations))
    /\ TakeExposureMarkers105(ctx,ctx.currentRef,noPap,1,afterObjects,added,DOMAIN noPap.objects,event)
    /\ ExposureMarkerQuantity105(afterObjects)=4
    /\ ~TakeExposureMarkers105(ctx,ctx.currentRef,noPap,1,noPap.objects,Empty10,DOMAIN noPap.objects,event)
    /\ ~TakeExposureMarkers105([ctx EXCEPT !.state.effects[1].value=0,!.actualEffects=Empty10],ctx.currentRef,noPap,1,noPap.objects,Empty10,DOMAIN noPap.objects,event)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, ObserveStaticDeclarations94, ReplacementOverlay99, StaticProjection94, DamageAtomFixture104, DamageContextFixture104, Empty10, ExposureMarkerDeclarationsFixture105, ExposureMarkerStaticPart105, ExposureMarkerStaticSyntax105, ExposureMarkerWorldFixture105, CurrentExposureMarkerState105, ExposureMarkerCounterRow105, ExposureMarkerQuantity105, ExposureMarkerStateView105, MovableExposureMarkerIds105, TakeExposureMarkers105, CardFacts10

ExposureMarkerReadyWindow105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerReadyWindow105(world) ==
 LET site==TurnPrioritySite9(world.turn,world.step,world.phaseId,world.actionPoints[world.turn.owner],[turn |-> world.turn,step |-> world.step])
 IN [NewPriorityWindow9(10501,"NeutralValue00001",site,Empty10,0,NoTimingRef9,[id |-> 0,abilityInstance |-> 0,index |-> 0],0) EXCEPT !.stage="Ready",!.checkpoint=400]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: NewPriorityWindow9, NoTimingRef9, TurnPrioritySite9, Empty10

ExposureMarkerReserveValid105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerReserveValid105(f) == ReserveExposureMarkerAction105(<<ExposureMarkerReadyWindow105(f.world)>>,<<f.busy>>,f.world,ExposureMarkerDeclarationsFixture105(f.world),CardFacts10,
 ExposureMarkerStateView105(f.world.objects,ExposureMarkerDeclarationsFixture105(f.world)),f.reserved.kind,ExposureMarkerOptionFixture105(f.reserved.kind),ExposureMarkerLegalityFixture105(f.world,f.reserved.kind),7000,{},f.reserved)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ExposureMarkerDeclarationsFixture105, ExposureMarkerLegalityFixture105, ExposureMarkerOptionFixture105, ExposureMarkerReadyWindow105, ExposureMarkerStateView105, ReserveExposureMarkerAction105, CardFacts10

ExposureMarkerReservedFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerReservedFixture105(kind) ==
 [id |-> 7000,kind |-> kind,player |-> ExposureMarkerActionActor105(kind),windowId |-> 10501,option |-> ExposureMarkerOptionFixture105(kind),transaction |-> 600,
  activationSnapshot |-> 0,phase |-> "Reserved",action |-> [id |-> 0],target |-> 0,instruction |-> 0,effective |-> [mode |-> "NoValue"],
  nestedTransaction |-> 0,effectCosts |-> Empty10,payment |-> [complete |-> FALSE]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, ExposureMarkerOptionFixture105, ExposureMarkerActionActor105

ExposureMarkerStaticPart105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerStaticPart105 == [id |-> 1,ability |-> 1050,conditions |-> {},target |-> "SideB",property |-> "HasExposureMarkers"]

Exact module download · Source bundle and reproduction instructions

ExposureMarkerStaticSyntax105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerStaticSyntax105 == [id |-> 1050,kind |-> "Static",source |-> ObjectAbilitySource9(10),units |-> <<[id |-> 1,category |-> "Declaration",subtype |-> "Plain"]>>]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9

ExposureMarkerTargetedFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerTargetedFixture105(frame,target) == [frame EXCEPT !.phase="Targeted",!.target=target,!.instruction=8000]

Exact module download · Source bundle and reproduction instructions

ExposureMarkerTargetsFrame105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerTargetsFrame105(frame) == [frame EXCEPT !.phase="Targets",!.action.status="Effects"]

Exact module download · Source bundle and reproduction instructions

ExposureMarkerTokenFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerTokenFixture105(kind,zone,host,virtual) == [ExposureMarkerCounterRow105 EXCEPT !.kind=kind,!.zone=zone,!.host=host,!.loc=host,!.virtual=virtual]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ExposureMarkerCounterRow105

ExposureMarkerWorldFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExposureMarkerWorldFixture105(player,count,Specimen0173) ==
 LET objects==ExposureMarkerObjectsFixture105(count,Specimen0173) IN
 [id |-> 100,started |-> TRUE,outcome |-> "Playing",objects |-> objects,
  turn |-> [OpenTurn5(player,1,[p \in SetupPlayers |-> 0]) EXCEPT !.phase="NeutralValue00001"],step |-> IF player="SideA" THEN "ProcedureCode0e20572a4bab" ELSE "ProcedureCode989abc27e0c6",phaseId |-> 10,
  actionPoints |-> [p \in SetupPlayers |-> 3],spent |-> [p \in SetupPlayers |-> 0],owners |-> CheckpointOwners103,
  controllers |-> [id \in DOMAIN objects |-> IF id \in {20,21,22,50} THEN "SideA" ELSE "SideB"],
  activeSources |-> IF Specimen0173 THEN {10,11} ELSE {11},activeAbilities |-> IF Specimen0173 THEN {1050} ELSE {},
  exposureMarkerCostModifiers |-> [kind \in {"RetireResource","RemoveExposureMarker"} |-> Empty10],exposureMarkerSpendPermissions |-> Empty10,additionalResourceCosts |-> Empty10,
  points |-> [p \in SetupPlayers |-> 0],subtypes |-> [id \in DOMAIN objects |-> {}],currentRetireProhibitions |-> {},currentExposureMarkerRemovalProhibitions |-> {}]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointOwners103, Empty10, ExposureMarkerObjectsFixture105, SetupPlayers, OpenTurn5

ExtraWorldFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ExtraWorldFixture105 ==
 LET base==ExposureMarkerWorldFixture105("SideA",1,FALSE)
     objects==ReplacementOverlay99(base.objects,[id \in {12,60,61} |-> IF id=12 THEN [ExposureMarkerCardFixture105("Specimen0136","Play",TRUE) EXCEPT !.marks={"OldExampleFamily028Mark"}]
                   ELSE [ExposureMarkerCardFixture105(IF id=60 THEN "Specimen0106" ELSE "Specimen0221","SideAHand",FALSE) EXCEPT !.face="NA",!.marks={"OldCentralARestriction"}]])
 IN [base EXCEPT !.objects=[objects EXCEPT ![51].zone="Play"],!.controllers=ReplacementOverlay99(@,[id \in {12,60,61} |-> IF id=12 THEN "SideB" ELSE "SideA"]),
       !.activeSources={11,12,51},!.subtypes=ReplacementOverlay99(@,[id \in {12,60,61} |-> IF id=12 THEN {"SchemaAtom044"} ELSE {}]),!.points["SideA"]=3]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, ExposureMarkerCardFixture105, ExposureMarkerWorldFixture105

GeneralChecks101 · operator

reference-profile · input revision 2 · CC0 1.0

GeneralChecks101 ==
 LET objects==[i \in {1,2,3,4} |-> Obj101("NeutralValue00006","Card","Equipment","Play",0,FALSE)]
     names==[i \in DOMAIN objects |-> IF i=4 THEN "other" ELSE "Specimen0036"]
     plan==UniqueActivationPlan101(objects,names,{1,2,3},{1,2,4},{1,2,3,4},3)
     restrictedDemandObjects==[i \in 1..8 |-> CASE i=1 -> Obj101("Specimen0174","Card","Technique","Play",0,FALSE)
        [] i=2 -> Obj101("none","Counter","SchemaAtom180","Play",1,FALSE)
        [] i=3 -> Obj101("none","Counter","Power","Play",1,FALSE)
        [] i=4 -> Obj101("none","Counter","SchemaAtom180","Play",1,TRUE)
        [] i=5 -> Obj101("none","Counter","SchemaAtom180","SideAExposureMarkers",0,FALSE)
        [] i=6 -> Obj101("none","Counter","SchemaAtom180","Play",3,FALSE)
        [] i=7 -> Obj101("Specimen0046","Counter","SchemaAtom180","Play",1,FALSE)
        [] OTHER -> Obj101("Specimen0061","Card","Plan","SideADiscard",0,FALSE)]
     purged==Without101(restrictedDemandObjects,{2,7})
     objective==[mode |-> "Objective",card |-> "Specimen0158",createdBy |-> 101,owner |-> "SideA",
              gained |-> [kind |-> "Objective",objectivePoints |-> -1]]
     counter==[mode |-> "Counter",card |-> "Specimen0046",createdBy |-> 102,owner |-> "SideA",
               gained |-> [kind |-> "SchemaAtom043",ability |-> 99]]
     printedObjective==[kind |-> "Facility",objectivePoints |-> 0,subtypes |-> {"SchemaAtom014"},ability |-> 4]
     printedCounter==[kind |-> "Plan",ability |-> 5]
     source==[i \in {10} |-> Obj101("Specimen0158","Card","Objective","SideBObjectiveCompletion",0,FALSE)]
     discarded==[i \in {11} |-> [card |-> "Specimen0158",form |-> "Card",kind |-> "Facility",zone |-> "SideADiscard",host |-> 0,deployed |-> FALSE,properties |-> printedObjective,owner |-> "SideA"]]
     forfeited==[i \in {11} |-> [discarded[11] EXCEPT !.zone="Removed"]]
     trash==[original |-> 10,successor |-> 11,physical |-> "Specimen0158",complete |-> TRUE,owner |-> "SideA"]
     sourceCounter==[i \in {10} |-> Obj101("Specimen0046","Counter","SchemaAtom043","Play",1,FALSE)]
     revertedCounter==[i \in {11} |-> [card |-> "Specimen0046",form |-> "Card",kind |-> "Plan",zone |-> "SideADiscard",host |-> 0,deployed |-> FALSE,properties |-> printedCounter,owner |-> "SideA"]]
     counterRetire==[trash EXCEPT !.physical="Specimen0046"]
     mandatory==[id |-> 501,kind |-> "Mandatory",phase |-> "Detected",resolver |-> "SideA",traversal |-> 8,caller |-> 17,iterations |-> 0,disposition |-> "NoValue"]
     optional==[mandatory EXCEPT !.kind="Optional"]
     ended==[mandatory EXCEPT !.phase="Ended",!.iterations=2157]
 IN /\ CardRepositoryPin10="7ac9f802fcac1fc55eb4c8de3aabdd46c9b5d45f"
    /\ CardFacts10["NeutralValue00006"].unique /\ ~CardFacts10["Specimen0267"].unique
    /\ plan.valid /\ plan.targets={1,2} /\ plan.timing="NextCheckpoint" /\ ~plan.preventable
    /\ UniqueActivationRetire101(plan,{1,2},"ProcedureCodefe50c31480ea",FALSE)
    /\ ~UniqueActivationRetire101(plan,{1},"ProcedureCodefe50c31480ea",FALSE)
    /\ ~UniqueActivationRetire101(plan,{1,2},"ProcedureCodee605a78f5d5e",FALSE)
    /\ ~UniqueActivationRetire101(plan,{1,2},"ProcedureCodefe50c31480ea",TRUE)
    /\ ~UniqueActivationPlan101(objects,names,{1,2,3},{1,2,3,4},{1,2,3,4},3).valid
    /\ ~UniqueActivationPlan101(objects,names,{1,2},{1,2,4},{1,2,3,4},3).valid
    /\ UniqueActivationPlan101(objects,names,{3},{1,2,4},{1,2,3,4},3).targets={1,2}
    /\ PurgeClusterPlan101(restrictedDemandObjects)=[targets |-> {2,7},bank |-> {2},revertAndRetire |-> {7}]
    /\ PurgeClusterOriginalProjectionPost101(restrictedDemandObjects,purged,{2},{7})
    /\ ~PurgeClusterOriginalProjectionPost101(restrictedDemandObjects,Without101(restrictedDemandObjects,{2,4,7}),{2,4},{7})
    /\ ~PurgeClusterOriginalProjectionPost101(restrictedDemandObjects,Without101(restrictedDemandObjects,{2,3,7}),{2,3},{7})
    /\ ~PurgeClusterOriginalProjectionPost101(restrictedDemandObjects,purged,{2,7},{})
    /\ ConversionValid101(objective) /\ ConversionValid101(counter)
    /\ ~ConversionValid101([objective EXCEPT !.gained.kind="Facility"])
    /\ ~ConversionValid101([counter EXCEPT !.gained.kind="Plan"])
    /\ ConversionProperties101(objective,printedObjective,"SideBObjectiveCompletion","SideBObjectiveCompletion")=objective.gained
    /\ ConversionProperties101(objective,printedObjective,"SideBObjectiveCompletion","SideAObjectiveCompletion")=objective.gained
    /\ "ability" \notin DOMAIN ConversionProperties101(objective,printedObjective,"SideBObjectiveCompletion","SideAObjectiveCompletion")
    /\ ConversionExitPlan101(objective,printedObjective,"SideBObjectiveCompletion","SideAHand","Add").trashImmediately
    /\ ~ConversionExitPlan101(objective,printedObjective,"SideBObjectiveCompletion","Removed","Forfeit").trashImmediately
    /\ ConversionExitPost101(objective,printedObjective,10,11,source,discarded,{10},"SideAHand","Add",trash)
    /\ ConversionExitPost101(objective,printedObjective,10,11,source,forfeited,{10},"Removed","Forfeit",trash)
    /\ ~ConversionExitPost101(objective,printedObjective,10,11,source,forfeited,{10},"Removed","Add",trash)
    /\ ~ConversionExitPost101(objective,printedObjective,10,11,source,discarded,{10,11},"SideAHand","Add",trash)
    /\ ~ConversionExitPost101(objective,printedObjective,10,11,source,discarded,{10},"SideAHand","Add",[trash EXCEPT !.physical="NeutralValue00006"])
    /\ ~ConversionExitPost101(objective,printedObjective,10,11,source,[discarded EXCEPT ![11].zone="SideBDiscard"],{10},"SideAHand","Add",[trash EXCEPT !.owner="SideB"])
    /\ ~ConversionExitPost101(objective,printedObjective,10,11,source,[discarded EXCEPT ![11].properties=objective.gained],{10},"SideAHand","Add",trash)
    /\ ConversionProperties101(counter,printedCounter,"Play","Play")=counter.gained
    /\ ConversionProperties101(counter,printedCounter,"Play","SetAside")=printedCounter
    /\ ConversionExitPlan101(counter,printedCounter,"Play","SetAside","Forfeit").trashImmediately
    /\ ConversionExitPost101(counter,printedCounter,10,11,sourceCounter,revertedCounter,{10},"SetAside","Add",counterRetire)
    /\ NamedReference101(1,"Specimen0036","Specimen0036",FALSE,objects,names)={1}
    /\ NamedReference101(1,"Specimen0036","Specimen0036",TRUE,objects,names)={1,2,3}
    /\ NamedReference101(9,"Specimen0129","Specimen0129",FALSE,objects,names)={9}
    /\ NamedReference101(9,"Specimen0129","Specimen0036",FALSE,objects,names)={1,2,3}
    /\ LoopTrait101("Mandatory",FALSE,FALSE)="ChooseCount"
    /\ LoopTrait101("Optional",TRUE,FALSE)="SideBWithdrawTraversal"
    /\ LoopTrait101("Optional",TRUE,TRUE)="SideAContinueTraversal"
    /\ LoopTrait101("Optional",FALSE,FALSE)="NoRuleIn10.1.6"
    /\ ResolveMandatoryLoop101(mandatory,ended,17,17,2157,[i \in 1..2158 |-> 17],LoopProfile101)
    /\ ResolveMandatoryLoop101(mandatory,[mandatory EXCEPT !.phase="Ended"],17,17,0,<<17>>,LoopProfile101)
    /\ ~ResolveMandatoryLoop101(mandatory,ended,17,18,2157,[i \in 1..2158 |-> 17],LoopProfile101)
    /\ ResolveMandatoryLoop101(mandatory,[mandatory EXCEPT !.phase="Ended",!.iterations=2],0,2,2,<<0,1,2>>,LoopIncrement101)
    /\ ~ResolveMandatoryLoop101(mandatory,[mandatory EXCEPT !.phase="Ended",!.iterations=2],0,9,2,<<0,1,9>>,LoopIncrement101)
    /\ ResolveOptionalTraversalLoop101(optional,[optional EXCEPT !.phase="Ended",!.disposition="WithdrawTraversal"],FALSE,"SideB","WithdrawTraversal")
    /\ ResolveOptionalTraversalLoop101(optional,[optional EXCEPT !.phase="Ended",!.disposition="Continue"],TRUE,"SideA","Continue")
    /\ ~ResolveOptionalTraversalLoop101(optional,[optional EXCEPT !.phase="Ended",!.disposition="Continue"],FALSE,"SideA","Continue")
    /\ ~ResolveOptionalTraversalLoop101(optional,[optional EXCEPT !.phase="Ended",!.disposition="WithdrawTraversal"],TRUE,"SideB","WithdrawTraversal")
    /\ ~ResolveOptionalTraversalLoop101(optional,[optional EXCEPT !.phase="Ended",!.disposition="Continue"],TRUE,"SideB","Continue")

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: LoopIncrement101, LoopProfile101, Obj101, ConversionExitPlan101, ConversionExitPost101, ConversionProperties101, ConversionValid101, LoopTrait101, NamedReference101, PurgeClusterOriginalProjectionPost101, PurgeClusterPlan101, ResolveMandatoryLoop101, ResolveOptionalTraversalLoop101, UniqueActivationPlan101, UniqueActivationRetire101, Without101, CardFacts10, CardRepositoryPin10

ImpossibleLegal103 · operator

reference-profile · input revision 2 · CC0 1.0

ImpossibleLegal103(selected) == FALSE

Exact module download · Source bundle and reproduction instructions

InfoObj102 · operator

reference-profile · input revision 2 · CC0 1.0

InfoObj102(card,form,kind,zone,host,virtual,face,loc) ==
 [card |-> card,form |-> form,kind |-> kind,zone |-> zone,host |-> host,virtual |-> virtual,face |-> face,loc |-> loc]

Exact module download · Source bundle and reproduction instructions

InformationChecks102 · operator

reference-profile · input revision 2 · CC0 1.0

InformationChecks102 ==
 LET o==[i \in 1..7 |-> CASE i=1 -> InfoObj102("Specimen0038","Card","Objective","SideADeck",0,FALSE,"NA",1)
       [] i=2 -> InfoObj102("Specimen0221","Card","Facility","SideADeck",0,FALSE,"NA",2)
       [] i=3 -> InfoObj102("Specimen0221","Card","Facility","SideAHand",0,FALSE,"NA",3)
       [] i=4 -> InfoObj102("Specimen0221","Card","Facility","Play",0,FALSE,"Down","root1")
       [] i=5 -> InfoObj102("Specimen0221","Card","Facility","SideADiscard",0,FALSE,"Down",5)
       [] i=6 -> InfoObj102("Specimen0118","Card","Action","SideBDiscard",0,FALSE,"Up",6)
       [] OTHER -> InfoObj102("none","Counter","ResourceUnit","SideBResourceUnits",0,FALSE,"Up",7)]
     controllers==[i \in DOMAIN o |-> IF i \in {6,7} THEN "SideB" ELSE "SideA"]
     Specimen0118==[id \in {91} |-> [object |-> 1,zone |-> "SideADeck",loc |-> 1,viewers |-> {"SideB"}]]
     exposed==[id \in {92} |-> [object |-> 4,zone |-> "Play",loc |-> "root1",viewers |-> SetupPlayers]]
     deckFact==CardProfileFact102(1,o,controllers,Empty10,100)
     lookFact==CardProfileFact102(1,o,controllers,Specimen0118,100)
     handFact==CardProfileFact102(3,o,controllers,Empty10,100)
     deployedFact==CardProfileFact102(4,o,controllers,Empty10,100)
     archivedFact==CardProfileFact102(5,o,controllers,Empty10,100)
     bDiscardPileFact==CardProfileFact102(6,o,controllers,Empty10,100)
     resourceUnits==ResourceUnitPoolFact102("SideB",o,100)
     counts==ZoneCountFact102("SideADeck",o,100)
     facts==[id \in {1,2,3,4,5,6,7,8} |-> CASE id=1 -> deckFact [] id=2 -> handFact [] id=3 -> deployedFact
             [] id=4 -> archivedFact [] id=5 -> bDiscardPileFact [] id=6 -> resourceUnits [] id=7 -> counts [] OTHER -> lookFact]
     secretSwap==[facts EXCEPT ![1].value="Specimen0221"]
     observation==[tag |-> "AuthoritativeObservation",player |-> "SideB",fact |-> 8,value |-> "Specimen0038",snapshot |-> 100]
     bluff==[tag |-> "Claim",speaker |-> "SideA",recipient |-> "SideB",fact |-> 3,value |-> "Specimen0038",snapshot |-> 100,verifiedOpen |-> FALSE]
     honest==[bluff EXCEPT !.value="Specimen0221"]
     declaredChoice==[source |-> 30,key |-> "ChosenBarrier",target |-> 40]
     choices==[id \in {700} |-> declaredChoice]
     openChoices==PublicChoiceFacts102(choices,100)
     laterChoices==PublicChoiceFacts102(choices,200)
     response==[id \in {700} |-> [value |-> declaredChoice,snapshot |-> 200]]
     core==CoreInformationCatalog102(o,controllers,Empty10,choices,100)
     coreChangedHidden==CoreInformationCatalog102([o EXCEPT ![1].card="Specimen0221"],controllers,Empty10,choices,100)
     duringLook==CoreInformationCatalog102(o,controllers,Specimen0118,choices,100)
     hosted==[id \in {1,2,3} |-> CASE id=1 -> InfoObj102("Specimen0118","Card","Action","Play",3,FALSE,"Down",3)
          [] id=2 -> InfoObj102("Specimen0088","Card","Technique","Play",3,FALSE,"Down",3)
          [] OTHER -> InfoObj102("Specimen0227","Card","Support","Play",0,FALSE,"Up","root")]
     hostedControllers==[id \in DOMAIN hosted |-> "SideB"]
     oneHostedGrant==[id \in {93} |-> [object |-> 1,zone |-> "Play",loc |-> 3,viewers |-> {"SideA"}]]
 IN /\ InformationClass102(SetupPlayers)="Open"
    /\ InformationClass102({"SideA"})="Hidden" /\ InformationClass102({})="Hidden"
    /\ deckFact.viewers={} /\ lookFact.viewers={"SideB"}
    /\ handFact.viewers={"SideA"} /\ deployedFact.viewers={"SideA"} /\ archivedFact.viewers={"SideA"}
    /\ bDiscardPileFact.viewers=SetupPlayers
    /\ CardProfileFact102(4,o,controllers,exposed,100).viewers=SetupPlayers
    /\ resourceUnits.value=1 /\ resourceUnits.viewers=SetupPlayers /\ counts.value=2 /\ counts.viewers=SetupPlayers
    /\ PlayerInformationView102(facts,"SideB",100)=[id \in {5,6,7,8} |-> facts[id].value]
    /\ PlayerInformationView102(facts,"SideB",100)=PlayerInformationView102(secretSwap,"SideB",100)
    /\ ObserveCurrentInformation102(<<>>,<<observation>>,facts,8,"SideB",100)
    /\ ~ObserveCurrentInformation102(<<>>,<<[observation EXCEPT !.fact=1]>>,facts,1,"SideB",100)
    /\ ~ObserveCurrentInformation102(<<>>,<<observation>>,facts,8,"SideB",101)
    /\ ~ObserveCurrentInformation102(<<>>,<<[observation EXCEPT !.tag="Claim"]>>,facts,8,"SideB",100)
    /\ CardProfileFact102(1,o,controllers,Empty10,101).viewers={}
    /\ CurrentLookViewers102(1,[o EXCEPT ![1].loc=2],Specimen0118)={}
    /\ CardProfileFact102(2,o,controllers,Specimen0118,100).viewers={}
    /\ CommunicateInformation102(<<>>,<<bluff>>,o,o,facts,3,"SideA","SideB","Specimen0038",100)
    /\ CommunicateInformation102(<<>>,<<honest>>,o,o,facts,3,"SideA","SideB","Specimen0221",100)
    /\ ~CommunicateInformation102(<<>>,<<bluff>>,o,[o EXCEPT ![4].card="Specimen0038"],facts,3,"SideA","SideB","Specimen0038",100)
    /\ ~CommunicateInformation102(<<>>,<<bluff>>,o,o,facts,1,"SideA","SideB","Specimen0038",100)
    /\ ~CommunicateInformation102(<<>>,<<[bluff EXCEPT !.fact=6,!.value=9,!.verifiedOpen=TRUE]>>,o,o,facts,6,"SideA","SideB",9,100)
    /\ DiscoverOpenInformation102(facts,"SideA",{5,6,7},[id \in {5,6,7} |-> [value |-> facts[id].value,snapshot |-> 100]],100)
    /\ ~DiscoverOpenInformation102(facts,"SideA",{5,6,7},[id \in {5,6} |-> [value |-> facts[id].value,snapshot |-> 100]],100)
    /\ ~DiscoverOpenInformation102(facts,"SideB",{2},[id \in {2} |-> [value |-> "Specimen0221",snapshot |-> 100]],100)
    /\ PlayerInformationView102(openChoices,"SideA",100)[700]=declaredChoice
    /\ PlayerInformationView102(openChoices,"SideB",100)[700]=declaredChoice
    /\ DiscoverOpenInformation102(laterChoices,"SideA",{700},response,200)
    /\ ~DiscoverOpenInformation102(laterChoices,"SideA",{700},[response EXCEPT ![700].value.target=41],200)
    /\ ~DiscoverOpenInformation102(laterChoices,"SideA",{700},[response EXCEPT ![700].snapshot=100],200)
    /\ ~DiscoverOpenInformation102(openChoices,"SideA",{700},response,200)
    /\ PublicChoiceFacts102(Empty10,201)=Empty10
    /\ PlayerInformationView102(facts,"SideB",101)=Empty10
    /\ PlayerInformationView102(core,"SideB",100)=PlayerInformationView102(coreChangedHidden,"SideB",100)
    /\ <<"CardProfile",1>> \notin DOMAIN PlayerInformationView102(core,"SideB",100)
    /\ PlayerInformationView102(duringLook,"SideB",100)[<<"CardProfile",1>>]="Specimen0038"
    /\ <<"CardProfile",2>> \notin DOMAIN PlayerInformationView102(duringLook,"SideB",100)
    /\ {<<"ZoneCount",z>> : z \in {"SideAHand","SideADeck","SideBHand","SideBDeck"}} \subseteq DOMAIN PlayerInformationView102(core,"SideB",100)
    /\ {<<"ResourceUnitPool",p>> : p \in SetupPlayers} \subseteq DOMAIN PlayerInformationView102(core,"SideA",100)
    /\ PlayerInformationView102(core,"SideA",100)[<<"Choice",700>>]=declaredChoice
    /\ ObserveCurrentInformation102(<<observation>>,Append(<<observation>>,[observation EXCEPT !.player="SideA",!.fact=3,!.value="Specimen0221"]),facts,3,"SideA",100)
    /\ CardProfileFact102(1,hosted,hostedControllers,oneHostedGrant,100).viewers=SetupPlayers
    /\ CardProfileFact102(2,hosted,hostedControllers,oneHostedGrant,100).viewers={"SideB"}
    /\ CardFacts10["Specimen0088"].kind="Technique" /\ CardFacts10["Specimen0118"].kind="Action"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, InfoObj102, CardProfileFact102, CommunicateInformation102, CoreInformationCatalog102, CurrentLookViewers102, DiscoverOpenInformation102, InformationClass102, ObserveCurrentInformation102, PlayerInformationView102, PublicChoiceFacts102, ResourceUnitPoolFact102, ZoneCountFact102, SetupPlayers, CardFacts10

Init10 · operator

reference-profile · input revision 2 · CC0 1.0

Init10 == block10 \in 1..14

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: block10

LiabilityMarkerAtom106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerAtom106(card,operation,value) ==
 [id |-> 1,kind |-> "LiabilityMarker",operation |-> operation,value |-> value,target |-> "SideA",actor |-> IF operation="Give" THEN "SideB" ELSE "SideA",
  baseOrigin |-> ObjectAbilitySource9(900),sourceCard |-> card,sourceSHA |-> CardFacts10[card].sourceSHA,preventable |-> TRUE]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, CardFacts10

LiabilityMarkerContext106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerContext106(atom,world,removed) ==
 [id |-> 10601,phase |-> "Resolving",currentRef |-> DamageReference104(0),currentWorld |-> world.id,
  templates |-> [id \in {1} |-> atom],state |-> [effects |-> IF removed THEN Empty10 ELSE [id \in {1} |-> atom]],
  actualEffects |-> IF removed THEN Empty10 ELSE [id \in {1} |-> atom]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DamageReference104, Empty10

LiabilityMarkerConvertedChecks106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerConvertedChecks106 ==
 LET initial==LiabilityMarkerPayWorld106(2)
     converted==ReplacementOverlay99(initial.objects[100],[card |-> "Specimen0046",owner |-> "SideA",properties |-> [kind |-> "ResourceUnit"],marks |-> {"ConvertedResourceUnitMark"}])
     world==[initial EXCEPT !.objects[100]=converted]
     selected=={100,101}
     successors==[id \in {100} |-> 1000]
     objects==CheckpointRetireMap103(world.objects,selected,successors,CheckpointPrinted103,CheckpointOwners103,{100})
     event==MovementEvent8(9000,"Retire",{100})
     history==[id \in {9000} |-> event]
     ending==LiabilityMarkerEnd106(world.traversal)
     endWorld==[world EXCEPT !.traversal=ending.traversal]
     conversion==[mode |-> "Counter",card |-> "Specimen0046",createdBy |-> 444,owner |-> "SideA",gained |-> [kind |-> "ResourceUnit"]]
     receipt==[original |-> 100,successor |-> 1000,physical |-> "Specimen0046",owner |-> "SideA",complete |-> TRUE]
 IN /\ SpendLiabilityMarkerFund106(world,objects,world.resourceUnitCost,selected,LiabilityMarkerPayment106(world,selected),{},successors,DOMAIN world.objects,
          CheckpointPrinted103,CheckpointOwners103,{100},9000,Empty10,history,{event})
    /\ ReturnLiabilityMarkerFund106(ending,[ending EXCEPT !.fundReturned=TRUE],endWorld,objects,successors,DOMAIN world.objects,
          CheckpointPrinted103,CheckpointOwners103,{100},9000,Empty10,history,{event})
    /\ ConversionExitPost101(conversion,CheckpointPrinted103["Specimen0046"],100,1000,Without101(world.objects,{101}),objects,DOMAIN world.objects,"SideADiscard","LiabilityMarkerResourceUnitLeaves",receipt)
    /\ objects[1000].form="Card" /\ objects[1000].zone="SideADiscard" /\ objects[1000].marks={}
    /\ ~BankSpendReturn4(world.objects,Without101(world.objects,selected),selected,TRUE)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, CheckpointOwners103, CheckpointPrinted103, Empty10, LiabilityMarkerEnd106, LiabilityMarkerPayWorld106, LiabilityMarkerPayment106, CheckpointRetireMap103, ConversionExitPost101, ReturnLiabilityMarkerFund106, SpendLiabilityMarkerFund106, Without101, BankSpendReturn4, MovementEvent8

LiabilityMarkerCost106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerCost106(world,amount) ==
 [tag |-> "ResourceUnitCostContext",id |-> 700,status |-> "Paying",source |-> RuleAbilitySource9("ActualOwnerCost"),player |-> "SideB",traversalId |-> world.traversal.id,snapshotId |-> world.id,amount |-> amount]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: RuleAbilitySource9

LiabilityMarkerDeclarations106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerDeclarations106(world) ==
 IF 90 \in DOMAIN world.objects THEN [id \in {1} |-> [snapshotId |-> world.id,counters |-> {90},sourceObject |-> world.objects[54],sourceSHA |-> CardFacts10["Specimen0057"].sourceSHA,
  projection |-> StaticProjection94(LiabilityMarkerSyntax106,LiabilityMarkerPart106,1)]] ELSE Empty10

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: StaticProjection94, Empty10, LiabilityMarkerPart106, LiabilityMarkerSyntax106, CardFacts10

LiabilityMarkerEnd106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerEnd106(traversal) ==
 [traversal |-> [traversal EXCEPT !.phase="TraversalEnds",!.step="ProcedureCode84dea7dc8ecc",!.ending=TRUE],phaseEndedIds |-> {},windows |-> <<>>,
  windowsDone |-> TRUE,fundReturned |-> FALSE,resultDeclared |-> FALSE,returned |-> FALSE]

Exact module download · Source bundle and reproduction instructions

LiabilityMarkerInit106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerInit106(id) ==
 [OpenInitiation6(OpenTraversal6(id,10*id,"LiabilityMarkerTraversalCaller")) EXCEPT !.traversal.step="ProcedureCodeacc82dbcc545",!.traversal.attacked="SchemaAtom082",!.announced=TRUE,!.costsPaid=TRUE]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: OpenInitiation6, OpenTraversal6

LiabilityMarkerLifecycleChecks106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerLifecycleChecks106 ==
 LET initial==LiabilityMarkerWorld106(2,TRUE,1)
     initiation==LiabilityMarkerInit106(1)
     funded==[initiation EXCEPT !.badPubAdded=TRUE]
     added==[id \in 110..112 |-> LiabilityMarkerFundRow106]
     loaded==ReplacementOverlay99(initial.objects,added)
     grantEvent==[tag |-> "LiabilityMarkerFundLoaded",traversalId |-> 1,source |-> RuleAbilitySource9("ProcedureCode5da712559aad"),snapshotId |-> 100,added |-> 110..112,amount |-> 3]
     beginning==[funded EXCEPT !.traversal.step="ProcedureCode4d6bd06d2c9f"]
     begun==[beginning EXCEPT !.traversal.formalBegun=TRUE]
     live==[initial EXCEPT !.id=101,!.objects=loaded,!.traversal=begun.traversal,!.inside={TimingRef9("SchemaAtom138",1)}]
     paying==[live EXCEPT !.resourceUnitCost=LiabilityMarkerCost106(live,3)]
     selected=={100,110,200}
     afterSpend==[paying EXCEPT !.id=102,!.objects=Without101(@,selected)]
     take==LiabilityMarkerAtom106("Specimen0111","Take",1)
     takeContext==LiabilityMarkerContext106(take,afterSpend,FALSE)
     extraBP==[id \in {120} |-> LiabilityMarkerCounterRow106]
     afterTake==[afterSpend EXCEPT !.id=103,!.objects=ReplacementOverlay99(@,extraBP)]
     remove==LiabilityMarkerAtom106("Specimen0081","Remove",2)
     removeContext==LiabilityMarkerContext106(remove,afterTake,FALSE)
     afterRemove==[afterTake EXCEPT !.id=104,!.objects=Without101(@,{1,2})]
     otherFund==[id \in {190} |-> LiabilityMarkerFundRow106]
     extraFundWorld==[afterRemove EXCEPT !.id=105,!.objects=ReplacementOverlay99(@,otherFund)]
     ending==LiabilityMarkerEnd106(extraFundWorld.traversal)
     endWorld==[extraFundWorld EXCEPT !.traversal=ending.traversal]
     returned==[ending EXCEPT !.fundReturned=TRUE]
     allFund==LiabilityMarkerFundIds106(endWorld.objects)
     empty==Without101(endWorld.objects,allFund)
     nextInit==LiabilityMarkerInit106(2)
     nextWorld==[extraFundWorld EXCEPT !.id=106,!.objects=empty,!.traversal=nextInit.traversal,!.inside={}]
     nextAdded==[id \in {310,311} |-> LiabilityMarkerFundRow106]
     nextObjects==ReplacementOverlay99(empty,nextAdded)
     nextEvent==[tag |-> "LiabilityMarkerFundLoaded",traversalId |-> 2,source |-> RuleAbilitySource9("ProcedureCode5da712559aad"),snapshotId |-> 106,added |-> {310,311},amount |-> 2]
 IN /\ GrantLiabilityMarkerFund106(initiation,funded,initial,loaded,LiabilityMarkerDeclarations106(initial),CardFacts10,added,DOMAIN initial.objects,{grantEvent})
    /\ Cardinality(LiabilityMarkerFundIds106(loaded))=4 /\ BaseSideBPoolIds106(loaded)={200,201}
    /\ ~GrantLiabilityMarkerFund106(initiation,funded,initial,loaded,LiabilityMarkerDeclarations106(initial),CardFacts10,added,DOMAIN initial.objects \cup {110},{grantEvent})
    /\ ~GrantLiabilityMarkerFund106([initiation EXCEPT !.costsPaid=FALSE],[funded EXCEPT !.costsPaid=FALSE],initial,loaded,LiabilityMarkerDeclarations106(initial),CardFacts10,added,DOMAIN initial.objects,{grantEvent})
    /\ ~GrantLiabilityMarkerFund106(funded,funded,initial,loaded,LiabilityMarkerDeclarations106(initial),CardFacts10,added,DOMAIN initial.objects,{grantEvent})
    /\ ~GrantLiabilityMarkerFund106([initiation EXCEPT !.traversal.step="ProcedureCode4d6bd06d2c9f"],[funded EXCEPT !.traversal.step="ProcedureCode4d6bd06d2c9f"],[initial EXCEPT !.traversal.step="ProcedureCode4d6bd06d2c9f"],loaded,LiabilityMarkerDeclarations106(initial),CardFacts10,added,DOMAIN initial.objects,{grantEvent})
    /\ FormalTraversalBegin6(beginning,begun,{TraversalBeginEvent6(beginning.traversal)})
    /\ SpendLiabilityMarkerFund106(paying,afterSpend.objects,paying.resourceUnitCost,selected,LiabilityMarkerPayment106(paying,selected),{},Empty10,DOMAIN paying.objects,
          CheckpointPrinted103,CheckpointOwners103,{},9000,Empty10,Empty10,{})
    /\ TakeLiabilityMarker106(takeContext,takeContext.currentRef,afterSpend,1,CardFacts10,LiabilityMarkerPacketFixture106(take,afterSpend,FALSE),afterTake.objects,extraBP,DOMAIN afterSpend.objects,
          {[tag |-> "LiabilityMarkerTaken",player |-> "SideA",actor |-> "SideA",packet |-> LiabilityMarkerPacketFixture106(take,afterSpend,FALSE),counters |-> {120},amount |-> 1]})
    /\ LiabilityMarkerQuantity106(afterTake.objects)=4 /\ LiabilityMarkerFundIds106(afterTake.objects)={111,112}
    /\ RemoveLiabilityMarker106(removeContext,removeContext.currentRef,afterTake,1,CardFacts10,LiabilityMarkerPacketFixture106(remove,afterTake,FALSE),afterRemove.objects,{1,2},Empty10,DOMAIN afterTake.objects,
          CheckpointPrinted103,CheckpointOwners103,{},9001,Empty10,Empty10,{})
    /\ LiabilityMarkerQuantity106(afterRemove.objects)=2 /\ LiabilityMarkerFundIds106(afterRemove.objects)={111,112}
    /\ BankMintProjection4(afterRemove.objects,extraFundWorld.objects,otherFund,1,"ResourceUnit",DOMAIN afterRemove.objects,[kind |-> "Zone",zone |-> "Bank"],TRUE,TRUE)
    /\ allFund={111,112,190}
    /\ ReturnLiabilityMarkerFund106(ending,returned,endWorld,empty,Empty10,DOMAIN endWorld.objects,CheckpointPrinted103,CheckpointOwners103,{},9002,Empty10,Empty10,{})
    /\ ~ReturnLiabilityMarkerFund106(ending,returned,endWorld,Without101(endWorld.objects,{111,112}),Empty10,DOMAIN endWorld.objects,CheckpointPrinted103,CheckpointOwners103,{},9002,Empty10,Empty10,{})
    /\ ~ReturnLiabilityMarkerFund106([ending EXCEPT !.windowsDone=FALSE],[returned EXCEPT !.windowsDone=FALSE],endWorld,empty,Empty10,DOMAIN endWorld.objects,CheckpointPrinted103,CheckpointOwners103,{},9002,Empty10,Empty10,{})
    /\ LiabilityMarkerQuantity106(empty)=2 /\ BaseSideBPoolIds106(empty)={201}
    /\ GrantLiabilityMarkerFund106(nextInit,[nextInit EXCEPT !.badPubAdded=TRUE],nextWorld,nextObjects,LiabilityMarkerDeclarations106(nextWorld),CardFacts10,nextAdded,DOMAIN nextWorld.objects,{nextEvent})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, RuleAbilitySource9, TimingRef9, CheckpointOwners103, CheckpointPrinted103, Empty10, LiabilityMarkerAtom106, LiabilityMarkerContext106, LiabilityMarkerCost106, LiabilityMarkerDeclarations106, LiabilityMarkerEnd106, LiabilityMarkerInit106, LiabilityMarkerPacketFixture106, LiabilityMarkerPayment106, LiabilityMarkerWorld106, BaseSideBPoolIds106, GrantLiabilityMarkerFund106, LiabilityMarkerCounterRow106, LiabilityMarkerFundIds106, LiabilityMarkerFundRow106, LiabilityMarkerQuantity106, RemoveLiabilityMarker106, ReturnLiabilityMarkerFund106, SpendLiabilityMarkerFund106, TakeLiabilityMarker106, Without101, BankMintProjection4, CardFacts10, FormalTraversalBegin6, TraversalBeginEvent6

LiabilityMarkerObjects106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerObjects106(count,exampleFamily053,fund) ==
 [id \in (1..count) \cup (IF exampleFamily053 THEN {90} ELSE {}) \cup (100..(99+fund)) \cup {54,200,201,210,500} |->
  CASE id \in 1..count -> LiabilityMarkerCounterRow106
    [] id=90 -> [LiabilityMarkerCounterRow106 EXCEPT !.virtual=TRUE]
    [] id=54 -> ExposureMarkerCardFixture105("Specimen0057",IF exampleFamily053 THEN "Play" ELSE "SideBDiscard",FALSE)
    [] id \in 100..(99+fund) -> LiabilityMarkerFundRow106
    [] id=210 -> ExposureMarkerTokenFixture105("ResourceUnit","SideAResourceUnits",0,FALSE)
    [] id=500 -> ExposureMarkerTokenFixture105("ResourceUnit","Play",54,FALSE)
    [] OTHER -> ExposureMarkerTokenFixture105("ResourceUnit","SideBResourceUnits",0,FALSE)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ExposureMarkerCardFixture105, ExposureMarkerTokenFixture105, LiabilityMarkerCounterRow106, LiabilityMarkerFundRow106

LiabilityMarkerPacketChecks106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerPacketChecks106 ==
 /\ \A card \in {"Specimen0111","Specimen0121"} :
      LET world==LiabilityMarkerWorld106(0,FALSE,1)
          operation==IF card="Specimen0111" THEN "Take" ELSE "Give"
          atom==LiabilityMarkerAtom106(card,operation,1)
          context==LiabilityMarkerContext106(atom,world,FALSE)
          packet==LiabilityMarkerPacketFixture106(atom,world,FALSE)
          added==[id \in {10} |-> LiabilityMarkerCounterRow106]
          after==ReplacementOverlay99(world.objects,added)
          event==[tag |-> "LiabilityMarkerTaken",player |-> "SideA",actor |-> atom.actor,packet |-> packet,counters |-> {10},amount |-> 1]
          omitted==LiabilityMarkerPacketFixture106(atom,world,TRUE)
      IN /\ TakeLiabilityMarker106(context,context.currentRef,world,1,CardFacts10,packet,after,added,DOMAIN world.objects,{event})
         /\ LiabilityMarkerFundIds106(after)={100} /\ after[100]=world.objects[100]
         /\ PreventExpectedWhole99(context.state.effects,Empty10,1)
         /\ TakeLiabilityMarker106(LiabilityMarkerContext106(atom,world,TRUE),context.currentRef,world,1,CardFacts10,omitted,world.objects,Empty10,DOMAIN world.objects,{})
         /\ ~TakeLiabilityMarker106(context,context.currentRef,world,1,CardFacts10,[packet EXCEPT !.amount=2],after,added,DOMAIN world.objects,{event})
         /\ ~TakeLiabilityMarker106([context EXCEPT !.currentWorld=99],context.currentRef,world,1,CardFacts10,packet,after,added,DOMAIN world.objects,{event})
         /\ ~LiabilityMarkerPacket106([context EXCEPT !.templates[1].sourceSHA="wrong-sha",!.state.effects[1].sourceSHA="wrong-sha",!.actualEffects[1].sourceSHA="wrong-sha"],context.currentRef,world,1,CardFacts10,[packet EXCEPT !.sourceSHA="wrong-sha"])
 /\ \A value \in {-2,0} :
      LET world==LiabilityMarkerWorld106(0,FALSE,1)
          atom==LiabilityMarkerAtom106("Specimen0111","Take",value)
          context==LiabilityMarkerContext106(atom,world,FALSE)
          packet==LiabilityMarkerPacketFixture106(atom,world,FALSE)
      IN TakeLiabilityMarker106(context,context.currentRef,world,1,CardFacts10,packet,world.objects,Empty10,DOMAIN world.objects,{})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: PreventExpectedWhole99, ReplacementOverlay99, Empty10, LiabilityMarkerAtom106, LiabilityMarkerContext106, LiabilityMarkerPacketFixture106, LiabilityMarkerWorld106, LiabilityMarkerCounterRow106, LiabilityMarkerFundIds106, LiabilityMarkerPacket106, TakeLiabilityMarker106, CardFacts10

LiabilityMarkerPacketFixture106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerPacketFixture106(atom,world,removed) ==
 [contextId |-> 10601,reference |-> DamageReference104(0),effectId |-> 1,snapshotId |-> world.id,source |-> atom.baseOrigin,
  sourceCard |-> atom.sourceCard,sourceSHA |-> atom.sourceSHA,operation |-> atom.operation,actor |-> atom.actor,amount |-> IF removed \/ atom.value<=0 THEN 0 ELSE atom.value]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DamageReference104

LiabilityMarkerPart106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerPart106 == [id |-> 1,ability |-> 1060,conditions |-> {},target |-> "SideA",property |-> "AdditionalLiabilityMarker"]

Exact module download · Source bundle and reproduction instructions

LiabilityMarkerPayWorld106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerPayWorld106(amount) ==
 LET w==LiabilityMarkerWorld106(1,FALSE,2)
     r==[w.traversal EXCEPT !.formalBegun=TRUE,!.phase="Movement",!.step="ProcedureCode4f60245a1dde"]
     live==[w EXCEPT !.traversal=r,!.inside={TimingRef9("SchemaAtom138",1)}]
 IN [live EXCEPT !.resourceUnitCost=LiabilityMarkerCost106(live,amount)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: TimingRef9, LiabilityMarkerCost106, LiabilityMarkerWorld106

LiabilityMarkerPayment106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerPayment106(world,selected) ==
 [tag |-> "CompletedResourceUnitMethod",id |-> world.resourceUnitCost.id,source |-> world.resourceUnitCost.source,player |-> "SideB",traversalId |-> world.traversal.id,
  snapshotId |-> world.id,amount |-> world.resourceUnitCost.amount,paidCounterIds |-> selected,fundCounters |-> selected \cap LiabilityMarkerFundIds106(world.objects),complete |-> TRUE]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: LiabilityMarkerFundIds106

LiabilityMarkerPaymentChecks106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerPaymentChecks106 ==
 LET world==LiabilityMarkerPayWorld106(2)
     selected=={100,200}
     stale==[world EXCEPT !.inside={}]
     outside==[world EXCEPT !.traversal=NoTraversal6,!.inside={}]
     sideA==[world EXCEPT !.resourceUnitCost.player="SideA"]
     wrongTraversal==[world EXCEPT !.resourceUnitCost.traversalId=2]
     oldCost==[world EXCEPT !.resourceUnitCost.snapshotId=99]
     virtual==[world EXCEPT !.objects[100].virtual=TRUE]
     beforeTraversal==[world EXCEPT !.traversal=LiabilityMarkerInit106(1).traversal,!.inside={}]
 IN /\ LiabilityMarkerSpendValid106(world,selected)
    /\ LiabilityMarkerSpendSources106(LiabilityMarkerPayment106(world,selected))={RuleAbilitySource9("ProcedureCode51c5eb4c9e6c")}
    /\ LiabilityMarkerSpendSources106(LiabilityMarkerPayment106(world,{200,201}))={}
    /\ LiabilityMarkerSpendValid106(world,{100,101}) /\ LiabilityMarkerSpendValid106(world,{200,201})
    /\ ~LiabilityMarkerSpendValid106(stale,selected) /\ DuringTraversal6(stale.traversal)
    /\ ~LiabilityMarkerSpendValid106(outside,selected)
    /\ ~LiabilityMarkerSpendValid106([world EXCEPT !.traversal.complete=TRUE],selected)
    /\ ~LiabilityMarkerSpendValid106(beforeTraversal,selected)
    /\ ~LiabilityMarkerSpendValid106(sideA,selected)
    /\ ~LiabilityMarkerSpendValid106(wrongTraversal,selected) /\ ~LiabilityMarkerSpendValid106(oldCost,selected)
    /\ ~LiabilityMarkerSpendValid106(world,{100}) /\ ~LiabilityMarkerSpendValid106(world,{100,210}) /\ ~LiabilityMarkerSpendValid106(world,{100,500})
    /\ ~LiabilityMarkerSpendValid106(virtual,selected)
    /\ ~SpendLiabilityMarkerFund106(world,Without101(world.objects,selected),world.resourceUnitCost,selected,LiabilityMarkerPayment106(world,selected),{700},Empty10,
          DOMAIN world.objects,CheckpointPrinted103,CheckpointOwners103,{},9000,Empty10,Empty10,{})
 /\ LET exampleFamily053World==LiabilityMarkerWorld106(0,TRUE,1)
        atom==LiabilityMarkerAtom106("Specimen0081","Remove",2)
        context==LiabilityMarkerContext106(atom,exampleFamily053World,FALSE)
        packet==LiabilityMarkerPacketFixture106(atom,exampleFamily053World,FALSE)
    IN /\ RemoveLiabilityMarker106(context,context.currentRef,exampleFamily053World,1,CardFacts10,packet,exampleFamily053World.objects,{},Empty10,DOMAIN exampleFamily053World.objects,CheckpointPrinted103,CheckpointOwners103,{},9000,Empty10,Empty10,{})
       /\ ~RemoveLiabilityMarker106(context,context.currentRef,exampleFamily053World,1,CardFacts10,packet,Without101(exampleFamily053World.objects,{90}),{90},Empty10,DOMAIN exampleFamily053World.objects,CheckpointPrinted103,CheckpointOwners103,{},9000,Empty10,Empty10,{})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: RuleAbilitySource9, CheckpointOwners103, CheckpointPrinted103, Empty10, LiabilityMarkerAtom106, LiabilityMarkerContext106, LiabilityMarkerInit106, LiabilityMarkerPacketFixture106, LiabilityMarkerPayWorld106, LiabilityMarkerPayment106, LiabilityMarkerSpendValid106, LiabilityMarkerWorld106, LiabilityMarkerSpendSources106, RemoveLiabilityMarker106, SpendLiabilityMarkerFund106, Without101, CardFacts10, DuringTraversal6, NoTraversal6

LiabilityMarkerSpendValid106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerSpendValid106(world,selected) ==
 SpendLiabilityMarkerFund106(world,Without101(world.objects,selected),world.resourceUnitCost,selected,LiabilityMarkerPayment106(world,selected),{},Empty10,
      DOMAIN world.objects,CheckpointPrinted103,CheckpointOwners103,{},9000,Empty10,Empty10,{})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointOwners103, CheckpointPrinted103, Empty10, LiabilityMarkerPayment106, SpendLiabilityMarkerFund106, Without101

LiabilityMarkerSyntax106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerSyntax106 == [id |-> 1060,kind |-> "Static",source |-> ObjectAbilitySource9(54),units |-> <<[id |-> 1,category |-> "Declaration",subtype |-> "Plain"]>>]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9

LiabilityMarkerViewsChecks106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerViewsChecks106 ==
 LET world==LiabilityMarkerWorld106(2,TRUE,1)
     declarations==LiabilityMarkerDeclarations106(world)
     expected==[id \in {1} |-> StaticProjection94(LiabilityMarkerSyntax106,LiabilityMarkerPart106,1)]
     conditions==[tag |-> "StaticConditionSnapshot",ability |-> 1060,source |-> ObjectAbilitySource9(54),receipts |-> Empty10]
     noPool==[world EXCEPT !.objects=Without101(@,{200,201})]
     noPhysical==LiabilityMarkerWorld106(0,TRUE,0)
 IN /\ ObserveStaticDeclarations94(LiabilityMarkerSyntax106,[id \in {1} |-> LiabilityMarkerPart106],TRUE,conditions,[id \in {1} |-> 1],expected)
    /\ CurrentLiabilityMarker106(world,declarations,CardFacts10,3)
    /\ LiabilityMarkerQuantity106(noPhysical.objects)=1 /\ MovableLiabilityMarkerIds106(noPhysical.objects)={}
    /\ CurrentLiabilityMarker106(noPhysical,LiabilityMarkerDeclarations106(noPhysical),CardFacts10,1)
    /\ MovableLiabilityMarkerIds106(world.objects)={1,2}
    /\ LiabilityMarkerFundIds106(world.objects)={100} /\ BaseSideBPoolIds106(world.objects)={200,201}
    /\ BaseSideBPoolIds106(noPool.objects)={} /\ LiabilityMarkerFundIds106(noPool.objects)={100}
    /\ ModifiedCost(4,<<LiabilityMarkerQuantity106(world.objects)>>,<<>>)=7
    /\ PlayLocation4(world.objects[100],0)=[kind |-> "ResourceUnitLocation",location |-> "LiabilityMarkerFund"]
    /\ PlayResourceUnitLocationValid4(world.objects[100])
    /\ LiabilityMarkerFundController106(world.objects[100],"none")="SideB"
    /\ LiabilityMarkerFundController106(world.objects[1],"SideA")="SideA" /\ SetupCounterController(world.objects[1],"none","none")="SideA"
    /\ ~CurrentLiabilityMarker106(world,Empty10,CardFacts10,3)
    /\ ~CurrentLiabilityMarker106(world,[declarations EXCEPT ![1].snapshotId=99],CardFacts10,3)
    /\ ~CurrentLiabilityMarker106(world,[declarations EXCEPT ![1].sourceSHA="wrong-sha"],CardFacts10,3)
    /\ ~CurrentLiabilityMarker106([world EXCEPT !.activeAbilities={}],declarations,CardFacts10,3)
    /\ ~CurrentLiabilityMarker106([world EXCEPT !.objects[54].zone="SideBDiscard"],[declarations EXCEPT ![1].sourceObject= [world.objects[54] EXCEPT !.zone="SideBDiscard"]],CardFacts10,3)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, ObserveStaticDeclarations94, StaticProjection94, Empty10, LiabilityMarkerDeclarations106, LiabilityMarkerPart106, LiabilityMarkerSyntax106, LiabilityMarkerWorld106, BaseSideBPoolIds106, CurrentLiabilityMarker106, LiabilityMarkerFundController106, LiabilityMarkerFundIds106, LiabilityMarkerQuantity106, MovableLiabilityMarkerIds106, Without101, ModifiedCost, PlayLocation4, PlayResourceUnitLocationValid4, SetupCounterController, CardFacts10

LiabilityMarkerWorld106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerWorld106(count,exampleFamily053,fund) ==
 [id |-> 100,objects |-> LiabilityMarkerObjects106(count,exampleFamily053,fund),traversal |-> LiabilityMarkerInit106(1).traversal,
  inside |-> {},started |-> TRUE,outcome |-> "Playing",activeAbilities |-> IF exampleFamily053 THEN {1060} ELSE {},
  resourceUnitCost |-> [id |-> 0]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: LiabilityMarkerInit106, LiabilityMarkerObjects106

LiabilityMarkerZeroGrantChecks106 · operator

reference-profile · input revision 2 · CC0 1.0

LiabilityMarkerZeroGrantChecks106 ==
 LET zeroWorld==LiabilityMarkerWorld106(0,FALSE,1)
     zeroInit==LiabilityMarkerInit106(1)
 IN /\ GrantLiabilityMarkerFund106(zeroInit,[zeroInit EXCEPT !.badPubAdded=TRUE],zeroWorld,zeroWorld.objects,Empty10,CardFacts10,Empty10,DOMAIN zeroWorld.objects,{})
    /\ LiabilityMarkerFundIds106(zeroWorld.objects)={100}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, LiabilityMarkerInit106, LiabilityMarkerWorld106, GrantLiabilityMarkerFund106, LiabilityMarkerFundIds106, CardFacts10

LinkBaseFixture107 · operator

reference-profile · input revision 2 · CC0 1.0

LinkBaseFixture107(world) ==
 LET object==world.objects[world.sideBProfile]
     definition==LinkDefinition107(world,object)
 IN [tag |-> "CurrentBaseLink",snapshotId |-> world.id,object |-> world.sideBProfile,physical |-> object.card,definition |-> definition,
     sourceSHA |-> CardFacts10[definition].sourceSHA,printedBase |-> LinkProfileFacts107[definition].baseLink,value |-> world.properties[world.sideBProfile].baseLink]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: LinkDefinition107, LinkProfileFacts107, CardFacts10

LinkDeclaration107 · operator

reference-profile · input revision 2 · CC0 1.0

LinkDeclaration107(world,source,ability,origin,value) ==
 [origin |-> origin,snapshotId |-> world.id,sourceObject |-> world.objects[source],definition |-> LinkDefinition107(world,world.objects[source]),
  sourceSHA |-> CardFacts10[LinkDefinition107(world,world.objects[source])].sourceSHA,projection |-> StaticProjection94(LinkSyntax107(source,ability),LinkPart107(ability),value)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: StaticProjection94, LinkPart107, LinkSyntax107, LinkDefinition107, CardFacts10

LinkDeclaredWorld107 · operator

reference-profile · input revision 2 · CC0 1.0

LinkDeclaredWorld107(world) ==
 [world EXCEPT !.linkDeclarations=[id \in EligiblePrintedLinkSources107(world) |-> LinkDeclaration107(world,id,world.printedLinkAbilities[id],"PrintedLink",1)]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: LinkDeclaration107, EligiblePrintedLinkSources107

LinkFreshnessChecks107 · operator

reference-profile · input revision 2 · CC0 1.0

LinkFreshnessChecks107 ==
 LET w==LinkDeclaredWorld107(LinkWorld107("Specimen0127",{21},FALSE))
     base==LinkBaseFixture107(w)
     declarations==w.linkDeclarations
     wrongSHA==[w EXCEPT !.linkDeclarations[21].sourceSHA="wrong-sha"]
     wrongObject==[w EXCEPT !.linkDeclarations[21].sourceObject.card="PhysicalItem0004"]
     wrongSnapshot==[w EXCEPT !.linkDeclarations[21].snapshotId=99]
     wrongValue==[w EXCEPT !.linkDeclarations[21].projection.value=2]
     inactive==[w EXCEPT !.activeAbilities=@ \ {2100}]
     uninstalled==[w EXCEPT !.objects[21].deployed=FALSE,!.objects[21].zone="SideBHand",!.linkDeclarations[21].sourceObject=[@ EXCEPT !.deployed=FALSE,!.zone="SideBHand"]]
     facedown==[w EXCEPT !.objects[21].face="Down",!.linkDeclarations[21].sourceObject.face="Down"]
     foreign==[w EXCEPT !.controllers[21]="SideA"]
     duplicated==[w EXCEPT !.linkDeclarations=ReplacementOverlay99(@,[id \in {99} |-> declarations[21]])]
 IN /\ LinkValid107(w)
    /\ ~LinkValid107(wrongSHA) /\ ~LinkValid107(wrongObject) /\ ~LinkValid107(wrongSnapshot) /\ ~LinkValid107(wrongValue)
    /\ ~LinkValid107(inactive) /\ ~LinkValid107(uninstalled) /\ ~LinkValid107(facedown) /\ ~LinkValid107(foreign) /\ ~LinkValid107(duplicated)
    /\ ~ReadSideBLink107(w,CardFacts10,[base EXCEPT !.snapshotId=99],declarations,LinkReadFixture107(w))
    /\ ~ReadSideBLink107(w,CardFacts10,[base EXCEPT !.sourceSHA="wrong-sha"],declarations,LinkReadFixture107(w))
    /\ ~ReadSideBLink107(w,CardFacts10,[base EXCEPT !.printedBase=99],declarations,LinkReadFixture107(w))
    /\ ~LinkValid107([w EXCEPT !.printedLinkAbilities=Without101(@,{22})])
    /\ ~LinkValid107([w EXCEPT !.printedLinkAbilities[22]=2100])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, LinkBaseFixture107, LinkDeclaredWorld107, LinkReadFixture107, LinkValid107, LinkWorld107, ReadSideBLink107, Without101, CardFacts10

LinkObject107 · operator

reference-profile · input revision 2 · CC0 1.0

LinkObject107(definition,physical,deployed) ==
 ReplacementOverlay99(CheckpointObject103(definition,"Play",deployed,0),[card |-> physical,side |-> CardFacts10[definition].side])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, CheckpointObject103, CardFacts10

LinkPart107 · operator

reference-profile · input revision 2 · CC0 1.0

LinkPart107(ability) == [id |-> 1,ability |-> ability,conditions |-> {},target |-> "SideB",property |-> "Connection"]

Exact module download · Source bundle and reproduction instructions

LinkProfileAndUseChecks107 · operator

reference-profile · input revision 2 · CC0 1.0

LinkProfileAndUseChecks107 ==
 LET blanked==LinkDeclaredWorld107(LinkWorld107("Specimen0127",{},TRUE))
     baselineProfileFixture==LinkDeclaredWorld107(LinkWorld107("Specimen0229",{},TRUE))
     replacement==[baselineProfileFixture EXCEPT !.id=101,!.sideBProfile=2,
          !.objects=ReplacementOverlay99([@ EXCEPT ![1].zone="Outside"],[id \in {2} |-> LinkObject107("Specimen0163","PhysicalItem0012",FALSE)]),
          !.definitions=ReplacementOverlay99(@,[physical \in {"PhysicalItem0012"} |-> "Specimen0163"]),
          !.properties=ReplacementOverlay99(@,[id \in {2} |-> [baseLink |-> 0]])]
     above==LinkDeclaredWorld107(LinkWorld107("Specimen0163",{21,22},FALSE))
     below==LinkDeclaredWorld107(LinkWorld107("Specimen0163",{21},FALSE))
     aboveSnapshot==[tag |-> "CurrentLinkInstructionSnapshot",id |-> 100,link |-> [player \in {"SideB"} |-> 2]]
     belowSnapshot==[tag |-> "CurrentLinkInstructionSnapshot",id |-> 100,link |-> [player \in {"SideB"} |-> 1]]
     signed==[baselineProfileFixture EXCEPT !.properties[1].baseLink= -3]
     otherLive==[baselineProfileFixture EXCEPT !.objects[21].deployed=TRUE,!.activeAbilities={2100,2101}]
     otherPrinted==LinkDeclaredWorld107(otherLive)
     other==[otherPrinted EXCEPT !.linkDeclarations=ReplacementOverlay99(@,[id \in {900} |-> LinkDeclaration107(otherPrinted,21,2101,"OtherCompiled",-9)])]
 IN /\ LinkValid107(blanked) /\ LinkReadFixture107(blanked).value=1 /\ blanked.activeAbilities={}
    /\ LinkValid107(baselineProfileFixture) /\ LinkReadFixture107(baselineProfileFixture).value=2
    /\ LinkValid107(replacement) /\ LinkReadFixture107(replacement).value=0
    /\ ~ReadSideBLink107(replacement,CardFacts10,LinkBaseFixture107(baselineProfileFixture),Empty10,LinkReadFixture107(replacement))
    /\ LinkInstructionSnapshot107(above,CardFacts10,LinkBaseFixture107(above),above.linkDeclarations,LinkReadFixture107(above),aboveSnapshot)
    /\ InstructionLinkGate96(aboveSnapshot,"SideB")
    /\ LinkInstructionSnapshot107(below,CardFacts10,LinkBaseFixture107(below),below.linkDeclarations,LinkReadFixture107(below),belowSnapshot)
    /\ ~InstructionLinkGate96(belowSnapshot,"SideB")
    /\ LinkValid107(signed) /\ LinkReadFixture107(signed).value= -3
    /\ LinkValid107(other) /\ LinkReadFixture107(other).value= -6
    /\ ~LinkValid107([other EXCEPT !.controllers[21]="SideA",!.linkDeclarations=Without101(@,{21})])
    /\ ~LinkValid107([other EXCEPT !.linkDeclarations=ReplacementOverlay99(@,[id \in {901} |-> other.linkDeclarations[900]])])
    /\ LinkValid107([baselineProfileFixture EXCEPT !.objects[70].zone="SideADiscard"]) /\ LinkReadFixture107(baselineProfileFixture).value=2

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InstructionLinkGate96, ReplacementOverlay99, Empty10, LinkBaseFixture107, LinkDeclaration107, LinkDeclaredWorld107, LinkObject107, LinkReadFixture107, LinkValid107, LinkWorld107, LinkInstructionSnapshot107, ReadSideBLink107, Without101, CardFacts10

LinkReadFixture107 · operator

reference-profile · input revision 2 · CC0 1.0

LinkReadFixture107(world) ==
 [tag |-> "CurrentSideBLink",snapshotId |-> world.id,profile |-> world.sideBProfile,base |-> world.properties[world.sideBProfile].baseLink,
  contributions |-> [id \in DOMAIN world.linkDeclarations |-> world.linkDeclarations[id].projection.value],
  value |-> world.properties[world.sideBProfile].baseLink+SumMap([id \in DOMAIN world.linkDeclarations |-> world.linkDeclarations[id].projection.value])]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SumMap

LinkSyntax107 · operator

reference-profile · input revision 2 · CC0 1.0

LinkSyntax107(source,ability) == [id |-> ability,kind |-> "Static",source |-> ObjectAbilitySource9(source),units |-> <<[id |-> 1,category |-> "Declaration",subtype |-> "Plain"]>>]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9

LinkValid107 · operator

reference-profile · input revision 2 · CC0 1.0

LinkValid107(world) == ReadSideBLink107(world,CardFacts10,LinkBaseFixture107(world),world.linkDeclarations,LinkReadFixture107(world))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: LinkBaseFixture107, LinkReadFixture107, ReadSideBLink107, CardFacts10

LinkValueChecks107 · operator

reference-profile · input revision 2 · CC0 1.0

LinkValueChecks107 ==
 /\ \A profile \in DOMAIN LinkProfileFacts107, count \in 0..2 :
      LET w==LinkDeclaredWorld107(LinkWorld107(profile,IF count=0 THEN {} ELSE IF count=1 THEN {21} ELSE {21,22},FALSE))
      IN /\ LinkValid107(w) /\ LinkReadFixture107(w).value=LinkProfileFacts107[profile].baseLink+count
         /\ w.objects[21].card#w.objects[22].card /\ LinkDefinition107(w,w.objects[21])=LinkDefinition107(w,w.objects[22])
 /\ LET w==LinkDeclaredWorld107(LinkWorld107("Specimen0229",{21,22,23,24,25,26},FALSE))
        base==LinkBaseFixture107(w)
        declarations==w.linkDeclarations
        syntax==LinkSyntax107(21,2100)
        conditions==[tag |-> "StaticConditionSnapshot",ability |-> 2100,source |-> ObjectAbilitySource9(21),receipts |-> Empty10]
    IN /\ LinkValid107(w) /\ base.printedBase=2 /\ LinkReadFixture107(w).value=8
       /\ ObserveStaticDeclarations94(syntax,[id \in {1} |-> LinkPart107(2100)],TRUE,conditions,[id \in {1} |-> 1],[id \in {1} |-> declarations[21].projection])
       /\ ~ReadSideBLink107(w,CardFacts10,base,Empty10,LinkReadFixture107(w))
       /\ ~ReadSideBLink107([w EXCEPT !.linkDeclarations=Without101(@,{21})],CardFacts10,base,Without101(declarations,{21}),LinkReadFixture107([w EXCEPT !.linkDeclarations=Without101(@,{21})]))
       /\ ~ReadSideBLink107(w,CardFacts10,base,declarations,[LinkReadFixture107(w) EXCEPT !.value=7])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, ObserveStaticDeclarations94, Empty10, LinkBaseFixture107, LinkDeclaredWorld107, LinkPart107, LinkReadFixture107, LinkSyntax107, LinkValid107, LinkWorld107, LinkDefinition107, ReadSideBLink107, Without101, LinkProfileFacts107, CardFacts10

LinkWorld107 · operator

reference-profile · input revision 2 · CC0 1.0

LinkWorld107(profile,deployed,blanked) ==
 LET physical==profile \o "PhysicalItem0001"
     objects==[id \in {1,21,22,23,24,25,26,70} |-> CASE id=1 -> LinkObject107(profile,physical,FALSE)
        [] id=21 -> LinkObject107("Specimen0193","PhysicalItem0010",21 \in deployed)
        [] id=22 -> LinkObject107("Specimen0193","PhysicalItem0011",22 \in deployed)
        [] id=23 -> LinkObject107("Specimen0003","PhysicalItem0005",23 \in deployed)
        [] id=24 -> LinkObject107("Specimen0079","PhysicalItem0003",24 \in deployed)
        [] id=25 -> LinkObject107("Specimen0213","PhysicalItem0008",25 \in deployed)
        [] id=26 -> LinkObject107("Specimen0093","Specimen0093-physical",26 \in deployed)
        [] OTHER -> [LinkObject107("Specimen0154","PhysicalItem0007",FALSE) EXCEPT !.zone="SideAObjectiveCompletion"]]
     definitions==[card \in {physical,"PhysicalItem0010","PhysicalItem0011","PhysicalItem0005","PhysicalItem0003","PhysicalItem0008","Specimen0093-physical","PhysicalItem0007"} |->
        CASE card=physical -> profile [] card \in {"PhysicalItem0010","PhysicalItem0011"} -> "Specimen0193" [] card="PhysicalItem0005" -> "Specimen0003"
        [] card="PhysicalItem0003" -> "Specimen0079" [] card="PhysicalItem0008" -> "Specimen0213" [] card="Specimen0093-physical" -> "Specimen0093" [] OTHER -> "Specimen0154"]
 IN [id |-> 100,profileLinkFacts |-> LinkProfileFacts107,linkSymbolFacts |-> LinkSymbolFacts107,sideBProfile |-> 1,objects |-> objects,definitions |-> definitions,properties |-> [id \in {1} |-> [baseLink |-> LinkProfileFacts107[profile].baseLink]],
     controllers |-> [id \in DOMAIN objects |-> IF id=70 THEN "SideA" ELSE "SideB"],printedLinkAbilities |-> [id \in 21..26 |-> id*100],
     activeAbilities |-> {id*100 : id \in deployed} \cup (IF blanked \/ profile="Specimen0229" THEN {} ELSE {10}),linkDeclarations |-> Empty10]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, LinkObject107, LinkProfileFacts107, LinkSymbolFacts107

LoadAndEmptyChecks109 · operator

reference-profile · input revision 2 · CC0 1.0

LoadAndEmptyChecks109 ==
 /\ \A card \in {"Specimen0060","Specimen0067","Specimen0181","Specimen0199","Specimen0230"} :
     LET kind==IF card \in {"Specimen0060","Specimen0067"} THEN "ResourceUnit" ELSE IF card="Specimen0230" THEN "LiabilityMarker" ELSE "Power"
         amount==CASE card="Specimen0060" -> 3 [] card="Specimen0067" -> 8 [] card="Specimen0181" -> 4 [] card="Specimen0199" -> 3 [] OTHER -> 6
         w==LoadWorld109(card,kind)
         loaded==CounterTraversalFixture109(w,"LoadCounters",kind,amount,1,{})
         gone==CounterTraversalFixture109(loaded.after,"RemoveCounters",kind,amount+2,2,DOMAIN loaded.added)
     IN /\ EmptyFixtureValid109(w) /\ ~EmptyReadFixture109(w,w.loadLinks[1]).empty
        /\ CounterTraversalValid109(loaded) /\ Cardinality(DOMAIN loaded.added)=amount
        /\ EmptyFixtureValid109(loaded.after) /\ ~EmptyReadFixture109(loaded.after,loaded.after.loadLinks[1]).empty
        /\ CounterTraversalValid109(gone) /\ gone.after.loadHistory=loaded.after.loadHistory
        /\ EmptyFixtureValid109(gone.after) /\ EmptyReadFixture109(gone.after,gone.after.loadLinks[1]).empty
 /\ LET w==LoadWorld109("Specimen0060","ResourceUnit")
        loaded==CounterTraversalFixture109(w,"LoadCounters","ResourceUnit",3,1,{})
        extra==CounterTraversalFixture109(loaded.after,"PlaceCounters","ResourceUnit",2,2,{})
        originalsGone==CounterTraversalFixture109(extra.after,"RemoveCounters","ResourceUnit",3,3,DOMAIN loaded.added)
        allGone==CounterTraversalFixture109(originalsGone.after,"RemoveCounters","ResourceUnit",2,4,DOMAIN extra.added)
        refilled==CounterTraversalFixture109(allGone.after,"PlaceCounters","ResourceUnit",1,5,{})
        emptyAgain==CounterTraversalFixture109(refilled.after,"RemoveCounters","ResourceUnit",1,6,DOMAIN refilled.added)
        reloaded==CounterTraversalFixture109(emptyAgain.after,"LoadCounters","ResourceUnit",3,7,{})
     IN /\ EmptyWorldsValid109({w,loaded.after,extra.after,originalsGone.after,allGone.after,refilled.after,emptyAgain.after,reloaded.after})
        /\ CounterTraversalValid109(extra) /\ CounterTraversalValid109(originalsGone) /\ CounterTraversalValid109(allGone)
        /\ CounterTraversalValid109(refilled) /\ CounterTraversalValid109(emptyAgain) /\ CounterTraversalValid109(reloaded)
        /\ ~EmptyReadFixture109(originalsGone.after,w.loadLinks[1]).empty
        /\ EmptyReadFixture109(allGone.after,w.loadLinks[1]).empty /\ ~EmptyReadFixture109(refilled.after,w.loadLinks[1]).empty
        /\ EmptyReadFixture109(emptyAgain.after,w.loadLinks[1]).empty /\ ~EmptyReadFixture109(reloaded.after,w.loadLinks[1]).empty
        /\ Cardinality(DOMAIN reloaded.after.loadHistory)=2 /\ DOMAIN loaded.after.loadHistory \subseteq DOMAIN reloaded.after.loadHistory
        /\ extra.after.loadHistory=loaded.after.loadHistory /\ emptyAgain.after.loadHistory=loaded.after.loadHistory

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CounterTraversalFixture109, CounterTraversalValid109, EmptyFixtureValid109, EmptyReadFixture109, EmptyWorldsValid109, LoadWorld109

LoadEffectiveCountChecks109 · operator

reference-profile · input revision 2 · CC0 1.0

LoadEffectiveCountChecks109 ==
 LET w==LoadWorld109("Specimen0181","Power")
     loaded==CounterTraversalFixture109(w,"LoadCounters","Power",4,1,{})
     gone==CounterTraversalFixture109(loaded.after,"RemoveCounters","Power",4,2,DOMAIN loaded.added)
     virtual==[gone.after EXCEPT !.objects=ReplacementOverlay99(@,[id \in {2000} |-> [LoadedCounterToken109("Power","Play",900,"SideB") EXCEPT !.virtual=TRUE]])]
     attempt==CounterTraversalFixture109(virtual,"RemoveCounters","Power",1,3,{2000})
     nested==[gone.after EXCEPT !.objects=ReplacementOverlay99(@,[id \in {2000,2001} |-> IF id=2000 THEN LoadedCounterToken109("SchemaAtom043","Play",900,"SideB") ELSE LoadedCounterToken109("Power","Play",2000,"SideB")])]
     converted==[gone.after EXCEPT !.objects=ReplacementOverlay99(@,[id \in {2000} |-> ReplacementOverlay99(LoadedCounterToken109("Power","Play",900,"SideB"),
                   [card |-> "Specimen0046",owner |-> "SideA",properties |-> [kind |-> "Power"],marks |-> {"ConvertedPower"}])])]
     context==CounterContextFixture109(converted,"RemoveCounters","Power",1,4)
     successors==[id \in {2000} |-> 2100]
     objects==CheckpointRetireMap103(converted.objects,{2000},successors,CheckpointPrinted103,CheckpointOwners103,{})
     event==MovementEvent8(9000,"Retire",{2000})
     history==[id \in {9000} |-> event]
     normalized==[converted EXCEPT !.objects=objects]
 IN /\ EmptyWorldsValid109({virtual,nested,converted,normalized})
    /\ ~EmptyReadFixture109(virtual,virtual.loadLinks[1]).empty /\ ~CounterTraversalValid109(attempt)
    /\ MovableHostedTokens109(virtual.objects,900,"Power")={} /\ EmptyReadFixture109(nested,nested.loadLinks[1]).empty
    /\ ~EmptyReadFixture109(converted,converted.loadLinks[1]).empty
    /\ HostedCounterExecutionDisposition109(converted,context.actualEffects[1])="RequiresConvertedCounterDeparture"
    /\ LiabilityMarkerCounterDeparture106(converted.objects,objects,{2000},successors,DOMAIN converted.objects,CheckpointPrinted103,CheckpointOwners103,{},9000,Empty10,history,{event})
    /\ EmptyReadFixture109(normalized,normalized.loadLinks[1]).empty /\ normalized.loadHistory=converted.loadHistory
    /\ objects[2100].form="Card" /\ objects[2100].zone="SideADiscard" /\ objects[2100].marks={}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, CheckpointOwners103, CheckpointPrinted103, CounterContextFixture109, CounterTraversalFixture109, CounterTraversalValid109, Empty10, EmptyReadFixture109, EmptyWorldsValid109, LoadWorld109, CheckpointRetireMap103, HostedCounterExecutionDisposition109, LiabilityMarkerCounterDeparture106, LoadedCounterToken109, MovableHostedTokens109, MovementEvent8

LoadFreshnessChecks109 · operator

reference-profile · input revision 2 · CC0 1.0

LoadFreshnessChecks109 ==
 LET w==LoadWorld109("Specimen0060","ResourceUnit")
     x==CounterTraversalFixture109(w,"LoadCounters","ResourceUnit",3,1,{})
     gone==CounterTraversalFixture109(x.after,"RemoveCounters","ResourceUnit",3,2,DOMAIN x.added)
     link==w.loadLinks[1]
     h==CHOOSE id \in DOMAIN gone.after.loadHistory : TRUE
     ordinary==CounterTraversalFixture109(w,"PlaceCounters","ResourceUnit",0,3,{})
 IN /\ CounterTraversalValid109(ordinary) /\ ordinary.after.loadHistory=Empty10
    /\ ~CounterInstruction109([x.context EXCEPT !.currentWorld=99],x.context.currentRef,w,1,CardFacts10)
    /\ ~CounterInstruction109([x.context EXCEPT !.actualEffects[1].sourceSHA="wrong",!.state.effects[1].sourceSHA="wrong"],x.context.currentRef,w,1,CardFacts10)
    /\ ~ExecuteBankHostedCounterInstruction109(x.context,x.context.currentRef,[w EXCEPT !.completedCounterInstructions=x.after.completedCounterInstructions],1,CardFacts10,
          x.after.objects,x.after.loadHistory,x.after.completedCounterInstructions,x.selected,x.added,x.after.nextCounterObject,x.eventId,x.event)
    /\ ~ReadEmpty109(gone.after,CardFacts10,[link EXCEPT !.sourceSHA="wrong"],EmptyReadFixture109(gone.after,link))
    /\ ~ReadEmpty109(gone.after,CardFacts10,link,[EmptyReadFixture109(gone.after,link) EXCEPT !.snapshotId=99])
    /\ \A field \in {"host","loadDefinition"} :
        LET altered==[gone.after EXCEPT !.loadHistory[h]=[key \in DOMAIN @ |-> IF key=field THEN 777 ELSE @[key]]]
        IN ~EmptyReadFixture109(altered,link).empty
    /\ ~EmptyReadFixture109([gone.after EXCEPT !.loadHistory[h].reference.source=ObjectAbilitySource9(901)],link).empty
    /\ ~EmptyReadFixture109([gone.after EXCEPT !.loadHistory[h].sourceSHA="wrong"],link).empty
    /\ ~ExecuteBankHostedCounterInstruction109(x.context,x.context.currentRef,[w EXCEPT !.usedObjects=@ \cup DOMAIN x.added],1,CardFacts10,
          x.after.objects,x.after.loadHistory,x.after.completedCounterInstructions,x.selected,x.added,x.after.nextCounterObject,x.eventId,x.event)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, CounterTraversalFixture109, CounterTraversalValid109, Empty10, EmptyReadFixture109, LoadWorld109, CounterInstruction109, ExecuteBankHostedCounterInstruction109, ReadEmpty109, CardFacts10

LoadIncarnationChecks109 · operator

reference-profile · input revision 2 · CC0 1.0

LoadIncarnationChecks109 ==
 LET w==LoadWorld109("Specimen0060","ResourceUnit")
     loaded==CounterTraversalFixture109(w,"LoadCounters","ResourceUnit",3,1,{})
     gone==CounterTraversalFixture109(loaded.after,"RemoveCounters","ResourceUnit",3,2,DOMAIN loaded.added)
     old==gone.after
     bDiscardPileRow==[old.objects[900] EXCEPT !.zone="SideBDiscard",!.loc=0,!.deployed=FALSE,!.activated=FALSE,!.marks={}]
     bDiscardPileObjects==ReplacementOverlay99(Without101(old.objects,{900}),[id \in {901} |-> bDiscardPileRow])
     bDiscardPileWorld==[old EXCEPT !.objects=bDiscardPileObjects,!.controllers=ReplacementOverlay99(Without101(@,{900}),[id \in {901} |-> "SideB"]),!.usedObjects=@ \cup {901}]
     incoming==[bDiscardPileRow EXCEPT !.zone="Play"]
     incomingObjects==ReplacementOverlay99(Without101(bDiscardPileObjects,{901}),[id \in {902} |-> incoming])
     deployed==[bDiscardPileWorld EXCEPT !.objects=ReplacementOverlay99(incomingObjects,[id \in {902} |-> [incoming EXCEPT !.deployed=TRUE]]),
            !.controllers=ReplacementOverlay99(Without101(@,{901}),[id \in {902} |-> "SideB"]),!.usedObjects=@ \cup {902},!.loadLinks=Empty10]
     new==[deployed EXCEPT !.loadLinks=[id \in {1} |-> LoadLinkFixture109(deployed,"Specimen0060",902,"ResourceUnit",1)]]
     secondPhysical=="Specimen0060-copy-2"
     copyRow==[old.objects[900] EXCEPT !.card=secondPhysical]
     copied==[old EXCEPT !.objects=ReplacementOverlay99(@,[id \in {903} |-> copyRow]),!.definitions=ReplacementOverlay99(@,[card \in {secondPhysical} |-> "Specimen0060"]),
         !.controllers=ReplacementOverlay99(@,[id \in {903} |-> "SideB"]),!.loadLinks=Empty10]
     copies==[copied EXCEPT !.loadLinks=[id \in {1,2} |-> LoadLinkFixture109(copied,"Specimen0060",IF id=1 THEN 900 ELSE 903,"ResourceUnit",id)]]
 IN /\ EmptyWorldsValid109({new,copies})
    /\ CardBatchTransfer8(old.objects,bDiscardPileObjects,{900},[id \in {900} |-> 901],old.usedObjects,"SideBDiscard","Up",[id \in {900} |-> 0])
    /\ CardBatchTransfer8(bDiscardPileObjects,incomingObjects,{901},[id \in {901} |-> 902],bDiscardPileWorld.usedObjects,"Play","Up",[id \in {901} |-> 0])
    /\ old.loadHistory=new.loadHistory /\ ReadEmpty109(new,CardFacts10,new.loadLinks[1],EmptyReadFixture109(new,new.loadLinks[1]))
    /\ ~EmptyReadFixture109(new,new.loadLinks[1]).empty /\ new.objects[902].card=old.objects[900].card
    /\ EmptyReadFixture109(copies,copies.loadLinks[1]).empty /\ ~EmptyReadFixture109(copies,copies.loadLinks[2]).empty
 /\ LET rexWorld==LoadWorld109("Specimen0199","Power")
        rexLoaded==CounterTraversalFixture109(rexWorld,"LoadCounters","Power",3,1,{})
        rexGone==CounterTraversalFixture109(rexLoaded.after,"RemoveCounters","Power",3,2,DOMAIN rexLoaded.added)
        deactivationzed==[rexGone.after EXCEPT !.objects[900].activated=FALSE]
        reactivationzed==[deactivationzed EXCEPT !.objects[900].activated=TRUE]
        again==CounterTraversalFixture109(reactivationzed,"LoadCounters","Power",3,3,{})
    IN /\ EmptyWorldsValid109({deactivationzed,reactivationzed,again.after})
       /\ EmptyReadFixture109(deactivationzed,deactivationzed.loadLinks[1]).empty /\ EmptyReadFixture109(reactivationzed,reactivationzed.loadLinks[1]).empty
       /\ CounterTraversalValid109(again) /\ Cardinality(DOMAIN again.after.loadHistory)=2

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, CounterTraversalFixture109, CounterTraversalValid109, Empty10, EmptyReadFixture109, EmptyWorldsValid109, LoadLinkFixture109, LoadWorld109, ReadEmpty109, Without101, CardBatchTransfer8, CardFacts10

LoadLinkFixture109 · operator

reference-profile · input revision 2 · CC0 1.0

LoadLinkFixture109(world,card,host,kind,id) ==
 [id |-> id,host |-> host,physical |-> world.objects[host].card,card |-> card,sourceSHA |-> CardFacts10[card].sourceSHA,
   kind |-> kind,loadDefinition |-> 19000,emptyDefinition |-> EmptyDefinitionFixture109(card,host)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EmptyDefinitionFixture109, CardFacts10

LoadWorld109 · operator

reference-profile · input revision 2 · CC0 1.0

LoadWorld109(card,kind) ==
 LET b==LinkDeclaredWorld107(LinkWorld107("Specimen0163",{},FALSE))
     objects==ReplacementOverlay99(b.objects,[id \in {900} |-> EscalatingResourceContestCard108(card,TRUE,CardFacts10[card].side="SideA")])
     w==ReplacementOverlay99([b EXCEPT !.objects=objects,!.definitions=ReplacementOverlay99(@,[id \in {card} |-> card]),
             !.controllers=ReplacementOverlay99(@,[id \in {900} |-> CardFacts10[card].side])],
          [started |-> TRUE,outcome |-> "Playing",usedObjects |-> DOMAIN objects,nextCounterObject |-> 1000,loadHistory |-> Empty10,
           completedCounterInstructions |-> {},counterEventIds |-> {},loadLinks |-> Empty10])
 IN [w EXCEPT !.loadLinks=[id \in {1} |-> LoadLinkFixture109(w,card,900,kind,1)]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, Empty10, EscalatingResourceContestCard108, LinkDeclaredWorld107, LinkWorld107, LoadLinkFixture109, CardFacts10

LoopIncrement101 · operator

reference-profile · input revision 2 · CC0 1.0

LoopIncrement101(a,b) == b=a+1

Exact module download · Source bundle and reproduction instructions

LoopProfile101 · operator

reference-profile · input revision 2 · CC0 1.0

LoopProfile101(a,b) == a=b

Exact module download · Source bundle and reproduction instructions

MarkAdvance1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkAdvance1011(world,a,changed,tag) ==
 LET execution==[tag |-> tag,id |-> 9000+changed.id,snapshotId |-> changed.id,source |-> RuleAbilitySource9("10.11.LifetimeObservation")]
     nextA==LifetimeAuthorityAfter910(a,LifetimeKernelTransition910(world,changed,execution))
     observed==[world.lingering EXCEPT !.effects=ObserveLingeringEffects910(@,changed),!.frontier=LifetimeFrontier910(nextA,Len(nextA.order))]
 IN [before |-> world,beforeAuthority |-> a,after |-> [changed EXCEPT !.lingering=observed],authority |-> nextA,execution |-> execution]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: LifetimeAuthorityAfter910, LifetimeFrontier910, LifetimeKernelTransition910, ObserveLingeringEffects910, RuleAbilitySource9

MarkAdvanceValid1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkAdvanceValid1011(x) ==
 /\ CommitLifetimeKernelCore910(x.beforeAuthority,x.authority,x.after,x.execution)
 /\ PublishNextLifetime910(x.before.lingering,x.after.lingering,x.authority)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CommitLifetimeKernelCore910, PublishNextLifetime910

MarkBase1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkBase1011(owner) ==
 LET objects0==[id \in 1..7 |-> EscalatingResourceContestCard108(CASE id=1 -> "Specimen0165" [] id=2 -> "Specimen0259" [] id=3 -> "Specimen0119"
       [] id=4 -> "Specimen0026" [] id=5 -> "Specimen0253" [] id=6 -> "Specimen0045" [] OTHER -> "Specimen0101",id \in {2,3,4,5,7},id=7)]
     objects==ReplacementOverlay99(objects0,[id \in {8} |-> [EscalatingResourceContestCard108("Specimen0259",FALSE,FALSE) EXCEPT !.card="Specimen0259-copy-2",!.zone="SideBHand",!.face="NA"]])
     facts==ReplacementOverlay99(CardFacts10,[id \in {"Specimen0259-copy-2"} |-> CardFacts10["Specimen0259"]])
     base==[id |-> 1,objects |-> objects,gameStarted |-> TRUE,cardFacts |-> facts,playActivated |-> {6},
       turn |-> [OpenTurn5(owner,10,[p \in SetupPlayers |-> 1]) EXCEPT !.formalBegun=TRUE],turnPhase |-> [id |-> 11,ended |-> FALSE],
       control |-> [traversal |-> NoTraversal6,phaseEndedIds |-> {}],encounters |-> Empty10,currentEncounter |-> 0,siteInspections |-> Empty10,itemInspections |-> Empty10,
       finishedInstances |-> {},finishedDelayedEffects |-> {},statedDurations |-> Empty10,durationComparisons |-> Empty10,extenders |-> Empty10,
       present |-> {},activity |-> ActivityContext9,points |-> [p \in SetupPlayers |-> 0],barrierResponseCards |-> {5},inside |-> {},barrierProtection |-> [id \in {7} |-> "SchemaAtom129"],
       usedObjects |-> DOMAIN objects,eventSerial |-> 0,history |-> Empty10,draws |-> Empty10,pendingRandomDraws |-> Empty10,sourceOccurrences |-> Empty10,markRules |-> Empty10,
       sourceDefinitions |-> [physical \in DOMAIN facts |-> IF physical="Specimen0259-copy-2" THEN "Specimen0259" ELSE physical]]
     a==NewLifetimeAuthority910(base)
     registry==ReplacementOverlay99(NewLingeringRegistry910,[frontier |-> LifetimeFrontier910(a,1)])
 IN [world |-> ReplacementOverlay99(base,[lingering |-> registry]),authority |-> a]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ActivityContext9, LifetimeFrontier910, NewLifetimeAuthority910, NewLingeringRegistry910, ReplacementOverlay99, Empty10, EscalatingResourceContestCard108, SetupPlayers, CardFacts10, NoTraversal6, OpenTurn5

MarkCaptureFixture1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkCaptureFixture1011(world,a,event) ==
 LET before==[world EXCEPT !.sourceOccurrences=ReplacementOverlay99(@,[id \in {event.id} |-> event])]
     mark==MarkReadFixture1011(before,a)
     after==[before EXCEPT !.eventSerial=@+1,!.history=ReplacementOverlay99(@,[id \in {event.id} |-> [id |-> event.id,kind |-> event.kind,serial |-> event.journalSerial,turn |-> event.turnId,
       targetSite |-> event.targetSite,traversalId |-> event.traversal.id,actor |-> event.actor,mark |-> mark,occurrence |-> event]])]
 IN [before |-> before,after |-> after,authority |-> a,event |-> event,mark |-> mark]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, MarkReadFixture1011

MarkCaptureValid1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkCaptureValid1011(x) == CaptureMarkEvent1011(x.before,x.after,x.authority,x.event,x.mark)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CaptureMarkEvent1011

MarkCleanupChecks1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkCleanupChecks1011 ==
 LET x==MarkLifetimeFixture1011.ended
     q==MarkRecognition1011(x.after,x.authority,Empty10,Empty10,Empty10,8400)
     frame==LingeringCheckpointFrame910(q.after,q.cp,x.authority.current)
     cleanup==[tag |-> "LingeringCheckpointCleanup",frame |-> frame,expired |-> {3000},complete |-> TRUE]
     after==[x.after.lingering EXCEPT !.effects=Empty10,!.cleanupIds=@ \cup {8400}]
 IN /\ MarkRecognitionValid1011(q)
    /\ CleanupObservedLingering910(x.after.lingering,after,q.after,x.authority,frame,[frame EXCEPT !.returned=TRUE,!.point="ProcedureCodeb681cc249a04"],cleanup)
    /\ after.usedEffects=x.after.lingering.usedEffects /\ after.creations=x.after.lingering.creations
    /\ ~CleanupObservedLingering910(x.after.lingering,after,q.after,x.authority,[frame EXCEPT !.caller=[kind |-> "Wrong"]],[frame EXCEPT !.returned=TRUE,!.point="ProcedureCodeb681cc249a04"],cleanup)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CleanupObservedLingering910, LingeringCheckpointFrame910, Empty10, MarkLifetimeFixture1011, MarkRecognition1011, MarkRecognitionValid1011

MarkCreate1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkCreate1011(base,atom) == MarkCreateDetails1011(base,atom,6,3000,7000,500)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkCreateDetails1011

MarkCreateDetails1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkCreateDetails1011(base,atom,source,effectId,eventId,drawId) ==
 LET w==base.world a==base.authority
     targetSite==MarkSampler1011.mapping[atom]
     blueprints==[id \in {effectId} |-> MarkBlueprint1011(ObjectAbilitySource9(source),IF w.sourceDefinitions[w.objects[source].card]="Specimen0045" THEN "Play" ELSE "Conditional",targetSite,w.eventSerial+1,w.turn.id)]
     creator==MarkCreator1011(w,source,blueprints)
     draw==[id |-> drawId,tag |-> "UniformMarkDraw",phase |-> "InstructionResolution",snapshotId |-> w.id,reference |-> creator.context.currentRef,operation |-> 1,sampler |-> MarkSampler1011,atom |-> atom,targetSite |-> targetSite]
     world==[w EXCEPT !.pendingRandomDraws=[id \in {drawId} |-> draw]]
     row==NewLingeringEffect910(effectId,blueprints[effectId],creator.context,1,a.current)
     registry==[world.lingering EXCEPT !.effects=ReplacementOverlay99(@,[id \in {effectId} |-> row]),!.usedEffects=@ \cup {effectId},!.creations=@ \cup {LingeringCreationKey910(creator.context,1)}]
     event==[id |-> eventId,kind |-> "MarkDesignated",serial |-> world.eventSerial+1,turn |-> world.turn.id,targetSite |-> targetSite,effectId |-> effectId,reference |-> creator.context.currentRef,source |-> creator.context.currentRef.source]
     after==[world EXCEPT !.lingering=registry,!.eventSerial=@+1,!.history=ReplacementOverlay99(@,[id \in {eventId} |-> event]),!.draws=ReplacementOverlay99(@,[id \in {drawId} |-> draw]),!.pendingRandomDraws=Empty10]
     completion==[tag |-> "IdentifyMarkComplete",reference |-> creator.context.currentRef,operation |-> 1,created |-> TRUE,effectId |-> effectId,targetSite |-> targetSite]
 IN [before |-> world,after |-> after,authority |-> a,creator |-> creator,draw |-> draw,event |-> event,completion |-> completion]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: LingeringCreationKey910, NewLingeringEffect910, ObjectAbilitySource9, ReplacementOverlay99, Empty10, MarkCreator1011, MarkSampler1011, MarkBlueprint1011

MarkCreateValid1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkCreateValid1011(x) ==
 IdentifyMark1011(x.before,x.after,x.authority,x.creator.context,x.creator.origin,1,x.before.cardFacts,MarkReadFixture1011(x.before,x.authority),x.draw,MarkSampler1011,3000,7000,x.creator.execution,x.completion,{x.event})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkReadFixture1011, MarkSampler1011, IdentifyMark1011

MarkCreationChecks1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkCreationChecks1011 ==
 /\ MarkBalancedSampler1011(MarkSampler1011)
 /\ \A atom \in 1..3 :
      LET b==MarkBase1011("SideB") x==MarkCreate1011(b,atom) read==MarkReadFixture1011(x.after,b.authority)
      IN /\ MarkCreateValid1011(x) /\ read.targetSite=MarkSampler1011.mapping[atom]
         /\ \A player \in SetupPlayers : MarkRead1011(x.after,b.authority,player,read)
         /\ x.after.objects=x.before.objects /\ x.after.turn=x.before.turn
         /\ x.after.lingering.effects[3000].kind="Ordinary" /\ x.after.lingering.effects[3000].choicePolicy="NoValue"
         /\ MarkNoop1011(x.after,b.authority,1) /\ MarkNoop1011(x.after,b.authority,2)
 /\ LET dice==[tag |-> "UniformFiniteAtoms",space |-> 1..6,mapping |-> [atom \in 1..6 |-> MarkSampler1011.mapping[1+((atom-1) % 3)]],weights |-> [atom \in 1..6 |-> 1],totalWeight |-> 6]
     IN /\ MarkBalancedSampler1011(dice)
        /\ ~MarkBalancedSampler1011([dice EXCEPT !.mapping[6]="SchemaAtom082"])
        /\ ~MarkBalancedSampler1011([dice EXCEPT !.mapping[6]="auxiliarySite-X"])
        /\ ~MarkBalancedSampler1011([dice EXCEPT !.weights[6]=2])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkBase1011, MarkCreate1011, MarkCreateValid1011, MarkNoop1011, MarkReadFixture1011, MarkSampler1011, MarkBalancedSampler1011, MarkRead1011, SetupPlayers

MarkCreator1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkCreator1011(world,source,blueprints) ==
 LET card==world.sourceDefinitions[world.objects[source].card]
     kind==IF card="Specimen0045" THEN "Play" ELSE "Conditional"
     parent==[OpenAbilityResolution9(1100,kind,ObjectAbilitySource9(source),"Play",<<1101>>,100) EXCEPT !.phase="Resolving",!.firstImminent=TRUE,!.detached=kind="Conditional"]
     plan==[OpenInstruction93(1101,"Ability",1100,ObjectAbilitySource9(source),"Play",1,"NoValue",<<"IdentifyMark">>,FALSE) EXCEPT !.phase="Resolving"]
     effect==[id |-> 1,kind |-> "CreateLingering",semantic |-> "IdentifyMark",actor |-> "SideB",sourceCard |-> card,sourceSHA |-> CardFacts10[card].sourceSHA,baseOrigin |-> plan.source,blueprints |-> blueprints]
     context==[id |-> 1102,imminenceId |-> 1103,phase |-> "Resolving",currentRef |-> InstructionWindowRef93(plan),currentWorld |-> world.id,
       templates |-> [id \in {1} |-> effect],state |-> [effects |-> [id \in {1} |-> effect]],actualEffects |-> [id \in {1} |-> effect]]
     execution==[tag |-> "LingeringEffectExecution",contextId |-> context.id,instruction |-> context.currentRef,operation |-> 1,snapshotId |-> world.id,source |-> plan.source,blueprints |-> blueprints,carriedOut |-> TRUE]
 IN [context |-> context,origin |-> [kind |-> "Instruction",plan |-> plan,parent |-> parent,ruleStep |-> "NoValue"],execution |-> execution]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: InstructionWindowRef93, ObjectAbilitySource9, OpenAbilityResolution9, OpenInstruction93, CardFacts10

MarkDefinition1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkDefinition1011(id,object,card,kind) ==
 LET d==EscalatingResourceContestConditional108(id,card,"Successful") source==ObjectAbilitySource9(object)
 IN [d EXCEPT !.syntax.source=source,!.activity.source=source,!.trigger.kinds={kind},!.trigger.actor="SideB"]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, EscalatingResourceContestConditional108

MarkDiscarded1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkDiscarded1011(world,old,new) ==
 ReplacementOverlay99(Without101(world.objects,{old}),[id \in {new} |-> [world.objects[old] EXCEPT !.zone="SideBDiscard",!.deployed=FALSE,!.face="Up",!.loc=0,!.host=0,!.marks={}]])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, Without101

MarkLifetimeChecks1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkLifetimeChecks1011 ==
 LET x==MarkLifetimeFixture1011
     lost==x.lost discard==x.discard ended==x.ended next==x.next
     stale==[ended.after EXCEPT !.lingering=discard.after.lingering]
 IN /\ MarkCreateValid1011(x.create)
    /\ CardBatchTransfer8(lost.before.objects,lost.after.objects,{6},[id \in {6} |-> 60],DOMAIN lost.before.objects,"SideBDiscard","Up",[id \in {6} |-> 0])
    /\ MarkAdvanceValid1011(lost) /\ MarkRead1011(lost.after,lost.authority,"SideB",MarkReadFixture1011(lost.after,lost.authority))
    /\ MarkReadFixture1011(lost.after,lost.authority).targetSite="SchemaAtom082" /\ 6 \notin DOMAIN lost.after.objects
    /\ MarkNoop1011(lost.after,lost.authority,1)
    /\ TurnPhaseAdvance5(discard.before.turn,discard.after.turn,TRUE) /\ MarkAdvanceValid1011(discard)
    /\ MarkReadFixture1011(discard.after,discard.authority).present
    /\ TurnFormalEnd5(ended.before.turn,ended.after.turn,TRUE,TurnEndEvents5(ended.before.turn)) /\ MarkAdvanceValid1011(ended)
    /\ MarkRead1011(ended.after,ended.authority,"SideB",MarkReadFixture1011(ended.after,ended.authority)) /\ ~MarkReadFixture1011(ended.after,ended.authority).present
    /\ 3000 \in DOMAIN ended.after.lingering.effects /\ ended.after.lingering.effects[3000].status="Expired"
    /\ ~MarkRead1011(stale,ended.authority,"SideB",MarkReadFixture1011(ended.after,ended.authority))
    /\ TurnHandoff5(ended.after.turn,next.after.turn,TRUE,{})
    /\ MarkAdvanceValid1011(next) /\ MarkRead1011(next.after,next.authority,"SideA",MarkReadFixture1011(next.after,next.authority))
    /\ ~MarkReadFixture1011(next.after,next.authority).present
    /\ MarkCreateValid1011(MarkCreate1011(MarkBase1011("SideA"),3))

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkAdvanceValid1011, MarkBase1011, MarkCreate1011, MarkCreateValid1011, MarkLifetimeFixture1011, MarkNoop1011, MarkReadFixture1011, MarkRead1011, CardBatchTransfer8, TurnEndEvents5, TurnFormalEnd5, TurnHandoff5, TurnPhaseAdvance5

MarkLifetimeFixture1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkLifetimeFixture1011 ==
 LET x==MarkCreate1011(MarkBase1011("SideB"),1)
     lostWorld==[x.after EXCEPT !.id=2,!.objects=MarkDiscarded1011(x.after,6,60),!.usedObjects=@ \cup {60}]
     lost==MarkAdvance1011(x.after,x.authority,lostWorld,"ActualObjectTransition")
     discardWorld==[lost.after EXCEPT !.id=3,!.turn.phase="Discard",!.turnPhase=[id |-> 12,ended |-> FALSE]]
     discard==MarkAdvance1011(lost.after,lost.authority,discardWorld,"ActualTimingTransition")
     endedWorld==[discard.after EXCEPT !.id=4,!.turn.formalEnded=TRUE,!.turnPhase.ended=TRUE]
     ended==MarkAdvance1011(discard.after,discard.authority,endedWorld,"ActualTimingTransition")
     nextWorld==[ended.after EXCEPT !.id=5,!.turn=OpenTurn5("SideA",11,[p \in SetupPlayers |-> 1]),!.turnPhase=[id |-> 13,ended |-> FALSE]]
     next==MarkAdvance1011(ended.after,ended.authority,nextWorld,"ActualTimingTransition")
 IN [create |-> x,lost |-> lost,discard |-> discard,ended |-> ended,next |-> next]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkAdvance1011, MarkBase1011, MarkCreate1011, MarkDiscarded1011, SetupPlayers, OpenTurn5

MarkNoop1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkNoop1011(world,a,source) ==
 LET creator==MarkCreator1011(world,source,Empty10)
     read==MarkReadFixture1011(world,a)
     completion==[tag |-> "IdentifyMarkComplete",reference |-> creator.context.currentRef,operation |-> 1,created |-> FALSE,effectId |-> read.effectId,targetSite |-> read.targetSite]
 IN IdentifyMark1011(world,world,a,creator.context,creator.origin,1,world.cardFacts,read,[tag |-> "NoDraw"],[tag |-> "Unused"],9999,9999,creator.execution,completion,{})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, MarkCreator1011, MarkReadFixture1011, IdentifyMark1011

MarkOccurrence1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkOccurrence1011(world,definitions,id,kind,targetSite,traversalId) ==
 LET snapshot==MarkSnapshot1011(world.id,0,"ActualOccurrence",definitions,world)
     traversal==[OpenTraversal6(traversalId,traversalId+100,"NormalizedTraversalCaller") EXCEPT !.attacked=targetSite,!.formalBegun=TRUE,!.phase=IF kind="EncounterBarrier" THEN "Encounter" ELSE IF kind="TraversalEnded" THEN "TraversalEnds" ELSE "Success",
       !.step=IF kind="EncounterBarrier" THEN "ProcedureCodeda7bff1d9270" ELSE IF kind="TraversalEnded" THEN "ProcedureCode9606a4cd52b4" ELSE "ProcedureCodebbb14496b09b",!.reachedSuccess=kind#"EncounterBarrier",!.successful=kind#"EncounterBarrier",!.complete=kind="TraversalEnded"]
 IN ReplacementOverlay99(EscalatingResourceContestOccurrenceBase108(id,kind,IF kind="EncounterBarrier" THEN 7 ELSE 0,"SideB","SideB",snapshot,id),
    [journalSerial |-> world.eventSerial+1,turnId |-> world.turn.id,targetSite |-> targetSite,traversal |-> traversal])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, EscalatingResourceContestOccurrenceBase108, MarkSnapshot1011, OpenTraversal6

MarkOtherTargetSiteBranches1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkOtherTargetSiteBranches1011 ==
 \A atom \in {2,3} :
 LET x==MarkCreate1011(MarkBase1011("SideB"),atom) defs==MarkSuccessDefinitions1011(2,11102)
     c==MarkCaptureFixture1011(x.after,x.authority,MarkOccurrence1011(x.after,defs,8601,"TraversalSuccessful",MarkSampler1011.mapping[atom],50))
     q==MarkRecognitionOne1011(c,defs,TRUE,8600)
 IN /\ MarkCaptureValid1011(c) /\ MarkSuccessfulSourceValid1011(c.event) /\ MarkRecognitionValid1011(q)
    /\ Cardinality(DOMAIN q.after.instances)=2
    /\ MarkSpecimen0259Branch1011(c.after,c.event,[tag |-> "Specimen0259InstructionBranch",occurrence |-> 8601,branch |-> "InspectionCentralAAfterTraversal"])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkBase1011, MarkCaptureFixture1011, MarkCaptureValid1011, MarkCreate1011, MarkOccurrence1011, MarkRecognitionOne1011, MarkRecognitionValid1011, MarkSampler1011, MarkSuccessDefinitions1011, MarkSuccessfulSourceValid1011, MarkSpecimen0259Branch1011

MarkOverinstall1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkOverinstall1011(world,a) ==
 LET discarded==MarkDiscarded1011(world,2,12)
     objects==ReplacementOverlay99(Without101(discarded,{8}),[id \in {22} |-> [world.objects[8] EXCEPT !.zone="Play",!.deployed=TRUE,!.face="Up",!.loc=0,!.host=0,!.marks={}]])
     changed==[world EXCEPT !.id=@+1,!.objects=objects,!.usedObjects=@ \cup {12,22}]
 IN MarkAdvance1011(world,a,changed,"ActualObjectTransition")

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, MarkAdvance1011, MarkDiscarded1011, Without101

MarkProvenanceChecks1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkProvenanceChecks1011 ==
 LET x==MarkCreate1011(MarkBase1011("SideB"),1) w==x.after a==x.authority read==MarkReadFixture1011(w,a)
     creator==MarkCreator1011(w,1,Empty10)
     completion==[tag |-> "IdentifyMarkComplete",reference |-> creator.context.currentRef,operation |-> 1,created |-> FALSE,effectId |-> 3000,targetSite |-> "SchemaAtom082"]
     rerolled==[w EXCEPT !.lingering.effects[3000].value.targetSite="SchemaAtom018"]
     choice==[w EXCEPT !.lingering.effects[3000].kind="Choice",!.lingering.effects[3000].choicePolicy="SchemaAtom149"]
     duplicate==[w.lingering.effects[3000] EXCEPT !.id=3001,!.value.cutoff=2]
     otherBirth==[x.event EXCEPT !.id=7001,!.serial=2,!.effectId=3001]
     double==[w EXCEPT !.eventSerial=2,!.history=ReplacementOverlay99(@,[id \in {7001} |-> otherBirth]),!.lingering.effects=ReplacementOverlay99(@,[id \in {3001} |-> duplicate])]
 IN /\ ~IdentifyMark1011(w,rerolled,a,creator.context,creator.origin,1,w.cardFacts,read,[tag |-> "NoDraw"],[tag |-> "Unused"],9999,9999,creator.execution,completion,{})
    /\ ~MarkRead1011(choice,a,"SideB",read) /\ ~MarkRead1011(double,a,"SideB",read)
    /\ ~MarkRead1011([w EXCEPT !.history[7000].targetSite="SchemaAtom129"],a,"SideB",read)
    /\ ~MarkRead1011([w EXCEPT !.history[7000].reference.source=ObjectAbilitySource9(1)],a,"SideB",read)
    /\ ~MarkRead1011(w,a,"SideA",[read EXCEPT !.targetSite="SchemaAtom129"])
    /\ ~MarkCreateValid1011([x EXCEPT !.draw.targetSite="SchemaAtom129"])
    /\ ~MarkCreateValid1011([x EXCEPT !.creator.context.currentWorld=999])
    /\ ~MarkCreateValid1011([x EXCEPT !.creator.context.currentRef.source=ObjectAbilitySource9(1)])
    /\ ~MarkCreateValid1011([x EXCEPT !.creator.execution.source=ObjectAbilitySource9(1)])
    /\ ~MarkCreateValid1011([x EXCEPT !.before.draws=[id \in {500} |-> x.draw]])
    /\ ~MarkCreateValid1011([x EXCEPT !.before.lingering.usedEffects={3000}])
    /\ ~MarkCreateValid1011([x EXCEPT !.creator.context.actualEffects[1].sourceSHA="Unbound",!.creator.context.state.effects[1].sourceSHA="Unbound"])
    /\ LET c==MarkSuccessHistoryFixture1011.first
       IN /\ ~CaptureMarkEvent1011(c.before,c.after,c.authority,[c.event EXCEPT !.journalSerial=@+1],c.mark)
          /\ ~CaptureMarkEvent1011(c.before,c.after,c.authority,[c.event EXCEPT !.snapshot.id=999],c.mark)
          /\ ~CaptureMarkEvent1011(c.before,c.after,c.authority,[c.event EXCEPT !.targetSite="SchemaAtom129"],c.mark)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, ReplacementOverlay99, Empty10, MarkBase1011, MarkCreate1011, MarkCreateValid1011, MarkCreator1011, MarkReadFixture1011, MarkSuccessHistoryFixture1011, CaptureMarkEvent1011, IdentifyMark1011, MarkRead1011

MarkReadFixture1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkReadFixture1011(world,a) ==
 LET ids==LiveMarkIds1011(world.lingering,a.current)
 IN IF ids={} THEN [tag |-> "CurrentGlobalMark",worldId |-> world.id,present |-> FALSE,effectId |-> 0,targetSite |-> "NoValue",cutoff |-> 0,turn |-> world.turn.id]
    ELSE LET id==CHOOSE id \in ids : TRUE value==world.lingering.effects[id].value
         IN [tag |-> "CurrentGlobalMark",worldId |-> world.id,present |-> TRUE,effectId |-> id,targetSite |-> value.targetSite,cutoff |-> value.cutoff,turn |-> value.turn]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: LiveMarkIds1011

MarkRecognition1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkRecognition1011(world,a,definitions,events,truths,id) ==
 LET w==[world EXCEPT !.markRules=MarkRulesFixture1011(world,definitions)]
     previous==MarkSnapshot1011(w.id,0,"PreviousCheckpoint",definitions,w)
     before==NewConditionalLedger96(previous)
     begin==MarkSnapshot1011(w.id,id,"CheckpointBeginning",definitions,w)
     current==[begin EXCEPT !.point="ProcedureCodee605a78f5d5e"]
     cp==[tag |-> "ConditionalCheckpoint",point |-> "ProcedureCodee605a78f5d5e",id |-> id,previousCheckpoint |-> 0,serial |-> 1,
       previousSnapshot |-> previous,beginSnapshot |-> begin,processingSnapshot |-> current,stepSerial |-> 0,occurrences |-> events,caller |-> [kind |-> "MarkEventObservation",worldId |-> w.id]]
     conditions==[key \in DOMAIN definitions |-> [eventId \in DOMAIN events |-> [tag |-> "ConditionalTriggerStipulations",ability |-> definitions[key].syntax.id,source |-> definitions[key].syntax.source,
       occurrence |-> eventId,snapshotId |-> events[eventId].snapshot.id,results |-> [part \in {1} |-> truths[key][eventId]]]]]
     candidates==CheckpointCandidates96(definitions,before,cp,conditions)
     allocation==[key \in candidates |-> 100000+key.definition.ability*100000+key.occurrence]
     bindings==[key \in candidates |-> [kind |-> "Reaction",windowId |-> 7200,group |-> 7300,checkpointId |-> id]]
     after==EscalatingResourceContestCommitted108(before,definitions,cp,conditions,allocation,bindings)
 IN [world |-> w,authority |-> a,before |-> before,after |-> after,cp |-> cp,conditions |-> conditions,definitions |-> definitions,candidates |-> candidates,allocation |-> allocation,bindings |-> bindings]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointCandidates96, NewConditionalLedger96, EscalatingResourceContestCommitted108, MarkRulesFixture1011, MarkSnapshot1011

MarkRecognitionOne1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkRecognitionOne1011(c,definitions,truth,id) ==
 MarkRecognition1011(c.after,c.authority,definitions,[eventId \in {c.event.id} |-> c.event],[key \in DOMAIN definitions |-> [eventId \in {c.event.id} |-> truth]],id)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkRecognition1011

MarkRecognitionValid1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkRecognitionValid1011(q) ==
 /\ \A key \in DOMAIN q.definitions : \A id \in DOMAIN q.cp.occurrences :
      MarkConditionalStipulation1011(q.world,q.authority,q.definitions[key],q.cp.occurrences[id],q.world.markRules[key],q.conditions[key][id])
 /\ EscalatingResourceContestRecognitionValid108(q)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestRecognitionValid108, MarkConditionalStipulation1011

MarkRelationChecks1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkRelationChecks1011 ==
 LET forced==MarkRelationFixture1011("SchemaAtom082","SchemaAtom129") outside==MarkRelationFixture1011("SchemaAtom129","SchemaAtom082")
     defs==MarkSingleDefinition1011(11104,4,"Specimen0026","EncounterBarrier")
     capture==MarkCaptureFixture1011(forced.after,forced.authority,MarkOccurrence1011(forced.after,defs,8501,"EncounterBarrier","SchemaAtom082",40))
     q==MarkRecognitionOne1011(capture,defs,TRUE,8500)
     ended==MarkAdvance1011(outside.after,outside.authority,[outside.after EXCEPT !.id=3,!.control.traversal.complete=TRUE,!.control.traversal.phase="TraversalEnds",!.control.traversal.step="ProcedureCode9606a4cd52b4",!.inside={}],"ActualTimingTransition")
 IN /\ MarkAdvanceValid1011(forced) /\ MarkAdvanceValid1011(outside)
    /\ IndependentEncounterTraversalView6(forced.after.control.traversal,forced.after.control.traversal,TRUE)
    /\ MarkTraversalRelation1011(forced.after,forced.authority,MarkReadFixture1011(forced.after,forced.authority),[tag |-> "OngoingTraversalOnMark",worldId |-> 2,traversalId |-> 40,holds |-> TRUE])
    /\ MarkProtectionRelation1011(forced.after,forced.authority,MarkReadFixture1011(forced.after,forced.authority),7,forced.after.barrierProtection,[tag |-> "BarrierProtectingMark",worldId |-> 2,barrierCard |-> 7,holds |-> FALSE])
    /\ capture.event.traversal=forced.after.control.traversal /\ MarkCaptureValid1011(capture) /\ MarkRecognitionValid1011(q) /\ Cardinality(DOMAIN q.after.instances)=1
    /\ MarkTraversalRelation1011(outside.after,outside.authority,MarkReadFixture1011(outside.after,outside.authority),[tag |-> "OngoingTraversalOnMark",worldId |-> 2,traversalId |-> 40,holds |-> FALSE])
    /\ MarkProtectionRelation1011(outside.after,outside.authority,MarkReadFixture1011(outside.after,outside.authority),7,outside.after.barrierProtection,[tag |-> "BarrierProtectingMark",worldId |-> 2,barrierCard |-> 7,holds |-> TRUE])
    /\ MarkAdvanceValid1011(ended)
    /\ MarkTraversalRelation1011(ended.after,ended.authority,MarkReadFixture1011(ended.after,ended.authority),[tag |-> "OngoingTraversalOnMark",worldId |-> 3,traversalId |-> 40,holds |-> FALSE])
    /\ MarkProtectionRelation1011(ended.after,ended.authority,MarkReadFixture1011(ended.after,ended.authority),7,ended.after.barrierProtection,[tag |-> "BarrierProtectingMark",worldId |-> 3,barrierCard |-> 7,holds |-> TRUE])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkAdvance1011, MarkAdvanceValid1011, MarkCaptureFixture1011, MarkCaptureValid1011, MarkOccurrence1011, MarkReadFixture1011, MarkRecognitionOne1011, MarkRecognitionValid1011, MarkRelationFixture1011, MarkSingleDefinition1011, MarkProtectionRelation1011, MarkTraversalRelation1011, IndependentEncounterTraversalView6

MarkRelationFixture1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkRelationFixture1011(attacked,protecting) ==
 LET x==MarkCreate1011(MarkBase1011("SideB"),1)
     traversal==[OpenTraversal6(40,140,"NormalizedTraversalCaller") EXCEPT !.formalBegun=TRUE,!.phase="Encounter",!.step="ProcedureCodeda7bff1d9270",!.attacked=attacked]
     changed==[x.after EXCEPT !.id=2,!.control.traversal=traversal,!.inside={TimingRef9("SchemaAtom138",40)},!.barrierProtection=[id \in {7} |-> protecting]]
 IN MarkAdvance1011(x.after,x.authority,changed,"ActualTimingTransition")

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: TimingRef9, MarkAdvance1011, MarkBase1011, MarkCreate1011, OpenTraversal6

MarkRenewalChecks1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkRenewalChecks1011 ==
 LET next==MarkLifetimeFixture1011.next
     x==MarkCreateDetails1011([world |-> next.after,authority |-> next.authority],1,1,3001,7001,501)
     read==MarkReadFixture1011(x.after,x.authority)
 IN /\ IdentifyMark1011(x.before,x.after,x.authority,x.creator.context,x.creator.origin,1,x.before.cardFacts,MarkReadFixture1011(x.before,x.authority),x.draw,MarkSampler1011,3001,7001,x.creator.execution,x.completion,{x.event})
    /\ read.targetSite="SchemaAtom082" /\ read.effectId=3001 /\ read.turn=11 /\ read.cutoff=2
    /\ DOMAIN x.after.lingering.effects={3000,3001} /\ x.after.lingering.effects[3000].status="Expired"
    /\ MarkRead1011(x.after,x.authority,"SideA",read) /\ LiveMarkIds1011(x.after.lingering,x.authority.current)={3001}
    /\ MarkRelatedEvents1011(x.after,read,"TraversalSuccessful")={}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkCreateDetails1011, MarkLifetimeFixture1011, MarkReadFixture1011, MarkSampler1011, IdentifyMark1011, LiveMarkIds1011, MarkRead1011, MarkRelatedEvents1011

MarkRulesFixture1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkRulesFixture1011(world,definitions) ==
 [key \in DOMAIN definitions |-> LET d==definitions[key] physical==world.objects[d.syntax.source.object].card card==world.sourceDefinitions[physical]
   IN [definition |-> d,card |-> card,physical |-> physical,sourceSHA |-> world.cardFacts[card].sourceSHA,role |-> MarkRole1011(card)]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkRole1011

MarkSampler1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkSampler1011 ==
 [tag |-> "UniformFiniteAtoms",space |-> 1..3,mapping |-> [atom \in 1..3 |-> CASE atom=1 -> "SchemaAtom082" [] atom=2 -> "SchemaAtom129" [] OTHER -> "SchemaAtom018"],
  weights |-> [atom \in 1..3 |-> 1],totalWeight |-> 3]

Exact module download · Source bundle and reproduction instructions

MarkSingleDefinition1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkSingleDefinition1011(id,object,card,kind) ==
 LET d==MarkDefinition1011(id,object,card,kind) IN [key \in {ConditionalKey96(d)} |-> d]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, MarkDefinition1011

MarkSnapshot1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkSnapshot1011(id,checkpoint,point,definitions,world) ==
 [id |-> id,checkpointId |-> checkpoint,point |-> point,definitions |-> definitions,objects |-> world.objects,
  present |-> {definitions[key].syntax.id : key \in DOMAIN definitions},
  ordinaryActivity |-> [key \in DOMAIN definitions |-> IF definitions[key].syntax.source.object \in DOMAIN world.objects THEN DefaultActive(world.objects[definitions[key].syntax.source.object],world.gameStarted,world.cardFacts) ELSE FALSE],
  cardActivity |-> [object \in DOMAIN world.objects |-> DefaultActive(world.objects[object],world.gameStarted,world.cardFacts)],
  activationEpoch |-> [key \in DOMAIN definitions |-> 0],activationSerial |-> 0,activity |-> world.activity,points |-> world.points,
  progress |-> [object \in DOMAIN world.objects |-> 0],link |-> [p \in SetupPlayers |-> 0],exposureMarkers |-> [p \in SetupPlayers |-> 0],
  objectiveCompletionEvents |-> {},usedObjects |-> world.usedObjects,holds |-> Empty10,effects |-> Empty10]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, DefaultActive, SetupPlayers

MarkSpecimen0119Checks1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkSpecimen0119Checks1011 ==
 LET x==MarkCreate1011(MarkBase1011("SideB"),1) defs==MarkSingleDefinition1011(11103,3,"Specimen0119","TraversalEnded")
     first==MarkCaptureFixture1011(x.after,x.authority,MarkOccurrence1011(x.after,defs,8201,"TraversalEnded","SchemaAtom082",30))
     q1==MarkRecognitionOne1011(first,defs,TRUE,8300)
     siteInspection==MarkCaptureFixture1011(first.after,first.authority,MarkOccurrence1011(first.after,defs,8202,"Inspection","SchemaAtom082",31))
     later==MarkCaptureFixture1011(siteInspection.after,siteInspection.authority,MarkOccurrence1011(siteInspection.after,defs,8203,"TraversalEnded","SchemaAtom082",31))
     q2==MarkRecognitionOne1011(later,defs,FALSE,8301)
 IN /\ MarkCaptureValid1011(first) /\ MarkRecognitionValid1011(q1) /\ Cardinality(DOMAIN q1.after.instances)=1
    /\ MarkSpecimen0119Body1011(first.after,first.event,[tag |-> "Specimen0119InstructionCondition",occurrence |-> 8201,traversalId |-> 30,holds |-> FALSE])
    /\ MarkCaptureValid1011(siteInspection) /\ MarkCaptureValid1011(later) /\ MarkRecognitionValid1011(q2) /\ DOMAIN q2.after.instances={}
    /\ MarkSpecimen0119Body1011(later.after,later.event,[tag |-> "Specimen0119InstructionCondition",occurrence |-> 8203,traversalId |-> 31,holds |-> TRUE])

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkBase1011, MarkCaptureFixture1011, MarkCaptureValid1011, MarkCreate1011, MarkOccurrence1011, MarkRecognitionOne1011, MarkRecognitionValid1011, MarkSingleDefinition1011, MarkSpecimen0119Body1011

MarkSuccessDefinitions1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkSuccessDefinitions1011(object,id) ==
 LET exampleFamily051==MarkDefinition1011(11101,1,"Specimen0165","TraversalSuccessful")
     Specimen0259==MarkDefinition1011(id,object,"Specimen0259","TraversalSuccessful")
 IN [key \in {ConditionalKey96(exampleFamily051),ConditionalKey96(Specimen0259)} |-> IF key=ConditionalKey96(exampleFamily051) THEN exampleFamily051 ELSE Specimen0259]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, MarkDefinition1011

MarkSuccessHistoryChecks1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkSuccessHistoryChecks1011 ==
 LET x==MarkSuccessHistoryFixture1011 m==x.first.mark r==x.replaced
     read==[tag |-> "CurrentMarkHistory",worldId |-> x.SchemaAtom187.after.id,effectId |-> m.effectId,kind |-> "TraversalSuccessful",events |-> {8002,8003},first |-> {8002}]
 IN /\ MarkCaptureValid1011(x.old) /\ ~x.old.mark.present /\ MarkSuccessfulSourceValid1011(x.old.event)
    /\ MarkCreateValid1011(x.create) /\ x.create.event.serial=2
    /\ MarkCaptureValid1011(x.first) /\ MarkSuccessfulSourceValid1011(x.first.event) /\ MarkRecognitionValid1011(x.q1)
    /\ Cardinality(DOMAIN x.q1.after.instances)=2 /\ \A id \in DOMAIN x.q1.after.instances : x.q1.after.instances[id].status="Pending"
    /\ r.before.objects[2].card#r.before.objects[8].card
    /\ r.before.cardFacts[r.before.objects[2].card].sourceSHA=r.before.cardFacts[r.before.objects[8].card].sourceSHA
    /\ MarkAdvanceValid1011(r)
    /\ CardBatchTransfer8(r.before.objects,MarkDiscarded1011(r.before,2,12),{2},[id \in {2} |-> 12],r.before.usedObjects,"SideBDiscard","Up",[id \in {2} |-> 0])
    /\ SideBPaidDeployPost(r.after.objects[22],"SideB","Equipment",TRUE,TRUE)
    /\ CardBatchTransfer8(MarkDiscarded1011(r.before,2,12),[r.after.objects EXCEPT ![22].deployed=FALSE],{8},[id \in {8} |-> 22],r.before.usedObjects \cup {12},"Play","Up",[id \in {8} |-> 0])
    /\ MarkCaptureValid1011(x.SchemaAtom187) /\ MarkSuccessfulSourceValid1011(x.SchemaAtom187.event) /\ MarkRecognitionValid1011(x.q2) /\ DOMAIN x.q2.after.instances={}
    /\ MarkHistoryRead1011(x.SchemaAtom187.after,x.SchemaAtom187.authority,"SideB","TraversalSuccessful",MarkReadFixture1011(x.SchemaAtom187.after,x.SchemaAtom187.authority),read)
    /\ MarkSpecimen0259Branch1011(x.first.after,x.first.event,[tag |-> "Specimen0259InstructionBranch",occurrence |-> 8002,branch |-> "AdditionalCentralAItemInspection"])
    /\ ~FirstMarkEvent1011(x.SchemaAtom187.after,m,"TraversalSuccessful",8001) /\ ~FirstMarkEvent1011(x.SchemaAtom187.after,m,"TraversalSuccessful",8003)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkAdvanceValid1011, MarkCaptureValid1011, MarkCreateValid1011, MarkDiscarded1011, MarkReadFixture1011, MarkRecognitionValid1011, MarkSuccessHistoryFixture1011, MarkSuccessfulSourceValid1011, FirstMarkEvent1011, MarkHistoryRead1011, MarkSpecimen0259Branch1011, CardBatchTransfer8, SideBPaidDeployPost

MarkSuccessHistoryFixture1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkSuccessHistoryFixture1011 ==
 LET base==MarkBase1011("SideB") defs==MarkSuccessDefinitions1011(2,11102)
     old==MarkCaptureFixture1011(base.world,base.authority,MarkOccurrence1011(base.world,defs,8001,"TraversalSuccessful","SchemaAtom082",20))
     x==MarkCreate1011([world |-> old.after,authority |-> base.authority],1)
     first==MarkCaptureFixture1011(x.after,x.authority,MarkOccurrence1011(x.after,defs,8002,"TraversalSuccessful","SchemaAtom082",21))
     q1==MarkRecognitionOne1011(first,defs,TRUE,8100)
     replaced==MarkOverinstall1011(first.after,first.authority)
     laterDefs==MarkSuccessDefinitions1011(22,11112)
     SchemaAtom187==MarkCaptureFixture1011(replaced.after,replaced.authority,MarkOccurrence1011(replaced.after,laterDefs,8003,"TraversalSuccessful","SchemaAtom082",22))
     q2==MarkRecognitionOne1011(SchemaAtom187,laterDefs,FALSE,8101)
 IN [old |-> old,create |-> x,first |-> first,q1 |-> q1,replaced |-> replaced,SchemaAtom187 |-> SchemaAtom187,q2 |-> q2]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: MarkBase1011, MarkCaptureFixture1011, MarkCreate1011, MarkOccurrence1011, MarkOverinstall1011, MarkRecognitionOne1011, MarkSuccessDefinitions1011

MarkSuccessfulSourceValid1011 · operator

reference-profile · input revision 2 · CC0 1.0

MarkSuccessfulSourceValid1011(event) ==
 LET before==OpenSuccess6([event.traversal EXCEPT !.successful=FALSE])
     after==[before EXCEPT !.declarationProcessed=TRUE,!.traversal.successful=TRUE]
 IN /\ after.traversal=event.traversal /\ DeclareSuccessfulTraversal6(before,after,TRUE,{[tag |-> "SuccessfulTraversal",traversalId |-> event.traversal.id,targetSite |-> event.targetSite]})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DeclareSuccessfulTraversal6, OpenSuccess6

MarkedCounterLegal103 · operator

reference-profile · input revision 2 · CC0 1.0

MarkedCounterLegal103(selected) == 4 \in selected

Exact module download · Source bundle and reproduction instructions

Next10 · operator

reference-profile · input revision 2 · CC0 1.0

Next10 == UNCHANGED block10

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: block10

NonMonotoneLegal103 · operator

reference-profile · input revision 2 · CC0 1.0

NonMonotoneLegal103(selected) == selected={} \/ selected={1,2}

Exact module download · Source bundle and reproduction instructions

Obj101 · operator

reference-profile · input revision 2 · CC0 1.0

Obj101(card,form,kind,zone,host,virtual) ==
 [card |-> card,form |-> form,kind |-> kind,zone |-> zone,host |-> host,virtual |-> virtual,deployed |-> FALSE,owner |-> IF card="NeutralValue00006" THEN "SideB" ELSE "SideA"]

Exact module download · Source bundle and reproduction instructions

ResourceCostsFixture105 · operator

reference-profile · input revision 2 · CC0 1.0

ResourceCostsFixture105(world) == [id \in {1,2} |->
 LET source==IF id=1 THEN 51 ELSE 12 IN
 [snapshotId |-> world.id,actionId |-> 7000,target |-> 12,kind |-> "RetireCentralA",amount |-> 1,
  source |-> ObjectAbilitySource9(source),sourceObject |-> world.objects[source],sourceSHA |-> CardFacts10[world.objects[source].card].sourceSHA,eligible |-> {60,61}]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, CardFacts10

SabotageAllocationChecks1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageAllocationChecks1012 ==
 /\ \A h,d \in 0..3 : \A n \in 1..5 :
     LET w==SabotageWorld1012("Specimen0048",h,d,n) choices==SabotageChoices1012(w,n)
     IN /\ choices#{}
        /\ \A q \in choices : LET x==SabotageTraversal1012(w,q) IN
            /\ SabotageTraversalValid1012(x) /\ Cardinality(x.completion.trashed)=MinOf(n,h+d)
            /\ SabotageZones1012(x.after) /\ x.after.outcome="Playing" /\ x.after.objects[950]=w.objects[950]
            /\ x.after.aDrawPile=SubSeq(w.aDrawPile,x.ready.aDrawPileCount+1,d)
            /\ \A old \in DOMAIN x.successors : x.after.objects[x.successors[old]].marks={} /\ x.after.objects[x.successors[old]].card=w.objects[old].card /\ x.after.owners[x.successors[old]]="SideA"
 /\ LET w==SabotageWorld1012("Specimen0083",2,30,2)
     IN \A q \in SUBSET w.aHand : SabotageTraversalValid1012(SabotageTraversal1012(w,q))
 /\ LET w==SabotageWorld1012("Specimen0048",5,2,4)
     IN /\ \A q \in SabotageChoices1012(w,4) : Cardinality(q)>=2 /\ SabotageTraversalValid1012(SabotageTraversal1012(w,q))
        /\ ~SabotageChoiceValid1012(w,{})
 /\ LET w==SabotageWorld1012("Specimen0048",2,1,4) x==SabotageTraversal1012(w,w.aHand)
     IN /\ SabotageTraversalValid1012(x) /\ x.after.aHand={} /\ Len(x.after.aDrawPile)=0
        /\ RequiredEmptyDeckWinner4("SideA",x.after.aDrawPile,FALSE,FALSE)="NoValue"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SabotageChoiceValid1012, SabotageChoices1012, SabotageTraversal1012, SabotageTraversalValid1012, SabotageWorld1012, SabotageZones1012, MinOf, RequiredEmptyDeckWinner4

SabotageChoiceValid1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageChoiceValid1012(world,aHandChoice) ==
 LET c==SabotageContextFixture1012(world) p==SabotagePacketFixture1012(world) f==OpenSabotageFrame1012(12500,c,1,world,p)
     d==[tag |-> "SideASabotageCentralAChoice",actor |-> "SideA",frameId |-> 12500,snapshotId |-> world.id,view |-> SideASabotageView1012(world,p),aHand |-> aHandChoice]
 IN ChooseSabotageCentralA1012(f,[f EXCEPT !.phase="ReadyRetire",!.choiceSealed=TRUE,!.aHandChosen=aHandChoice,!.aDrawPileCount=SabotageTotal1012(world,p.amount)-Cardinality(aHandChoice)],c,1,world,p,d)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SabotageContextFixture1012, SabotagePacketFixture1012, ChooseSabotageCentralA1012, OpenSabotageFrame1012, SabotageTotal1012, SideASabotageView1012

SabotageChoices1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageChoices1012(world,amount) ==
 {q \in SUBSET world.aHand : Cardinality(q)<=SabotageTotal1012(world,amount) /\ SabotageTotal1012(world,amount)-Cardinality(q)<=Len(world.aDrawPile)}

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SabotageTotal1012

SabotageContextFixture1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageContextFixture1012(world) == world.expectedInstructions[12003]

Exact module download · Source bundle and reproduction instructions

SabotageDepartedSource1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageDepartedSource1012 ==
 LET w==SabotageWorld1012("Specimen0242",1,2,3)
     objects==ReplacementOverlay99(Without101(w.objects,{500}),[id \in {5000} |-> [w.objects[500] EXCEPT !.zone="SideBDiscard",!.face="Up",!.deployed=FALSE,!.activated=FALSE,!.loc=0,!.marks={}]])
     c==[SabotageContextFixture1012(w) EXCEPT !.currentWorld=101]
     p==[SabotagePacketFixture1012(w) EXCEPT !.snapshotId=101]
     next==[w EXCEPT !.id=101,!.objects=objects,!.usedObjects=@ \cup {5000},!.owners=ReplacementOverlay99(Without101(@,{500}),[id \in {5000} |-> "SideB"]),
       !.usedWorlds=@ \cup {101},!.historicalPhysical=[id \in {500} |-> "Specimen0242"],!.expectedInstructions=[id \in {c.id} |-> c],!.sabotagePackets=[key \in {p.key} |-> p]]
 IN [before |-> w,after |-> next]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, SabotageContextFixture1012, SabotagePacketFixture1012, SabotageWorld1012, Without101

SabotageDepartureChecks1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageDepartureChecks1012 ==
 LET d==SabotageDepartedSource1012 x==SabotageTraversal1012(d.after,d.after.aHand)
 IN /\ CardBatchTransfer8(d.before.objects,d.after.objects,{500},[id \in {500} |-> 5000],d.before.usedObjects,"SideBDiscard","Up",[id \in {500} |-> 0])
    /\ SabotageTraversalValid1012(x) /\ 500 \notin DOMAIN x.before.objects /\ x.packet.sourceCard="Specimen0242"
    /\ Cardinality(x.completion.trashed)=3 /\ x.after.objects[5000]=d.after.objects[5000]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SabotageDepartedSource1012, SabotageTraversal1012, SabotageTraversalValid1012, CardBatchTransfer8

SabotageNegativeChecks1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageNegativeChecks1012 ==
 LET w==SabotageWorld1012("Specimen0048",2,3,4) x==SabotageTraversal1012(w,w.aHand)
     first==CHOOSE old \in DOMAIN x.successors : TRUE
     next==x.after
     shifted==[w EXCEPT !.aDrawPile= <<w.aDrawPile[2],w.aDrawPile[1],w.aDrawPile[3]>>]
 IN /\ ~ChooseSabotageCentralA1012(x.frame,x.ready,x.context,1,w,x.packet,[x.decision EXCEPT !.actor="SideB"])
    /\ ~SabotageChoiceValid1012(w,{w.aDrawPile[1]})
    /\ ~ChooseSabotageCentralA1012(x.ready,x.ready,x.context,1,w,x.packet,x.decision)
    /\ ~ChooseSabotageCentralA1012(x.frame,x.ready,x.context,1,shifted,x.packet,x.decision)
    /\ ~ResolveSabotage1012(x.ready,x.done,x.context,1,w,[next EXCEPT !.objects[x.successors[first]].face="Up"],x.packet,x.successors,next.id,12600,x.events,x.completion)
    /\ ~ResolveSabotage1012(x.ready,x.done,x.context,1,w,[next EXCEPT !.objects[x.successors[first]].marks={"InheritedRestriction"}],x.packet,x.successors,next.id,12600,x.events,x.completion)
    /\ ~ResolveSabotage1012(x.ready,x.done,x.context,1,w,[next EXCEPT !.objects[950].marks={}],x.packet,x.successors,next.id,12600,x.events,x.completion)
    /\ ~ResolveSabotage1012(x.ready,x.done,x.context,1,w,[next EXCEPT !.objects=ReplacementOverlay99(@,[id \in {first} |-> w.objects[first]])],x.packet,x.successors,next.id,12600,x.events,x.completion)
    /\ ~ResolveSabotage1012(x.ready,x.done,x.context,1,w,[next EXCEPT !.aDrawPile=w.aDrawPile],x.packet,x.successors,next.id,12600,x.events,x.completion)
    /\ ~ResolveSabotage1012(x.ready,x.done,x.context,1,w,[next EXCEPT !.owners[x.successors[first]]="SideB"],x.packet,x.successors,next.id,12600,x.events,x.completion)
    /\ ~SabotagePacket1012(x.context,w,1,[x.packet EXCEPT !.amount=2])
    /\ ~SabotagePacket1012([x.context EXCEPT !.currentWorld=99],w,1,x.packet)
    /\ ~OpenSabotage1012(12500,x.context,1,[w EXCEPT !.completedSabotage={x.packet.key}],x.packet,x.frame)
    /\ SabotageSupport1012([x.packet EXCEPT !.choicePolicy="AnnouncedCentralATargets"])="RequiresTargetTimingAdapter"
    /\ SabotageSupport1012([x.packet EXCEPT !.trashProfile="ExternalReplacement"])="RequiresOwningRetireAdapter"
    /\ ~OpenSabotage1012(12500,x.context,1,w,[x.packet EXCEPT !.trashProfile="ExternalReplacement"],x.frame)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, SabotageChoiceValid1012, SabotageTraversal1012, SabotageWorld1012, ChooseSabotageCentralA1012, OpenSabotage1012, ResolveSabotage1012, SabotagePacket1012, SabotageSupport1012

SabotageObserverChecks1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageObserverChecks1012 ==
 LET w==SabotageWorld1012("Specimen0048",2,3,4) x==SabotageTraversal1012(w,w.aHand) q==SabotageRecognition1012(x)
     deckOnly==SabotageTraversal1012(SabotageWorld1012("Specimen0159",2,3,1),{}) q2==SabotageRecognition1012(deckOnly)
 IN /\ SabotageTraversalValid1012(x) /\ SabotageRecognitionValid1012(q) /\ Cardinality(DOMAIN q.after.instances)=1
    /\ \A id \in DOMAIN q.after.instances : q.after.instances[id].definition.source=ObjectAbilitySource9(600) /\ q.after.instances[id].status="Pending"
    /\ Cardinality(DOMAIN q.cp.occurrences)=Cardinality(q.batch.objects)+1
    /\ q.occurrenceSnapshot.cardActivity[700] /\ q.occurrenceSnapshot.cardActivity[800] /\ q.occurrenceSnapshot.cardActivity[900]
    /\ SabotageTraversalValid1012(deckOnly) /\ SabotageRecognitionValid1012(q2) /\ DOMAIN q2.after.instances={}
    /\ \A key \in DOMAIN q.definitions : q.world.trashRules[key].card#"Specimen0024" =>
         \A id \in DOMAIN q.cp.occurrences : ~q.conditions[key][id].results[1]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ObjectAbilitySource9, SabotageRecognition1012, SabotageRecognitionValid1012, SabotageTraversal1012, SabotageTraversalValid1012, SabotageWorld1012

SabotageObserverDefinitions1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageObserverDefinitions1012 ==
 LET cards==[object \in {600,700,800,900} |-> CASE object=600 -> "Specimen0024" [] object=700 -> "Specimen0072" [] object=800 -> "Specimen0110" [] OTHER -> "Specimen0041"]
     defs==[object \in DOMAIN cards |-> [MarkDefinition1011(12000+object,object,cards[object],"CardsRetireed") EXCEPT !.trigger.kinds={"CardsRetireed","CardRetireed"},!.trigger.actor="SchemaAtom016"]]
 IN [key \in {ConditionalKey96(defs[object]) : object \in DOMAIN defs} |-> defs[CHOOSE object \in DOMAIN defs : ConditionalKey96(defs[object])=key]]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ConditionalKey96, MarkDefinition1011

SabotagePacketFixture1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotagePacketFixture1012(world) == world.sabotagePackets[SabotageKey1012(SabotageContextFixture1012(world),1)]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SabotageContextFixture1012, SabotageKey1012

SabotagePrivacyChecks1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotagePrivacyChecks1012 ==
 LET w==SabotageWorld1012("Specimen0083",2,3,2)
     hidden==[w EXCEPT !.aDrawPile= <<w.aDrawPile[2],w.aDrawPile[1],w.aDrawPile[3]>>]
     x==SabotageTraversal1012(w,{101}) y==SabotageTraversal1012(hidden,{101})
     moved=={x.successors[id] : id \in DOMAIN x.successors}
     sideARead==[tag |-> "SabotageArchiveLook",viewer |-> "SideA",snapshotId |-> x.after.id,visible |-> moved]
     sideBRead==[sideARead EXCEPT !.viewer="SideB",!.visible={}]
     capacity==[id \in {"EarlierLegalLook"} |-> "RememberedCard"]
 IN /\ SideASabotageView1012(w,x.packet)=SideASabotageView1012(hidden,y.packet)
    /\ SabotageChoices1012(w,2)=SabotageChoices1012(hidden,2) /\ SabotageTraversalValid1012(x) /\ SabotageTraversalValid1012(y)
    /\ x.events[12600].fromADrawPile#y.events[12600].fromADrawPile /\ x.completion.trashed#y.completion.trashed
    /\ SabotagePublicSummary1012(x.events[12600])=SabotagePublicSummary1012(y.events[12600])
    /\ SideASabotageView1012([w EXCEPT !.sideAKnowledge=capacity],x.packet).previousKnowledge=capacity
    /\ HandVisibleCards4(w.aHand,"SideA","SideA",{})=w.aHand /\ ~DeckMayLook4("SideA",FALSE)
    /\ ~ReadSabotageDiscardSite1012(x.frame,w,"SideA",{},sideARead) /\ ~ReadSabotageDiscardSite1012(x.ready,w,"SideA",{},sideARead)
    /\ ReadSabotageDiscardSite1012(x.done,x.after,"SideA",{},sideARead) /\ ReadSabotageDiscardSite1012(x.done,x.after,"SideB",{},sideBRead)
    /\ ~ReadSabotageDiscardSite1012(x.done,x.after,"SideB",moved,[sideBRead EXCEPT !.visible=moved])
    /\ DiscardArrivalFace4("SideA","SideAHand","Retire",TRUE)="Up" /\ \A id \in moved : x.after.objects[id].face="Down"
    /\ \A id \in w.aHand \cup SetupRange(w.aDrawPile) : ~DefaultActive(w.objects[id],TRUE,w.cardFacts)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SabotageChoices1012, SabotageTraversal1012, SabotageTraversalValid1012, SabotageWorld1012, ReadSabotageDiscardSite1012, SabotagePublicSummary1012, SideASabotageView1012, DeckMayLook4, DiscardArrivalFace4, HandVisibleCards4, DefaultActive, SetupRange

SabotageRecognition1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageRecognition1012(x) ==
 LET definitions==SabotageObserverDefinitions1012
     world==[x.after EXCEPT !.trashRules=[key \in DOMAIN definitions |-> LET d==definitions[key] card==x.after.sourceDefinitions[x.after.objects[d.syntax.source.object].card]
       IN [definition |-> d,card |-> card,sourceSHA |-> x.after.cardFacts[card].sourceSHA,role |-> SabotageObserverRole1012(card)]]]
     previous==MarkSnapshot1011(world.id,0,"PreviousCheckpoint",definitions,world)
     snapshot==MarkSnapshot1011(world.id,0,"RetireOccurrence",definitions,world)
     beforeSnapshot==MarkSnapshot1011(x.before.id,0,"BeforeSabotage",definitions,x.before)
     batch==x.events[12600]
     allocation==[unit \in {0} \cup batch.objects |-> 12600000+unit]
     events==[id \in {allocation[unit] : unit \in DOMAIN allocation} |-> NewSabotageOccurrence1012(id,batch,CHOOSE unit \in DOMAIN allocation : allocation[unit]=id,snapshot,beforeSnapshot)]
     published==[world EXCEPT !.sabotageOccurrences=events]
     before==NewConditionalLedger96(previous)
     begin==MarkSnapshot1011(world.id,12700,"CheckpointBeginning",definitions,world)
     cp==[tag |-> "ConditionalCheckpoint",point |-> "ProcedureCodee605a78f5d5e",id |-> 12700,previousCheckpoint |-> 0,serial |-> 1,previousSnapshot |-> previous,beginSnapshot |-> begin,
       processingSnapshot |-> [begin EXCEPT !.point="ProcedureCodee605a78f5d5e"],stepSerial |-> 0,occurrences |-> events,caller |-> [kind |-> "SabotageInstructionEnd",reference |-> x.context.currentRef,frameId |-> 12500]]
     conditions==[key \in DOMAIN definitions |-> [id \in DOMAIN events |-> [tag |-> "ConditionalTriggerStipulations",ability |-> definitions[key].syntax.id,source |-> definitions[key].syntax.source,
       occurrence |-> id,snapshotId |-> snapshot.id,results |-> [part \in {1} |-> definitions[key].syntax.source.object=600 /\ events[id].unit=0 /\ batch.fromCentralA#{}]]]]
     candidates==CheckpointCandidates96(definitions,before,cp,conditions)
     instances==[key \in candidates |-> 2000000000+key.occurrence]
     bindings==[key \in candidates |-> [kind |-> "Reaction",windowId |-> 12800,group |-> 12900,checkpointId |-> cp.id]]
     after==EscalatingResourceContestCommitted108(before,definitions,cp,conditions,instances,bindings)
 IN [world |-> published,before |-> before,after |-> after,cp |-> cp,conditions |-> conditions,definitions |-> definitions,candidates |-> candidates,allocation |-> instances,bindings |-> bindings,
     batch |-> batch,occurrenceAllocation |-> allocation,occurrenceSnapshot |-> snapshot,beforeSnapshot |-> beforeSnapshot]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CheckpointCandidates96, NewConditionalLedger96, EscalatingResourceContestCommitted108, MarkSnapshot1011, SabotageObserverDefinitions1012, NewSabotageOccurrence1012, SabotageObserverRole1012

SabotageRecognitionValid1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageRecognitionValid1012(q) ==
 /\ PublishSabotageOccurrences1012(q.world,q.batch,q.occurrenceAllocation,q.occurrenceSnapshot,q.beforeSnapshot,q.cp.occurrences)
 /\ \A key \in DOMAIN q.definitions : \A id \in DOMAIN q.cp.occurrences : SabotageTriggerStipulation1012(q.world,q.definitions[key],q.cp.occurrences[id],q.world.trashRules[key],q.conditions[key][id])
 /\ EscalatingResourceContestRecognitionValid108(q)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: EscalatingResourceContestRecognitionValid108, PublishSabotageOccurrences1012, SabotageTriggerStipulation1012

SabotageSourceChecks1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageSourceChecks1012 ==
 /\ \A source \in SabotageSources1012 :
     LET n==CASE source="Specimen0083" -> 2 [] source="Specimen0048" -> 4 [] source \in {"Specimen0242","Specimen0041"} -> 3 [] OTHER -> 1
         w==SabotageWorld1012(source,2,3,n)
     IN \A q \in SabotageChoices1012(w,n) : SabotageTraversalValid1012(SabotageTraversal1012(w,q))
 /\ \A n \in {-2,0} : LET w==SabotageWorld1012("Specimen0159",2,2,n) x==SabotageTraversal1012(w,{}) IN
       /\ SabotageTraversalValid1012(x) /\ x.events=Empty10 /\ x.after.objects=w.objects /\ x.after.aHand=w.aHand /\ x.after.aDrawPile=w.aDrawPile
 /\ LET w==SabotageWorld1012("Specimen0159",2,2,1) c==[SabotageContextFixture1012(w) EXCEPT !.state.effects=Empty10,!.actualEffects=Empty10]
        current==[w EXCEPT !.expectedInstructions=[id \in {c.id} |-> c]]
    IN SabotageOmitted1012(c,1,current,w.objects,w.aHand,w.aDrawPile,{})

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Empty10, SabotageChoices1012, SabotageContextFixture1012, SabotageTraversal1012, SabotageTraversalValid1012, SabotageWorld1012, SabotageOmitted1012, SabotageSources1012

SabotageTraversal1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageTraversal1012(world,aHandChoice) ==
 LET ctx==SabotageContextFixture1012(world) packet==SabotagePacketFixture1012(world)
     frame==OpenSabotageFrame1012(12500,ctx,1,world,packet)
     decision==[tag |-> "SideASabotageCentralAChoice",actor |-> "SideA",frameId |-> frame.id,snapshotId |-> world.id,view |-> SideASabotageView1012(world,packet),aHand |-> aHandChoice]
     ready==[frame EXCEPT !.phase="ReadyRetire",!.choiceSealed=TRUE,!.aHandChosen=aHandChoice,!.aDrawPileCount=SabotageTotal1012(world,packet.amount)-Cardinality(aHandChoice)]
     selected==SabotageSelected1012(ready,world)
     successors==[id \in selected |-> 10000+id]
     objects==ReplacementOverlay99(Without101(world.objects,selected),[new \in {successors[old] : old \in selected} |->
       [world.objects[CHOOSE old \in selected : successors[old]=new] EXCEPT !.zone="SideADiscard",!.face="Down",!.loc=0,!.host=0,!.deployed=FALSE,!.activated=FALSE,!.marks={}]])
     eventMap==IF selected={} THEN Empty10 ELSE [id \in {12600} |-> SabotageRetireEvent1012(12600,ready,world,world.id+1,successors)]
     after==[world EXCEPT !.id=world.id+1,!.objects=objects,!.aHand=@ \ aHandChoice,!.aDrawPile=SubSeq(@,ready.aDrawPileCount+1,Len(@)),
       !.owners=ReplacementOverlay99(Without101(@,selected),[new \in {successors[old] : old \in selected} |-> world.owners[CHOOSE old \in selected : successors[old]=new]]),
       !.usedObjects=@ \cup {successors[old] : old \in selected},!.usedProcedures=@ \cup {12500},!.usedWorlds=@ \cup {world.id+1},!.completedSabotage=@ \cup {packet.key},
       !.eventIds=@ \cup DOMAIN eventMap,!.sabotageEvents=ReplacementOverlay99(@,eventMap)]
     done==[ready EXCEPT !.phase="Complete",!.successors=successors,!.complete=TRUE,!.afterWorld=world.id+1]
     completion==[tag |-> "SabotageBodyComplete",reference |-> frame.reference,operation |-> 1,snapshotId |-> world.id+1,frameId |-> 12500,actor |-> "SideA",trashed |-> selected,events |-> DOMAIN eventMap,complete |-> TRUE]
 IN [before |-> world,context |-> ctx,packet |-> packet,frame |-> frame,decision |-> decision,ready |-> ready,successors |-> successors,after |-> after,done |-> done,events |-> eventMap,completion |-> completion]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ReplacementOverlay99, Empty10, SabotageContextFixture1012, SabotagePacketFixture1012, OpenSabotageFrame1012, SabotageRetireEvent1012, SabotageSelected1012, SabotageTotal1012, SideASabotageView1012, Without101

SabotageTraversalValid1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageTraversalValid1012(x) ==
 /\ OpenSabotage1012(12500,x.context,1,x.before,x.packet,x.frame)
 /\ ChooseSabotageCentralA1012(x.frame,x.ready,x.context,1,x.before,x.packet,x.decision)
 /\ ResolveSabotage1012(x.ready,x.done,x.context,1,x.before,x.after,x.packet,x.successors,x.after.id,12600,x.events,x.completion)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ChooseSabotageCentralA1012, OpenSabotage1012, ResolveSabotage1012

SabotageWorld1012 · operator

reference-profile · input revision 2 · CC0 1.0

SabotageWorld1012(source,h,d,amount) ==
 LET aHand=={100+i : i \in 1..h} aDrawPile==[i \in 1..d |-> 200+i] aliases==aHand \cup SetupRange(aDrawPile)
     physical==[id \in aliases |-> "sabotage-physical-" \o SabotageStrings1012!ToString(id)]
     semantic==[id \in aliases |-> IF id % 2=0 THEN "Specimen0138" ELSE "Specimen0101"]
     cards==[id \in aliases |-> [EscalatingResourceContestCard108(semantic[id],FALSE,FALSE) EXCEPT !.card=physical[id],!.zone=IF id \in aHand THEN "SideAHand" ELSE "SideADeck",!.face="Down",!.marks={"OldObjectRestriction"}]]
     sources==[id \in {500,600,700,800,900,950} |-> CASE id=500 -> EscalatingResourceContestCard108(source,CardFacts10[source].kind \in {"Technique","Equipment","Support"},FALSE)
       [] id=600 -> EscalatingResourceContestCard108("Specimen0024",FALSE,FALSE) [] id=700 -> EscalatingResourceContestCard108("Specimen0072",source#"Specimen0141",FALSE)
       [] id=800 -> EscalatingResourceContestCard108("Specimen0110",TRUE,TRUE) [] id=900 -> [EscalatingResourceContestCard108("Specimen0041",TRUE,FALSE) EXCEPT !.card="Specimen0041-observer-copy"]
       [] OTHER -> [EscalatingResourceContestCard108("Specimen0138",FALSE,FALSE) EXCEPT !.zone="SideADiscard",!.marks={"UnrelatedRestriction"}]]
     objects==ReplacementOverlay99(cards,sources)
     facts==ReplacementOverlay99(ReplacementOverlay99(CardFacts10,[name \in {"Specimen0041-observer-copy"} |-> CardFacts10["Specimen0041"]]),[name \in {physical[id] : id \in aliases} |-> CardFacts10[semantic[CHOOSE id \in aliases : physical[id]=name]]])
     ref==InstructionWindowRef93(OpenInstruction93(12001,"Ability",12002,ObjectAbilitySource9(500),"Play",1,"NoValue",<<"SchemaAtom139">>,FALSE))
     effect==[id |-> 1,kind |-> "SchemaAtom139",actor |-> "SideA",abilityController |-> "SideB",value |-> amount,sourceCard |-> source,sourceSHA |-> CardFacts10[source].sourceSHA,baseOrigin |-> ref.source]
     ctx==[id |-> 12003,phase |-> "Resolving",currentWorld |-> 100,currentRef |-> ref,templates |-> [id \in {1} |-> effect],state |-> [effects |-> [id \in {1} |-> effect]],actualEffects |-> [id \in {1} |-> effect]]
     packet==[tag |-> "CurrentSabotagePacket",key |-> SabotageKey1012(ctx,1),reference |-> ref,snapshotId |-> 100,sourceCard |-> source,sourceSHA |-> CardFacts10[source].sourceSHA,
       amount |-> amount,actor |-> "SideA",abilityController |-> "SideB",sourcePhysical |-> source,choicePolicy |-> "InternalResolutionChoice",trashProfile |-> "OrdinaryUnreplaced"]
 IN [id |-> 100,objects |-> objects,aHand |-> aHand,aDrawPile |-> aDrawPile,usedObjects |-> DOMAIN objects,owners |-> [id \in DOMAIN objects |-> objects[id].side],
     outcome |-> "Playing",cardFacts |-> facts,sourceDefinitions |-> [name \in DOMAIN facts |-> IF name \in {physical[id] : id \in aliases} THEN semantic[CHOOSE id \in aliases : physical[id]=name] ELSE IF name="Specimen0041-observer-copy" THEN "Specimen0041" ELSE name],historicalPhysical |-> Empty10,
     sideAKnowledge |-> Empty10,currentLookIds |-> [p \in SetupPlayers |-> {}],expectedInstructions |-> [id \in {ctx.id} |-> ctx],sabotagePackets |-> [key \in {packet.key} |-> packet],
     usedProcedures |-> {},usedWorlds |-> {100},completedSabotage |-> {},eventIds |-> {},usedOccurrenceIds |-> {},sabotageOccurrences |-> Empty10,sabotageEvents |-> Empty10,trashRules |-> Empty10,
     activity |-> ActivityContext9,points |-> [p \in SetupPlayers |-> 0],gameStarted |-> TRUE]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: ActivityContext9, InstructionWindowRef93, ObjectAbilitySource9, OpenInstruction93, ReplacementOverlay99, Empty10, EscalatingResourceContestCard108, SabotageKey1012, SetupPlayers, SetupRange, CardFacts10

SequentialNextFixture104 · operator

reference-profile · input revision 2 · CC0 1.0

SequentialNextFixture104(frame,card) ==
 LET index==Len(frame.selectionOrder)+1
     slot==frame.policy.slots[index]
     receipt==IF slot.mode="Random" THEN DamageSampleFixture104(frame.packet,frame.bHand \ frame.selected,1,{card})
              ELSE [tag |-> "ActualAuthorizedDamageChoice",packet |-> frame.packet.key,reference |-> frame.packet.reference,
                    authorityId |-> frame.policy.id,index |-> index,card |-> card,actor |-> slot.actor]
 IN [frame EXCEPT !.selected=@ \cup {card},!.selectionOrder=Append(@,card),!.selections=Append(@,receipt),
       !.phase=IF Cardinality(frame.selected \cup {card})=frame.packet.amount THEN "ReadyToRetire" ELSE "SelectingSequentially"]

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: DamageSampleFixture104

SimultaneousActivationChecks101 · operator

reference-profile · input revision 2 · CC0 1.0

SimultaneousActivationChecks101 ==
 LET objects==[i \in {1,2,3} |-> Obj101("NeutralValue00006","Card","Equipment","Play",0,FALSE)]
     names==[i \in DOMAIN objects |-> IF i=3 THEN "different" ELSE "Specimen0036"]
     tiedFirst==UniqueActivationPlan101(objects,names,{1,2},{},{1,2},1)
     tiedSecond==UniqueActivationPlan101(objects,names,{1,2},{},{1,2},2)
     firstOrdered==UniqueActivationPlan101(objects,names,{1,2},{},{1},1)
     secondOrdered==UniqueActivationPlan101(objects,names,{1,2},{1},{1,2},2)
     olderNonunique==UniqueActivationPlan101(objects,names,{2},{1},{1,2},2)
     unrelatedBirth==UniqueActivationPlan101(objects,names,{1,2},{1},{1,2,3},2)
 IN /\ ~tiedFirst.valid /\ ~tiedSecond.valid
    /\ tiedFirst.disposition="UnsupportedSimultaneousActivation"
    /\ tiedSecond.disposition="UnsupportedSimultaneousActivation"
    /\ tiedFirst.targets={} /\ tiedSecond.targets={}
    /\ ~UniqueActivationRetire101(tiedFirst,{2},"ProcedureCodefe50c31480ea",FALSE)
    /\ ~UniqueActivationRetire101(tiedSecond,{1},"ProcedureCodefe50c31480ea",FALSE)
    /\ ~UniqueActivationRetire101(tiedFirst,{},"ProcedureCodefe50c31480ea",FALSE)
    /\ firstOrdered.valid /\ firstOrdered.disposition="Supported" /\ firstOrdered.targets={}
    /\ UniqueActivationRetire101(firstOrdered,{},"ProcedureCodefe50c31480ea",FALSE)
    /\ secondOrdered.valid /\ secondOrdered.disposition="Supported" /\ secondOrdered.targets={1}
    /\ UniqueActivationRetire101(secondOrdered,{1},"ProcedureCodefe50c31480ea",FALSE)
    /\ olderNonunique.valid /\ olderNonunique.targets={1}
    /\ UniqueActivationRetire101(olderNonunique,{1},"ProcedureCodefe50c31480ea",FALSE)
    /\ unrelatedBirth.valid /\ unrelatedBirth.targets={1}
    /\ UniqueActivationRetire101(unrelatedBirth,{1},"ProcedureCodefe50c31480ea",FALSE)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Obj101, UniqueActivationPlan101, UniqueActivationRetire101

SourceLostMuLegal103 · operator

reference-profile · input revision 2 · CC0 1.0

SourceLostMuLegal103(selected) ==
 SumMap([id \in {1,3} \ selected |-> 2]) <= 1+(IF 2 \in selected THEN 0 ELSE 2)

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: SumMap

Spec10 · operator

reference-profile · input revision 2 · CC0 1.0

Spec10 == Init10 /\ [][Next10]_block10

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: Init10, Next10, block10

Specimen0049HostLegal103 · operator

reference-profile · input revision 2 · CC0 1.0

Specimen0049HostLegal103(selected) == 1 \in selected

Exact module download · Source bundle and reproduction instructions

UnloadedTypeChecks109 · operator

reference-profile · input revision 2 · CC0 1.0

UnloadedTypeChecks109 ==
 LET w==LoadWorld109("Specimen0060","ResourceUnit")
     placedOnly==CounterTraversalFixture109(w,"PlaceCounters","ResourceUnit",3,1,{})
     placedGone==CounterTraversalFixture109(placedOnly.after,"RemoveCounters","ResourceUnit",3,2,DOMAIN placedOnly.added)
     otherOnly==CounterTraversalFixture109(w,"PlaceCounters","Power",1,3,{})
     otherGone==CounterTraversalFixture109(otherOnly.after,"RemoveCounters","Power",1,4,DOMAIN otherOnly.added)
     loaded==CounterTraversalFixture109(w,"LoadCounters","ResourceUnit",3,5,{})
     other==CounterTraversalFixture109(loaded.after,"PlaceCounters","Power",1,6,{})
     noResourceUnits==CounterTraversalFixture109(other.after,"RemoveCounters","ResourceUnit",3,7,DOMAIN loaded.added)
     foreignLoad==CounterTraversalDefinition109(loaded.after,"LoadCounters","Power",1,8,{},19002)
     emptied==CounterTraversalFixture109(foreignLoad.after,"RemoveCounters","ResourceUnit",3,9,DOMAIN loaded.added)
 IN /\ EmptyWorldsValid109({w,placedOnly.after,placedGone.after,otherOnly.after,otherGone.after,loaded.after,other.after,noResourceUnits.after,foreignLoad.after,emptied.after})
    /\ CounterTraversalValid109(placedOnly) /\ CounterTraversalValid109(placedGone) /\ CounterTraversalValid109(otherOnly) /\ CounterTraversalValid109(otherGone)
    /\ ~EmptyReadFixture109(placedGone.after,w.loadLinks[1]).empty /\ ~EmptyReadFixture109(otherGone.after,w.loadLinks[1]).empty
    /\ CounterTraversalValid109(other) /\ CounterTraversalValid109(noResourceUnits) /\ CounterTraversalValid109(foreignLoad) /\ CounterTraversalValid109(emptied)
    /\ EmptyReadFixture109(noResourceUnits.after,w.loadLinks[1]).empty /\ Cardinality(HostedCounterIds109(noResourceUnits.after.objects,900,"Power"))=1
    /\ EmptyReadFixture109(emptied.after,w.loadLinks[1]).empty /\ Cardinality(DOMAIN emptied.after.loadHistory)=2
    /\ CounterInstructionDisposition109(CounterContextFixture109(w,"LoadCounters","ResourceUnit",0,10).actualEffects[1])="UnsupportedZeroLoad"
    /\ CounterInstructionDisposition109([CounterContextFixture109(w,"LoadCounters","ResourceUnit",3,10).actualEffects[1] EXCEPT !.counterKinds={"ResourceUnit","Power"}])="UnsupportedCounterTypeOrMultiType"

Exact module download · Source bundle and reproduction instructions

Resolved project definitions: CounterContextFixture109, CounterTraversalDefinition109, CounterTraversalFixture109, CounterTraversalValid109, EmptyReadFixture109, EmptyWorldsValid109, LoadWorld109, CounterInstructionDisposition109, HostedCounterIds109

block10 · variable

reference-profile · input revision 2 · CC0 1.0

block10

Exact module download · Source bundle and reproduction instructions